diff --git a/QuickStart.html b/QuickStart.html index 8a1a91b9..6bcdf07d 100644 --- a/QuickStart.html +++ b/QuickStart.html @@ -5,31 +5,39 @@ -Recorder H5 QuickStart: 快速入门 - +Recorder H5 QuickStart: 快速入门 + + - + -
+ - + - + - + - + + + + - + +
-
- Recorder H5 QuickStart: 快速入门 +
+
- +
- - + +
- - + + - - + + - - - + + +
- +
@@ -126,17 +139,17 @@
- +
- + @@ -403,7 +388,7 @@ - + - + + + diff --git a/app-support-sample/demo_UniApp/README.md b/app-support-sample/demo_UniApp/README.md new file mode 100644 index 00000000..9cf980cb --- /dev/null +++ b/app-support-sample/demo_UniApp/README.md @@ -0,0 +1,535 @@ +[Recorder](https://github.com/xiangyuecn/Recorder/) | [RecordApp](https://github.com/xiangyuecn/Recorder/tree/master/app-support-sample) + +# :open_book:uni-app内使用RecordApp录音 + +本目录内包含uni-app的测试项目源码,主要文件请参考 [main_recTest.vue](pages/recTest/main_recTest.vue) ;本测试项目是使用[app-uni-support.js](uni_modules/Recorder-UniCore/app-uni-support.js)来给`RecordApp`提供uni-app支持的,此文件在 `uni_modules/Recorder-UniCore` 组件内,copy即可使用,或者到DCloud 插件市场下载此组件(暂未发布)。 + +- 支持vue2、vue3、nvue +- 支持编译成:H5、Android App、iOS App、微信小程序 +- 支持已有的大部分录音格式:mp3、wav、pcm、amr、ogg、g711a、g711u等 +- 支持实时处理,包括变速变调、实时上传、ASR语音转文字 +- 支持可视化波形显示 + +**[AD]app-uni-support.js文件在uni-app中编译到App平台时仅供测试用(App平台包括:Android App、iOS App),不可用于正式发布或商用,正式发布或商用需先联系作者获得授权许可**;编译到其他平台时无此授权限制,比如:H5、小程序,均为免费授权;详情参考本文档下面的授权许可章节。 + + + +## 测试方法 +1. 在测试项目根目录执行 `npm install` ,完成`recorder-core`依赖的安装 +2. 在HBuilder中打开本测试项目文件夹 +3. 在HBuilder中运行到浏览器、手机、微信小程序,即可在不同环境下测试 + + +## 截图 +![](use-uni-app.png) + + + + +[​](?) + +[​](?) + +[​](?) + +[​](?) + +# 集成到自己项目中 + +## 一、引入js文件 +1. 在你的项目根目录安装`recorder-core`:`npm install recorder-core` +2. 导入Recorder-UniCore组件:直接复制本目录下的`uni_modules/Recorder-UniCore`组件到你项目中,或者到DCloud 插件市场下载此组件(暂未发布) +3. 在需要录音的vue文件内编写以下代码,按需引入需要的js + +``` html + +``` + +``` html + + + +``` + + +[​](?) + +[​](?) + +## 二、调用录音 +``` javascript +/**在逻辑层中编写**/ +//import ... 上面那些import代码 + +export default { +data() { return {} } //视图没有引用到的变量无需放data里,直接this.xxx使用 + +,mounted() { + this.isMounted=true; + //页面onShow时【必须调用】的函数,传入当前组件this + RecordApp.UniPageOnShow(this); +} +,onShow(){ //onShow可能比mounted先执行,页面可能还未准备好 + if(this.isMounted) RecordApp.UniPageOnShow(this); +} + +,methods:{ + //请求录音权限 + recReq(){ + //编译成App时提供的授权许可(编译成H5、小程序为免费授权可不填写);如果未填写授权许可,将会在App打开后第一次调用请求录音权限时,弹出“未获得商用授权时,App上仅供测试”提示框 + //RecordApp.UniAppUseLicense='我已获得UniAppID=*****的商用授权'; + + RecordApp.UniWebViewActivate(this); //App环境下必须先切换成当前页面WebView + RecordApp.RequestPermission(()=>{ + console.log("已获得录音权限,可以开始录音了"); + },(msg,isUserNotAllow)=>{ + console.error("请求录音权限失败:"+msg); + }); + } + + //开始录音 + ,recStart(){ + //录音配置信息 + var set={ + type:"mp3",sampleRate:16000,bitRate:16 //mp3格式,指定采样率hz、比特率kbps,其他参数使用默认配置;注意:是数字的参数必须提供数字,不要用字符串;需要使用的type类型,需提前把格式支持文件加载进来,比如使用wav格式需要提前加载wav.js编码引擎 + ,onProcess:function(buffers,powerLevel,duration,sampleRate,newBufferIdx,asyncEnd){ + //全平台通用:可实时上传(发送)数据,配合Recorder.SampleData方法,将buffers中的新数据连续的转换成pcm上传,或使用mock方法将新数据连续的转码成其他格式上传,可以参考Recorder文档里面的:Demo片段列表 -> 实时转码并上传-通用版;基于本功能可以做到:实时转发数据、实时保存数据、实时语音识别(ASR)等 + + //注意:App里面是在renderjs中进行实际的音频格式编码操作,此处的buffers数据是renderjs实时转发过来的,修改此处的buffers数据不会改变renderjs中buffers,所以不会改变生成的音频文件,可在onProcess_renderjs中进行修改操作就没有此问题了;如需清理buffers内存,此处和onProcess_renderjs中均需要进行清理,H5、小程序中无此限制 + //注意:如果你要用只支持在浏览器中使用的Recorder扩展插件,App里面请在renderjs中引入此扩展插件,然后在onProcess_renderjs中调用这个插件;H5可直接在这里进行调用,小程序不支持这类插件;如果调用插件的逻辑比较复杂,建议封装成js文件,这样逻辑层、renderjs中直接import,不需要重复编写 + + //H5、小程序等可视化图形绘制,直接运行在逻辑层;App里面需要在onProcess_renderjs中进行这些操作 + // #ifdef H5 || MP-WEIXIN + if(this.waveView) this.waveView.input(buffers[buffers.length-1],powerLevel,sampleRate); + // #endif + } + ,onProcess_renderjs:`function(buffers,powerLevel,duration,sampleRate,newBufferIdx,asyncEnd){ + //App中在这里修改buffers才会改变生成的音频文件 + //App中是在renderjs中进行的可视化图形绘制,因此需要写在这里,this是renderjs模块的this(也可以用This变量);如果代码比较复杂,请直接在renderjs的methods里面放个方法xxxFunc,这里直接使用this.xxxFunc(args)进行调用 + if(this.waveView) this.waveView.input(buffers[buffers.length-1],powerLevel,sampleRate); + }` + + ,takeoffEncodeChunk:true?null:(chunkBytes)=>{ + //全平台通用:实时接收到编码器编码出来的音频片段数据,chunkBytes是Uint8Array二进制数据,可以实时上传(发送)出去 + //App中如果未配置Recorder.UniWithoutAppRenderjs时,建议提供此回调,因为录音结束后会将整个录音文件从renderjs传回逻辑层,由于uni-app的逻辑层和renderjs层数据交互性能实在太拉跨了,大点的文件传输会比较慢,提供此回调后可避免Stop时产生超大数据回传 + } + ,takeoffEncodeChunk_renderjs:true?null:`function(chunkBytes){ + //App中这里可以做一些仅在renderjs中才生效的事情,不提供也行,this是renderjs模块的this(也可以用This变量) + }` + + ,start_renderjs:`function(){ + //App中可以放一个函数,在Start成功时renderjs中会先调用这里的代码,this是renderjs模块的this(也可以用This变量) + //放一些仅在renderjs中才生效的事情,比如初始化,不提供也行 + }` + ,stop_renderjs:`function(arrayBuffer,duration,mime){ + //App中可以放一个函数,在Stop成功时renderjs中会先调用这里的代码,this是renderjs模块的this(也可以用This变量) + //放一些仅在renderjs中才生效的事情,不提供也行 + }` + }; + + RecordApp.UniWebViewActivate(this); //App环境下必须先切换成当前页面WebView + RecordApp.Start(set,()=>{ + console.log("已开始录音"); + + //创建音频可视化图形绘制,App环境下是在renderjs中绘制,H5、小程序等是在逻辑层中绘制,因此需要提供两段相同的代码 + //view里面放一个canvas,canvas需要指定宽高(下面style里指定了300*100) + // + RecordApp.UniFindCanvas(this,[".recwave-WaveView"],` + this.waveView=Recorder.WaveView({compatibleCanvas:canvas1, width:300, height:100}); + `,(canvas1)=>{ + this.waveView=Recorder.WaveView({compatibleCanvas:canvas1, width:300, height:100}); + }); + },(msg)=>{ + console.error("开始录音失败:"+msg); + }); + } + + //暂停录音 + ,recPause(){ + if(RecordApp.GetCurrentRecOrNull()){ + RecordApp.Pause(); + console.log("已暂停"); + } + } + //继续录音 + ,recResume(){ + if(RecordApp.GetCurrentRecOrNull()){ + RecordApp.Resume(); + console.log("继续录音中..."); + } + } + + //停止录音 + ,recStop(){ + RecordApp.Stop((arrayBuffer,duration,mime)=>{ + //全平台通用:arrayBuffer是音频文件二进制数据,可以保存成文件或者发送给服务器 + //App中如果在Start参数中提供了stop_renderjs,renderjs中的函数会比这个函数先执行 + + //注意:当Start时提供了takeoffEncodeChunk后,你需要自行实时保存录音文件数据,因此Stop时返回的arrayBuffer的长度将为0字节 + + //如果当前环境支持Blob,也可以直接构造成Blob文件对象,和Recorder使用一致 + if(typeof(Blob)!="undefined" && typeof(window)=="object"){ + var blob=new Blob([arrayBuffer],{type:mime}); + console.log(blob, (window.URL||webkitURL).createObjectURL(blob)); + } + },(msg)=>{ + console.error("结束录音失败:"+msg); + }); + } + +} +} +``` + + + + + + +[​](?) + +[​](?) + +[​](?) + +[​](?) + +# 部分原理和需要注意的细节 +## 编译成H5时录音和权限 +编译成H5时,录音功能由Recorder H5提供,无需额外处理录音权限。 + + +[​](?) + +## 编译成微信小程序时录音和权限 +编译成微信小程序时,录音功能由小程序的`RecorderManager`提供。 + +小程序录音需要用户授予录音权限,调用`RecordApp.RequestPermission`的时候会检查是否能正常录音,如果用户拒绝了录音权限,会进入错误回调,回调里面你应当编写代码检查`wx.getSetting`中的`scope.record`录音权限,然后引导用户进行授权(可调用`wx.openSetting`打开设置页面,方便用户给权限)。 + +更多细节请参考 [miniProgram-wx](../miniProgram-wx) 测试项目文档。 + + +[​](?) + +## 编译成App时录音和权限 +编译成App录音时,分两种情况: +1. 默认未配置`RecordApp.UniNativeUtsPlugin`(未使用原生录音插件和uts插件)时,会在renderjs中使用Recorder H5进行录音,录音数据会实时回传到逻辑层。 +2. 配置了`RecordApp.UniNativeUtsPlugin`使用原生录音插件或uts插件时,会直接调用原生插件进行录音;录音数据默认会传递到renderjs中进行音频编码处理(WebWorker加速),然后再实时回传到逻辑层,如果配置了`RecordApp.UniWithoutAppRenderjs=true`时,音频编码处理将会在逻辑层中直接处理。 + +**当App是在renderjs中使用H5进行录音时(未使用原生录音插件和uts插件),iOS上只支持14.3以上版本,且iOS上每次进入页面后第一次请求录音权限时WebView均会弹出录音权限对话框,不同旧iOS版本(低于iOS17)下H5录音可能存在的问题在App中同样会存在;使用配套的原生录音插件或uts插件时无以上问题和版本限制(uts插件开发中暂不可用),Android也无以上问题。** + +**当音频编码是在renderjs中进行处理时,录音结束后会将整个录音文件传回逻辑层,由于uni-app的逻辑层和renderjs层数据交互性能实在太拉跨了,大点的文件传输会比较慢,建议Start时使用takeoffEncodeChunk实时获取音频文件数据可避免Stop时产生超大数据回传;配置了`RecordApp.UniWithoutAppRenderjs=true`后,因为音频编码直接是在逻辑层中进行,将不存在传输性能损耗,但会影响逻辑层的性能(正常情况轻微不明显),需要配套使用原生录音插件才可以进行此项配置。** + +在调用`RecordApp.RequestPermission`的时候,`Recorder-UniCore`组件会自动处理好App的系统录音权限,只需要在uni-app项目的 `manifest.json` 中配置好Android和iOS的录音权限声明。 +``` +//Android需要勾选的权限,第二个必须勾选,不然使用H5录音时将没法打开麦克风 + + + +//iOS需要声明的权限 +NSMicrophoneUsageDescription +``` + + + + + +[​](?) + +[​](?) + +[​](?) + +# :open_book:国际化多语言支持(i18n) +RecordApp共用`Recorder.i18n`实现,因此只需配置Recorder的语言即可;支持的语言文件在 [/src/i18n](../../src/i18n) 目录内,详细使用请参考Recorder文档。 + +比如切换成英文:先`import "recorder-core/src/i18n/en-US.js"`,Recorder-UniCore组件内也有一个`i18n`目录 `import "@/uni_modules/Recorder-UniCore/i18n/en-US.js"`,然后配置`Recorder.i18n.lang="en-US"`即可。 + + + + + + +[​](?) + +[​](?) + +[​](?) + +[​](?) + +# RecordApp增加的属性和方法文档 +RecordApp基础的属性和方法请阅读[RecordApp文档](../),比如`RequestPermission`、`Start`、`Stop`这些方法。下面的属性和方法是uni-app支持文件给RecordApp增加的,引入`app-uni-support.js`文件后才可以使用。 + +**下面的方法中,如果写了`App 逻辑层中调用`,就只能在App环境下,并且只能在逻辑层中调用,在H5、renderjs等环境下调用将返回错误或显示错误日志,但不会抛异常;写了`renderjs层中调用`只能在App环境下的renderjs中进行调用;未写类似字样的,一般没有调用限制,在哪调用都行。** + +## 【静态方法】RecordApp.UniIsApp() +判断当前环境是否是app,非app返回0,Android返回1,iOS返回2 + +## 【静态方法】RecordApp.UniPageOnShow(componentThis) +所有平台逻辑层中调用,当使用到录音的页面onShow时反复进行调用,传入当前页面或组件的this对象;如果是微信小程序环境,还会自动调用`RecordApp.MiniProgramWx_onShow` + +## 【静态方法】RecordApp.UniWebViewActivate(componentThis) +App 逻辑层中调用,切换使用当前页面或组件的WebView,传入当前页面或组件的this对象,App环境中在调用本方法后才可以进行RecordApp.RequestPermission、RecordApp.Start操作 + +## 【静态方法】RecordApp.UniRenderjsRegister(moduleThis) +App renderjs中的mounted内调用,传入当前模块的this,一个renderjs模块只需调用一次即可 + +## 【静态方法】RecordApp.UniWebViewEval(componentThis,jsCode,bigBytes) +App 逻辑层中直接调用此页面或组件的WebView renderjs中的eval(componentThis为null时使用UniWebViewActivate切换的页面或组件),jsCode里一般需要用个自调用函数包裹;要调用renderjs模块vue组件内的方法请用UniWebViewVueCall;如果需要传递大的数据请用bigBytes参数传入一个ArrayBuffer,jsCode中使用BigBytes变量得到这个数据 + +``` javascript +//调用示例代码 +var cb=RecordApp.UniMainCallBack((data)=>{ //可选的,renderjs执行完成后回调 + uni.showModal({title:"收到了renderjs回调", content:JSON.stringify(data)}); +}); + +var dataMB=new Uint8Array(1*1024*1024); //可选的,假设同时需要传递1MB的数据到renderjs中 + +RecordApp.UniWebViewEval(this,`(function(){ + var dataMB=BigBytes; //接收到了逻辑层的二进制数据 + console.log("renderjs已执行 "+dataMB.byteLength); //这里是WebView浏览器环境,随便调用 + + //处理完后,可以回调结果给逻辑层 + RecordApp.UniWebViewSendToMain({action:"${cb}", abc:dataMB.byteLength}); +})()`, dataMB.buffer); +``` + +## 【静态方法】RecordApp.UniWebViewVueCall(componentThis,jsCode,bigBytes) +App 逻辑层中直接调用此页面或组件的renderjs模块vue组件内的方法(componentThis为null时使用UniWebViewActivate切换的页面或组件),jsCode中的this为renderjs模块的this(也可以用This变量)(如需renderjs中调用逻辑层vue实例方法,请直接用$ownerInstance.callMethod即可);如果需要传递大的数据请用bigBytes参数传入一个ArrayBuffer,jsCode中使用BigBytes变量得到这个数据 + +``` javascript +//调用示例代码 +var cb=RecordApp.UniMainCallBack((data)=>{ //可选的,renderjs执行完成后回调 + uni.showModal({title:"收到了renderjs回调", content:JSON.stringify(data)}); +}); + +RecordApp.UniWebViewVueCall(this,` + console.log("renderjs已执行 "+typeof(this.$ownerInstance)); + //调用逻辑层vue的方法 + //this.$ownerInstance.callMethod("test",{data:{}}); + + //处理完后,可以回调结果给逻辑层 + RecordApp.UniWebViewSendToMain({action:"${cb}", abc:typeof(this.$ownerInstance)}); +`); +``` + +## 【静态方法】RecordApp.UniMainCallBack(callback) +App 逻辑层中生成一个回调,renderjs层通过这个回调返回数据给逻辑层,函数参数为renderjs层返回的数据,数据应当是个对象,错误消息统一用errMsg属性,主要和UniWebViewSendToMain一块搭配使用,请参考上面的UniWebViewEval + +## 【静态方法】RecordApp.UniWebViewSendToMain(data) +renderjs层中调用本方法,将数据传回给逻辑层回调,`data={action:"UniMainCallBack等",...需要返回的数据, errMsg:"错误消息"}`,使用请参考上面的UniWebViewEval + +## 【静态方法】RecordApp.UniWebViewSendBigBytesToMain(arrayBuffer,True,False) +renderjs层调用本方法,将超过512KB的二进制数据传回逻辑层,一次性发送1MB以上的数据UniApp太卡,传入arrayBuffer,True(dataID), False(errMsg),成功后可在逻辑层中通过UniMainTakeBigBytes(dataID)来取到数据 + +## 【静态方法】RecordApp.UniMainTakeBigBytes(dataID) +App 逻辑层取走接收到的二进制数据,返回arrayBuffer,不可重复提取否则返回null + +## 【静态方法】RecordApp.UniSaveLocalFile(fileName,buffer,True,False) +App 逻辑层保存文件到本地,提供文件名和arrayBuffer,True(savePath)成功保存后回调完整保存路径,False(errMsg);保存的文件夹为`plus.io.PUBLIC_DOWNLOADS` + +## 【静态方法】RecordApp.UniFindCanvas(componentThis,selectorList,renderjsFunc,mainFunc) +所有平台逻辑层中均可调用,查找用于可视化绘制的canvas实例 + +> App、H5会在原位置添加新的html canvas节点,并且隐藏老的canvas,原因是uni创建的canvas不可以使用:如果是隐藏的uni-canvas没法初始化,到显示的时候会篡改canvas已设置的宽高,App中uni-canvas显示有问题 似乎设置了缩放 导致显示不全,重新建一个省心还高效 + +``` javascript +// componentThis:this 当前页面或当前组件this +// selectorList:[".class"] 要查找的canvas列表,提供css选择器,查找得到canvas1 canvas2... +// renderjsFunc:"eval js" App环境下在renderjs中进行绘制时执行的js代码,可以使用结果变量canvas1 canvas2...,代码中的this为renderjs模块的this +// mainFunc:fn(canvas1,canvas2...) 逻辑层中进行绘制时调用函数(H5、小程序等),参数为查找到的canvas + +/**调用示例代码,App、H5、小程序通用 +假设有以下2个canvas的view,可以一次性查找到这两个canvas,canvas需要指定宽高(下面style里指定了300*100) + + + +**/ + +//App环境下是在renderjs中绘制,H5、小程序等是在逻辑层中绘制,因此需要提供两段相同的代码(宽高值需要和canvas style的宽高一致) +RecordApp.UniFindCanvas(this,[".recwave-SurferView",".recwave-SurferView-2x"],` + this.surferView=Recorder.WaveSurferView({compatibleCanvas:canvas1,compatibleCanvas_2x:canvas2, width:300, height:100}); +`,(canvas1,canvas2)=>{ + this.surferView=Recorder.WaveSurferView({compatibleCanvas:canvas1,compatibleCanvas_2x:canvas2, width:300, height:100}); +}); +``` + +## 【静态方法】RecordApp.UniBtoa(arrayBuffer) +base64编码,将arrayBuffer二进制数据转为base64字符串 + +## 【静态方法】RecordApp.UniAtob(b64) +base64解码,将base64字符串转为arrayBuffer二进制数据 + +## 【静态方法】RecordApp.UniB64Enc(str) +base64编码,将字符串转为base64字符串 + +## 【静态方法】RecordApp.UniB64Dec(b64) +base64解码,将base64字符串转为字符串 + +## 【静态方法】RecordApp.UniStr2Buf(str) +将文本转成arrayBuffer + +## 【静态方法】RecordApp.UniBuf2Str(arrayBuffer) +将arrayBuffer转成文本 + +## 【静态属性】RecordApp.UniJsSource.IsSource +当前`app-uni-support.js`文件是否是源码版,true为源码版,false为压缩版 + +## 【静态属性】RecordApp.UniWithoutAppRenderjs +仅App环境下设置,在不要使用或没有renderjs时,应当设为true,此时App中RecordApp完全运行在逻辑层,比如nvue页面,此时音频编码之类的操作全部在逻辑层,需要提供UniNativeUtsPlugin配置由原生插件进行录音,可视化绘制依旧可以在renderjs中进行。默认为false,RecordApp将在renderjs中进行实际的工作,然后将处理好的数据传回逻辑层,数据比较大时传输会比较慢(可通过Start时使用takeoffEncodeChunk实时获取音频文件数据可避免Stop时产生超大数据回传)。 + +## 【静态属性】RecordApp.UniAppUseLicense +仅App环境下设置,`app-uni-support.js`文件在App中使用的授权许可,默认为空字符串,获得授权后请赋值为"我已获得UniAppID=***的商用授权"(星号为你项目的uni-app应用标识),设置了UniNativeUtsPlugin时默认为已授权;如果未授权,将会在App打开后第一次调用`RecordApp.RequestPermission`请求录音权限时,弹出“未获得商用授权时,App上仅供测试”提示框。 + + + +## 【静态属性】RecordApp.UniNativeUtsPlugin +仅App环境下设置,App中启用原生录音插件或uts插件,由App提供原生录音,将原生插件或uts插件赋值给这个变量即可开启支持;使用原生录音插件只需赋值为`{nativePlugin:true}`即可(提供`nativePluginName`可指定插件名字,默认为`RecorderNativePlugin`),使用uts插件只需import插件后赋值即可(uts插件开发中,暂不可用);如果未提供任何插件,App中将使用H5录音(在renderjs中提供H5录音)。 + +**在App中引入原生录音插件来进行录音,兼容性和体验更好,在iOS上的体现更为明显(请参考上面的录音权限描述)。** + +`Recorder-UniCore`组件支持uni-app的`App原生语言插件`和`uts插件`两种类型的插件,两种均为原生插件,功能是相同的;根据你的项目需求选择一种插件使用即可,据uni-app官网来看,目前的趋势更偏向于对uts插件的支持。 + +### 集成原生录音插件 +原生录音插件暂未上架DCloud插件市场,请阅读下面的授权许可章节,联系客服获取到Android的`.aar module 25KB`、iOS的`.a library 200KB`两个文件,和参考demo项目。 + +1. 项目根目录创建 nativeplugins 目录 +2. 复制demo项目 nativeplugins 目录内的插件到你的项目 nativeplugins 目录 +3. 配置项目manifest.json,在`App原生插件配置`项下点击`选择本地插件`,把插件勾选上 +4. 调试需要先打一个自定义基座,然后使用自定义基座进行调试;打包可以自己进行离线打包,或者提交云端打包 + +详细请参考uni-app官方文档:[HBuilderX中使用本地插件](https://nativesupport.dcloud.net.cn/NativePlugin/use/use_local_plugin.html) + +### 集成uts插件 +uts插件还在开发中,暂时不可集成。 + +### 使用原生插件 +``` javascript +var RecNativePlugin=null; +// #ifdef APP + import * as RecUtsPlugin from "@/uni_modules/Recorder-UtsPlugin" //使用uts插件,如果不用uts插件就删掉这行并加上 var RecUtsPlugin=null + var RecNativePlugin={//使用原生录音插件,跟uts插件二选一 + nativePlugin:true + ,nativePluginName:"xxx" //可指定插件名字,默认为RecorderNativePlugin + }; +// #endif +// #ifndef APP + var RecUtsPlugin=null; //非App,给个变量 +// #endif + +//在调用RecordApp.RequestPermission之前进行配置,可以判断一下只在iOS上或Android上启用,不判断就都启用,比如判断iOS:RecordApp.UniIsApp()==2 +RecordApp.UniNativeUtsPlugin=RecNativePlugin||RecUtsPlugin; +``` + + + + + + +[​](?) + +[​](?) + +[​](?) + +[​](?) + +# 使用Recorder-UniCore组件的授权许可 +**[AD]app-uni-support.js文件在uni-app中编译到App平台时仅供测试用(App平台包括:Android App、iOS App),不可用于正式发布或商用,正式发布或商用需先联系作者获得授权许可**;编译到其他平台时无此授权限制,比如:H5、小程序,均为免费授权。 + +[​](?) + +## 获取商用授权和购买原生录音插件 +客服联系方式:QQ 1251654593 ,或者直接联系作者QQ 753610399 (回复可能没有客服及时)。 +- 方式一:联系客服加入VIP支持QQ群,入群费用**¥199元**,入群后即获得授权,在群文件中可下载`app-uni-support.js`文件最新源码。 +- 方式二:联系客服或到DCloud插件市场购买配套的原生录音插件或uts插件,购买后即获得授权;购买后可联系客服,同时提供订单信息,客服拉你进入VIP支持QQ群。 + +> 目前uts插件还在开发中不可购买;原生录音插件已开发好,但还未上架到DCloud插件市场,如果需要请联系客服付费购买,原生录音插件价格为:**¥499元**(可买单个平台¥299元,已付费入群可补差价购买),购买后客服会发送Android的`.aar module 25KB`、iOS的`.a library 200KB`两个文件给你,和demo项目供参考,集成到项目的`nativeplugins`目录中,详细使用请参考上面的`RecordApp.UniNativeUtsPlugin`属性文档。 + +> 注:VIP支持群的主要作用是代表你已获得授权许可,可以随时获得`app-uni-support.js`文件最新版源码;不作为问答或售后群使用,当然如果你有问题也可以直接群里问,花费时间不多的,作者免费顺带就解答了,如果复杂花费比较久时间的,可能要适当收点人工费用,或者选择进行付费指导。 +> +> `Recorder-UniCore`组件中自带的`app-uni-support.js`文件是压缩版,功能和源码版一致,在VIP支持群中下载得到此文件源码后,可以直接替换组件中的这个文件,也可以不替换。 + + +[​](?) + +## 解除组件限制 +如果未获得授权许可,将会在App打开后第一次调用`RecordApp.RequestPermission`请求录音权限时,弹出“未获得商用授权时,App上仅供测试”提示框。 + +获得作者的授权许可后,请在调用`RecordApp.RequestPermission`请求录音权限前,赋值`RecordApp.UniAppUseLicense="我已获得UniAppID=***的商用授权"`(星号为你项目的uni-app应用标识),就不会弹提示框了;或者购买了配套的原生录音插件或uts插件,直接设置`RecordApp.UniNativeUtsPlugin`参数,也不会弹提示框。 + +插件开发维护不易,感谢支持~ + + +[​](?) + +## 许可及服务协议 + +**您(以下称“用户”)下载、使用我(以下称“作者”)提供的Recorder-UniCore组件(含原生录音插件、uts插件,以下统称“本组件”),应当阅读并遵守本许可协议。请用户务必审慎阅读、充分理解各条款内容,特别是免除或者限制责任的条款,并选择接受或不接受。除非用户已阅读并接受本协议所有条款,否则用户无权下载、使用本组件及相关服务,用户的下载、使用等行为即视为用户已阅读并同意本许可协议的约束。** + +1. 用户应当直接从作者许可的途径,如作者的GitHub、Gitee仓库、已上架的DCloud插件市场、QQ群等途径中获取本组件;其他途径获取到的组件代码是未经过作者授权的,存在安全隐患,可能会导致你的程序、资产受到侵害,作者对因此给用户造成的损失不予负责。 + +2. 作者将积极并采取措施保护用户的信息和隐私;组件本身不会搜集存储任何用户信息。 + +3. 除法律法规有明确规定外,作者将尽最大努力确保本组件及其所涉及的技术及信息安全、有效、准确、可靠,但受限于现有技术,用户理解作者不能对此进行担保。 + +4. 用户理解,对于不可抗力及第三方原因导致的您的直接或间接损失,作者无法承担责任。 + +5. 用户因使用本组件进行生成、处理数据,由此引起或与有关的包括但不限于利润损失、资料损失、业务中断的损害赔偿或其它商业损害赔偿或损失,需由用户自行承担。 + +6. 如若发生赔偿、退款等行为,赔偿、退款等累计金额不得超过用户实际支付给作者的总金额。 + +7. 已授予的授权许可,包括免费授权,和已购买的原生录音插件、uts插件,均仅限在授权指定的uni-app的应用标识(AppID)对应的项目上使用,不可在其他项目上使用;用户不得对本组件及其中的相关信息擅自出租、出借、销售、逆向工程、破解,不得在未取得作者授权的情况下借助本组件发展与本组件有关联的衍生软件产品、服务、插件、外挂等。 + +8. 用户不得使用本组件从事违反法律法规政策、破坏公序良俗、损害公共利益的行为。 + + + diff --git a/app-support-sample/demo_UniApp/index.html b/app-support-sample/demo_UniApp/index.html new file mode 100644 index 00000000..c3ff205f --- /dev/null +++ b/app-support-sample/demo_UniApp/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + +
+ + + diff --git a/app-support-sample/demo_UniApp/main.js b/app-support-sample/demo_UniApp/main.js new file mode 100644 index 00000000..c1caf360 --- /dev/null +++ b/app-support-sample/demo_UniApp/main.js @@ -0,0 +1,22 @@ +import App from './App' + +// #ifndef VUE3 +import Vue from 'vue' +import './uni.promisify.adaptor' +Vue.config.productionTip = false +App.mpType = 'app' +const app = new Vue({ + ...App +}) +app.$mount() +// #endif + +// #ifdef VUE3 +import { createSSRApp } from 'vue' +export function createApp() { + const app = createSSRApp(App) + return { + app + } +} +// #endif \ No newline at end of file diff --git a/app-support-sample/demo_UniApp/manifest.json b/app-support-sample/demo_UniApp/manifest.json new file mode 100644 index 00000000..54c23dd7 --- /dev/null +++ b/app-support-sample/demo_UniApp/manifest.json @@ -0,0 +1,72 @@ +{ + "name" : "RecordAppTest", + "appid" : "", + "description" : "", + "versionName" : "1.0.0", + "versionCode" : "100", + "transformPx" : false, + /* 5+App特有相关 */ + "app-plus" : { + "usingComponents" : true, + "nvueStyleCompiler" : "uni-app", + "compilerVersion" : 3, + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + /* 模块配置 */ + "modules" : {}, + /* 应用发布信息 */ + "distribute" : { + /* android打包配置 */ + "android" : { + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + /* ios打包配置 */ + "ios" : { + "privacyDescription" : { + "NSMicrophoneUsageDescription" : "录音功能需要访问麦克风" + } + }, + /* SDK配置 */ + "sdkConfigs" : {} + } + }, + /* 快应用特有相关 */ + "quickapp" : {}, + /* 小程序特有相关 */ + "mp-weixin" : { + "appid" : "", + "setting" : { + "urlCheck" : false + }, + "usingComponents" : true + }, + "mp-alipay" : { + "usingComponents" : true + }, + "mp-baidu" : { + "usingComponents" : true + }, + "mp-toutiao" : { + "usingComponents" : true + }, + "uniStatistics" : { + "enable" : false + }, + "vueVersion" : "2" +} diff --git a/app-support-sample/demo_UniApp/package.json b/app-support-sample/demo_UniApp/package.json new file mode 100644 index 00000000..5cafd120 --- /dev/null +++ b/app-support-sample/demo_UniApp/package.json @@ -0,0 +1,7 @@ +{ + "name": "recorder-demo_UniApp", + "version": "1.0.0", + "dependencies": { + "recorder-core": "*" + } +} diff --git a/app-support-sample/demo_UniApp/pages.json b/app-support-sample/demo_UniApp/pages.json new file mode 100644 index 00000000..6f56e605 --- /dev/null +++ b/app-support-sample/demo_UniApp/pages.json @@ -0,0 +1,47 @@ +{ + "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages + { + "path" : "pages/recTest/page_index", + "style" : { + "navigationBarTitleText": "RecordApp录音测试 - uni-app" + } + }, + { + "path" : "pages/recTest/page_index2", + "style" : { + "navigationBarTitleText": "RecordApp新开页面index - uni-app" + } + }, + { + "path" : "pages/recTest/main_recTest", + "style" : { + "navigationBarTitleText": "RecordApp新开页面main - uni-app" + } + }, + { + "path" : "pages/recTest/page_i18n", + "style" : { + "navigationBarTitleText": "RecordApp国际化多语言 - uni-app" + } + }, + { + "path" : "pages/recTest/page_nvue", + "style" : { + "navigationBarTitleText": "RecordApp nvue原生页面 - uni-app" + } + }, + { + "path" : "pages/recTest/page_renderjsOnly", + "style" : { + "navigationBarTitleText": "RecordApp纯renderjs调用 - uni-app" + } + } + ], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "uniIdRouter": {} +} diff --git a/app-support-sample/demo_UniApp/pages/recTest/main_recTest.vue b/app-support-sample/demo_UniApp/pages/recTest/main_recTest.vue new file mode 100644 index 00000000..4a70b722 --- /dev/null +++ b/app-support-sample/demo_UniApp/pages/recTest/main_recTest.vue @@ -0,0 +1,739 @@ + + + + + + + + + + + + + + + + diff --git a/app-support-sample/demo_UniApp/pages/recTest/page_i18n.vue b/app-support-sample/demo_UniApp/pages/recTest/page_i18n.vue new file mode 100644 index 00000000..aecb1a05 --- /dev/null +++ b/app-support-sample/demo_UniApp/pages/recTest/page_i18n.vue @@ -0,0 +1,398 @@ + + + + + + + + + + + + + + + + diff --git a/app-support-sample/demo_UniApp/pages/recTest/page_index.vue b/app-support-sample/demo_UniApp/pages/recTest/page_index.vue new file mode 100644 index 00000000..289d8249 --- /dev/null +++ b/app-support-sample/demo_UniApp/pages/recTest/page_index.vue @@ -0,0 +1,35 @@ + + + diff --git a/app-support-sample/demo_UniApp/pages/recTest/page_index2.vue b/app-support-sample/demo_UniApp/pages/recTest/page_index2.vue new file mode 100644 index 00000000..186914a5 --- /dev/null +++ b/app-support-sample/demo_UniApp/pages/recTest/page_index2.vue @@ -0,0 +1,30 @@ + + + diff --git a/app-support-sample/demo_UniApp/pages/recTest/page_nvue.nvue b/app-support-sample/demo_UniApp/pages/recTest/page_nvue.nvue new file mode 100644 index 00000000..13b1a838 --- /dev/null +++ b/app-support-sample/demo_UniApp/pages/recTest/page_nvue.nvue @@ -0,0 +1,235 @@ + + + diff --git a/app-support-sample/demo_UniApp/pages/recTest/page_renderjsOnly.vue b/app-support-sample/demo_UniApp/pages/recTest/page_renderjsOnly.vue new file mode 100644 index 00000000..af6120d0 --- /dev/null +++ b/app-support-sample/demo_UniApp/pages/recTest/page_renderjsOnly.vue @@ -0,0 +1,183 @@ + + + + + + + \ No newline at end of file diff --git a/app-support-sample/demo_UniApp/pages/recTest/test_perf_renderjs___.vue b/app-support-sample/demo_UniApp/pages/recTest/test_perf_renderjs___.vue new file mode 100644 index 00000000..ab1d6736 --- /dev/null +++ b/app-support-sample/demo_UniApp/pages/recTest/test_perf_renderjs___.vue @@ -0,0 +1,483 @@ + + + + + + + + + + + + + + + + diff --git a/app-support-sample/demo_UniApp/pages/recTest/test_player___.vue b/app-support-sample/demo_UniApp/pages/recTest/test_player___.vue new file mode 100644 index 00000000..04c10eef --- /dev/null +++ b/app-support-sample/demo_UniApp/pages/recTest/test_player___.vue @@ -0,0 +1,475 @@ + + + + + \ No newline at end of file diff --git a/app-support-sample/demo_UniApp/static/__empty__.md b/app-support-sample/demo_UniApp/static/__empty__.md new file mode 100644 index 00000000..e0ed35c1 --- /dev/null +++ b/app-support-sample/demo_UniApp/static/__empty__.md @@ -0,0 +1 @@ +# 空的一个文件夹 \ No newline at end of file diff --git a/app-support-sample/demo_UniApp/uni.promisify.adaptor.js b/app-support-sample/demo_UniApp/uni.promisify.adaptor.js new file mode 100644 index 00000000..47fbce11 --- /dev/null +++ b/app-support-sample/demo_UniApp/uni.promisify.adaptor.js @@ -0,0 +1,10 @@ +uni.addInterceptor({ + returnValue (res) { + if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) { + return res; + } + return new Promise((resolve, reject) => { + res.then((res) => res[0] ? reject(res[0]) : resolve(res[1])); + }); + }, +}); \ No newline at end of file diff --git a/app-support-sample/demo_UniApp/uni.scss b/app-support-sample/demo_UniApp/uni.scss new file mode 100644 index 00000000..a9a742d5 --- /dev/null +++ b/app-support-sample/demo_UniApp/uni.scss @@ -0,0 +1,76 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ + +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color:#333;//基本色 +$uni-text-color-inverse:#fff;//反色 +$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable:#c0c0c0; + +/* 背景颜色 */ +$uni-bg-color:#ffffff; +$uni-bg-color-grey:#f8f8f8; +$uni-bg-color-hover:#f1f1f1;//点击状态颜色 +$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 + +/* 边框颜色 */ +$uni-border-color:#c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm:12px; +$uni-font-size-base:14px; +$uni-font-size-lg:16; + +/* 图片尺寸 */ +$uni-img-size-sm:20px; +$uni-img-size-base:26px; +$uni-img-size-lg:40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2C405A; // 文章标题颜色 +$uni-font-size-title:20px; +$uni-color-subtitle: #555555; // 二级标题颜色 +$uni-font-size-subtitle:26px; +$uni-color-paragraph: #3F536E; // 文章段落颜色 +$uni-font-size-paragraph:15px; diff --git a/app-support-sample/demo_UniApp/uni_modules/Recorder-UniCore/app-uni-support.js b/app-support-sample/demo_UniApp/uni_modules/Recorder-UniCore/app-uni-support.js new file mode 100644 index 00000000..2a6bd6be --- /dev/null +++ b/app-support-sample/demo_UniApp/uni_modules/Recorder-UniCore/app-uni-support.js @@ -0,0 +1,36 @@ +/** +本代码为RecordApp在uni-app下使用的适配代码,为压缩版(功能和源码版一致) +GitHub、许可及服务协议: https://github.com/xiangyuecn/Recorder/tree/master/app-support-sample/demo_UniApp + +【授权】 +在uni-app中编译到App平台时仅供测试用(App平台包括:Android App、iOS App),不可用于正式发布或商用,正式发布或商用需先联系作者获取到商用授权许可 + +在uni-app中编译到其他平台时无此授权限制,比如:H5、小程序,均为免费授权 + +获取商用授权方式: + 方式一:联系客服加入VIP支持QQ群,入群后即获得授权,在群文件中可下载此js文件最新源码 + 方式二:联系客服或到DCloud插件市场购买配套的原生录音插件或uts插件,购买后即获得授权(其中uts插件还在开发中不可购买);购买后可联系客服,同时提供订单信息,客服拉你进入VIP支持QQ群 +客服联系方式:QQ 1251654593 ,或者直接联系作者QQ 753610399 (回复可能没有客服及时)。 +**/ + +/*** +录音 RecordApp: uni-app支持文件,支持 H5、App vue、App nvue、微信小程序 +GitHub、许可及服务协议: https://github.com/xiangyuecn/Recorder/tree/master/app-support-sample/demo_UniApp + +全局配置参数: + RecordApp.UniAppUseLicense:"" App中使用的授权许可,获得授权后请赋值为"我已获得UniAppID=***的商用授权"(***为你项目的uni-app应用标识),设置了UniNativeUtsPlugin时默认为已授权;如果未授权,将会在App打开后第一次调用`RecordApp.RequestPermission`请求录音权限时,弹出“未获得商用授权时,App上仅供测试”提示框。 + + RecordApp.UniNativeUtsPlugin:null App中启用原生录音插件或uts插件,由App提供原生录音,将原生插件或uts插件赋值给这个变量即可开启支持;使用原生录音插件只需赋值为{nativePlugin:true}即可(提供nativePluginName可指定插件名字,默认为RecorderNativePlugin),使用uts插件只需import插件后赋值即可(uts插件开发中,暂不可用);如果未提供任何插件,App中将使用H5录音(在renderjs中提供H5录音)。 + + RecordApp.UniWithoutAppRenderjs:false 不要使用或没有renderjs时,应当设为true,此时App中RecordApp完全运行在逻辑层,比如nvue页面,此时音频编码之类的操作全部在逻辑层,需要提供UniNativeUtsPlugin配置由原生插件进行录音,可视化绘制依旧可以在renderjs中进行。默认为false,RecordApp将在renderjs中进行实际的工作,然后将处理好的数据传回逻辑层,数据比较大时传输会比较慢。 + +不同平台环境下使用说明: + 【H5】 引入RecordApp和本js,按RecordApp的文档使用即可,和普通网页开发没有区别 + + 【微信小程序】 引入RecordApp和本js,同时引入RecordApp中的app-miniProgram-wx-support.js即可,录音操作和H5完全相同,其他可视化扩展等使用请参考RecordApp中的小程序说明 + + 【App vue】 引入RecordApp和本js,并创建一个 +tei.g711a.src=tei.g711u.src=[srcC,"src/engine/g711x.js",0,"src/engine/wav.js"]; +tei.g711a.dist=tei.g711u.dist=[distC,"dist/engine/g711x.js",0,"src/engine/wav.js"]; - - - - - - - - + -//可以设置组件是否进行延迟加载,默认会延迟加载,不会阻塞Install -RecordApp.UseLazyLoad=!(+localStorage["RecordApp_UseLazyLoadDisable"]||0); + +
-//立即加载环境,自动把Recorder加载进来 -RecordApp.Install(function(){ - console.log("RecordApp.Install成功"); - isInstall=true; - window.onInstall&&onInstall(); -},function(err){ - var msg="RecordApp.Install出错:"+err; - console.log(msg); - alert(msg); -}); + + + + + + -})(); -var isInstall=false; - + + + + + + + + + - + - + - - - + + + -
-
仅为兼容低版本IOS而生,IOS 14.3+已无需本兼容方案即可实现H5录音;如果你不打算兼容低版本IOS,请不用研究RecordApp,直接使用简单强大的Recorder H5即可。
- RecordApp会加载Recorder,因此算是完全兼容Recorder。在开启了原生App支持(Platforms.Native)的情况下,Hybrid App内会走App原生录音;在开启IOS微信支持(Platforms.IOS-Weixin)的情况下,在IOS(11.0-14.2)微信内会走微信JsSDK录音;其他情况走Recorder。 - +
+ RecordApp:基于Recorder的跨平台录音解决方案
-
- 源码仓库 : +
+ +
- 支持H5页面录音(即本页面支持):
+
    +
  • 在浏览器中(含App WebView)默认使用Recorder H5进行录音
  • +
  • + 在开启了原生支持的App WebView中使用原生录音,App Demo: + Android, iOS +
  • +
+
+ - 支持微信小程序录音,微信小程序Demo: + miniProgram-wx +
+
+ - 支持uni-app录音:H5、Android iOS App、微信小程序,含组件示例: + demo_UniApp +
+
- 支持自行适配到各种js运行环境中录音,比如:Electron、NodeJs、各种小程序
+
- 以上环境中均可使用大部分的: 录音格式、实时处理、和可视化等扩展功能
+
+ +
+ 源码仓库 : GitHub | Gitee - 更多Demo : Demo列表(可编辑) - | H5 vue - | App vue + 更多Demo : Demo列表(可编辑) + | App vue
-
+
QuickStart : - /app-support-sample/QuickStart.html - (Copy+后端微信接口即可使用,更适合入门学习) + /app-support-sample/QuickStart.html + (Copy即用,更适合入门学习)
-
- 类型 : - - - - - - - - -
- 提示 : - + 类型 :
- 比特率 : kbps,越大音质越好 + 提示 : -
- 采样率 : hz,越大细节越丰富 + 比特率 : + kbps,越大音质越好
- JsSDK : + 采样率 : + hz,越大细节越丰富
- AppUseJS : + AppUseH5 :
-
- - - - - - +
+ + + + + - ms + + ms + +
+
+ + + + + + + + +
@@ -316,8 +329,9 @@
- - kbps 测试音质用的,除比特率外其他参数可调整 + + + kbps 测试音质用的,除比特率外其他参数可调整
@@ -331,15 +345,15 @@
- +
- - ,发送间隔ms + + ms
- +
@@ -348,42 +362,53 @@
+
- 测试App : - IOS Demo App:下载源码 自行编译 + 测试App : + iOS Demo App: 下载源码 自行编译 - ,Android Demo App:下载APK (40kb,删除.zip后缀,源码) + ,Android Demo App: 下载APK + (40kb,删除.zip后缀,源码)
- +
- iframe兼容性 : - 测试在iframe里面请求录音权限的兼容性。最佳实践应该是让window.top(不适用于跨域)去加载RecordApp,iframe里面使用top.RecordApp;此测试未遵照此最佳实践,以模拟跨域iframe和同域下的复杂真实情况;H5录音在跨域时未设置相应策略权限永远是拒绝的;Native使用了postMessage转发兼容方案 +
+ 如需录音功能定制开发,网站、App、小程序、前端后端开发等需求,请加QQ群:①群 781036591、②群 748359095,口令recorder,联系群主(即作者),谢谢~ +
- 浏览器环境情况 : -
-IsWx:${!!RecordApp.IsWx}
-IsApp:${isApp}
+	浏览器环境情况 :
+	

 
@@ -394,11 +419,13 @@ var t=("0"+now.getHours()).substr(-2) +":"+("0"+now.getMinutes()).substr(-2) +":"+("0"+now.getSeconds()).substr(-2); - $(".reclog").prepend('
['+t+']'+s+'
'); + var html='
['+t+']'+s+'
'; + $(".reclog").prepend(html); + $(".recLastLog").html(html.replace(/class\s*=/ig,"clazz=")); }; window.onerror=function(message, url, lineNo, columnNo, error){ //https://www.cnblogs.com/xianyulaodi/p/6201829.html - reclog('【Uncaught Error】'+message+'
'+"at:"+lineNo+":"+columnNo+" url:"+url+"\n"+(error&&error.stack||"不能获得错误堆栈")+'
'); + reclog('【Uncaught Error】'+message+'
'+"at:"+lineNo+":"+columnNo+" url:"+url+"\n"+(error&&error.stack||Html_$T("jwqb::不能获得错误堆栈"))+'
',1); }; @@ -406,81 +433,35 @@ + + - + + + +
\ No newline at end of file diff --git a/app-support-sample/ios-weixin-config.js b/app-support-sample/ios-weixin-config.js deleted file mode 100644 index 4fa0099c..00000000 --- a/app-support-sample/ios-weixin-config.js +++ /dev/null @@ -1,323 +0,0 @@ -/* -app-support/app.js中IOS-Weixin测试用的配置例子,用于支持ios的微信中使用微信JsSDK来录音 - -【本文件的作用】:实现app.js内IOS-Weixin中Config的两个标注为需实现的接口(这几个接口是app-ios-weixin-support.js需要的),提供本文件可免去修改app.js源码。 - -此文件需要在app.js之前进行加载,【注意】【本文件需要修改后才能用到你的网站】 - -支持在iframe中使用,但不支持在跨域。 - -https://github.com/xiangyuecn/Recorder -*/ -(function(){ -"use strict"; - -/******简化后的使用配置修改项******/ -//可简单修改此处配置即可正常使用。当然参考本例子全部自己写是最佳选择,可能需要多花点时间。 - -/**【需修改】请使用自己的js文件目录,不要用github的不稳定。RecordApp会自动从这个目录内进行加载相关的实现文件、Recorder核心、编码引擎,会自动默认加载哪些文件,请查阅app.js内所有Platform的paths配置;如果这些文件你已手动全部加载,这个目录配置可以不用**/ -window.RecordAppBaseFolder=window.PageSet_RecordAppBaseFolder||"https://xiangyuecn.gitee.io/recorder/src/"; - -/**【需修改】请使用自己的网站后端一个接口地址去实现:微信JsSDK签名、微信录音素材下载两个功能;不能用下面这个演示地址,微信【强制】要【绑安全域名】,别的站用不了。如果你要调整请求的参数、或者响应结果格式、或用两个接口地址,需要修改下面对应的ajax调用。 -【微信文档】后端签名接口参考:微信JsSDK wx.config需使用到后端接口进行签名,文档: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html 阅读:通过config接口注入权限验证配置、附录1-JS-SDK使用权限签名算法。 -【微信文档】后端素材下载接口参考: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444738727 -**/ -var MyWxApi=window.PageSet_RecordAppWxApi||"https://jiebian.life/api/weixin/git_record"; /*本例子提供的这个api接口: - 会实现两个功能,ajax POST请求参数如下(都是两个参数,完整细节看下面ajax调用): - 功能一、action="sign" //JsSDK签名 - url="https://x.com/page" //当前页面url地址,需要对这个地址进行签名 - 功能二、action="wxdown" //素材下载 - mediaID="abcd" //需下载的素材ID - 响应内容(JSON Object): - { - c:0 //code,0:正常,其他:错误 - ,m:"" //errMsg code!=0时的错误描述 - ,v:{} //返回结果value,为JSON Object - //sign时:v={appid:"公众号appid", timestamp:1577836800, noncestr:"随机字符串", signature:"签名值"} 就是返回wx.config需要的签名相关参数 - //wxdown时:v={mime:"audio/amr", data:"base64文本"} 就是返回素材下载的音频文件base64编码数据 - }*/ -/******END******/ - - - -//Install Begin:在RecordApp准备好时执行这些代码 -window.OnRecordAppInstalled=window.IOS_Weixin_RecordApp_Config=function(){ -window.IOS_Weixin_RecordApp_Config=null; -window.Native_RecordApp_Config&&Native_RecordApp_Config();//如果native-config.js也引入了的话,也需要初始化 - -var App=RecordApp; -var CLog=App.CLog; -var platform=App.Platforms.Weixin; -var config=platform.Config; - -CLog("ios-weixin-config init"); - - - -var win=window.top;//微信JsSDK让顶层去加载,免得iframe各种麻烦 - -var isIOS=/iphone/i.test(navigator.userAgent); -if(isIOS){ - var sbwxKey="Bad_WeixinIOSH5HistoryInitLocation"; - win[sbwxKey]=win[sbwxKey]||window[sbwxKey]||location.href; - //如果你是在 history.pushState 修改了地址之后加载的本js,就更惨了,此初始化url将不准确,因此你可以在页面首次加载时立即设置Bad_WeixinIOSH5HistoryInitLocation变量为那时的location.href - - setTimeout(function(){ - CLog("IOS内微信不认 history.pushState 产生的新地址,如果签名地址不是页面加载时的地址,可能会导致签名失败,当前签名使用的地址为:"+win[sbwxKey],3); - },5000); -}; - - -/*********实现app.js内IOS-Weixin中Config的接口*************/ -config.Enable=function(call){ - //是否启用微信支持,默认启用,如果要禁用就回调call(false) - call(true); -}; -config.WxReady=function(call){ - //此方法已实现在微信JsSDK wx.config好后调用call(wx,err)函数 - //微信JsSDK wx.config需使用到后端接口进行签名,文档: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html 阅读:通过config接口注入权限验证配置、附录1-JS-SDK使用权限签名算法 - if(!win.WxReady){ - win.eval("var InitJsSDK="+InitJsSDK.toString()+";InitJsSDK")(App,MyWxApi,ajax); - }; - - win.WxReady(call); -}; -config.DownWxMedia=function(param,success,fail){ - /*下载微信录音素材,服务器端接口文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444738727 - param:{//接口调用参数 - mediaId:"" 录音接口上传得到的微信服务器上的ID,用于下载单个素材(如果录音分了多段,会循环调用DownWxMedia);如果服务器会进行转码,请忽略这个参数 - - transform_mediaIds:"mediaId,mediaId,mediaId" 1个及以上mediaId,半角逗号分隔,用于服务器端进行转码用的,正常情况下这个参数用不到。如果服务器端会进行转码,需要把这些素材全部下载下来,然后按顺序合并为一个音频文件 - transform_type:"mp3" 录音set中的类型,用于转码结果类型,正常情况下这个参数用不到。如果服务器端会进行转码,接口返回的mime必须是:audio/type(如:audio/mp3)。 - transform_bitRate:123 建议的比特率,转码用的,同transform_type - transform_sampleRate:123 建议的采样率,转码用的,同transform_type - - * 素材下载的amr音质很渣,也许可以通过高清接口获得清晰点的speex音频,那么transform_*参数就有用武之地;直接下载的amr只需用mediaId参数就可以了。 - } - success: fn(obj) 下载成功返回结果 - obj:{ - mime:"audio/amr" //这个值是服务器端请求临时素材接口返回的Content-Type响应头,未转码必须是audio/amr;如果服务器进行了转码,是转码后的类型mime,并且提供duration - ,data:"base64文本" //服务器端下载到或转码的文件二进制内容进行base64编码 - - ,duration:0 //音频时长,如果服务器端进行了转码,必须返回这个参数并且>0,否则不要提供或者直接给0 - } - fail: fn(msg) 下载出错回调 - */ - - var failCall=function(err){ - CLog(err,1); - fail(err); - }; - - CLog("下载微信素材...",param); - ajax(MyWxApi,{ - action:"wxdown" - ,mediaID:param.mediaId - ,transform_mediaIds:param.transform_mediaIds - ,transform_type:param.transform_type - ,transform_bitRate:param.transform_bitRate - ,transform_sampleRate:param.transform_sampleRate - },function(data,raw){ - var mime=data.mime,b64=data.data; - if(!mime || !b64 || (b64.length||1)%4!=0 ){ - CLog("下载错误",1,raw); - failCall("微信音频素材下载接口返回非预定义json数据"); - }else{ - CLog("成功下载微信音频素材"+mime+" ≈"+(b64.length/4*3)+"b"); - success(data); - }; - },function(msg){ - failCall("微信音频素材下载失败:"+msg); - }); -}; -/*********接口实现END*************/ - - - - - - -//手撸一个ajax -var ajax=function(url,data,True,False){ - var xhr=new XMLHttpRequest(); - xhr.timeout=20000; - xhr.open("POST",url); - xhr.onreadystatechange=function(){ - if(xhr.readyState==4){ - if(xhr.status==200){ - try{ - var o=JSON.parse(xhr.responseText); - }catch(e){}; - - if(o.c!==0 || !o.v){ - False(o.m||"接口返回非预定义json数据"); - return; - }; - True(o.v,o); - }else{ - False("请求失败["+xhr.status+"]"); - } - } - }; - var arr=[]; - for(var k in data){ - arr.push(k+"="+encodeURIComponent(data[k])); - }; - xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); - xhr.send(arr.join("&")); -}; - - - - -/*********JsSDK*************/ -//本方法不一定是当前页面执行,如果是iframe将交给top层执行,因此必须能独立运行 -var InitJsSDK=function(App,MyWxApi,ajax){ - var CLog=App.CLog; - var wxOjbK=function(call){ - if(errMsg){ - call(null,errMsg); - return; - }; - - wxConfig(function(){ - call(wx); - },function(msg){ - call(wx,"请求微信接口失败: "+msg); - }); - }; - - //微信环境准备完毕 - window.WxReady=function(call){ - if(isReady){ - wxOjbK(call); - }else{ - calls.push(call); - }; - }; - var isReady=false; - var calls=[]; - var errMsg=""; - - var jsEnd=function(){ - isReady=true; - var arr=calls; - calls=[]; - for(var i=0;i{ + var a=new Uint8Array(wx.base64ToArrayBuffer(s)),t=""; + for(var i=0;i{ + this.reclog("已获得录音权限,可以开始录音了",2); + },(msg,isUserNotAllow)=>{ + if(isUserNotAllow){//用户拒绝了录音权限 + //这里你应当编写代码检查wx.getSetting中的scope.record录音权限,引导用户进行授权 + wx.showModal({ + title:"需要录音权限" + ,content:"请到设置中允许小程序访问麦克风" + ,confirmText:"打开设置" + ,success:(res)=>{ + if(res.confirm) wx.openSetting(); + } + }); + } + + this.reclog((isUserNotAllow?"isUserNotAllow,":"")+"请求录音权限失败:"+msg,1); + }); + } + ,recStart(){ + this.setPlayFile(null); + var takeEcCount=0,takeEcSize=0; this.setData({takeoffEncodeChunkMsg:""}); + this.takeEcChunks=this.data.takeoffEncodeChunkSet?[]:null; + + this.reclog("正在开始录音..."); + RecordApp.Start({ + type:this.data.recType + ,sampleRate:this.data.recSampleRate + ,bitRate:this.data.recBitRate + ,onProcess:(buffers,powerLevel,duration,sampleRate,newBufferIdx,asyncEnd)=>{ + //可视化图形绘制 + this.setData({ + recpowerx:powerLevel + ,recpowert:this.formatTime(duration,1)+" / "+powerLevel + }); + var wave=this.waveStore[this.data.recwaveChoiceKey]; + if(wave){ + wave.input(buffers[buffers.length-1],powerLevel,sampleRate); + } + } + ,takeoffEncodeChunk:!this.data.takeoffEncodeChunkSet?null:(chunkBytes)=>{ + //实时接收到编码器编码出来的音频片段数据,chunkBytes是Uint8Array二进制数据,可以实时上传(发送)出去 + takeEcCount++; takeEcSize+=chunkBytes.byteLength; + this.setData({takeoffEncodeChunkMsg:"已接收到"+takeEcCount+"块,共"+takeEcSize+"字节"}); + this.takeEcChunks.push(chunkBytes); + } + },()=>{ + this.reclog("录音中 type="+this.data.recType + +" "+this.data.recSampleRate+" "+this.data.recBitRate+"kbps" + +(this.data.takeoffEncodeChunkSet?" takeoffEncodeChunk":""),2); + //创建音频可视化图形绘制 + this.initWaveStore(); + },(msg)=>{ + this.reclog("开始录音失败:"+msg,1); + }); + } + ,recPause(){ + if(RecordApp.GetCurrentRecOrNull()){ + RecordApp.Pause(); + this.reclog("已暂停"); + } + } + ,recResume(){ + if(RecordApp.GetCurrentRecOrNull()){ + RecordApp.Resume(); + this.reclog("继续录音中..."); + } + } + ,recStopX(){ + RecordApp.Stop( + null //success传null就只会清理资源,不会进行转码 + ,(msg)=>{ + this.reclog("已清理,错误信息:"+msg); + } + ); + } + ,recStop(){ + this.reclog("正在结束录音..."); + RecordApp.Stop((aBuf,duration,mime)=>{ + var recSet=RecordApp.GetCurrentRecOrNull().set; + this.reclog("已录制["+mime+"]:"+duration+"ms "+aBuf.byteLength+"字节 " + +recSet.sampleRate+"hz "+recSet.bitRate+"kbps",2); + + if(this.takeEcChunks){ + this.reclog("启用takeoffEncodeChunk后Stop返回的blob长度为0不提供音频数据"); + var len=0; for(var i=0;i{ + this.reclog("结束录音失败:"+msg,1); + }); + } + + + + + ,data: { + recType:"mp3" + ,recSampleRate:16000 + ,recBitRate:16 + + ,takeoffEncodeChunkSet:false + ,takeoffEncodeChunkMsg:"" + + ,recwaveChoiceKey:"WaveView" + ,reclogs:[] + ,playUrl:"" + } + ,onLoad(options) { + this.reclog("页面onLoad Recorder.LM="+Recorder.LM+" RecordApp.LM="+RecordApp.LM); + this.reclog("请先请求录音权限,然后再开始录音"); + } + ,reclog(msg,color){ + var now=new Date(); + var t=("0"+now.getHours()).substr(-2) + +":"+("0"+now.getMinutes()).substr(-2) + +":"+("0"+now.getSeconds()).substr(-2); + var txt="["+t+"]"+msg; + console.log(txt); + this.data.reclogs.splice(0,0,{txt:txt,color:color}); + this.setData({reclogs:this.data.reclogs}); + } + ,takeoffEncodeChunkSetClick(){ + this.setData({ takeoffEncodeChunkSet:!this.data.takeoffEncodeChunkSet }); + } + ,recTypeClick(res){ + var type=res.target.dataset.type; + if(type){ + this.setData({ recType:type }); + } + } + + // 可视化 + ,initWaveStore(){ + if(this.waveStore)return; + var getCanvas=(slc,call)=>{ + this.createSelectorQuery().select(slc) + .fields({ node: true }).exec((res)=>{ + try{ + call(res[0].node); + }catch(e){ + console.error(e); + this.reclog("["+slc+"]发生异常:"+e.message,1); + } + }); + }; + var store=this.waveStore={}; + + getCanvas(".recwave-WaveView",(canvas)=>{ + store.WaveView=Recorder.WaveView({compatibleCanvas:canvas, width:300, height:100}); + }); + getCanvas(".recwave-SurferView",(canvas)=>{ + getCanvas(".recwave-SurferView-2x",(canvas_2x)=>{ + store.SurferView=Recorder.WaveSurferView({compatibleCanvas:canvas,compatibleCanvas_2x:canvas_2x, width:300, height:100}); + }); + }); + getCanvas(".recwave-Histogram1",(canvas)=>{ + store.Histogram1=Recorder.FrequencyHistogramView({compatibleCanvas:canvas, width:300, height:100}); + }); + getCanvas(".recwave-Histogram2",(canvas)=>{ + store.Histogram2=Recorder.FrequencyHistogramView({compatibleCanvas:canvas, width:300, height:100 + ,lineCount:90 + ,position:0 + ,minHeight:1 + ,stripeEnable:false + }); + }); + getCanvas(".recwave-Histogram3",(canvas)=>{ + store.Histogram3=Recorder.FrequencyHistogramView({compatibleCanvas:canvas, width:300, height:100 + ,lineCount:20 + ,position:0 + ,minHeight:1 + ,fallDuration:400 + ,stripeEnable:false + ,mirrorEnable:true + ,linear:[0,"#0ac",1,"#0ac"] + }); + }); + } + ,recwaveChoice(res){ + var key=res.target.dataset.key; + if(key){ + if(key!=this.data.recwaveChoiceKey){ + this.reclog("已切换波形显示为:"+key); + } + this.setData({ recwaveChoiceKey:key }); + } + } + + + //保存文件,分享给自己 + ,shareFile(){ + var sys=wx.getSystemInfoSync(); + if(sys.platform=="devtools"){ + wx.saveVideoToPhotosAlbum({//开发工具可以直接弹出保存对话框 + filePath:this.data.playUrl + ,success:()=>{ + this.reclog("保存文件成功"); + } + ,fail:(e)=>{ + this.reclog("保存文件失败:"+e.errMsg,1); + } + }); + return; + } + wx.shareFileMessage({ + filePath:this.data.playUrl + ,success:()=>{ + this.reclog("分享文件成功,请到聊天中找到文件消息,保存即可"); + } + ,fail:(e)=>{ + this.reclog("分享文件失败:"+e.errMsg,1); + } + }); + } + + // 手撸播放器 + ,setPlayerPosition(e){ //跳到指定位置播放 + var val=e.detail.value; + if(!this.audio)this.play(); + var time=Math.round(this.data.player_durationNum*val/100); + this.audio.seek(time/1000); + this.audio.play(); + } + ,play(){ + var sid=this.playSid; + if(this.audio){ + if(this.audio.sid==sid){ + if(this.audio.paused){ + this.audio.play(); + }else{ + this.audio.pause(); + } + return; + } + this.playStop(); + } + this.audio=wx.createInnerAudioContext(); + this.audio.src=this.playUrl_wav||this.data.playUrl; + this.audio.sid=sid; + + this.audio.onError((res)=>{ + this.reclog("onError 播放错误:"+res.errMsg,1); + }); + var lastCur=0,lastTime=0; + this.audio.timer=setInterval(()=>{ + if(this.playSid!=sid)return; + if(!this.audio.duration)return; + var dur=Math.round(this.audio.duration*1000); + var cur=Math.round(this.audio.currentTime*1000); + if(lastCur && cur==lastCur){//自带的更新太慢,补偿当前播放时长 + if(!this.audio.paused){ + cur+=Date.now()-lastTime; + } + }else{ + lastCur=cur; + lastTime=Date.now(); + }; + var pos=!dur?0:Math.min(100,Math.round(cur/dur*100)); + this.setData({ + playing:!this.audio.paused + ,player_durationNum:dur + ,player_duration:this.formatTime(dur) + ,player_currentTime:this.formatTime(cur) + ,player_position:pos + }); + },100);//onTimeUpdate 没卵用 + + this.audio.seek(0); + this.audio.play(); + if(this.playUrl_wav){ + this.reclog("已转码成wav播放"); + } + } + ,playStop(){ + if(this.audio){ + clearInterval(this.audio.timer); + this.audio.stop(); + this.audio.destroy(); + } + } + ,formatTime(ms,showSS){ + var ss=ms%1000;ms=(ms-ss)/1000; + var s=ms%60;ms=(ms-s)/60; + var m=ms%60;ms=(ms-m)/60; + var h=ms, v=""; + if(h>0) v+=(h<10?"0":"")+h+":"; + v+=(m<10?"0":"")+m+":"; + v+=(s<10?"0":"")+s; + if(showSS)v+="″"+("00"+ss).substr(-3);; + return v; + } + ,setPlayFile(aBuf,duration){ + this.playStop(); + this.playSid=(this.playSid||0)+1; + var path="",wavPath=""; + var end=()=>{ + this.playUrl_wav=wavPath; + this.setData({ + playUrl:path + ,playing:false + ,player_durationNum:duration||0 + ,player_duration:this.formatTime(duration||0) + ,player_currentTime:"00:00" + ,player_position:0 + }); + } + if(!aBuf)return end(); + var file="recTest_play_"+Date.now()+"."+this.data.recType; + path=wx.env.USER_DATA_PATH+"/"+file; + + var mg=wx.getFileSystemManager(); + mg.readdir({ + dirPath:wx.env.USER_DATA_PATH + ,success:(res)=>{ + console.log("清理旧播放文件",res.files); + for(var i=0;i{//转码成wav播放 + var wav=Recorder[this.data.recType+"2wav"]; + if(!wav) return end(); + var wavData=aBuf; + if(this.data.recType=="pcm"){ + wavData={ + sampleRate:this.data.recSampleRate + ,bitRate:this.data.recBitRate + ,blob:aBuf + }; + }; + wav(wavData,function(buf2){ + var wpath=path+".wav"; + saveFile("转码成wav播放",()=>{ + wavPath=wpath; + end(); + },end,wpath,buf2); + },(msg)=>{ + this.reclog("转码成wav失败:"+msg,1); + end(); + }); + }; + var saveFile=(tag,True,False,sPath,sBuffer)=>{ + mg.writeFile({ + filePath:sPath + ,data:sBuffer + ,encoding:"binary" + ,success:()=>{ + this.reclog(tag+"文件已保存在:"+sPath); + True(); + } + ,fail:(e)=>{ + this.reclog(tag+"保存文件失败,将无法播放:"+e.errMsg,1); + False(); + } + }); + }; + saveFile("",toWav,()=>{},path,aBuf); + } + +}) \ No newline at end of file diff --git a/app-support-sample/miniProgram-wx/pages/recTest/recTest.json b/app-support-sample/miniProgram-wx/pages/recTest/recTest.json new file mode 100644 index 00000000..c2e5dea4 --- /dev/null +++ b/app-support-sample/miniProgram-wx/pages/recTest/recTest.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText":"RecordApp录音测试" +} \ No newline at end of file diff --git a/app-support-sample/miniProgram-wx/pages/recTest/recTest.wxml b/app-support-sample/miniProgram-wx/pages/recTest/recTest.wxml new file mode 100644 index 00000000..341314a6 --- /dev/null +++ b/app-support-sample/miniProgram-wx/pages/recTest/recTest.wxml @@ -0,0 +1,110 @@ + + + + 类型: + mp3 + wav + pcm + amr + g711a + g711u + ogg(js太大) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{recpowert}} + + + + + + + + + + + WaveView + SurferView + Histogram1 + H...2 + H...3 + + + + + 接管编码器输出(takeoffEncodeChunk) {{takeoffEncodeChunkMsg}} + + + + + + + + + + + + + + + + + + + + + {{player_currentTime}} + {{player_duration}} + + + + + + + + {{item.txt}} + + + + + + 如需录音功能定制开发,网站、App、小程序、前端后端开发等需求,请加QQ群:①群 781036591、②群 748359095,口令recorder,联系群主(即作者),谢谢~ + + + \ No newline at end of file diff --git a/app-support-sample/miniProgram-wx/pages/recTest/recTest.wxss b/app-support-sample/miniProgram-wx/pages/recTest/recTest.wxss new file mode 100644 index 00000000..062f75f8 --- /dev/null +++ b/app-support-sample/miniProgram-wx/pages/recTest/recTest.wxss @@ -0,0 +1,35 @@ + +.recwaveChoice{ + cursor: pointer; + display:inline-block; + vertical-align: bottom; + border-right:1px solid #ccc; + background:#ddd; + line-height:28px; + font-size:12px; + color:#666; + padding:0 5px; +} +.recwaveChoice:first-child{ + border-radius: 99px 0 0 99px; +} +.recwaveChoice:last-child{ + border-radius: 0 99px 99px 0; + border-right:none; +} +.recwaveChoice.slc,.recwaveChoice:hover{ + background:#f60; + color:#fff; +} + + + +.recwave{ + border:1px solid #ccc; + height:100px; + width:300px; +} +.recwave canvas{ + height:100px; + width:300px; +} diff --git a/app-support-sample/miniProgram-wx/project.config.json b/app-support-sample/miniProgram-wx/project.config.json new file mode 100644 index 00000000..ca042c2c --- /dev/null +++ b/app-support-sample/miniProgram-wx/project.config.json @@ -0,0 +1,29 @@ +{ + "appid": "youAppID", + "compileType": "miniprogram", + "libVersion": "2.32.3", + "packOptions": { + "ignore": [], + "include": [] + }, + "setting": { + "coverView": true, + "es6": true, + "postcss": true, + "minified": true, + "enhance": true, + "showShadowRootInWxmlPanel": true, + "packNpmRelationList": [], + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + } + }, + "condition": {}, + "editorSetting": { + "tabIndent": "tab", + "tabSize": 4 + }, + "projectname": "miniProgram-wx" +} \ No newline at end of file diff --git a/app-support-sample/miniProgram-wx/sitemap.json b/app-support-sample/miniProgram-wx/sitemap.json new file mode 100644 index 00000000..cd24f350 --- /dev/null +++ b/app-support-sample/miniProgram-wx/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "allow", + "page": "*" + }] +} \ No newline at end of file diff --git a/app-support-sample/miniProgram-wx/use-miniProgram-wx.png b/app-support-sample/miniProgram-wx/use-miniProgram-wx.png new file mode 100644 index 00000000..45930a15 Binary files /dev/null and b/app-support-sample/miniProgram-wx/use-miniProgram-wx.png differ diff --git a/app-support-sample/native-config.js b/app-support-sample/native-config.js index d21a962e..ccc5fac6 100644 --- a/app-support-sample/native-config.js +++ b/app-support-sample/native-config.js @@ -1,46 +1,36 @@ /* -app-support/app.js中Native测试用的配置例子,用于调用App的原生接口来录音 +app-support/app.js中Native测试用的配置例子,用于调用Hybrid App的原生接口来录音 -【本文件的作用】:实现app.js内Native中Config的四个标注为需实现的接口(这几个接口是app-native-support.js需要的),提供本文件可免去修改app.js源码。 +【本文件的作用】:实现app-native-support.js内Config的四个标注为需实现的接口,提供本文件可免去修改源码,即可在Android和iOS已适配的Hybrid App内录音(H5调用App原生录音接口)。 -本例子提供了一个JsBridge实现,并且本文件所在目录内还有Android和IOS的demo项目,app原生层已实现相应的接口,copy源码改改就能用。 +本例子提供了一个JsBridge实现,并且本文件所在目录内还有Android和iOS的demo项目,app原生层已实现相应的接口,copy源码改改就能用。 -此文件需要在app.js之前进行加载,【注意】【如果你App原生层实现不是用的demo中提供的接口文件,需自行重写本配置代码】 - -支持在iframe中使用(含跨域)。 +本配置例子仅支持在浏览器环境内使用,可以在iframe中使用(含跨域),但未适配非浏览器环境。 https://github.com/xiangyuecn/Recorder */ -(function(){ +(function(factory){ + var browser=typeof window=="object" && !!window.document; + var win=browser?window:Object; //非浏览器环境,Recorder挂载在Object下面 + var rec=win.Recorder,ni=rec.i18n; + factory(rec,ni,ni.$T,browser); +}(function(Recorder,i18n,$T,isBrowser){ "use strict"; -/**【需修改】请使用自己的js文件目录,不要用github的不稳定。RecordApp会自动从这个目录内进行加载相关的实现文件、Recorder核心、编码引擎,会自动默认加载哪些文件,请查阅app.js内所有Platform的paths配置;如果这些文件你已手动全部加载,这个目录配置可以不用**/ -window.RecordAppBaseFolder=window.PageSet_RecordAppBaseFolder||"https://xiangyuecn.gitee.io/recorder/src/"; - - - -//Install Begin:在RecordApp准备好时执行这些代码 -window.OnRecordAppInstalled=window.Native_RecordApp_Config=function(){ -window.Native_RecordApp_Config=null; -window.IOS_Weixin_RecordApp_Config&&IOS_Weixin_RecordApp_Config();//如果ios-weixin-config.js也引入了的话,也需要初始化 - - -var App=RecordApp; +var App=Recorder.RecordApp; var CLog=App.CLog; var platform=App.Platforms.Native; var config=platform.Config; -CLog("native-config init"); - - - +CLog("[Hybrid App] native-config init"); +if(isBrowser){ /******JsBridge简易版*******/ /*JsBridge名称定义 Android为addJavascriptInterface注入到全局,提供RecordAppJsBridge.request(jsonString) - IOS为userContentController绑定对象实现(此对象仅供识别,由于messageHandlers没有同步返回值(同步能实现异步,异步只能异步到死),因此不能参与数据交互,数据交互使用重写prompt实现) + iOS为userContentController绑定对象实现(此对象仅供识别,由于messageHandlers没有同步返回值(同步能实现异步,异步只能异步到死),因此不能参与数据交互,数据交互使用重写prompt实现) */ var JsBridgeName="RecordAppJsBridge"; @@ -50,7 +40,7 @@ var AppJsBridgeRequest=window.AppJsBridgeRequest=function(action,args,call){ try{//让顶层window去处理,如果跨域无权限就算了 pfn=p.AppJsBridgeRequest; }catch(e){ - CLog("检测到跨域iframe,AppJsBridgeRequest将由Native通过执行postMessage转发来兼容数据的返回",3); + CLog($T("qkwO::检测到跨域iframe,AppJsBridgeRequest将由Native通过执行postMessage转发来兼容数据的返回",":When a cross-domain iframe is detected, AppJsBridgeRequest will be returned by Native by performing postMessage forwarding."),3); }; if(pfn && pfn!=AppJsBridgeRequest){ return pfn(action,args,call); @@ -72,10 +62,10 @@ var AppJsBridgeRequest=window.AppJsBridgeRequest=function(action,args,call){ var val=""; if(window[JsBridgeName]){//Android val=window[JsBridgeName].request(data); - }else if( ((window.webkit||{}).messageHandlers||{})[JsBridgeName+"IsSet"] ){//IOS + }else if( ((window.webkit||{}).messageHandlers||{})[JsBridgeName+"IsSet"] ){//iOS val=prompt(data); }else{//非App环境 - json.message="非app,不能调用接口"; + json.message=$T("jXZB::非app,不能调用接口",":Non-app, cannot call the interface"); }; val=val&&JSON.parse(val)||json; @@ -103,9 +93,9 @@ try{ window.top.AppJsBridgeRequest=AppJsBridgeRequest; }catch(e){ var tipsFn=function(){ - CLog("检测到跨域iframe,AppJsBridgeRequest无法注入到顶层,已监听postMessage,Native通过执行postMessage转发来兼容数据返回",3); + CLog($T("bFcE::检测到跨域iframe,AppJsBridgeRequest无法注入到顶层,已监听postMessage,Native通过执行postMessage转发来兼容数据返回",":Cross-domain iframe detected, AppJsBridgeRequest cannot be injected into the top level, postMessage has been listened to, and Native performs postMessage forwarding to support data return."),3); if(window.parent!=window.top){ - CLog("RecordApp Native Config示例不支持跨域iframe超过1层,因为没有处理中间的iframe的window的postMessage转发",1); + CLog($T("9cSl::RecordApp Native Config示例不支持跨域iframe超过1层,因为没有处理中间的iframe的window的postMessage转发",":The RecordApp Native Config example does not support cross-domain iframes with more than 1 layer, because the postMessage forwarding of the window of the intermediate iframe is not processed."),1); }; }; setTimeout(tipsFn,8000); @@ -121,14 +111,13 @@ try{ }else if(action=="Record"){ AppJsBridgeRequest.Record(data.pcmDataBase64, data.sampleRate); }else{ - CLog("AppJsBridgeRequest未知postMessage:"+action,3); + CLog($T("jDCI::AppJsBridgeRequest未知postMessage:",":AppJsBridgeRequest unknown postMessage: ")+action,3); }; }; }); }; /******JsBridge简单实现 End*******/ - - +}; @@ -138,6 +127,12 @@ try{ /*********实现app.js内Native中Config的接口*************/ config.IsApp=function(call){ + if(!isBrowser){ + CLog($T("pvEs::测试用的配置文件native-config.js未适配非浏览器环境,无法进行App原生录音调用",":The configuration file native-config.js used for testing is not adapted to non-browser environments. Unable to make App native recording call"),3); + call(false); + return; + }; + /*识别为app环境*/ if(window[JsBridgeName]||((window.webkit||{}).messageHandlers||{})[JsBridgeName+"IsSet"]){ call(true); @@ -155,9 +150,9 @@ config.JsBridgeRequestPermission=function(success,fail){ if(json.value==1){ success(); }else if(json.value==3){ - fail("用户拒绝了录音权限",true); + fail($T("wMEz::用户拒绝了录音权限",":User denied recording permission"),true); }else{ - fail("不支持录音"); + fail($T("G7zU::不支持录音",":Does not support recording")); }; }); }; @@ -173,6 +168,7 @@ config.JsBridgeStart=function(set,success,fail){ success(); //激活定时心跳,如果超过10秒未发心跳,app将会停止录音,防止未stop导致泄露 + clearInterval(aliveInt); aliveInt=setInterval(function(){ //同步接口 var val=AppJsBridgeRequest("recordAlive"); @@ -195,24 +191,4 @@ config.JsBridgeStop=function(success,fail){ /*********接口实现END*************/ - -}; -//Install End - - -//如果已加载RecordApp,手动进行触发 -if(window.RecordApp){ - OnRecordAppInstalled(); -}; - -})(); - - -console.error("【注意】本网站正在使用RecordApp的native-config.js测试用的配置例子,这个配置如果要使用到你的网站,需要自己重写或修改后才能使用"); -//别的站点引用弹窗醒目提示 -if(!/^file:|:\/\/[^\/]*(jiebian.life|git\w+.io)(\/|$)/.test(location.href) - && !localStorage["DisableAppSampleAlert"] - && !window.AppSampleAlert){ - window.AppSampleAlert=1; - alert("【注意】当前网站正在使用RecordApp测试用的配置例子*.config.js,需要自己重写或修改后才能使用"); -}; +})); \ No newline at end of file diff --git a/app-support-sample/native-nodejs-test-config.js b/app-support-sample/native-nodejs-test-config.js new file mode 100644 index 00000000..373d52b6 --- /dev/null +++ b/app-support-sample/native-nodejs-test-config.js @@ -0,0 +1,87 @@ +/* +app-support/app.js中Native测试用的配置例子,用于调用NodeJs的原生接口来录音(本例子仅为模拟采集到麦克风数据) + +【本文件的作用】:实现app-native-support.js内Config的四个标注为需实现的接口,提供本文件可免去修改源码,即可在已适配的NodeJS程序内录音。 + +可到assets/node-codes目录内运行test-recordapp.js,会调用本配置进行测试。 + +本配置例子仅支持在NodeJs环境内使用,仅模拟采集到麦克风数据,未真实调用录音功能。 + +https://github.com/xiangyuecn/Recorder +*/ +(function(factory){ + var browser=typeof window=="object" && !!window.document; + var win=browser?window:Object; //非浏览器环境,Recorder挂载在Object下面 + var rec=win.Recorder,ni=rec.i18n; + factory(rec,ni,ni.$T,browser); +}(function(Recorder,i18n,$T,isBrowser){ +"use strict"; + +var App=Recorder.RecordApp; +var CLog=App.CLog; +var platform=App.Platforms.Native; +var config=platform.Config; + +CLog("[NodeJs Test] native-config init"); + + +/*********模拟麦克风数据源**********/ +var TestMic=App.NativeNodeJsTest_Microphone={ + setBuffer:function(pcm,sampleRate,reqErr,startErr,stopErr){ + this.buffer=pcm; + this.sampleRate=sampleRate; + this.reqErr=reqErr; + this.startErr=startErr; + this.stopErr=stopErr; + } + ,start:function(){ + var This=this,idx=0; + clearInterval(this.timer); + this.timer=setInterval(function(){//模拟实时获取到麦克风数据 + if(!This.buffer || !This.buffer.length){ + CLog($T("t0xX::未设置模拟数据",":Simulation data not set")); + return; + } + var pcm=new Int16Array(This.sampleRate/1000*100); + if(idx>=This.buffer.length)idx=0; + for(var i=0;i用户主动点击的弹窗",1)}},_.recClose=function(){r?(r.close(),f("已关闭")):f("未打开录音",1)},_.recStart=function(){r&&n.default.IsOpen()?(o=null,r.start(),f("已开始录音...")):f("未打开录音",1)},_.recPause=function(){r&&n.default.IsOpen()?r.pause():f("未打开录音",1)},_.recResume=function(){r&&n.default.IsOpen()?r.resume():f("未打开录音",1)},_.recStop=function(){r&&n.default.IsOpen()?r.stop((function(e,t){console.log(e,(_.URL||webkitURL).createObjectURL(e),"时长:"+t+"ms"),o=e,f("已录制mp3:"+p(t)+"ms "+e.size+"字节,可以点击播放、上传了",2)}),(function(e){f("录音失败:"+e,1)})):f("未打开录音",1)},_.recPlay=function(){if(o){var e=("a"+Math.random()).replace(".","");f('播放中: ');var t=l.createElement("audio");t.controls=!0,l.querySelector("."+e).appendChild(t),t.src=(_.URL||webkitURL).createObjectURL(o),t.play(),setTimeout((function(){(_.URL||webkitURL).revokeObjectURL(t.src)}),5e3)}else f("请先录音,然后停止后再播放",1)},_.recUpload=function(){var e=o;if(e){var t="https://xx.xx/test_request",a=function(e){return function(){4==r.readyState&&(200==r.status?f(e+"上传成功",2):(f(e+"没有完成上传,演示上传地址无需关注上传结果,只要浏览器控制台内Network面板内看到的请求数据结构是预期的就ok了。","#d8c1a0"),console.error(e+"上传失败",r.status,r.responseText)))}};f("开始上传到"+t+",请求稍后...");var s=new _.FileReader;s.onloadend=function(){var n="";n+="mime="+encodeURIComponent(e.type),n+="&upfile_b64="+encodeURIComponent((/.+;\s*base64\s*,\s*(.+)$/i.exec(s.result)||[])[1]);var r=new XMLHttpRequest;r.open("POST",t),r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.onreadystatechange=a("上传方式一【Base64】"),r.send(n)},s.readAsDataURL(e);var n=new FormData;n.append("upfile",e,"recorder.mp3");var r=new XMLHttpRequest;r.open("POST",t),r.onreadystatechange=a("上传方式二【FormData】"),r.send(n)}else f("请先录音,然后停止后再上传",1)};var c,h=function(){c=setTimeout((function(){!function(){if(/mobile/i.test(navigator.userAgent)){u();var e=l.createElement("div");l.body.appendChild(e),e.innerHTML='
录音功能需要麦克风权限,请允许;如果未看到任何请求,请点击忽略~
'}}()}),8e3)},u=function(){clearTimeout(c);for(var e=l.querySelectorAll(".waitDialog"),t=0;t0?(a<10?"0":"")+a+":":"")+(t||a>0||s>0?("0"+s).substr(-2)+"″":"")+("00"+e%1e3).substr(-3)}},function(e,t,a){var s;!function(e){"use strict";var t=function(){},a=function(e){return new p(e)};a.LM="2023-07-01 20:46";var s="Recorder";a.IsOpen=function(){var e=a.Stream;if(e){var t=(e.getTracks&&e.getTracks()||e.audioTracks||[])[0];if(t){var s=t.readyState;return"live"==s||s==t.LIVE}}return!1},a.BufferSize=4096,a.Destroy=function(){for(var e in c(s+" Destroy"),l(),n)n[e]()};var n={};a.BindDestroy=function(e,t){n[e]=t},a.Support=function(){var e=navigator.mediaDevices||{};return e.getUserMedia||(e=navigator).getUserMedia||(e.getUserMedia=e.webkitGetUserMedia||e.mozGetUserMedia||e.msGetUserMedia),!!e.getUserMedia&&(a.Scope=e,!!a.GetContext())},a.GetContext=function(t){var s=e.AudioContext;if(s||(s=e.webkitAudioContext),!s)return null;var n=a.Ctx;if(n&&"closed"!=n.state||(n=a.Ctx=new s,a.NewCtxs=a.NewCtxs||[],a.BindDestroy("Ctx",(function(){var e=a.Ctx;e&&e.close&&(e.close(),a.Ctx=0);var t=a.NewCtxs;a.NewCtxs=[];for(var s=0;s3*t/4?0:s/2*3/4;l={fn:f?a.IIRFilter(!0,t,f):0}}l.sr=t;var h=l.fn,u=n.frameNext||[];r||(r={});var p=r.frameSize||1;r.frameType&&(p="mp3"==r.frameType?1152:1);var m=e.length;o>m+1&&c(i+"似乎传入了未重置chunk "+o+">"+m,3);for(var b=0,d=o;d1?b=Math.floor(b/v):(v=1,s=t),b+=u.length;var g=new Int16Array(b),S=0;for(d=0;d0){var C=2*(g.length-H);u=new Int16Array(g.buffer.slice(C)),g=new Int16Array(g.buffer.slice(0,C))}return{index:o,offset:_,filter:l,frameNext:u,sampleRate:s,data:g}},a.IIRFilter=function(e,t,a){var s=2*Math.PI*a/t,n=Math.sin(s),r=Math.cos(s),i=n/2,o=1+i,_=-2*r/o,l=(1-i)/o;if(e)var f=(1-r)/2/o,c=(1-r)/o;else f=(1+r)/2/o,c=-(1+r)/o;var h=0,u=0,p=0,m=0,b=0,d=function(e){return p=f*e+c*h+f*u-_*m-l*b,u=h,h=e,b=m,m=p,p};return d.Embed={x1:0,x2:0,y1:0,y2:0,b0:f,b1:c,a1:_,a2:l},d},a.PowerLevel=function(e,t){var a=e/t||0;return a<1251?Math.round(a/1250*10):Math.round(Math.min(100,Math.max(0,100*(1+Math.log(a/1e4)/Math.log(10)))))},a.PowerDBFS=function(e){var t=Math.max(.1,e||0);return t=Math.min(t,32767),t=20*Math.log(t/32767)/Math.log(10),Math.max(-100,Math.round(t))},a.CLog=function(t,a){var n=new Date,r=("0"+n.getMinutes()).substr(-2)+":"+("0"+n.getSeconds()).substr(-2)+"."+("00"+n.getMilliseconds()).substr(-3),i=this&&this.envIn&&this.envCheck&&this.id,o=["["+r+" "+s+(i?":"+i:"")+"]"+t],_=arguments,l=e.console||{},f=2,c=l.log;for("number"==typeof a?c=1==a?l.error:3==a?l.warn:c:f=1;f<_.length;f++)o.push(_[f]);h?c&&c("[IsLoser]"+o[0],o.length>1?o:""):c.apply(l,o)};var c=function(){a.CLog.apply(this,arguments)},h=!0;try{h=!console.log.apply}catch(e){}var u=0;function p(e){this.id=++u,S();var a={type:"mp3",bitRate:16,sampleRate:16e3,onProcess:t};for(var s in e)a[s]=e[s];this.set=a,this._S=9,this.Sync={O:9,C:9}}a.Sync={O:9,C:9},a.prototype=p.prototype={CLog:c,_streamStore:function(){return this.set.sourceStream?this:a},_streamCtx:function(){var e=this._streamStore().Stream;return e&&e._c},open:function(s,n){var o=this,_=o.set,f=o._streamStore(),c=0;s=s||t;var h=function(e,t){t=!!t,o.CLog("录音open失败:"+e+",isUserNotAllow:"+t,1),c&&a.CloseNewCtx(c),n&&n(e,t)},u=function(){o.CLog("open ok id:"+o.id),s(),o._SO=0},p=f.Sync,m=++p.O,b=p.C;o._O=o._O_=m,o._SO=o._S;var d=o.envCheck({envName:"H5",canProcess:!0});if(d)h("不能录音:"+d);else if(_.sourceStream){if(!a.GetContext())return void h("不支持此浏览器从流中获取录音");l(f);var v=o.Stream=_.sourceStream;v._RC=_.runningContext,v._call={};try{i(f)}catch(e){return l(f),void h("从流中打开录音失败:"+e.message)}u()}else{var g=function(t,a){try{e.top.a}catch(e){return void h('无权录音(跨域,请尝试给iframe添加麦克风访问策略,如allow="camera;microphone")')}/Permission|Allow/i.test(t)?h("用户拒绝了录音权限",!0):!1===e.isSecureContext?h("浏览器禁止不安全页面录音,可开启https解决"):/Found/i.test(t)?h(a+",无可用麦克风"):h(a)};if(a.IsOpen())u();else if(a.Support()){var S=_.runningContext;S||(S=c=a.GetContext(!0));var M=function(e){setTimeout((function(){e._call={};var t=a.Stream;t&&(l(),e._call=t._call),a.Stream=e,e._c=S,e._RC=_.runningContext,function(){if(b!=p.C||!o._O){var e="open被取消";return m==p.O?o.close():e="open被中断",h(e),!0}}()||(a.IsOpen()?(t&&o.CLog("发现同时多次调用open",1),i(f,1),u()):h("录音功能无效:无音频流"))}),100)},w=function(e){var t=e.name||e.message||e.code+":"+e;o.CLog("请求录音权限错误",1,e),g(t,"无法录音:"+t)},R=_.audioTrackSet||{};R.sampleRate=S.sampleRate;var k={audio:R};try{var y=a.Scope.getUserMedia(k,M,w)}catch(e){o.CLog("getUserMedia",3,e),k={audio:!0},y=a.Scope.getUserMedia(k,M,w)}o.CLog("getUserMedia("+JSON.stringify(k)+") "+r(S)+",一般默认会降噪和回声消除,移动端可能会降低系统播放音量,请参阅文档中audioTrackSet配置"),y&&y.then&&y.then(M).catch(w)}else g("","此浏览器不支持录音")}},close:function(e){e=e||t;var a=this._streamStore();this._stop();var s=a.Sync;if(this._O=0,this._O_!=s.O)return this.CLog("close被忽略(因为同时open了多个rec,只有最后一个会真正close)",3),void e();s.C++,l(a),this.CLog("close"),e()},mock:function(e,t){return this._stop(),this.isMock=1,this.mockEnvInfo=null,this.buffers=[e],this.recSize=e.length,this.srcSampleRate=t,this},envCheck:function(t){var s,n=this.set,r="CPU_BE";if(s||a[r]||!e.Int8Array||new Int8Array(new Int32Array([1]).buffer)[0]||(S(r),s="不支持CPU_BE架构"),!s){var i=n.type;this[i+"_envCheck"]?s=this[i+"_envCheck"](t,n):n.takeoffEncodeChunk&&(s=i+"类型"+(this[i]?"":"(未加载编码器)")+"不支持设置takeoffEncodeChunk")}return s||""},envStart:function(e,t){var a=this.set;this.isMock=e?1:0,this.mockEnvInfo=e,this.buffers=[],this.recSize=0,this.envInLast=0,this.envInFirst=0,this.envInFix=0,this.envInFixTs=[];var s=a.sampleRate;if(s>t?a.sampleRate=t:s=0,this.srcSampleRate=t,this.CLog("srcSampleRate: "+t+" set.sampleRate: "+a.sampleRate+(s?" 忽略"+s:""),s?3:0),this.engineCtx=0,this[a.type+"_start"]){var n=this.engineCtx=this[a.type+"_start"](a);n&&(n.pcmDatas=[],n.pcmSize=0)}},envResume:function(){this.envInFixTs=[]},envIn:function(e,t){var s=this,n=s.set,r=s.engineCtx,i=s.srcSampleRate,o=e.length,_=a.PowerLevel(t,o),l=s.buffers,f=l.length;l.push(e);var c=l,h=f,u=Date.now(),p=Math.round(o/i*1e3);s.envInLast=u,1==s.buffers.length&&(s.envInFirst=u-p);var m=s.envInFixTs;m.splice(0,0,{t:u,d:p});for(var b=u,d=0,v=0;v3e3){m.length=v;break}b=g.t,d+=g.d}var S=m[1],M=u-b;if(M-d>M/3&&(S&&M>1e3||m.length>=6)){var w=u-S.t-p;if(w>p/5){var R=!n.disableEnvInFix;if(s.CLog("["+u+"]"+(R?"":"未")+"补偿"+w+"ms",3),s.envInFix+=w,R){var k=new Int16Array(w*i/1e3);o+=k.length,l.push(k)}}}var y=s.recSize,A=o,B=y+A;if(s.recSize=B,r){var x=a.SampleData(l,i,n.sampleRate,r.chunkInfo);r.chunkInfo=x,B=(y=r.pcmSize)+(A=x.data.length),r.pcmSize=B,l=r.pcmDatas,f=l.length,l.push(x.data),i=x.sampleRate}var T=Math.round(B/i*1e3),E=l.length,P=c.length,L=function(){for(var e=I?0:-A,t=null==l[0],a=f;a10&&s.envInFirst-u>1e3&&s.CLog("rec.set.onProcess低性能,耗时"+H+"ms",3),!0===I){var C=0;for(v=f;v"+v.length+" 花:"+(Date.now()-n)+"ms"),setTimeout((function(){n=Date.now(),r[i.type](v,(function(e){c(e,b)}),(function(e){f(e)}))}))}else f("未加载"+i.type+"编码器");else f("音频buffers被释放");else f("未采集到录音")}},e[s]&&(c("重复引入"+s,3),e[s].Destroy()),e[s]=a;var m=function(e,t){t.pos||(t.pos=[0],t.tracks={},t.bytes=[]);var a=t.tracks,s=[t.pos[0]],n=function(){t.pos[0]=s[0]},r=t.bytes.length,i=new Uint8Array(r+e.length);if(i.set(t.bytes),i.set(e,r),t.bytes=i,!t._ht){if(v(i,s),g(i,s),!b(v(i,s),[24,83,128,103]))return;for(v(i,s);s[0]1){var O=[];for(y=0;y=e.length)){var n=("0000000"+e[s].toString(2)).substr(-8),r=/^(0*1)(\d*)$/.exec(n);if(r){var i=r[1].length,o=[];if(!(s+i>e.length)){for(var _=0;_e.length)return;for(var i=0;i0&&(c+=a.buffer.byteLength,l.push(a.buffer)),f+=57600,setTimeout(h)}else{var a;(a=_.flush()).length>0&&(c+=a.buffer.byteLength,l.push(a.buffer));var o=s.fn(l,c,i,r.sampleRate);n(o,r),t(new Blob(l,{type:"audio/mp3"}))}};h()},Recorder.BindDestroy("mp3Worker",(function(){Recorder.CLog("mp3Worker Destroy"),e&&e.terminate(),e=null})),Recorder.prototype.mp3_envCheck=function(e,t){var s="";return t.takeoffEncodeChunk&&(e.canProcess?a()||(s="当前浏览器版本太低,无法实时处理"):s=e.envName+"环境不支持实时处理"),s},Recorder.prototype.mp3_start=function(e){return a(e)};var t={id:0},a=function(a){var n=e;try{if(!n){var r=");wk_lame();var wk_ctxs={};self.onmessage="+function(e){var t=e.data,a=wk_ctxs[t.id];if("init"==t.action)wk_ctxs[t.id]={sampleRate:t.sampleRate,bitRate:t.bitRate,takeoff:t.takeoff,mp3Size:0,pcmSize:0,encArr:[],encObj:new wk_lame.Mp3Encoder(1,t.sampleRate,t.bitRate)};else if(!a)return;switch(t.action){case"stop":a.encObj=null,delete wk_ctxs[t.id];break;case"encode":a.pcmSize+=t.pcm.length,(s=a.encObj.encodeBuffer(t.pcm)).length>0&&(a.takeoff?self.postMessage({action:"takeoff",id:t.id,chunk:s}):(a.mp3Size+=s.buffer.byteLength,a.encArr.push(s.buffer)));break;case"complete":var s;(s=a.encObj.flush()).length>0&&(a.takeoff?self.postMessage({action:"takeoff",id:t.id,chunk:s}):(a.mp3Size+=s.buffer.byteLength,a.encArr.push(s.buffer)));var n=wk_mp3TrimFix.fn(a.encArr,a.mp3Size,a.pcmSize,a.sampleRate);self.postMessage({action:t.action,id:t.id,blob:new Blob(a.encArr,{type:"audio/mp3"}),meta:n})}};r+=";var wk_mp3TrimFix={rm:"+s.rm+",fn:"+s.fn+"}";var i=Recorder.lamejs.toString(),o=(window.URL||webkitURL).createObjectURL(new Blob(["var wk_lame=(",i,r],{type:"text/javascript"}));n=new Worker(o),setTimeout((function(){(window.URL||webkitURL).revokeObjectURL(o)}),1e4),n.onmessage=function(e){var a=e.data,s=t[a.id];s&&("takeoff"==a.action?s.set.takeoffEncodeChunk(new Uint8Array(a.chunk.buffer)):(s.call&&s.call(a),s.call=null))}}var _={worker:n,set:a,takeoffQueue:[]};return a?(_.id=++t.id,t[_.id]=_,n.postMessage({action:"init",id:_.id,sampleRate:a.sampleRate,bitRate:a.bitRate,takeoff:!!a.takeoffEncodeChunk,x:new Int16Array(5)})):n.postMessage({x:new Int16Array(5)}),e=n,_}catch(e){return n&&n.terminate(),console.error(e),null}};Recorder.prototype.mp3_stop=function(e){if(e&&e.worker){e.worker.postMessage({action:"stop",id:e.id}),e.worker=null,delete t[e.id];var a=-1;for(var s in t)a++;a&&Recorder.CLog("mp3 worker剩"+a+"个在串行等待",3)}},Recorder.prototype.mp3_encode=function(e,t){e&&e.worker&&e.worker.postMessage({action:"encode",id:e.id,pcm:t})},Recorder.prototype.mp3_complete=function(e,t,a,s){var r=this;e&&e.worker?(e.call=function(a){n(a.meta,e.set),t(a.blob),s&&r.mp3_stop(e)},e.worker.postMessage({action:"complete",id:e.id})):a("mp3编码器未打开")},Recorder.mp3ReadMeta=function(e,t){var a="object"==typeof window?window.parseInt:self.parseInt,s=new Uint8Array(e[0]||[]);if(s.length<4)return null;var n=function(e,t){return("0000000"+((t||s)[e]||0).toString(2)).substr(-8)},r=n(0)+n(1),i=n(2)+n(3);if(!/^1{11}/.test(r))return null;var o={"00":2.5,10:2,11:1}[r.substr(11,2)],_={"01":3}[r.substr(13,2)],l={1:[44100,48e3,32e3],2:[22050,24e3,16e3],2.5:[11025,12e3,8e3]}[o];l&&(l=l[a(i.substr(4,2),2)]);var f=[[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160],[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320]][1==o?1:0][a(i.substr(0,4),2)];if(!(o&&_&&f&&l))return null;for(var c=Math.round(8*t/f),h=1==_?384:2==_||1==o?1152:576,u=h/l*1e3,p=Math.floor(h*f/8/l*1e3),m=0,b=0,d=0;d=p+3){var g=new Uint8Array(v);m="1"==n(v.byteLength-(b-(p+3)+1),g).charAt(6);break}}return m&&p++,{version:o,layer:_,sampleRate:l,bitRate:f,duration:c,size:t,hasPadding:m,frameSize:p,frameDurationFloat:u}};var s={rm:Recorder.mp3ReadMeta,fn:function(e,t,a,s){var n=this.rm(e,t);if(!n)return{err:"mp3非预定格式"};var r=Math.round(a/s*1e3),i=Math.floor((n.duration-r)/n.frameDurationFloat);if(i>0){var o=i*n.frameSize-(n.hasPadding?1:0);t-=o;for(var _=0,l=[],f=0;f=c.byteLength?(o-=c.byteLength,l.push(c),e.splice(f,1),f--):(e[f]=c.slice(o),_=c,o=0)}if(!this.rm(e,t)){_&&(e[0]=_);for(f=0;f "+s.duration+"ms",s.remove>2&&(e.err=(e.err?e.err+", ":"")+"移除帧数过多")):a+=(e.duration||"-")+"ms",e.err?Recorder.CLog(a,1,e.err,e):Recorder.CLog(a,e)}}()},function(e,t){!function(){"use strict";function e(){var t=function(e){return Math.log(e)/Math.log(10)};function a(e){return new Int8Array(e)}function s(e){return new Int16Array(e)}function n(e){return new Int32Array(e)}function r(e){return new Float32Array(e)}function i(e){return new Float64Array(e)}function o(e){if(1==e.length)return r(e[0]);var t=e[0];e=e.slice(1);for(var a=[],s=0;s>=1;0!=e--;)n[r++]=i>a[s++]?0:1,n[r++]=i>a[s++]?0:1}function r(t,a,s,n,r,i){var o=(t>>=1)%2;for(t>>=1;0!=t--;){var _,l,f,c,h,u,p,m;_=s[n++]*a,l=s[n++]*a,h=0|_,f=s[n++]*a,u=0|l,c=s[n++]*a,p=0|f,_+=e.adj43[h],m=0|c,l+=e.adj43[u],r[i++]=0|_,f+=e.adj43[p],r[i++]=0|l,c+=e.adj43[m],r[i++]=0|f,r[i++]=0|c}0!=o&&(h=0|(_=s[n++]*a),u=0|(l=s[n++]*a),_+=e.adj43[h],l+=e.adj43[u],r[i++]=0|_,r[i++]=0|l)}var i=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function o(e,t,a,s){var n=function(e,t,a){var s=0,n=0;do{var r=e[t++],i=e[t++];s>=16)>r&&(o=r,s++),n.bits+=o,s}(e,t,a,i[n-1],s);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return function(e,t,a,s,n){var r=0,i=0,o=0,_=A.ht[s].xlen,l=A.ht[s].hlen,f=A.ht[s+1].hlen,c=A.ht[s+2].hlen;do{var h=e[t+0]*_+e[t+1];t+=2,r+=l[h],i+=f[h],o+=c[h]}while(ti&&(r=i,u++),r>o&&(r=o,u=s+2),n.bits+=r,u}(e,t,a,i[n-1],s);default:if(n>C.IXMAX_VAL)return s.bits=C.LARGE_BITS,-1;var r,o;for(n-=15,r=24;r<32&&!(A.ht[r].linmax>=n);r++);for(o=r-8;o<24&&!(A.ht[o].linmax>=n);o++);return function(e,t,a,s,n,r){var i,o=65536*A.ht[s].xlen+A.ht[n].xlen,_=0;do{var l=e[t++],f=e[t++];0!=l&&(l>14&&(l=15,_+=o),l*=16),0!=f&&(f>14&&(f=15,_+=o),l+=f),_+=A.largetbl[l]}while(t>=16)>i&&(_=i,s=n),r.bits+=_,s}(e,t,a,o,r,s)}}function _(e,a,s,n,r,i,_,l){for(var f=a.big_values,c=2;c=f)break;var u=r[c-2]+a.count1bits;if(s.part2_3_length<=u)break;var p=new t(u),m=o(n,h,f,p);u=p.bits,s.part2_3_length<=u||(s.assign(a),s.part2_3_length=u,s.region0_count=i[c-2],s.region1_count=c-2-i[c-2],s.table_select[0]=_[c-2],s.table_select[1]=l[c-2],s.table_select[2]=m)}}this.noquant_count_bits=function(e,a,s){var n=a.l3_enc,r=Math.min(576,a.max_nonzero_coeff+2>>1<<1);for(null!=s&&(s.sfb_count1=0);r>1&&0==(n[r-1]|n[r-2]);r-=2);a.count1=r;for(var i=0,_=0;r>3;r-=4){var l;if((2147483647&(n[r-1]|n[r-2]|n[r-3]|n[r-4]))>1)break;l=2*(2*(2*n[r-4]+n[r-3])+n[r-2])+n[r-1],i+=A.t32l[l],_+=A.t33l[l]}var f=i;if(a.count1table_select=0,i>_&&(f=_,a.count1table_select=1),a.count1bits=f,a.big_values=r,0==r)return f;if(a.block_type==X.SHORT_TYPE)(i=3*e.scalefac_band.s[3])>a.big_values&&(i=a.big_values),_=a.big_values;else if(a.block_type==X.NORM_TYPE){if(i=a.region0_count=e.bv_scf[r-2],_=a.region1_count=e.bv_scf[r-1],_=e.scalefac_band.l[i+_+2],i=e.scalefac_band.l[i+1],_(_=r)&&(i=_);if(i=Math.min(i,r),_=Math.min(_,r),0_)return C.LARGE_BITS;if(function(t,a,n,i,o){var _,l,f,h=0,u=0,p=0,m=0,b=a,d=0,v=b,g=0,S=t,M=0;for(f=null!=o&&i.global_gain==o.global_gain,l=i.block_type==X.SHORT_TYPE?38:21,_=0;_<=l;_++){var w=-1;if((f||i.block_type==X.NORM_TYPE)&&(w=i.global_gain-(i.scalefac[_]+(0!=i.preflag?e.pretab[_]:0)<i.max_nonzero_coeff)R=i.max_nonzero_coeff-h+1,c.fill(a,i.max_nonzero_coeff,576,0),(k=R)<0&&(k=0),_=l+1;if(0==u&&0==p&&(v=b,g=d,S=t,M=m),null!=o&&o.sfb_count1>0&&_>=o.sfb_count1&&o.step[_]>0&&w>=o.step[_]?(0!=u&&(r(u,n,S,M,v,g),u=0,v=b,g=d,S=t,M=m),p+=k):(0!=p&&(s(p,n,S,M,v,g),p=0,v=b,g=d,S=t,M=m),u+=k),k<=0){0!=p&&(s(p,n,S,M,v,g),p=0),0!=u&&(r(u,n,S,M,v,g),u=0);break}}_<=l&&(d+=i.width[_],m+=i.width[_],h+=i.width[_])}0!=u&&(r(u,n,S,M,v,g),u=0),0!=p&&(s(p,n,S,M,v,g),p=0)}(a,o,e.IPOW20(n.global_gain),n,i),0!=(2&t.substep_shaping))for(var l=0,f=n.global_gain+n.scalefac_scale,h=.634521682242439/e.IPOW20(f),u=0;u=h?o[p]:0}return this.noquant_count_bits(t,n,i)},this.best_huffman_divide=function(e,a){var s=new N,r=a.l3_enc,i=n(23),l=n(23),f=n(23),c=n(23);if(a.block_type!=X.SHORT_TYPE||1!=e.mode_gr){s.assign(a),a.block_type==X.NORM_TYPE&&(!function(e,a,s,n,r,i,_){for(var l=a.big_values,f=0;f<=22;f++)n[f]=C.LARGE_BITS;for(f=0;f<16;f++){var c=e.scalefac_band.l[f+1];if(c>=l)break;var h=0,u=new t(h),p=o(s,0,c,u);h=u.bits;for(var m=0;m<8;m++){var b=e.scalefac_band.l[f+m+2];if(b>=l)break;var d=h,v=o(s,c,b,u=new t(d));d=u.bits,n[f+m]>d&&(n[f+m]=d,r[f+m]=f,i[f+m]=p,_[f+m]=v)}}}(e,a,r,i,l,f,c),_(e,s,a,r,i,l,f,c));var h=s.big_values;if(!(0==h||(r[h-2]|r[h-1])>1||(h=a.count1+2)>576)){s.assign(a),s.count1=h;for(var u=0,p=0;h>s.big_values;h-=4){var m=2*(2*(2*r[h-4]+r[h-3])+r[h-2])+r[h-1];u+=A.t32l[m],p+=A.t33l[m]}if(s.big_values=h,s.count1table_select=0,u>p&&(u=p,s.count1table_select=1),s.count1bits=u,s.block_type==X.NORM_TYPE)_(e,s,a,r,i,l,f,c);else{if(s.part2_3_length=u,(u=e.scalefac_band.l[8])>h&&(u=h),u>0){var b=new t(s.part2_3_length);s.table_select[0]=o(r,0,u,b),s.part2_3_length=b.bits}if(h>u){b=new t(s.part2_3_length);s.table_select[1]=o(r,u,h,b),s.part2_3_length=b.bits}a.part2_3_length>s.part2_3_length&&a.assign(s)}}}};var l=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],f=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],u=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],p=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];g.slen1_tab=u,g.slen2_tab=p,this.best_scalefac_store=function(t,a,s,n){var r,i,o,_,c=n.tt[a][s],h=0;for(o=0,r=0;r0&&(b|=c.scalefac[r]);if(0==(1&b)&&0!=b){for(r=0;r0&&(c.scalefac[r]>>=1);c.scalefac_scale=h=1}}if(0==c.preflag&&c.block_type!=X.SHORT_TYPE&&2==t.mode_gr){for(r=11;r0&&(c.scalefac[r]-=e.pretab[r]);c.preflag=h=1}}for(i=0;i<4;i++)n.scfsi[s][i]=0;for(2==t.mode_gr&&1==a&&n.tt[0][s].block_type!=X.SHORT_TYPE&&n.tt[1][s].block_type!=X.SHORT_TYPE&&(!function(e,t){for(var a,s=t.tt[1][e],n=t.tt[0][e],r=0;r=0);a++);if(a==A.scfsi_band[r+1]){for(a=A.scfsi_band[r];ah&&(s.part2_length=h,s.scalefac_compress=r)}}(s,n),h=0),r=0;rn[a]&&(t.part2_length=n[a],t.scalefac_compress=a);return t.part2_length==C.LARGE_BITS};var v=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(t,a){var s,r,i,o,_,l,f,c,u=n(4),p=a.scalefac;for(s=0!=a.preflag?2:0,f=0;f<4;f++)u[f]=0;if(a.block_type==X.SHORT_TYPE){r=1;var m=e.nr_of_sfb_block[s][r];for(c=0,i=0;i<4;i++)for(o=m[i]/3,f=0;fu[i]&&(u[i]=p[3*c+_])}else{r=0;m=e.nr_of_sfb_block[s][r];for(c=0,i=0;i<4;i++)for(o=m[i],f=0;fu[i]&&(u[i]=p[c])}for(l=!1,i=0;i<4;i++)u[i]>v[s][i]&&(l=!0);if(!l){var b,d,g,M;for(a.sfb_partition_table=e.nr_of_sfb_block[s][r],i=0;i<4;i++)a.slen[i]=S[u[i]];switch(b=a.slen[0],d=a.slen[1],g=a.slen[2],M=a.slen[3],s){case 0:a.scalefac_compress=(5*b+d<<4)+(g<<2)+M;break;case 1:a.scalefac_compress=400+(5*b+d<<2)+g;break;case 2:a.scalefac_compress=500+3*b+d;break;default:h.err.printf("intensity stereo not implemented yet\n")}}if(!l)for(a.part2_length=0,i=0;i<4;i++)a.part2_length+=a.slen[i]*a.sfb_partition_table[i];return l};var S=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){for(var s,n=0;e.scalefac_band.l[++n]t;)s--;for(s<0&&(s=a[n][0]),e.bv_scf[t-2]=s,s=a[n][1];e.scalefac_band.l[s+e.bv_scf[t-2]+2]>t;)s--;s<0&&(s=a[n][1]),e.bv_scf[t-1]=s}}}function S(){}function M(){function e(e,t,a,s,n,r,i,o,_,l,f,c,h,u,p){this.vbr_q=e,this.quant_comp=t,this.quant_comp_s=a,this.expY=s,this.st_lrm=n,this.st_s=r,this.masking_adj=i,this.masking_adj_short=o,this.ath_lower=_,this.ath_curve=l,this.ath_sensitivity=f,this.interch=c,this.safejoint=h,this.sfb21mod=u,this.msfix=p}function t(e,t,a,s,n,r,i,o,_,l,f,c,h,u){this.quant_comp=t,this.quant_comp_s=a,this.safejoint=s,this.nsmsfix=n,this.st_lrm=r,this.st_s=i,this.nsbass=o,this.scale=_,this.masking_adj=l,this.ath_lower=f,this.ath_curve=c,this.interch=h,this.sfscale=u}var a;this.setModules=function(e){a=e};var s=[new e(0,9,9,0,5.2,125,-4.2,-6.3,4.8,1,0,0,2,21,.97),new e(1,9,9,0,5.3,125,-3.6,-5.6,4.5,1.5,0,0,2,21,1.35),new e(2,9,9,0,5.6,125,-2.2,-3.5,2.8,2,0,0,2,21,1.49),new e(3,9,9,1,5.8,130,-1.8,-2.8,2.6,3,-4,0,2,20,1.64),new e(4,9,9,1,6,135,-.7,-1.1,1.1,3.5,-8,0,2,0,1.79),new e(5,9,9,1,6.4,140,.5,.4,-7.5,4,-12,2e-4,0,0,1.95),new e(6,9,9,1,6.6,145,.67,.65,-14.7,6.5,-19,4e-4,0,0,2.3),new e(7,9,9,1,6.6,145,.8,.75,-19.7,8,-22,6e-4,0,0,2.7),new e(8,9,9,1,6.6,145,1.2,1.15,-27.5,10,-23,7e-4,0,0,0),new e(9,9,9,1,6.6,145,1.6,1.6,-36,11,-25,8e-4,0,0,0),new e(10,9,9,1,6.6,145,2,2,-36,12,-25,8e-4,0,0,0)],n=[new e(0,9,9,0,4.2,25,-7,-4,7.5,1,0,0,2,26,.97),new e(1,9,9,0,4.2,25,-5.6,-3.6,4.5,1.5,0,0,2,21,1.35),new e(2,9,9,0,4.2,25,-4.4,-1.8,2,2,0,0,2,18,1.49),new e(3,9,9,1,4.2,25,-3.4,-1.25,1.1,3,-4,0,2,15,1.64),new e(4,9,9,1,4.2,25,-2.2,.1,0,3.5,-8,0,2,0,1.79),new e(5,9,9,1,4.2,25,-1,1.65,-7.7,4,-12,2e-4,0,0,1.95),new e(6,9,9,1,4.2,25,-0,2.47,-7.7,6.5,-19,4e-4,0,0,2),new e(7,9,9,1,4.2,25,.5,2,-14.5,8,-22,6e-4,0,0,2),new e(8,9,9,1,4.2,25,1,2.4,-22,10,-23,7e-4,0,0,2),new e(9,9,9,1,4.2,25,1.5,2.95,-30,11,-25,8e-4,0,0,2),new e(10,9,9,1,4.2,25,2,2.95,-36,12,-30,8e-4,0,0,2)];function r(e,t,a){var r=e.VBR==b.vbr_rh?s:n,i=e.VBR_q_frac,o=r[t],_=r[t+1],l=o;o.st_lrm=o.st_lrm+i*(_.st_lrm-o.st_lrm),o.st_s=o.st_s+i*(_.st_s-o.st_s),o.masking_adj=o.masking_adj+i*(_.masking_adj-o.masking_adj),o.masking_adj_short=o.masking_adj_short+i*(_.masking_adj_short-o.masking_adj_short),o.ath_lower=o.ath_lower+i*(_.ath_lower-o.ath_lower),o.ath_curve=o.ath_curve+i*(_.ath_curve-o.ath_curve),o.ath_sensitivity=o.ath_sensitivity+i*(_.ath_sensitivity-o.ath_sensitivity),o.interch=o.interch+i*(_.interch-o.interch),o.msfix=o.msfix+i*(_.msfix-o.msfix),function(e,t){var a=0;0>t&&(a=-1,t=0);90||(e.quant_comp=l.quant_comp),0!=a?e.quant_comp_short=l.quant_comp_s:Math.abs(e.quant_comp_short- -1)>0||(e.quant_comp_short=l.quant_comp_s),0!=l.expY&&(e.experimentalY=0!=l.expY),0!=a?e.internal_flags.nsPsy.attackthre=l.st_lrm:Math.abs(e.internal_flags.nsPsy.attackthre- -1)>0||(e.internal_flags.nsPsy.attackthre=l.st_lrm),0!=a?e.internal_flags.nsPsy.attackthre_s=l.st_s:Math.abs(e.internal_flags.nsPsy.attackthre_s- -1)>0||(e.internal_flags.nsPsy.attackthre_s=l.st_s),0!=a?e.maskingadjust=l.masking_adj:Math.abs(e.maskingadjust-0)>0||(e.maskingadjust=l.masking_adj),0!=a?e.maskingadjust_short=l.masking_adj_short:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=l.masking_adj_short),0!=a?e.ATHlower=-l.ath_lower/10:Math.abs(10*-e.ATHlower-0)>0||(e.ATHlower=-l.ath_lower/10),0!=a?e.ATHcurve=l.ath_curve:Math.abs(e.ATHcurve- -1)>0||(e.ATHcurve=l.ath_curve),0!=a?e.athaa_sensitivity=l.ath_sensitivity:Math.abs(e.athaa_sensitivity- -1)>0||(e.athaa_sensitivity=l.ath_sensitivity),l.interch>0&&(0!=a?e.interChRatio=l.interch:Math.abs(e.interChRatio- -1)>0||(e.interChRatio=l.interch)),l.safejoint>0&&(e.exp_nspsytune=e.exp_nspsytune|l.safejoint),l.sfb21mod>0&&(e.exp_nspsytune=e.exp_nspsytune|l.sfb21mod<<20),0!=a?e.msfix=l.msfix:Math.abs(e.msfix- -1)>0||(e.msfix=l.msfix),0==a&&(e.VBR_q=t,e.VBR_q_frac=i)}var i=[new t(8,9,9,0,0,6.6,145,0,.95,0,-30,11,.0012,1),new t(16,9,9,0,0,6.6,145,0,.95,0,-25,11,.001,1),new t(24,9,9,0,0,6.6,145,0,.95,0,-20,11,.001,1),new t(32,9,9,0,0,6.6,145,0,.95,0,-15,11,.001,1),new t(40,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new t(48,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new t(56,9,9,0,0,6.6,145,0,.95,0,-6,11,8e-4,1),new t(64,9,9,0,0,6.6,145,0,.95,0,-2,11,8e-4,1),new t(80,9,9,0,0,6.6,145,0,.95,0,0,8,7e-4,1),new t(96,9,9,0,2.5,6.6,145,0,.95,0,1,5.5,6e-4,1),new t(112,9,9,0,2.25,6.6,145,0,.95,0,2,4.5,5e-4,1),new t(128,9,9,0,1.95,6.4,140,0,.95,0,3,4,2e-4,1),new t(160,9,9,1,1.79,6,135,0,.95,-2,5,3.5,0,1),new t(192,9,9,1,1.49,5.6,125,0,.97,-4,7,3,0,0),new t(224,9,9,1,1.25,5.2,125,0,.98,-6,9,2,0,0),new t(256,9,9,1,.97,5.2,125,0,1,-8,10,1,0,0),new t(320,9,9,1,.9,5.2,125,0,1,-10,12,0,0,0)];function o(e,t,s){var n=t,r=a.nearestBitrateFullIndex(t);if(e.VBR=b.vbr_abr,e.VBR_mean_bitrate_kbps=n,e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320),e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.brate=e.VBR_mean_bitrate_kbps,e.VBR_mean_bitrate_kbps>320&&(e.disable_reservoir=!0),i[r].safejoint>0&&(e.exp_nspsytune=2|e.exp_nspsytune),i[r].sfscale>0&&(e.internal_flags.noise_shaping=2),Math.abs(i[r].nsbass)>0){var o=int(4*i[r].nsbass);o<0&&(o+=64),e.exp_nspsytune=e.exp_nspsytune|o<<2}return 0!=s?e.quant_comp=i[r].quant_comp:Math.abs(e.quant_comp- -1)>0||(e.quant_comp=i[r].quant_comp),0!=s?e.quant_comp_short=i[r].quant_comp_s:Math.abs(e.quant_comp_short- -1)>0||(e.quant_comp_short=i[r].quant_comp_s),0!=s?e.msfix=i[r].nsmsfix:Math.abs(e.msfix- -1)>0||(e.msfix=i[r].nsmsfix),0!=s?e.internal_flags.nsPsy.attackthre=i[r].st_lrm:Math.abs(e.internal_flags.nsPsy.attackthre- -1)>0||(e.internal_flags.nsPsy.attackthre=i[r].st_lrm),0!=s?e.internal_flags.nsPsy.attackthre_s=i[r].st_s:Math.abs(e.internal_flags.nsPsy.attackthre_s- -1)>0||(e.internal_flags.nsPsy.attackthre_s=i[r].st_s),0!=s?e.scale=i[r].scale:Math.abs(e.scale- -1)>0||(e.scale=i[r].scale),0!=s?e.maskingadjust=i[r].masking_adj:Math.abs(e.maskingadjust-0)>0||(e.maskingadjust=i[r].masking_adj),i[r].masking_adj>0?0!=s?e.maskingadjust_short=.9*i[r].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=.9*i[r].masking_adj):0!=s?e.maskingadjust_short=1.1*i[r].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=1.1*i[r].masking_adj),0!=s?e.ATHlower=-i[r].ath_lower/10:Math.abs(10*-e.ATHlower-0)>0||(e.ATHlower=-i[r].ath_lower/10),0!=s?e.ATHcurve=i[r].ath_curve:Math.abs(e.ATHcurve- -1)>0||(e.ATHcurve=i[r].ath_curve),0!=s?e.interChRatio=i[r].interch:Math.abs(e.interChRatio- -1)>0||(e.interChRatio=i[r].interch),t}this.apply_preset=function(e,t,a){switch(t){case W.R3MIX:t=W.V3,e.VBR=b.vbr_mtrh;break;case W.MEDIUM:t=W.V4,e.VBR=b.vbr_rh;break;case W.MEDIUM_FAST:t=W.V4,e.VBR=b.vbr_mtrh;break;case W.STANDARD:t=W.V2,e.VBR=b.vbr_rh;break;case W.STANDARD_FAST:t=W.V2,e.VBR=b.vbr_mtrh;break;case W.EXTREME:t=W.V0,e.VBR=b.vbr_rh;break;case W.EXTREME_FAST:t=W.V0,e.VBR=b.vbr_mtrh;break;case W.INSANE:return t=320,e.preset=t,o(e,t,a),e.VBR=b.vbr_off,t}switch(e.preset=t,t){case W.V9:return r(e,9,a),t;case W.V8:return r(e,8,a),t;case W.V7:return r(e,7,a),t;case W.V6:return r(e,6,a),t;case W.V5:return r(e,5,a),t;case W.V4:return r(e,4,a),t;case W.V3:return r(e,3,a),t;case W.V2:return r(e,2,a),t;case W.V1:return r(e,1,a),t;case W.V0:return r(e,0,a),t}return 8<=t&&t<=320?o(e,t,a):(e.preset=0,t)}}function w(){var e;this.setModules=function(t){e=t},this.ResvFrameBegin=function(t,a){var s,n=t.internal_flags,r=n.l3_side,i=e.getframebits(t);a.bits=(i-8*n.sideinfo_len)/n.mode_gr;var o=2048*n.mode_gr-8;t.brate>320?s=8*int(1e3*t.brate/(t.out_samplerate/1152)/8+.5):(s=11520,t.strict_ISO&&(s=8*int(32e4/(t.out_samplerate/1152)/8+.5))),n.ResvMax=s-i,n.ResvMax>o&&(n.ResvMax=o),(n.ResvMax<0||t.disable_reservoir)&&(n.ResvMax=0);var _=a.bits*n.mode_gr+Math.min(n.ResvSize,n.ResvMax);return _>s&&(_=s),r.resvDrain_pre=0,null!=n.pinfo&&(n.pinfo.mean_bits=a.bits/2,n.pinfo.resvsize=n.ResvSize),_},this.ResvMaxBits=function(e,t,a,s){var n,r=e.internal_flags,i=r.ResvSize,o=r.ResvMax;0!=s&&(i+=t),0!=(1&r.substep_shaping)&&(o*=.9),a.bits=t,10*i>9*o?(n=i-9*o/10,a.bits+=n,r.substep_shaping|=128):(n=0,r.substep_shaping&=127,e.disable_reservoir||0!=(1&r.substep_shaping)||(a.bits-=.1*t));var _=i<6*r.ResvMax/10?i:6*r.ResvMax/10;return(_-=n)<0&&(_=0),_},this.ResvAdjust=function(e,t){e.ResvSize-=t.part2_3_length+t.part2_length},this.ResvFrameEnd=function(e,t){var a,s=e.l3_side;e.ResvSize+=t*e.mode_gr;var n=0;s.resvDrain_post=0,s.resvDrain_pre=0,0!=(a=e.ResvSize%8)&&(n+=a),(a=e.ResvSize-n-e.ResvMax)>0&&(n+=a);var r=Math.min(8*s.main_data_begin,n)/8;s.resvDrain_pre+=8*r,n-=8*r,e.ResvSize-=8*r,s.main_data_begin-=r,s.resvDrain_post+=n,e.ResvSize-=n}}function R(){this.setModules=function(e,t,a){e,t,a};var e=[0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8e3,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16e3,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32e3,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448];function t(t,a){return a=a>>8^e[255&(a^t)]}this.updateMusicCRC=function(e,a,s,n){for(var r=0;r0;){var s;0==p&&(p=8,u++,e.header[e.w_ptr].write_timing==f&&m(e),l[u]=0),a-=s=Math.min(a,p),p-=s,l[u]|=t>>a<0;){var s;0==p&&(p=8,u++,l[u]=0),a-=s=Math.min(a,p),p-=s,l[u]|=t>>a<=8&&(b(s,76,8),t-=8),t>=8&&(b(s,65,8),t-=8),t>=8&&(b(s,77,8),t-=8),t>=8&&(b(s,69,8),t-=8),t>=32){var n=i.getLameShortVersion();if(t>=32)for(a=0;a=8;++a)t-=8,b(s,n.charCodeAt(a),8)}for(;t>=1;t-=1)b(s,s.ancillary_flag,1),s.ancillary_flag^=e.disable_reservoir?0:1}function M(e,t,a){for(var s=e.header[e.h_ptr].ptr;a>0;){var n=Math.min(a,8-(7&s));a-=n,e.header[e.h_ptr].buf[s>>3]|=t>>a<<8-(7&s)-n,s+=n}e.header[e.h_ptr].ptr=s}function w(e,t){e<<=8;for(var a=0;a<8;a++)0!=(65536&((t<<=1)^(e<<=1)))&&(t^=32773);return t}function R(e,t){var a,s=A.ht[t.count1table_select+32],n=0,r=t.big_values,i=t.big_values;for(a=(t.count1-t.big_values)/4;a>0;--a){var o=0,_=0;0!=t.l3_enc[r+0]&&(_+=8,t.xr[i+0]<0&&o++),0!=t.l3_enc[r+1]&&(_+=4,o*=2,t.xr[i+1]<0&&o++),0!=t.l3_enc[r+2]&&(_+=2,o*=2,t.xr[i+2]<0&&o++),0!=t.l3_enc[r+3]&&(_++,o*=2,t.xr[i+3]<0&&o++),r+=4,i+=4,b(e,o+s.table[_],s.hlen[_]),n+=s.hlen[_]}return n}function k(e,t,a,s,n){var r=A.ht[t],i=0;if(0==t)return i;for(var o=a;o15){if(u>14)h|=u-15<<1,l=f,u=15;if(p>14)h<<=f,h|=p-15,l+=f,p=15;c=16}0!=p&&(h<<=1,n.xr[o+1]<0&&h++,_--),u=u*c+p,l-=_,_+=r.hlen[u],b(e,r.table[u],_),b(e,h,l),i+=_+l}return i}function y(e,t){var a=3*e.scalefac_band.s[3];a>t.big_values&&(a=t.big_values);var s=k(e,t.table_select[0],0,a,t);return s+=k(e,t.table_select[1],a,t.big_values,t)}function B(e,t){var a,s,n,r;a=t.big_values;var i=t.region0_count+1;return n=e.scalefac_band.l[i],i+=t.region1_count+1,n>a&&(n=a),(r=e.scalefac_band.l[i])>a&&(r=a),s=k(e,t.table_select[0],0,n,t),s+=k(e,t.table_select[1],n,r,t),s+=k(e,t.table_select[2],r,a,t)}function x(){this.total=0}function T(t,a){var s,n,r,i,o,_=t.internal_flags;return o=_.w_ptr,-1==(i=_.h_ptr-1)&&(i=G.MAX_HEADER_BUF-1),s=_.header[i].write_timing-f,a.total=s,s>=0&&(n=1+i-o,i>8),t[5]=byte(255&a)},this.flush_bitstream=function(e){var a,n,r=e.internal_flags,i=r.h_ptr-1;if(-1==i&&(i=G.MAX_HEADER_BUF-1),a=r.l3_side,!((n=T(e,new x))<0)){if(v(e,n),r.ResvSize=0,a.main_data_begin=0,r.findReplayGain){var o=s.GetTitleGain(r.rgdata);r.RadioGain=0|Math.floor(10*o+.5)}r.findPeakSample&&(r.noclipGainChange=0|Math.ceil(20*t(r.PeakSample/32767)*10),r.noclipGainChange>0&&(EQ(e.scale,1)||EQ(e.scale,0))?r.noclipScale=Math.floor(32767/r.PeakSample*100)/100:r.noclipScale=-1)}},this.add_dummy_byte=function(e,t,a){for(var s,n=e.internal_flags;a-- >0;)for(d(0,t,8),s=0;s ResvSize"),8*t.main_data_begin!=a.ResvSize&&(h.err.printf("bit reservoir error: \nl3_side.main_data_begin: %d \nResvoir size: %d \nresv drain (post) %d \nresv drain (pre) %d \nheader and sideinfo: %d \ndata bits: %d \ntotal bits: %d (remainder: %d) \nbitsperframe: %d \n",8*t.main_data_begin,a.ResvSize,t.resvDrain_post,t.resvDrain_pre,8*a.sideinfo_len,n-t.resvDrain_post-8*a.sideinfo_len,n,n%8,s),h.err.println("This is a fatal error. It has several possible causes:"),h.err.println("90%% LAME compiled with buggy version of gcc using advanced optimizations"),h.err.println(" 9%% Your system is overclocked"),h.err.println(" 1%% bug in LAME encoding library"),a.ResvSize=8*t.main_data_begin),f>1e9){var r;for(r=0;ri)return-1;if(h.arraycopy(l,0,t,a,c),u=-1,p=0,0!=f){var m=n(1);if(m[0]=e.nMusicCRC,_.updateMusicCRC(m,t,a,c),e.nMusicCRC=m[0],c>0&&(e.VBR_seek_table.nBytesWritten+=c),e.decode_on_the_fly)for(var b,d=o([2,1152]),v=c,g=-1;0!=g;)if(g=r.hip_decode1_unclipped(e.hip,t,a,v,d[0],d[1]),v=0,-1==g&&(g=0),g>0){if(e.findPeakSample){for(b=0;be.PeakSample?e.PeakSample=d[0][b]:-d[0][b]>e.PeakSample&&(e.PeakSample=-d[0][b]);if(e.channels_out>1)for(b=0;be.PeakSample?e.PeakSample=d[1][b]:-d[1][b]>e.PeakSample&&(e.PeakSample=-d[1][b])}if(e.findReplayGain&&s.AnalyzeSamples(e.rgdata,d[0],0,d[1],0,g,e.channels_out)==S.GAIN_ANALYSIS_ERROR)return-6}}return c},this.init_bit_stream_w=function(e){l=a(W.LAME_MAXMP3BUFFER),e.h_ptr=e.w_ptr=0,e.header[e.h_ptr].write_timing=0,u=-1,p=0,f=0}}function y(e,t,a,s){this.xlen=e,this.linmax=t,this.table=a,this.hlen=s}d.STEREO=new d(0),d.JOINT_STEREO=new d(1),d.DUAL_CHANNEL=new d(2),d.MONO=new d(3),d.NOT_SET=new d(4),S.STEPS_per_dB=100,S.MAX_dB=120,S.GAIN_NOT_ENOUGH_SAMPLES=-24601,S.GAIN_ANALYSIS_ERROR=0,S.GAIN_ANALYSIS_OK=1,S.INIT_GAIN_ANALYSIS_ERROR=0,S.INIT_GAIN_ANALYSIS_OK=1,S.YULE_ORDER=10,S.MAX_ORDER=S.YULE_ORDER,S.MAX_SAMP_FREQ=48e3,S.RMS_WINDOW_TIME_NUMERATOR=1,S.RMS_WINDOW_TIME_DENOMINATOR=20,S.MAX_SAMPLES_PER_WINDOW=S.MAX_SAMP_FREQ*S.RMS_WINDOW_TIME_NUMERATOR/S.RMS_WINDOW_TIME_DENOMINATOR+1,R.NUMTOCENTRIES=100,R.MAXFRAMESIZE=2880,k.EQ=function(e,t){return Math.abs(e)>Math.abs(t)?Math.abs(e-t)<=1e-6*Math.abs(e):Math.abs(e-t)<=1e-6*Math.abs(t)},k.NEQ=function(e,t){return!k.EQ(e,t)};var A={};function B(e){this.bits=e}function x(){this.over_noise=0,this.tot_noise=0,this.max_noise=0,this.over_count=0,this.over_SSD=0,this.bits=0}function T(){this.setModules=function(e,t){e,t}}function E(){this.useAdjust=0,this.aaSensitivityP=0,this.adjust=0,this.adjustLimit=0,this.decay=0,this.floor=0,this.l=r(X.SBMAX_l),this.s=r(X.SBMAX_s),this.psfb21=r(X.PSFB21),this.psfb12=r(X.PSFB12),this.cb_l=r(X.CBANDS),this.cb_s=r(X.CBANDS),this.eql_w=r(X.BLKSIZE/2)}function P(){this.class_id=0,this.num_samples=0,this.num_channels=0,this.in_samplerate=0,this.out_samplerate=0,this.scale=0,this.scale_left=0,this.scale_right=0,this.analysis=!1,this.bWriteVbrTag=!1,this.decode_only=!1,this.quality=0,this.mode=d.STEREO,this.force_ms=!1,this.free_format=!1,this.findReplayGain=!1,this.decode_on_the_fly=!1,this.write_id3tag_automatic=!1,this.brate=0,this.compression_ratio=0,this.copyright=0,this.original=0,this.extension=0,this.emphasis=0,this.error_protection=0,this.strict_ISO=!1,this.disable_reservoir=!1,this.quant_comp=0,this.quant_comp_short=0,this.experimentalY=!1,this.experimentalZ=0,this.exp_nspsytune=0,this.preset=0,this.VBR=null,this.VBR_q_frac=0,this.VBR_q=0,this.VBR_mean_bitrate_kbps=0,this.VBR_min_bitrate_kbps=0,this.VBR_max_bitrate_kbps=0,this.VBR_hard_min=0,this.lowpassfreq=0,this.highpassfreq=0,this.lowpasswidth=0,this.highpasswidth=0,this.maskingadjust=0,this.maskingadjust_short=0,this.ATHonly=!1,this.ATHshort=!1,this.noATH=!1,this.ATHtype=0,this.ATHcurve=0,this.ATHlower=0,this.athaa_type=0,this.athaa_loudapprox=0,this.athaa_sensitivity=0,this.short_blocks=null,this.useTemporal=!1,this.interChRatio=0,this.msfix=0,this.tune=!1,this.tune_value_a=0,this.version=0,this.encoder_delay=0,this.encoder_padding=0,this.framesize=0,this.frameNum=0,this.lame_allocated_gfp=0,this.internal_flags=null}function L(e){var t=e;this.quantize=t,this.iteration_loop=function(e,t,a,s){var i,o=e.internal_flags,_=r(V.SFBMAX),l=r(576),f=n(2),c=0,h=o.l3_side,u=new B(c);this.quantize.rv.ResvFrameBegin(e,u),c=u.bits;for(var p=0;p>2&63)>=32&&(s-=64),l=Math.pow(10,s/4/10),(s=a.exp_nspsytune>>8&63)>=32&&(s-=64),u=Math.pow(10,s/4/10),(s=a.exp_nspsytune>>14&63)>=32&&(s-=64),b=Math.pow(10,s/4/10),(s=a.exp_nspsytune>>20&63)>=32&&(s-=64),v=b*Math.pow(10,s/4/10),s=0;sG.MAX_BITS_PER_GRANULE&&(m=G.MAX_BITS_PER_GRANULE),_=0,l=0;l3*r/4&&(h[l]=3*r/4),h[l]<0&&(h[l]=0),h[l]+s[l]>G.MAX_BITS_PER_CHANNEL&&(h[l]=Math.max(0,G.MAX_BITS_PER_CHANNEL-s[l])),_+=h[l];if(_>p)for(l=0;lG.MAX_BITS_PER_GRANULE){for(l=0;l.5&&(n=.5);var r=0|.5*n*(e[0]+e[1]);r>G.MAX_BITS_PER_CHANNEL-e[0]&&(r=G.MAX_BITS_PER_CHANNEL-e[0]),r<0&&(r=0),e[1]>=125&&(e[1]-r>125?(e[0]s&&(e[0]=s*e[0]/r,e[1]=s*e[1]/r)},this.athAdjust=function(e,t,a){var s=90.30873362,n=u.FAST_LOG10_X(t,10),r=e*e,i=0;return n-=a,r>1e-20&&(i=1+u.FAST_LOG10_X(r,10/s)),i<0&&(i=0),n*=i,n+=a+s-94.82444863,Math.pow(10,.1*n)},this.calc_xmin=function(e,t,a,s){var n,r=0,i=e.internal_flags,o=0,_=0,l=i.ATH,f=a.xr,c=e.VBR==b.vbr_mtrh?1:0,h=i.masking_lower;for(e.VBR!=b.vbr_mtrh&&e.VBR!=b.vbr_mt||(h=1),n=0;n>1,A=0;do{A+=x=f[o]*f[o],w+=x0);if(A>S&&_++,n==X.SBPSY_l)w<(y=S*i.nsPsy.longfact[n])&&(w=y);if(0!=c&&(S=w),!e.ATHonly)if((R=t.en.l[n])>0)y=A*t.thm.l[n]*h/R,0!=c&&(y*=i.nsPsy.longfact[n]),S>1;M=g/d,w=2220446049250313e-31;do{var x,T;A+=x=f[o]*f[o],w+=x0);if(A>g&&_++,m==X.SBPSY_s)w<(y=g*i.nsPsy.shortfact[m])&&(w=y);if(S=0!=c?w:g,!e.ATHonly&&!e.ATHshort)if((R=t.en.s[m][v])>0)y=A*t.thm.s[m][v]*h/R,0!=c&&(y*=i.nsPsy.shortfact[m]),Ss[r-3+1]&&(s[r-3+1]+=(s[r-3]-s[r-3+1])*i.decay),s[r-3+1]>s[r-3+2]&&(s[r-3+2]+=(s[r-3+1]-s[r-3+2])*i.decay))}return _},this.calc_noise_core=function(e,t,a,s){var n=0,i=t.s,o=e.l3_enc;if(i>e.count1)for(;0!=a--;){l=e.xr[i],i++,n+=l*l,l=e.xr[i],i++,n+=l*l}else if(i>e.big_values){var _=r(2);for(_[0]=0,_[1]=s;0!=a--;){l=Math.abs(e.xr[i])-_[o[i]],i++,n+=l*l,l=Math.abs(e.xr[i])-_[o[i]],i++,n+=l*l}}else for(;0!=a--;){var l;l=Math.abs(e.xr[i])-h[o[i]]*s,i++,n+=l*l,l=Math.abs(e.xr[i])-h[o[i]]*s,i++,n+=l*l}return t.s=i,n},this.calc_noise=function(e,t,a,s,n){var r,i,o=0,_=0,c=0,h=0,p=0,m=-20,b=0,d=e.scalefac,g=0;for(s.over_SSD=0,r=0;r>1,b+e.width[r]>e.max_nonzero_coeff)i=(R=e.max_nonzero_coeff-b+1)>0?R>>1:0;var y=new v(b);w=this.calc_noise_core(e,y,i,k),b=y.s,null!=n&&(n.step[r]=M,n.noise[r]=w),w=a[o++]=w/t[_++],w=u.FAST_LOG10(Math.max(w,1e-20)),null!=n&&(n.noise_log[r]=w)}if(null!=n&&(n.global_gain=e.global_gain),p+=w,w>0)S=Math.max(0|10*w+.5,1),s.over_SSD+=S*S,c++,h+=w;m=Math.max(m,w)}return s.over_count=c,s.tot_noise=p,s.over_noise=h,s.max_noise=m,c},this.set_pinfo=function(e,t,a,s,n){var i,o,_,f,c,h=e.internal_flags,u=0==t.scalefac_scale?.5:1,p=t.scalefac,m=r(V.SFBMAX),b=r(V.SFBMAX),d=new x;calc_xmin(e,a,t,m),calc_noise(t,m,b,d,null);var v=0;for(o=t.sfb_lmax,t.block_type!=X.SHORT_TYPE&&0==t.mixed_block_flag&&(o=22),i=0;i0&&!e.ATHonly?f/=a.en.l[i]:f=0,h.pinfo.thr[s][n][i]=c*Math.max(f*a.thm.l[i],h.ATH.l[i]),h.pinfo.LAMEsfb[s][n][i]=0,0!=t.preflag&&i>=11&&(h.pinfo.LAMEsfb[s][n][i]=-u*l[i]),i0?f/=a.en.s[i][w]:f=0,(e.ATHonly||e.ATHshort)&&(f=0),h.pinfo.thr_s[s][n][3*i+w]=c*Math.max(f*a.thm.s[i][w],h.ATH.s[i]),h.pinfo.LAMEsfb_s[s][n][3*i+w]=-2*t.subblock_gain[w],i0?(r=a.over_SSD<=t.over_SSD,a.over_SSD==t.over_SSD&&(r=a.bits.2||a.max_noise<=0&&t.max_noise<0&&t.max_noise>a.max_noise-.2&&a.tot_noise0&&t.max_noise>a.max_noise-.2&&a.tot_noise0&&t.max_noise>-.05&&t.max_noise>a.max_noise-.1&&a.tot_noise+a.over_noise0&&t.max_noise>-.1&&t.max_noise>a.max_noise-.15&&a.tot_noise+a.over_noise+a.over_noise1?o=Math.pow(o,.5):o*=.95;break;case 0:default:o>1?o=1:o*=.95}var f=0;for(_=0;_t.xrpow_max&&(t.xrpow_max=s[f+c]);if(2==i.noise_shaping_amp)return}}}(e,t,n,r,i);var l=o(t);return!l&&(!(l=2==_.mode_gr?s.scale_bitcount(t):s.scale_bitcount_lsf(_,t))||(_.noise_shaping>1&&(c.fill(_.pseudohalf,0),0==t.scalefac_scale?(!function(e,t){for(var s=0,n=0;ne.xrpow_max&&(e.xrpow_max=t[s+o])}e.scalefac[n]=i>>1}e.preflag=0,e.scalefac_scale=1}(t,r),l=!1):t.block_type==X.SHORT_TYPE&&_.subblock_gain>0&&(l=function(e,t,s){var n,r=t.scalefac;for(n=0;n=16)return!0;for(var i=0;i<3;i++){var o=0,_=0;for(n=t.sfb_lmax+i;n=7)return!0;t.subblock_gain[i]++;var l=e.scalefac_band.l[t.sfb_lmax];for(n=t.sfb_lmax+i;n>t.scalefac_scale)>=0)r[n]=c,l+=3*f;else{r[n]=0;var h=210+(c<t.xrpow_max&&(t.xrpow_max=s[l+u]);l+=f*(3-i-1)}}var p=a.IPOW20(202);l+=t.width[n]*(i+1);for(u=-t.width[n];u<0;u++)s[l+u]*=p,s[l+u]>t.xrpow_max&&(t.xrpow_max=s[l+u])}}return!1}(_,t,r)||o(t))),l||(l=2==_.mode_gr?s.scale_bitcount(t):s.scale_bitcount_lsf(_,t)),!l))}this.setModules=function(r,i,o,_){e=r,t=i,this.rv=i,a=o,this.qupvt=o,s=_,n.setModules(a,s)},this.ms_convert=function(e,t){for(var a=0;a<576;++a){var s=e.tt[t][0].xr[a],n=e.tt[t][1].xr[a];e.tt[t][0].xr[a]=(s+n)*(.5*u.SQRT2),e.tt[t][1].xr[a]=(s-n)*(.5*u.SQRT2)}},this.init_xrpow=function(e,t,a){var s=0,n=0|t.max_nonzero_coeff;if(t.xrpow_max=0,c.fill(a,n,576,0),(s=function(e,t,a,s){s=0;for(var n=0;n<=a;++n){var r=Math.abs(e.xr[n]);s+=r,t[n]=Math.sqrt(r*Math.sqrt(r)),t[n]>e.xrpow_max&&(e.xrpow_max=t[n])}return s}(t,a,n,s))>1e-20){var r=0;0!=(2&e.substep_shaping)&&(r=1);for(var i=0;i=0&&!r;i--){var o=e.scalefac_band.psfb21[i],_=e.scalefac_band.psfb21[i+1],l=a.athAdjust(s.adjust,s.psfb21[i],s.floor);e.nsPsy.longfact[21]>1e-12&&(l*=e.nsPsy.longfact[21]);for(var f=_-1;f>=o;f--){if(!(Math.abs(n[f])=0&&!r;i--){_=(o=3*e.scalefac_band.s[12]+(e.scalefac_band.s[13]-e.scalefac_band.s[12])*c+(e.scalefac_band.psfb12[i]-e.scalefac_band.psfb12[0]))+(e.scalefac_band.psfb12[i+1]-e.scalefac_band.psfb12[i]);var h=a.athAdjust(s.adjust,s.psfb12[i],s.floor);e.nsPsy.shortfact[12]>1e-12&&(h*=e.nsPsy.shortfact[12]);for(f=_-1;f>=o;f--){if(!(Math.abs(n[f])=1||(c.sort(i,_-b,b),k.EQ(i[_-1],0)))){h=(1-o[f])*n[f],u=0,m=0;do{var d;for(p=1;m+p0)}}while(++fa?(c==i.BINSEARCH_DOWN&&(l=!0),l&&(_/=2),c=i.BINSEARCH_UP,h=_):(c==i.BINSEARCH_UP&&(l=!0),l&&(_/=2),c=i.BINSEARCH_DOWN,h=-_),t.global_gain+=h,t.global_gain<0&&(t.global_gain=0,l=!0),t.global_gain>255&&(t.global_gain=255,l=!0)}for(;o>a&&t.global_gain<255;)t.global_gain++,o=s.count_bits(e,r,t,null);e.CurrentStep[n]=f-t.global_gain>=4?4:2,e.OldValue[n]=t.global_gain,t.part2_3_length=o}(u,t,c,f,o),0==u.noise_shaping)return 100;a.calc_noise(t,n,d,v,g),v.bits=t.part2_3_length,p.assign(t);var k=0;for(h.arraycopy(o,0,m,0,576);!M;){do{var y,A=new x,B=255;if(y=0!=(2&u.substep_shaping)?20:3,u.sfb21_extra){if(d[p.sfbmax]>1)break;if(p.block_type==X.SHORT_TYPE&&(d[p.sfbmax+1]>1||d[p.sfbmax+2]>1))break}if(!l(e,p,d,o,w))break;0!=p.scalefac_scale&&(B=254);var T=c-p.part2_length;if(T<=0)break;for(;(p.part2_3_length=s.count_bits(u,o,p,g))>T&&p.global_gain<=B;)p.global_gain++;if(p.global_gain>B)break;if(0==v.over_count){for(;(p.part2_3_length=s.count_bits(u,o,p,g))>S&&p.global_gain<=B;)p.global_gain++;if(p.global_gain>B)break}if(a.calc_noise(p,n,d,A,g),A.bits=p.part2_3_length,0!=(_(t.block_type!=X.SHORT_TYPE?e.quant_comp:e.quant_comp_short,v,A,p,d)?1:0))S=t.part2_3_length,v=A,t.assign(p),k=0,h.arraycopy(o,0,m,0,576);else if(0==u.full_outer_loop){if(++k>y&&0==v.over_count)break;if(3==u.noise_shaping_amp&&w&&k>30)break;if(3==u.noise_shaping_amp&&w&&p.global_gain-R>15)break}}while(p.global_gain+p.scalefac_scale<255);3==u.noise_shaping_amp?w?M=!0:(p.assign(t),h.arraycopy(m,0,o,0,576),k=0,R=p.global_gain,w=!0):M=!0}return e.VBR==b.vbr_rh||e.VBR==b.vbr_mtrh?h.arraycopy(m,0,o,0,576):0!=(1&u.substep_shaping)&&trancate_smallspectrums(u,t,n,o),v.over_count},this.iteration_finish_one=function(e,a,n){var r=e.l3_side,i=r.tt[a][n];s.best_scalefac_store(e,a,n,r),1==e.use_best_huffman&&s.best_huffman_divide(e,i),t.ResvAdjust(e,i)},this.VBR_encode_granule=function(e,t,a,s,n,i,o){var _,l=e.internal_flags,f=new N,u=r(576),p=o,m=o+1,b=(o+i)/2,d=0,v=l.sfb21_extra;c.fill(f.l3_enc,0);do{l.sfb21_extra=!(b>p-42)&&v,outer_loop(e,t,a,s,n,b)<=0?(d=1,m=t.part2_3_length,f.assign(t),h.arraycopy(s,0,u,0,576),_=(o=m-32)-i,b=(o+i)/2):(_=o-(i=b+32),b=(o+i)/2,0!=d&&(d=2,t.assign(f),h.arraycopy(u,0,s,0,576)))}while(_>12);l.sfb21_extra=v,2==d&&h.arraycopy(f.l3_enc,0,t.l3_enc,0,576)},this.get_framebits=function(a,s){var n=a.internal_flags;n.bitrate_index=n.VBR_min_bitrate;var r=e.getframebits(a);n.bitrate_index=1,r=e.getframebits(a);for(var i=1;i<=n.VBR_max_bitrate;i++){n.bitrate_index=i;var o=new B(r);s[i]=t.ResvFrameBegin(a,o),r=o.bits}},this.VBR_old_prepare=function(e,s,n,r,i,o,_,l,f){var c,h=e.internal_flags,u=0,p=1,m=0;h.bitrate_index=h.VBR_max_bitrate;var b=t.ResvFrameBegin(e,new B(0))/h.mode_gr;get_framebits(e,o);for(var d=0;do[h.VBR_max_bitrate]&&(l[d][g]*=o[h.VBR_max_bitrate],l[d][g]/=m),_[d][g]>l[d][g]&&(_[d][g]=l[d][g]);return p},this.bitpressure_strategy=function(e,t,a,s){for(var n=0;n_&&(o[p][m]*=_,o[p][m]/=h);return f},this.calc_target_bits=function(s,n,r,i,o,_){var l,f,c,h,u=s.internal_flags,p=u.l3_side,m=0;u.bitrate_index=u.VBR_max_bitrate;var b=new B(m);for(_[0]=t.ResvFrameBegin(s,b),m=b.bits,u.bitrate_index=1,m=e.getframebits(s)-8*u.sideinfo_len,o[0]=m/(u.mode_gr*u.channels_out),m=s.VBR_mean_bitrate_kbps*s.framesize*1e3,0!=(1&u.substep_shaping)&&(m*=1.09),m/=s.out_samplerate,m-=8*u.sideinfo_len,m/=u.mode_gr*u.channels_out,(l=.93+.07*(11-s.compression_ratio)/5.5)<.9&&(l=.9),l>1&&(l=1),f=0;f700){var v=int((n[f][c]-700)/1.4),g=p.tt[f][c];i[f][c]=int(l*m),g.block_type==X.SHORT_TYPE&&v3*m/2?v=3*m/2:v<0&&(v=0),i[f][c]+=v}i[f][c]>G.MAX_BITS_PER_CHANNEL&&(i[f][c]=G.MAX_BITS_PER_CHANNEL),d+=i[f][c]}if(d>G.MAX_BITS_PER_GRANULE)for(c=0;cG.MAX_BITS_PER_CHANNEL&&(i[f][c]=G.MAX_BITS_PER_CHANNEL),h+=i[f][c];if(h>_[0])for(f=0;f=0;--U){var ee,te;ee=q[j+U]*n[20+U]+q[j+-1-U]*i[28+U],te=q[j+U]*i[28+U]-q[j+-1-U]*n[20+U],q[j+-1-U]=ee,q[j+U]=te}}}if(C=u,O=286,1==e.mode_gr)for(var ae=0;ae<18;ae++)h.arraycopy(e.sb_sample[N][1][ae],0,e.sb_sample[N][0][ae],0,32)}}}function q(){this.thm=new z,this.en=new z}function X(){var e=X.FFTOFFSET,t=X.MPG_MD_MS_LR,a=null;this.psy=null;var s=null,i=null,_=null;this.setModules=function(e,t,n,r){a=e,this.psy=t,s=t,i=r,_=n};var l=new Y;this.lame_encode_mp3_frame=function(c,u,p,m,v,g){var S,M=f([2,2]);M[0][0]=new q,M[0][1]=new q,M[1][0]=new q,M[1][1]=new q;var w,R=f([2,2]);R[0][0]=new q,R[0][1]=new q,R[1][0]=new q,R[1][1]=new q;var k,y,A,B=[null,null],x=c.internal_flags,T=o([2,4]),E=[.5,.5],P=[[0,0],[0,0]],L=[[0,0],[0,0]];if(B[0]=u,B[1]=p,0==x.lame_encode_frame_init&&function(e,t){var a,s,n=e.internal_flags;if(0==n.lame_encode_frame_init){var i,o,_=r(2014),f=r(2014);for(n.lame_encode_frame_init=1,i=0,o=0;i<286+576*(1+n.mode_gr);++i)i<576*n.mode_gr?(_[i]=0,2==n.channels_out&&(f[i]=0)):(_[i]=t[0][o],2==n.channels_out&&(f[i]=t[1][o]),++o);for(s=0;s0&&(E[A]=T[A][3]/E[A])),y=0;y.03125)e.ATH.adjust>=1?e.ATH.adjust=1:e.ATH.adjust=s?(e.ATH.adjust*=.075*s+.925,e.ATH.adjust=s?e.ATH.adjust=s:e.ATH.adjust>1,m=(p=n<<1)+(h=n),n=p<<1,i=(r=t)+b;do{R=e[r+0]-e[r+h],w=e[r+0]+e[r+h],B=e[r+p]-e[r+m],y=e[r+p]+e[r+m],e[r+p]=w-y,e[r+0]=w+y,e[r+m]=R-B,e[r+h]=R+B,R=e[i+0]-e[i+h],w=e[i+0]+e[i+h],B=u.SQRT2*e[i+m],y=u.SQRT2*e[i+p],e[i+p]=w-y,e[i+0]=w+y,e[i+m]=R-B,e[i+h]=R+B,i+=n,r+=n}while(r<_);for(f=a[o+0],l=a[o+1],c=1;c=0);s(a[_],l,X.BLKSIZE_s/2)}},this.fft_long=function(t,a,r,i,o){var _=X.BLKSIZE/8-1,l=X.BLKSIZE/2;do{var f,c,h,u,p,m=255&n[_];c=(f=e[m]*i[r][o+m])-(p=e[m+512]*i[r][o+m+512]),f+=p,u=(h=e[m+256]*i[r][o+m+256])-(p=e[m+768]*i[r][o+m+768]),h+=p,a[(l-=4)+0]=f+h,a[l+2]=f-h,a[l+1]=c+u,a[l+3]=c-u,c=(f=e[m+1]*i[r][o+m+1])-(p=e[m+513]*i[r][o+m+513]),f+=p,u=(h=e[m+257]*i[r][o+m+257])-(p=e[m+769]*i[r][o+m+769]),h+=p,a[l+X.BLKSIZE/2+0]=f+h,a[l+X.BLKSIZE/2+2]=f-h,a[l+X.BLKSIZE/2+1]=c+u,a[l+X.BLKSIZE/2+3]=c-u}while(--_>=0);s(a,l,X.BLKSIZE/2)},this.init_fft=function(a){for(var s=0;s=0;--m){var b=r[i+0][m],d=r[i+1][m];r[i+0][m]=(b+d)*u.SQRT2*.5,r[i+1][m]=(b-d)*u.SQRT2*.5}for(var v=2;v>=0;--v)for(m=X.BLKSIZE_s-1;m>=0;--m){b=o[_+0][v][m],d=o[_+1][v][m];o[_+0][v][m]=(b+d)*u.SQRT2*.5,o[_+1][v][m]=(b-d)*u.SQRT2*.5}}a[0]=r[i+0][0],a[0]*=a[0];for(m=X.BLKSIZE/2-1;m>=0;--m){var g=r[i+0][X.BLKSIZE/2-m],S=r[i+0][X.BLKSIZE/2+m];a[X.BLKSIZE/2-m]=.5*(g*g+S*S)}for(v=2;v>=0;--v){n[v][0]=o[_+0][v][0],n[v][0]*=n[v][0];for(m=X.BLKSIZE_s/2-1;m>=0;--m){g=o[_+0][v][X.BLKSIZE_s/2-m],S=o[_+0][v][X.BLKSIZE_s/2+m];n[v][X.BLKSIZE_s/2-m]=.5*(g*g+S*S)}}var M=0;for(m=11;me){if(!(t=t*l)return e+t;i=e/t}if(e+=t,s+3<=6){if(i>=_)return e;var o=0|u.FAST_LOG10_X(i,16);return e*g[o]}var c,h;o=0|u.FAST_LOG10_X(i,16);return t=0!=r?n.ATH.cb_s[a]*n.ATH.adjust:n.ATH.cb_l[a]*n.ATH.adjust,et?(c=1,o<=13&&(c=S[o]),h=u.FAST_LOG10_X(e/t,10/15),e*((v[o]-c)*h+c)):o>13?e:e*S[o]:e*v[o]}var w=[1.7782755904,1.35879*1.35879,1.38454*1.38454,1.39497*1.39497,1.40548*1.40548,1.3537*1.3537,1.6999465924,1.22321*1.22321,1.3169398564,1];function R(e,t,a){var s;if(e<0&&(e=0),t<0&&(t=0),e<=0)return t;if(t<=0)return e;if(s=t>e?t/e:e/t,-2<=a&&a<=2){if(s>=_)return e+t;var n=0|u.FAST_LOG10_X(s,16);return(e+t)*w[n]}return s=f){++r;break}var h=e.PSY.bo_s_weight[r],u=1-h;o=h*t[i],_=h*a[i],e.en[s].s[r][n]+=o,e.thm[s].s[r][n]+=_,o=u*t[i],_=u*a[i]}for(;r=l){++n;break}var c=e.PSY.bo_l_weight[n],h=1-c;i=c*t[r],o=c*a[r],e.en[s].l[n]+=i,e.thm[s].l[n]+=o,i=h*t[r],o=h*a[r]}for(;n=1?e:a<=0?t:t>0?Math.pow(e/t,a)*t:0}var x=[11.8,13.6,17.2,32,46.5,51.3,57.5,67.1,71.5,84.6,97.6,130];function T(e,a){for(var s=309.07,n=0;n0){var o=i*a,_=e.en.s[n][r];_>o&&(s+=_>1e10*o?x[n]*(10*t):x[n]*u.FAST_LOG10(_/o))}}return s}var E=[6.8,5.8,5.8,6.4,6.5,9.9,12.1,14.4,15,18.9,21.6,26.9,34.2,40.2,46.8,56.5,60.7,73.9,85.7,93.4,126.1];function P(e,a){for(var s=281.0575,n=0;n0){var i=r*a,o=e.en.l[n];o>i&&(s+=o>1e10*i?E[n]*(10*t):E[n]*u.FAST_LOG10(o/i))}}return s}function L(e,t,a,s,n){var r,i;for(r=i=0;r0?((o=t[r])n&&(_=n),s[r]=_):s[r]=0;for(r=1;r0)(o=t[r-1])n&&(_=n),s[r]=_;else s[r]=0}(i=a[r-1]+a[r])>0?((o=t[r-1])n&&(_=n),s[r]=_):s[r]=0}var H=[-1730326e-23,-.01703172,-1349528e-23,.0418072,-673278e-22,-.0876324,-30835e-21,.1863476,-1104424e-22,-.627638];function C(t,a,s,n,r,i,o,_){var l=t.internal_flags;if(n<2)e.fft_long(l,o[_],n,a,s);else if(2==n)for(var f=X.BLKSIZE-1;f>=0;--f){var c=o[_+0][f],h=o[_+1][f];o[_+0][f]=(c+h)*u.SQRT2*.5,o[_+1][f]=(c-h)*u.SQRT2*.5}i[0]=o[_+0][0],i[0]*=i[0];for(f=X.BLKSIZE/2-1;f>=0;--f){var p=o[_+0][X.BLKSIZE/2-f],m=o[_+0][X.BLKSIZE/2+f];i[X.BLKSIZE/2-f]=.5*(p*p+m*m)}var b=0;for(f=11;f=0;--f){var c=o[_+0][r][f],h=o[_+1][r][f];o[_+0][r][f]=(c+h)*u.SQRT2*.5,o[_+1][r][f]=(c-h)*u.SQRT2*.5}i[r][0]=o[_+0][r][0],i[r][0]*=i[r][0];for(f=X.BLKSIZE_s/2-1;f>=0;--f){var p=o[_+0][r][X.BLKSIZE_s/2-f],m=o[_+0][r][X.BLKSIZE_s/2+f];i[r][X.BLKSIZE_s/2-f]=.5*(p*p+m*m)}}function N(e,t,a,n){var r=e.internal_flags;2==e.athaa_loudapprox&&a<2&&(r.loudness_sq[t][a]=r.loudness_sq_save[a],r.loudness_sq_save[a]=s(n,r))}this.L3psycho_anal_ns=function(e,t,a,s,_,l,f,u,m,v){var g,S,w,R,x,E,C,O,N,V,D=e.internal_flags,Y=o([2,X.BLKSIZE]),q=o([2,3,X.BLKSIZE_s]),j=r(X.CBANDS+1),F=r(X.CBANDS+1),z=r(X.CBANDS+2),U=n(2),G=n(2),Z=o([2,576]),K=n(X.CBANDS+2),W=n(X.CBANDS+2);for(c.fill(W,0),g=D.channels_out,e.mode==d.JOINT_STEREO&&(g=4),N=e.VBR==b.vbr_off?0==D.ResvMax?0:D.ResvSize/D.ResvMax*.5:e.VBR==b.vbr_rh||e.VBR==b.vbr_mtrh||e.VBR==b.vbr_mt?.6:1,S=0;S2&&(l[s][S].en.assign(D.en[S+2]),l[s][S].thm.assign(D.thm[S+2]))}for(S=0;Sae[R+3-2]?be/=ae[R+3-2]:be=ae[R+3-2]>10*be?ae[R+3-2]/(10*be):0,ne[R+3]=be}if(e.analysis){var de=ne[0];for(R=1;R<12;R++)dete&&(_e[R/3]=R%3+1);for(R=1;R<4;R++){(se[R-1]>se[R]?se[R-1]/se[R]:se[R]/se[R-1])<1.7&&(_e[R]=0,1==R&&(_e[0]=0))}for(0!=_e[0]&&0!=D.nsPsy.lastAttacks[S]&&(_e[0]=0),3!=D.nsPsy.lastAttacks[S]&&_e[0]+_e[1]+_e[2]+_e[3]==0||(re=0,0!=_e[1]&&0!=_e[0]&&(_e[1]=0),0!=_e[2]&&0!=_e[1]&&(_e[2]=0),0!=_e[3]&&0!=_e[2]&&(_e[3]=0)),S<2?G[S]=re:0==re&&(G[0]=G[1]=0),m[S]=D.tot_ener[S],i(e,le,fe,Y,1&S,q,1&S,s,S,t,a),L(D,le,j,ie,oe),I(D,ie,oe,K),O=0;O<3;O++){var ve,ge;for(A(e,fe,F,z,S,O),k(D,F,z,S,O),C=0;C=2||1==_e[O+1]){var Se=0!=O?O-1:2;be=B(D.thm[S].s[C][Se],ge,.6*N);ge=Math.min(ge,be)}if(1==_e[O]){Se=0!=O?O-1:2,be=B(D.thm[S].s[C][Se],ge,.3*N);ge=Math.min(ge,be)}else if(0!=O&&3==_e[O-1]||0==O&&3==D.nsPsy.lastAttacks[S]){Se=2!=O?O+1:0,be=B(D.thm[S].s[C][Se],ge,.3*N);ge=Math.min(ge,be)}ve=ae[3*O+3]+ae[3*O+4]+ae[3*O+5],6*ae[3*O+5]0&&function(e,t){var a=e.internal_flags;if(a.channels_out>1){for(var s=0;s1.58*e.thm[1].l[t]||e.thm[1].l[t]>1.58*e.thm[0].l[t])){var a=e.mld_l[t]*e.en[3].l[t],s=Math.max(e.thm[2].l[t],Math.min(e.thm[3].l[t],a));a=e.mld_l[t]*e.en[2].l[t];var n=Math.max(e.thm[3].l[t],Math.min(e.thm[2].l[t],a));e.thm[2].l[t]=s,e.thm[3].l[t]=n}for(t=0;t1.58*e.thm[1].s[t][r]||e.thm[1].s[t][r]>1.58*e.thm[0].s[t][r])){a=e.mld_s[t]*e.en[3].s[t][r],s=Math.max(e.thm[2].s[t][r],Math.min(e.thm[3].s[t][r],a));a=e.mld_s[t]*e.en[2].s[t][r];n=Math.max(e.thm[3].s[t][r],Math.min(e.thm[2].s[t][r],a));e.thm[2].s[t][r]=s,e.thm[3].s[t][r]=n}}(D),V=e.msfix,Math.abs(V)>0&&function(e,t,a){var s=t,n=Math.pow(10,a);t*=2,s*=2;for(var r=0;r1?(ke=u,Be=-2,ye=X.NORM_TYPE,v[0]!=X.SHORT_TYPE&&v[1]!=X.SHORT_TYPE||(ye=X.SHORT_TYPE),Ae=l[s][S-2]):(ke=f,Be=0,ye=v[S],Ae=_[s][S]),ye==X.SHORT_TYPE?ke[Be+S]=T(Ae,D.masking_lower):ke[Be+S]=P(Ae,D.masking_lower),e.analysis&&(D.pinfo.pe[s][S]=ke[Be+S])}return 0};var V=[-1730326e-23,-.01703172,-1349528e-23,.0418072,-673278e-22,-.0876324,-30835e-21,.1863476,-1104424e-22,-.627638];function D(e,t,a){if(0==a)for(var s=0;s0?((o=t[r])n&&(_=n),s[r]=_):s[r]=0,r=1;r0)(o=t[r-1])n&&(_=n),s[r]=_;else s[r]=0}(i=a[r-1]+a[r])>0?((o=t[r-1])n&&(_=n),s[r]=_):s[r]=0}(f,c,u,p),_=l=0;lM&&(s[l]=M),f.masking_lower>1&&(s[l]*=f.masking_lower),s[l]>a[l]&&(s[l]=a[l]),f.masking_lower<1&&(s[l]*=f.masking_lower)}for(;l0?Math.min(p,S):Math.min(p,.3*a[o])}else{var M=16*e.nb_2[i][o],w=2*e.nb_1[i][o];M<=0&&(M=p),w<=0&&(w=p),S=e.blocktype_old[1&i]==X.NORM_TYPE?Math.min(w,M):w,s[o]=Math.min(p,S)}e.nb_2[i][o]=e.nb_1[i][o],e.nb_1[i][o]=p,u=_[o],u*=e.minval_l[o],u*=m,s[o]>u&&(s[o]=u),e.masking_lower>1&&(s[o]*=e.masking_lower),s[o]>a[o]&&(s[o]=a[o]),e.masking_lower<1&&(s[o]*=e.masking_lower)}for(;o0?Math.pow(10,n):1,c=0;c0){var S,M,w=s[c]*f;if(S=Math.min(Math.max(p,w),Math.max(m,w)),(M=(b=Math.max(_,w))+(d=Math.max(o,w)))>0&&S*lh&&(_=h),o>u&&(o=u),t[2][c]=_,t[3][c]=o}}function z(e,t){var a;return(a=e>=0?27*-e:e*t)<=-72?0:Math.exp(.2302585093*a)}function U(e){var t,a,s=0;for(s=0;z(s,e)>1e-20;s-=1);for(n=s,r=0;Math.abs(r-n)>1e-12;)z(s=(r+n)/2,e)>0?r=s:n=s;t=n;var n,r;s=0;for(s=0;z(s,e)>1e-20;s+=1);for(n=0,r=s;Math.abs(r-n)>1e-12;)z(s=(r+n)/2,e)>0?n=s:r=s;a=r;var i,o=0,_=1e3;for(i=0;i<=_;++i){o+=z(s=t+i*(a-t)/_,e)}return 1001/(o*(a-t))}function G(e){return e<0&&(e=0),e*=.001,13*Math.atan(.76*e)+3.5*Math.atan(e*e/56.25)}function K(e,t,a,s,i,o,_,l,f,c,h,u){var p,m=r(X.CBANDS+1),b=l/(u>15?1152:384),d=n(X.HBLKSIZE);l/=f;var v=0,g=0;for(p=0;pf/2){v=f/2,++p;break}}m[p]=l*v;for(var M=0;Mf/2&&(R=f/2),a[M]=(d[w]+d[R])/2,t[M]=d[R];var B=b*y;_[M]=(B-m[t[M]])/(m[t[M]+1]-m[t[M]]),_[M]<0?_[M]=0:_[M]>1&&(_[M]=1),A=G(l*c[M]*h),A=Math.min(A,15.5)/15.5,o[M]=Math.pow(10,1.25*(1-Math.cos(Math.PI*A))-2.5)}v=0;for(var x=0;x=0?3:1.5)>=.5&&f<=2.5?8*((u=f-.5)*u-2*u):0,((h=15.811389+7.5*(f+=.474)-17.5*Math.sqrt(1+f*f))<=-60?0:(f=Math.exp(.2302585093*(c+h)),f/=.6609193))*s[_]);p[b][_]=d*n[b]}else for(_=0;_0);_++);for(e[b][0]=_,_=t-1;_>0&&!(p[b][_]>0);_--);e[b][1]=_,m+=e[b][1]-e[b][0]+1}var S=r(m),M=0;for(b=0;b2&&(i[s][b].en.assign(u.en[b+2]),i[s][b].thm.assign(u.thm[b+2]))}for(b=0;b0;++g,--w){var E=h[0][g],P=h[1][g];h[0][g]=E+P,h[1][g]=E-P}for(g=0;g<3;g++)k[g]=u.nsPsy.last_en_subshort[b][g+6],R[g]=k[g]/u.nsPsy.last_en_subshort[b][g+4],y[0]+=k[g];for(g=0;g<9;g++){for(var L=B+64,I=1;Bk[g+3-2]?I/=k[g+3-2]:I=k[g+3-2]>10*I?k[g+3-2]/(10*I):0,R[g+3]=I}for(g=0;g<3;++g){var H=k[3*g+3]+k[3*g+4]+k[3*g+5],C=1;6*k[3*g+5]x&&(f[b][g/3]=g%3+1);for(g=1;g<4;g++){var N=y[g-1],D=y[g];Math.max(N,D)<4e4&&N<1.7*D&&D<1.7*N&&(1==g&&f[b][0]<=f[b][g]&&(f[b][0]=0),f[b][g]=0)}f[b][0]<=u.nsPsy.lastAttacks[b]&&(f[b][0]=0),3!=u.nsPsy.lastAttacks[b]&&f[b][0]+f[b][1]+f[b][2]+f[b][3]==0||(T=0,0!=f[b][1]&&0!=f[b][0]&&(f[b][1]=0),0!=f[b][2]&&0!=f[b][1]&&(f[b][2]=0),0!=f[b][3]&&0!=f[b][2]&&(f[b][3]=0)),b<2?c[b]=T:0==T&&(c[0]=c[1]=0),_[b]=u.tot_ener[b]}}(e,t,a,s,i,_,c,w,R,A),function(e,t){var a=e.internal_flags;e.short_blocks!=p.short_block_coupled||0!=t[0]&&0!=t[1]||(t[0]=t[1]=0);for(var s=0;s=2||1==R[E][L+1]){var G=0!=L?L-1:2,Z=B(u.thm[E].s[H][G],U,.36);U=Math.min(U,Z)}else if(1==R[E][L]){G=0!=L?L-1:2,Z=B(u.thm[E].s[H][G],U,.18);U=Math.min(U,Z)}else if(0!=L&&3==R[E][L-1]||0==L&&3==u.nsPsy.lastAttacks[E]){G=2!=L?L+1:0,Z=B(u.thm[E].s[H][G],U,.18);U=Math.min(U,Z)}U*=w[E][L],z[L]=U}for(L=0;L<3;L++)u.thm[E].s[H][L]=z[L]}}for(E=0;E1?(K=f,W=-2,Q=X.NORM_TYPE,h[0]!=X.SHORT_TYPE&&h[1]!=X.SHORT_TYPE||(Q=X.SHORT_TYPE),J=_[s][E-2]):(K=l,W=0,Q=h[E],J=i[s][E]),Q==X.SHORT_TYPE?K[W+E]=T(J,u.masking_lower):K[W+E]=P(J,u.masking_lower),e.analysis&&(u.pinfo.pe[s][E]=K[W+E])}return 0},this.psymodel_init=function(a){var s,n=a.internal_flags,i=!0,o=13,c=0,h=0,u=-8.25,p=-4.5,d=r(X.CBANDS),v=r(X.CBANDS),g=r(X.CBANDS),S=a.out_samplerate;switch(a.experimentalZ){default:case 0:i=!0;break;case 1:i=a.VBR!=b.vbr_mtrh&&a.VBR!=b.vbr_mt;break;case 2:i=!1;break;case 3:o=8,c=-1.75,h=-.0125,u=-8.25,p=-2.25}for(n.ms_ener_ratio_old=.25,n.blocktype_old[0]=n.blocktype_old[1]=X.NORM_TYPE,s=0;s<4;++s){for(var M=0;M=o&&(R=h*(d[s]-o)/(24-o)+c*(24-d[s])/(24-o)),g[s]=Math.pow(10,R/10),n.numlines_l[s]>0?n.rnumlines_l[s]=1/n.numlines_l[s]:n.rnumlines_l[s]=0}n.s3_ll=W(n.s3ind,n.npart_l,d,v,g,i);var k;M=0;for(s=0;s(x*=n.numlines_l[s])&&(B=x)}n.ATH.cb_l[s]=B,(B=20*d[s]/10-20)>6&&(B=100),B<-15&&(B=-15),B-=8,n.minval_l[s]=Math.pow(10,B/10)*n.numlines_l[s]}for(n.npart_s=K(n.numlines_s,n.bo_s,n.bm_s,d,v,n.mld_s,n.PSY.bo_s_weight,S,X.BLKSIZE_s,n.scalefac_band.s,X.BLKSIZE_s/384,X.SBMAX_s),M=0,s=0;s=o&&(R=p*(d[s]-o)/(24-o)+u*(24-d[s])/(24-o)),g[s]=Math.pow(10,R/10),B=m.MAX_VALUE;for(y=0;y(x*=n.numlines_s[s])&&(B=x)}n.ATH.cb_s[s]=B,B=7*d[s]/12-7,d[s]>12&&(B*=1+3.1*Math.log(1+B)),d[s]<12&&(B*=1+2.3*Math.log(1-B)),B<-15&&(B=-15),B-=8,n.minval_s[s]=Math.pow(10,B/10)*n.numlines_s[s]}n.s3_ss=W(n.s3ind_s,n.npart_s,d,v,g,i),_=Math.pow(10,9/16),l=Math.pow(10,1.5),f=Math.pow(10,1.5),e.init_fft(n),n.decay=Math.exp(-1*t/(.01*S/192)),k=3.5,0!=(2&a.exp_nspsytune)&&(k=1),Math.abs(a.msfix)>0&&(k=a.msfix),a.msfix=k;for(var T=0;Tn.npart_l-1&&(n.s3ind[T][1]=n.npart_l-1);var E=576*n.mode_gr/S;if(n.ATH.decay=Math.pow(10,-1.2*E),n.ATH.adjust=.01,n.ATH.adjustLimit=1,-1!=a.ATHtype){var P=a.out_samplerate/X.BLKSIZE,L=0;for(A=0,s=0;s=0;)n.ATH.eql_w[s]*=L}for(T=M=0;T1?0:e<=0?1:Math.cos(Math.PI/2*e)}function w(e,t){switch(e){case 44100:return t.version=1,0;case 48e3:return t.version=1,1;case 32e3:return t.version=1,2;case 22050:return t.version=0,0;case 24e3:return t.version=0,1;case 16e3:return t.version=0,2;case 11025:return t.version=0,0;case 12e3:return t.version=0,1;case 8e3:return t.version=0,2;default:return t.version=0,-1}}function R(e,t,a){a<16e3&&(t=2);for(var s=A.bitrate_table[t][1],n=2;n<=14;n++)A.bitrate_table[t][n]>0&&Math.abs(A.bitrate_table[t][n]-e)0&&A.bitrate_table[t][s]==e)return s;return-1}function B(t,a){var s=[new g(8,2e3),new g(16,3700),new g(24,3900),new g(32,5500),new g(40,7e3),new g(48,7500),new g(56,1e4),new g(64,11e3),new g(80,13500),new g(96,15100),new g(112,15600),new g(128,17e3),new g(160,17500),new g(192,18600),new g(224,19400),new g(256,19700),new g(320,20500)],n=e.nearestBitrateFullIndex(a);t.lowerlimit=s[n].lowpass}function x(e){var t=X.BLKSIZE+e.framesize-X.FFTOFFSET;return t=Math.max(t,512+e.framesize-32)}function T(t,a,s,n,r,i){var o=e.enc.lame_encode_mp3_frame(t,a,s,n,r,i);return t.frameNum++,o}function H(){this.n_in=0,this.n_out=0}function C(){this.num_used=0}function O(e,t,a){var s=Math.PI*t;(e/=a)<0&&(e=0),e>1&&(e=1);var n=e-.5,r=.42-.5*Math.cos(2*e*Math.PI)+.08*Math.cos(4*e*Math.PI);return Math.abs(n)<1e-9?s/Math.PI:r*Math.sin(a*s*n)/(Math.PI*a*n)}function N(e,t,a,s,n,i,o,_,l){var f,c,h=e.internal_flags,u=0,p=e.out_samplerate/function e(t,a){return 0!=a?e(a,t%a):t}(e.out_samplerate,e.in_samplerate);p>G.BPC&&(p=G.BPC);var m=Math.abs(h.resample_ratio-Math.floor(.5+h.resample_ratio))<1e-4?1:0,b=1/h.resample_ratio;b>1&&(b=1);var d=31;0==d%2&&--d;var v=(d+=m)+1;if(0==h.fill_buffer_resample_init){for(h.inbuf_old[0]=r(v),h.inbuf_old[1]=r(v),f=0;f<=2*p;++f)h.blackfilt[f]=r(v);for(h.itime[0]=0,h.itime[1]=0,u=0;u<=2*p;u++){var g=0,S=(u-p)/(2*p);for(f=0;f<=d;f++)g+=h.blackfilt[u][f]=O(f-S,b,d);for(f=0;f<=d;f++)h.blackfilt[u][f]/=g}h.fill_buffer_resample_init=1}var M=h.inbuf_old[l];for(c=0;c=o)break;S=w-h.itime[l]-(u+d%2*.5);R=0|Math.floor(2*S*p+p+.5);var k=0;for(f=0;f<=d;++f){var y=f+u-d/2;k+=(y<0?M[v+y]:n[i+y])*h.blackfilt[R][f]}t[a+c]=k}if(_.num_used=Math.min(o,d+u-d/2),h.itime[l]+=_.num_used-c*h.resample_ratio,_.num_used>=v)for(f=0;f1.0001)for(var o=0;oe-s?a:n},this.lame_init_params=function(e){var r,l,g,x=e.internal_flags;if(x.Class_ID=0,null==x.ATH&&(x.ATH=new E),null==x.PSY&&(x.PSY=new m),null==x.rgdata&&(x.rgdata=new I),x.channels_in=e.num_channels,1==x.channels_in&&(e.mode=d.MONO),x.channels_out=e.mode==d.MONO?1:2,x.mode_ext=X.MPG_MD_MS_LR,e.mode==d.MONO&&(e.force_ms=!1),e.VBR==b.vbr_off&&128!=e.VBR_mean_bitrate_kbps&&0==e.brate&&(e.brate=e.VBR_mean_bitrate_kbps),e.VBR==b.vbr_off||e.VBR==b.vbr_mtrh||e.VBR==b.vbr_mt||(e.free_format=!1),e.VBR==b.vbr_off&&0==e.brate&&k.EQ(e.compression_ratio,0)&&(e.compression_ratio=11.025),e.VBR==b.vbr_off&&e.compression_ratio>0&&(0==e.out_samplerate&&(e.out_samplerate=map2MP3Frequency(int(.97*e.in_samplerate))),e.brate=0|16*e.out_samplerate*x.channels_out/(1e3*e.compression_ratio),x.samplerate_index=w(e.out_samplerate,e),e.free_format||(e.brate=R(e.brate,e.version,e.out_samplerate))),0!=e.out_samplerate&&(e.out_samplerate<16e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,64)):e.out_samplerate<32e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,160)):(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,32),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320))),0==e.lowpassfreq){var T=16e3;switch(e.VBR){case b.vbr_off:B(P=new v,e.brate),T=P.lowerlimit;break;case b.vbr_abr:var P;B(P=new v,e.VBR_mean_bitrate_kbps),T=P.lowerlimit;break;case b.vbr_rh:var H=[19500,19e3,18600,18e3,17500,16e3,15600,14900,12500,1e4,3950];if(0<=e.VBR_q&&e.VBR_q<=9){var C=H[e.VBR_q],O=H[e.VBR_q+1],N=e.VBR_q_frac;T=linear_int(C,O,N)}else T=19500;break;default:H=[19500,19e3,18500,18e3,17500,16500,15500,14500,12500,9500,3950];if(0<=e.VBR_q&&e.VBR_q<=9){C=H[e.VBR_q],O=H[e.VBR_q+1],N=e.VBR_q_frac;T=linear_int(C,O,N)}else T=19500}e.mode!=d.MONO||e.VBR!=b.vbr_off&&e.VBR!=b.vbr_abr||(T*=1.5),e.lowpassfreq=0|T}if(0==e.out_samplerate&&(2*e.lowpassfreq>e.in_samplerate&&(e.lowpassfreq=e.in_samplerate/2),e.out_samplerate=(r=0|e.lowpassfreq,l=e.in_samplerate,g=44100,l>=48e3?g=48e3:l>=44100?g=44100:l>=32e3?g=32e3:l>=24e3?g=24e3:l>=22050?g=22050:l>=16e3?g=16e3:l>=12e3?g=12e3:l>=11025?g=11025:l>=8e3&&(g=8e3),-1==r?g:(r<=15960&&(g=44100),r<=15250&&(g=32e3),r<=11220&&(g=24e3),r<=9970&&(g=22050),r<=7230&&(g=16e3),r<=5420&&(g=12e3),r<=4510&&(g=11025),r<=3970&&(g=8e3),l44100?48e3:l>32e3?44100:l>24e3?32e3:l>22050?24e3:l>16e3?22050:l>12e3?16e3:l>11025?12e3:l>8e3?11025:8e3:g))),e.lowpassfreq=Math.min(20500,e.lowpassfreq),e.lowpassfreq=Math.min(e.out_samplerate/2,e.lowpassfreq),e.VBR==b.vbr_off&&(e.compression_ratio=16*e.out_samplerate*x.channels_out/(1e3*e.brate)),e.VBR==b.vbr_abr&&(e.compression_ratio=16*e.out_samplerate*x.channels_out/(1e3*e.VBR_mean_bitrate_kbps)),e.bWriteVbrTag||(e.findReplayGain=!1,e.decode_on_the_fly=!1,x.findPeakSample=!1),x.findReplayGain=e.findReplayGain,x.decode_on_the_fly=e.decode_on_the_fly,x.decode_on_the_fly&&(x.findPeakSample=!0),x.findReplayGain&&t.InitGainAnalysis(x.rgdata,e.out_samplerate)==S.INIT_GAIN_ANALYSIS_ERROR)return e.internal_flags=null,-6;switch(x.decode_on_the_fly&&!e.decode_only&&(null!=x.hip&&c.hip_decode_exit(x.hip),x.hip=c.hip_decode_init()),x.mode_gr=e.out_samplerate<=24e3?1:2,e.framesize=576*x.mode_gr,e.encoder_delay=X.ENCDELAY,x.resample_ratio=e.in_samplerate/e.out_samplerate,e.VBR){case b.vbr_mt:case b.vbr_rh:case b.vbr_mtrh:e.compression_ratio=[5.7,6.5,7.3,8.2,10,11.9,13,14,15,16.5][e.VBR_q];break;case b.vbr_abr:e.compression_ratio=16*e.out_samplerate*x.channels_out/(1e3*e.VBR_mean_bitrate_kbps);break;default:e.compression_ratio=16*e.out_samplerate*x.channels_out/(1e3*e.brate)}if(e.mode==d.NOT_SET&&(e.mode=d.JOINT_STEREO),e.highpassfreq>0?(x.highpass1=2*e.highpassfreq,e.highpasswidth>=0?x.highpass2=2*(e.highpassfreq+e.highpasswidth):x.highpass2=2*e.highpassfreq,x.highpass1/=e.out_samplerate,x.highpass2/=e.out_samplerate):(x.highpass1=0,x.highpass2=0),e.lowpassfreq>0?(x.lowpass2=2*e.lowpassfreq,e.lowpasswidth>=0?(x.lowpass1=2*(e.lowpassfreq-e.lowpasswidth),x.lowpass1<0&&(x.lowpass1=0)):x.lowpass1=2*e.lowpassfreq,x.lowpass1/=e.out_samplerate,x.lowpass2/=e.out_samplerate):(x.lowpass1=0,x.lowpass2=0),function(e){var t=e.internal_flags,a=32,s=-1;if(t.lowpass1>0){for(var n=999,r=0;r<=31;r++){(l=r/31)>=t.lowpass2&&(a=Math.min(a,r)),t.lowpass10&&t.highpass2<.75/31*.9&&(t.highpass1=0,t.highpass2=0,h.err.println("Warning: highpass filter disabled. highpass frequency too small\n")),t.highpass2>0){var i=-1;for(r=0;r<=31;r++){(l=r/31)<=t.highpass1&&(s=Math.max(s,r)),t.highpass1t.highpass1?M((t.highpass2-l)/(t.highpass2-t.highpass1+1e-20)):1,_=t.lowpass2>t.lowpass1?M((l-t.lowpass1)/(t.lowpass2-t.lowpass1+1e-20)):1,t.amp_filter[r]=o*_}}(e),x.samplerate_index=w(e.out_samplerate,e),x.samplerate_index<0)return e.internal_flags=null,-1;if(e.VBR==b.vbr_off){if(e.free_format)x.bitrate_index=0;else if(e.brate=R(e.brate,e.version,e.out_samplerate),x.bitrate_index=y(e.brate,e.version,e.out_samplerate),x.bitrate_index<=0)return e.internal_flags=null,-1}else x.bitrate_index=1;e.analysis&&(e.bWriteVbrTag=!1),null!=x.pinfo&&(e.bWriteVbrTag=!1),a.init_bit_stream_w(x);for(var V,D=x.samplerate_index+3*e.version+6*(e.out_samplerate<16e3?1:0),Y=0;Y5&&(e.quality=5),x.PSY.mask_adjust=e.maskingadjust,x.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?x.sfb21_extra=!1:x.sfb21_extra=e.out_samplerate>44e3,x.iteration_loop=new VBRNewIterationLoop(i);break;case b.vbr_rh:s.apply_preset(e,500-10*e.VBR_q,0),x.PSY.mask_adjust=e.maskingadjust,x.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?x.sfb21_extra=!1:x.sfb21_extra=e.out_samplerate>44e3,e.quality>6&&(e.quality=6),e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),x.iteration_loop=new VBROldIterationLoop(i);break;default:var F;x.sfb21_extra=!1,e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),(F=e.VBR)==b.vbr_off&&(e.VBR_mean_bitrate_kbps=e.brate),s.apply_preset(e,e.VBR_mean_bitrate_kbps,0),e.VBR=F,x.PSY.mask_adjust=e.maskingadjust,x.PSY.mask_adjust_short=e.maskingadjust_short,F==b.vbr_off?x.iteration_loop=new L(i):x.iteration_loop=new ABRIterationLoop(i)}if(e.VBR!=b.vbr_off){if(x.VBR_min_bitrate=1,x.VBR_max_bitrate=14,e.out_samplerate<16e3&&(x.VBR_max_bitrate=8),0!=e.VBR_min_bitrate_kbps&&(e.VBR_min_bitrate_kbps=R(e.VBR_min_bitrate_kbps,e.version,e.out_samplerate),x.VBR_min_bitrate=y(e.VBR_min_bitrate_kbps,e.version,e.out_samplerate),x.VBR_min_bitrate<0))return-1;if(0!=e.VBR_max_bitrate_kbps&&(e.VBR_max_bitrate_kbps=R(e.VBR_max_bitrate_kbps,e.version,e.out_samplerate),x.VBR_max_bitrate=y(e.VBR_max_bitrate_kbps,e.version,e.out_samplerate),x.VBR_max_bitrate<0))return-1;e.VBR_min_bitrate_kbps=A.bitrate_table[e.version][x.VBR_min_bitrate],e.VBR_max_bitrate_kbps=A.bitrate_table[e.version][x.VBR_max_bitrate],e.VBR_mean_bitrate_kbps=Math.min(A.bitrate_table[e.version][x.VBR_max_bitrate],e.VBR_mean_bitrate_kbps),e.VBR_mean_bitrate_kbps=Math.max(A.bitrate_table[e.version][x.VBR_min_bitrate],e.VBR_mean_bitrate_kbps)}return e.tune&&(x.PSY.mask_adjust+=e.tune_value_a,x.PSY.mask_adjust_short+=e.tune_value_a),function(e){var t=e.internal_flags;switch(e.quality){default:case 9:t.psymodel=0,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 8:e.quality=7;case 7:t.psymodel=1,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 6:case 5:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=0,t.full_outer_loop=0;break;case 4:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 3:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 2:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 1:case 0:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=2,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0}}(e),e.athaa_type<0?x.ATH.useAdjust=3:x.ATH.useAdjust=e.athaa_type,x.ATH.aaSensitivityP=Math.pow(10,e.athaa_sensitivity/-10),null==e.short_blocks&&(e.short_blocks=p.short_block_allowed),e.short_blocks!=p.short_block_allowed||e.mode!=d.JOINT_STEREO&&e.mode!=d.STEREO||(e.short_blocks=p.short_block_coupled),e.quant_comp<0&&(e.quant_comp=1),e.quant_comp_short<0&&(e.quant_comp_short=0),e.msfix<0&&(e.msfix=0),e.exp_nspsytune=1|e.exp_nspsytune,e.internal_flags.nsPsy.attackthre<0&&(e.internal_flags.nsPsy.attackthre=K.NSATTACKTHRE),e.internal_flags.nsPsy.attackthre_s<0&&(e.internal_flags.nsPsy.attackthre_s=K.NSATTACKTHRE_S),e.scale<0&&(e.scale=1),e.ATHtype<0&&(e.ATHtype=4),e.ATHcurve<0&&(e.ATHcurve=4),e.athaa_loudapprox<0&&(e.athaa_loudapprox=2),e.interChRatio<0&&(e.interChRatio=0),null==e.useTemporal&&(e.useTemporal=!0),x.slot_lag=x.frac_SpF=0,e.VBR==b.vbr_off&&(x.slot_lag=x.frac_SpF=72e3*(e.version+1)*e.brate%e.out_samplerate|0),n.iteration_init(e),u.psymodel_init(e),0},this.lame_encode_flush=function(e,t,s,n){var r,i,o,_,c=e.internal_flags,h=l([2,1152]),u=0,p=c.mf_samples_to_encode-X.POSTDELAY,m=x(e);if(c.mf_samples_to_encode<1)return 0;for(r=0,e.in_samplerate!=e.out_samplerate&&(p+=16*e.out_samplerate/e.in_samplerate),(o=e.framesize-p%e.framesize)<576&&(o+=e.framesize),e.encoder_padding=o,_=(p+o)/e.framesize;_>0&&u>=0;){var b=m-c.mf_size,d=e.frameNum;b*=e.in_samplerate,(b/=e.out_samplerate)>1152&&(b=1152),b<1&&(b=1),i=n-r,0==n&&(i=0),s+=u=this.lame_encode_buffer(e,h[0],h[1],b,t,s,i),r+=u,_-=d!=e.frameNum?1:0}if(c.mf_samples_to_encode=0,u<0)return u;if(i=n-r,0==n&&(i=0),a.flush_bitstream(e),(u=a.copy_buffer(c,t,s,i,1))<0)return u;if(s+=u,i=n-(r+=u),0==n&&(i=0),e.write_id3tag_automatic){if(f.id3tag_write_v1(e),(u=a.copy_buffer(c,t,s,i,0))<0)return u;r+=u}return r},this.lame_encode_buffer=function(e,s,n,i,o,_,l){var f=e.internal_flags,c=[null,null];if(4294479419!=f.Class_ID)return-3;if(0==i)return 0;!function(e,t){(null==e.in_buffer_0||e.in_buffer_nsamples1&&(c[1][h]=n[h]);return function(e,s,n,r,i,o,_){var l,f,c,h,u,p=e.internal_flags,m=0,b=[null,null],d=[null,null];if(4294479419!=p.Class_ID)return-3;if(0==r)return 0;if((u=a.copy_buffer(p,i,o,_,0))<0)return u;if(o+=u,m+=u,d[0]=s,d[1]=n,k.NEQ(e.scale,0)&&k.NEQ(e.scale,1))for(f=0;f0;){var g,M,w=[null,null];w[0]=d[0],w[1]=d[1];var R=new H;if(V(e,b,w,v,r,R),g=R.n_in,M=R.n_out,p.findReplayGain&&!p.decode_on_the_fly&&t.AnalyzeSamples(p.rgdata,b[0],p.mf_size,b[1],p.mf_size,M,p.channels_out)==S.GAIN_ANALYSIS_ERROR)return-6;if(r-=g,v+=g,p.channels_out,p.mf_size+=M,p.mf_samples_to_encode<1&&(p.mf_samples_to_encode=X.ENCDELAY+X.POSTDELAY),p.mf_samples_to_encode+=M,p.mf_size>=h){var y=_-m;if(0==_&&(y=0),(l=T(e,b[0],b[1],i,o,y))<0)return l;for(o+=l,m+=l,p.mf_size-=e.framesize,p.mf_samples_to_encode-=e.framesize,c=0;cB&&(B=t.length,T=a(x=0|1.25*B+7200));var r=n.lame_encode_buffer(A,t,s,t.length,T,0,x);return new Int8Array(T.subarray(0,r))},this.flush=function(){var e=n.lame_encode_flush(A,T,0,x);return new Int8Array(T.subarray(0,e))}}}e(),Recorder.lamejs=e}()},function(e,t){var a,s;a=function(e){return new s(e)},(s=function(e){var t={scale:2,speed:9,phase:21.8,fps:20,keep:!0,lineWidth:3,linear1:[0,"rgba(150,96,238,1)",.2,"rgba(170,79,249,1)",1,"rgba(53,199,253,1)"],linear2:[0,"rgba(209,130,255,0.6)",1,"rgba(53,199,255,0.6)"],linearBg:[0,"rgba(255,255,255,0.2)",1,"rgba(54,197,252,0.2)"]};for(var a in e)t[a]=e[a];this.set=e=t;var s=e.elem;s&&("string"==typeof s?s=document.querySelector(s):s.length&&(s=s[0])),s&&(e.width=s.offsetWidth,e.height=s.offsetHeight);var n=e.scale,r=e.width*n,i=e.height*n;if(!r||!i)throw new Error("WaveView无宽高");var o=this.elem=document.createElement("div"),_=["","transform-origin:0 0;","transform:scale("+1/n+");"];o.innerHTML='
';var l=this.canvas=o.querySelector("canvas"),f=this.ctx=l.getContext("2d");l.width=r,l.height=i,this.linear1=this.genLinear(f,r,e.linear1),this.linear2=this.genLinear(f,r,e.linear2),this.linearBg=this.genLinear(f,i,e.linearBg,!0),s&&(s.innerHTML="",s.appendChild(o)),this._phase=0}).prototype=a.prototype={genLinear:function(e,t,a,s){for(var n=e.createLinearGradient(0,0,s?0:t,s?t:0),r=0;r1300&&(clearInterval(e.timer),e.timer=0)}},draw:function(e){var t=this.set,a=this.ctx,s=t.scale,n=t.width*s,r=t.height*s,i=t.speed/t.fps,o=this._phase-=i,_=o+i*t.phase,l=e/100,f=this.genPath(2,l,o),c=this.genPath(1.8,l,_);a.clearRect(0,0,n,r),a.beginPath();for(var h=0,u=0;u=0;h--,u-=s)a.lineTo(u,c[h]);a.closePath(),a.fillStyle=this.linearBg,a.fill(),this.drawPath(c,this.linear2),this.drawPath(f,this.linear1)},drawPath:function(e,t){var a=this.set,s=this.ctx,n=a.scale,r=a.width*n;s.beginPath();for(var i=0,o=0;o用户主动点击的弹窗",1)}},l.recClose=function(){r?(r.close(),c("已关闭")):c("未打开录音",1)},l.recStart=function(){r&&s.default.IsOpen()?(o=null,r.start(),c("已开始录音...")):c("未打开录音",1)},l.recPause=function(){r&&s.default.IsOpen()?r.pause():c("未打开录音",1)},l.recResume=function(){r&&s.default.IsOpen()?r.resume():c("未打开录音",1)},l.recStop=function(){r&&s.default.IsOpen()?r.stop((function(e,t){console.log(e,(l.URL||webkitURL).createObjectURL(e),"时长:"+t+"ms"),o=e,c("已录制mp3:"+p(t)+"ms "+e.size+"字节,可以点击播放、上传了",2)}),(function(e){c("录音失败:"+e,1)})):c("未打开录音",1)},l.recPlay=function(){if(o){var e=("a"+Math.random()).replace(".","");c('播放中: ');var t=_.createElement("audio");t.controls=!0,_.querySelector("."+e).appendChild(t),t.src=(l.URL||webkitURL).createObjectURL(o),t.play(),setTimeout((function(){(l.URL||webkitURL).revokeObjectURL(t.src)}),5e3)}else c("请先录音,然后停止后再播放",1)},l.recUpload=function(){var e=o;if(e){var t="https://xx.xx/test_request",a=function(e){return function(){4==r.readyState&&(200==r.status?c(e+"上传成功",2):(c(e+"没有完成上传,演示上传地址无需关注上传结果,只要浏览器控制台内Network面板内看到的请求数据结构是预期的就ok了。","#d8c1a0"),console.error(e+"上传失败",r.status,r.responseText)))}};c("开始上传到"+t+",请求稍后...");var n=new l.FileReader;n.onloadend=function(){var s="";s+="mime="+encodeURIComponent(e.type),s+="&upfile_b64="+encodeURIComponent((/.+;\s*base64\s*,\s*(.+)$/i.exec(n.result)||[])[1]);var r=new XMLHttpRequest;r.open("POST",t),r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.onreadystatechange=a("上传方式一【Base64】"),r.send(s)},n.readAsDataURL(e);var s=new FormData;s.append("upfile",e,"recorder.mp3");var r=new XMLHttpRequest;r.open("POST",t),r.onreadystatechange=a("上传方式二【FormData】"),r.send(s)}else c("请先录音,然后停止后再上传",1)},l.recLocalDown=function(){if(o){var e=("a"+Math.random()).replace(".","");l.recdown64.lastCls=e,c('点击 下载,或复制文本');var t="recorder-"+Date.now()+".mp3",a=_.createElement("A");a.innerHTML="下载 "+t,a.href=(l.URL||webkitURL).createObjectURL(o),a.download=t,_.querySelector("."+e).appendChild(a),/mobile/i.test(navigator.userAgent)?alert("因移动端绝大部分国产浏览器未适配Blob Url的下载,所以本demo代码在移动端未调用downA.click()。请尝试点击日志中显示的下载链接下载"):a.click()}else c("请先录音,然后停止后再下载",1)},l.recdown64=function(e){var t=_.querySelector("."+e+"_b64");if(l.recdown64.lastCls==e){var a=new FileReader;a.onloadend=function(){t.innerHTML="",t.querySelector("textarea").value=a.result},a.readAsDataURL(o)}else t.innerHTML='老的数据没有保存,只支持最新的一条'};var f,u=function(){f=setTimeout((function(){!function(){if(/mobile/i.test(navigator.userAgent)){h();var e=_.createElement("div");_.body.appendChild(e),e.innerHTML='
录音功能需要麦克风权限,请允许;如果未看到任何请求,请点击忽略~
'}}()}),8e3)},h=function(){clearTimeout(f);for(var e=_.querySelectorAll(".waitDialog"),t=0;t0?(a<10?"0":"")+a+":":"")+(t||a>0||n>0?("0"+n).substr(-2)+"″":"")+("00"+e%1e3).substr(-3)}},function(e,t,a){var n,s,r;s="object"==typeof window&&!!window.document,function(e,t){"use strict";var a=function(){},n=function(e){return"number"==typeof e},s=function(e){return new T(e)},r=s.LM="2023-12-01 20:17",i="https://github.com/xiangyuecn/Recorder",o="Recorder",l=e[o];if(l&&l.LM==r)l.CLog(l.i18n.$T("K8zP::重复导入{1}",0,o),3);else{s.IsOpen=function(){var e=s.Stream;if(e){var t=(e.getTracks&&e.getTracks()||e.audioTracks||[])[0];if(t){var a=t.readyState;return"live"==a||a==t.LIVE}}return!1},s.BufferSize=4096,s.Destroy=function(){for(var e in m(o+" Destroy"),p(),_)_[e]()};var _={};s.BindDestroy=function(e,t){_[e]=t},s.Support=function(){if(!t)return!1;var e=navigator.mediaDevices||{};return e.getUserMedia||(e=navigator).getUserMedia||(e.getUserMedia=e.webkitGetUserMedia||e.mozGetUserMedia||e.msGetUserMedia),!!e.getUserMedia&&(s.Scope=e,!!s.GetContext())},s.GetContext=function(e){if(!t)return null;var a=window.AudioContext;if(a||(a=window.webkitAudioContext),!a)return null;var n=s.Ctx;if(n&&"closed"!=n.state||(n=s.Ctx=new a,s.NewCtxs=s.NewCtxs||[],s.BindDestroy("Ctx",(function(){var e=s.Ctx;e&&e.close&&(e.close(),s.Ctx=0);var t=s.NewCtxs;s.NewCtxs=[];for(var a=0;a3*t/4?0:a/2*3/4;_={fn:c?s.IIRFilter(!0,t,c):0}}_.sr=t;var f=_.fn,u=n.frameNext||[];r||(r={});var h=r.frameSize||1;r.frameType&&(h="mp3"==r.frameType?1152:1);var p=e.length;o>p+1&&m(k("tlbC::{1}似乎传入了未重置chunk {2}",0,i,o+">"+p),3);for(var b=0,d=o;d1?b=Math.floor(b/v):(v=1,a=t),b+=u.length;var g=new Int16Array(b),w=0;for(d=0;d0){var O=2*(g.length-H);u=new Int16Array(g.buffer.slice(O)),g=new Int16Array(g.buffer.slice(0,O))}return{index:o,offset:l,filter:_,frameNext:u,sampleRate:a,data:g}},s.IIRFilter=function(e,t,a){var n=2*Math.PI*a/t,s=Math.sin(n),r=Math.cos(n),i=s/2,o=1+i,l=-2*r/o,_=(1-i)/o;if(e)var c=(1-r)/2/o,f=(1-r)/o;else c=(1+r)/2/o,f=-(1+r)/o;var u=0,h=0,p=0,b=0,m=0,d=function(e){return p=c*e+f*u+c*h-l*b-_*m,h=u,u=e,m=b,b=p,p};return d.Embed={x1:0,x2:0,y1:0,y2:0,b0:c,b1:f,a1:l,a2:_},d},s.PowerLevel=function(e,t){var a=e/t||0;return a<1251?Math.round(a/1250*10):Math.round(Math.min(100,Math.max(0,100*(1+Math.log(a/1e4)/Math.log(10)))))},s.PowerDBFS=function(e){var t=Math.max(.1,e||0);return t=Math.min(t,32767),t=20*Math.log(t/32767)/Math.log(10),Math.max(-100,Math.round(t))},s.CLog=function(e,t){if("object"==typeof console){var a=new Date,r=("0"+a.getMinutes()).substr(-2)+":"+("0"+a.getSeconds()).substr(-2)+"."+("00"+a.getMilliseconds()).substr(-3),i=this&&this.envIn&&this.envCheck&&this.id,l=["["+r+" "+o+(i?":"+i:"")+"]"+e],_=arguments,c=s.CLog,f=2,u=c.log||console.log;for(n(t)?u=1==t?c.error||console.error:3==t?c.warn||console.warn:u:f=1;f<_.length;f++)l.push(_[f]);d?u&&u("[IsLoser]"+l[0],l.length>1?l:""):u.apply(console,l)}};var m=function(){s.CLog.apply(this,arguments)},d=!0;try{d=!console.log.apply}catch(e){}var v=0;s.Sync={O:9,C:9},s.prototype=T.prototype={CLog:m,_streamStore:function(){return this.set.sourceStream?this:s},_streamCtx:function(){var e=this._streamStore().Stream;return e&&e._c},open:function(e,n){var o=this,l=o.set,_=o._streamStore(),u=0;e=e||a;var h=function(e,t){t=!!t,o.CLog(k("5tWi::录音open失败:")+e+",isUserNotAllow:"+t,1),u&&s.CloseNewCtx(u),n&&n(e,t)};o._streamTag="getUserMedia";var b=function(){o.CLog("open ok, id:"+o.id+" stream:"+o._streamTag),e(),o._SO=0},m=_.Sync,d=++m.O,v=m.C;if(o._O=o._O_=d,o._SO=o._S,t){var g=o.envCheck({envName:"H5",canProcess:!0});if(g)h(k("A5bm::不能录音:")+g);else if(l.sourceStream){if(o._streamTag="set.sourceStream",!s.GetContext())return void h(k("1iU7::不支持此浏览器从流中获取录音"));p(_);var w=o.Stream=l.sourceStream;w._RC=l.runningContext,w._call={};try{f(_)}catch(e){return p(_),void h(k("BTW2::从流中打开录音失败:")+e.message)}b()}else{var S=function(e,t){try{window.top.a}catch(e){return void h(k("Nclz::无权录音(跨域,请尝试给iframe添加麦克风访问策略,如{1})",0,'allow="camera;microphone"'))}/Permission|Allow/i.test(e)?h(k("gyO5::用户拒绝了录音权限"),!0):!1===window.isSecureContext?h(k("oWNo::浏览器禁止不安全页面录音,可开启https解决")):/Found/i.test(e)?h(t+k("jBa9::,无可用麦克风")):h(t)};if(s.IsOpen())b();else if(s.Support()){var M=l.runningContext;M||(M=u=s.GetContext(!0));var y=function(e){setTimeout((function(){e._call={};var t=s.Stream;t&&(p(),e._call=t._call),s.Stream=e,e._c=M,e._RC=l.runningContext,function(){if(v!=m.C||!o._O){var e=k("dFm8::open被取消");return d==m.O?o.close():e=k("VtJO::open被中断"),h(e),!0}}()||(s.IsOpen()?(t&&o.CLog(k("upb8::发现同时多次调用open"),1),f(_,1),b()):h(k("Q1GA::录音功能无效:无音频流")))}),100)},R=function(e){var t=e.name||e.message||e.code+":"+e;o.CLog(k("xEQR::请求录音权限错误"),1,e),S(t,k("bDOG::无法录音:")+t)},A=l.audioTrackSet||{};A.sampleRate=M.sampleRate;var T={audio:A};try{var x=s.Scope.getUserMedia(T,y,R)}catch(e){o.CLog("getUserMedia",3,e),T={audio:!0},x=s.Scope.getUserMedia(T,y,R)}o.CLog("getUserMedia("+JSON.stringify(T)+") "+c(M)+k("RiWe::,未配置noiseSuppression和echoCancellation时浏览器可能会自动打开降噪和回声消除,移动端可能会降低系统播放音量(关闭录音后可恢复),请参阅文档中audioTrackSet配置")+"("+i+") LM:"+r+" UA:"+navigator.userAgent),x&&x.then&&x.then(y).catch(R)}else S("",k("COxc::此浏览器不支持录音"))}}else h(k.G("NonBrowser-1",["open"])+k("EMJq::,可尝试使用RecordApp解决方案")+"("+i+"/tree/master/app-support-sample)")},close:function(e){e=e||a;var t=this._streamStore();this._stop();var n=" stream:"+this._streamTag,s=t.Sync;if(this._O=0,this._O_!=s.O)return this.CLog(k("hWVz::close被忽略(因为同时open了多个rec,只有最后一个会真正close)")+n,3),void e();s.C++,p(t),this.CLog("close,"+n),e()},mock:function(e,t){return this._stop(),this.isMock=1,this.mockEnvInfo=null,this.buffers=[e],this.recSize=e.length,this._setSrcSR(t),this._streamTag="mock",this},_setSrcSR:function(e){var t=this.set,a=t.sampleRate;a>e?t.sampleRate=e:a=0,this.srcSampleRate=e,this.CLog("srcSampleRate: "+e+" set.sampleRate: "+t.sampleRate+(a?" "+k("UHvm::忽略")+": "+a:""),a?3:0)},envCheck:function(e){var t,a=this.set,n="CPU_BE";if(t||s[n]||"function"!=typeof Int8Array||new Int8Array(new Int32Array([1]).buffer)[0]||(A(n),t=k("Essp::不支持{1}架构",0,n)),!t){var r=a.type,i=this[r+"_envCheck"];a.takeoffEncodeChunk&&(i?e.canProcess||(t=k("7uMV::{1}环境不支持实时处理",0,e.envName)):t=k("2XBl::{1}类型不支持设置takeoffEncodeChunk",0,r)+(this[r]?"":k("LG7e::(未加载编码器)"))),!t&&i&&(t=this[r+"_envCheck"](e,a))}return t||""},envStart:function(e,t){var a=this.set;if(this.isMock=e?1:0,this.mockEnvInfo=e,this.buffers=[],this.recSize=0,e&&(this._streamTag="env$"+e.envName),this.state=1,this.envInLast=0,this.envInFirst=0,this.envInFix=0,this.envInFixTs=[],this._setSrcSR(t),this.engineCtx=0,this[a.type+"_start"]){var n=this.engineCtx=this[a.type+"_start"](a);n&&(n.pcmDatas=[],n.pcmSize=0)}},envResume:function(){this.envInFixTs=[]},envIn:function(e,t){var a=this,n=a.set,r=a.engineCtx;if(1==a.state){var i=a.srcSampleRate,o=e.length,l=s.PowerLevel(t,o),_=a.buffers,c=_.length;_.push(e);var f=_,u=c,h=Date.now(),p=Math.round(o/i*1e3);a.envInLast=h,1==a.buffers.length&&(a.envInFirst=h-p);var b=a.envInFixTs;b.splice(0,0,{t:h,d:p});for(var m=h,d=0,v=0;v3e3){b.length=v;break}m=g.t,d+=g.d}var w=b[1],S=h-m;if(S-d>S/3&&(w&&S>1e3||b.length>=6)){var M=h-w.t-p;if(M>p/5){var y=!n.disableEnvInFix;if(a.CLog("["+h+"]"+R.get(k(y?"4Kfd::补偿{1}ms":"bM5i::未补偿{1}ms",1),[M]),3),a.envInFix+=M,y){var A=new Int16Array(M*i/1e3);o+=A.length,_.push(A)}}}var T=a.recSize,x=o,B=T+x;if(a.recSize=B,r){var E=s.SampleData(_,i,n.sampleRate,r.chunkInfo);r.chunkInfo=E,B=(T=r.pcmSize)+(x=E.data.length),r.pcmSize=B,_=r.pcmDatas,c=_.length,_.push(E.data),i=E.sampleRate}var P=Math.round(B/i*1e3),L=_.length,C=f.length,I=function(){for(var e=H?0:-x,t=null==_[0],s=c;s10&&a.envInFirst-h>1e3&&a.CLog("rec.set.onProcess"+k("2ghS::低性能,耗时{1}ms",0,O),3),!0===H){var N=0;for(v=c;v"+S.length,Date.now()-n)),setTimeout((function(){n=Date.now(),l[_.type](S,(function(e,t){p(e,t,g)}),(function(e){h(e)}))}))}else h(k("xkKd::音频buffers被释放"))}else h(k("xGuI::未加载{1}编码器,请尝试到{2}的src/engine内找到{1}的编码器并加载",0,_.type,o));else h(k("Ltz3::未采集到录音"))}};var g=function(e,t){t.pos||(t.pos=[0],t.tracks={},t.bytes=[]);var a=t.tracks,n=[t.pos[0]],s=function(){t.pos[0]=n[0]},r=t.bytes.length,i=new Uint8Array(r+e.length);if(i.set(t.bytes),i.set(e,r),t.bytes=i,!t._ht){if(M(i,n),y(i,n),!w(M(i,n),[24,83,128,103]))return;for(M(i,n);n[0]32 bit",3)),B.sampleRate!=t.sampleRate||32!=B.bitDepth||B.channels<1||!/(\b|_)PCM\b/i.test(B.codec))return t.bytes=[],t.bad||m("WebM Track Unexpected",3,t),t.bad=1,-1;for(var E=[],P=0;n[0]1){var O=[];for(k=0;k=e.length)){var s=("0000000"+e[n].toString(2)).substr(-8),r=/^(0*1)(\d*)$/.exec(s);if(r){var i=r[1].length,o=[];if(!(n+i>e.length)){for(var l=0;le.length)return;for(var i=0;it.length)&&(a="{?}",m("i18n["+e+"] no {"+n+"}: "+s,3)),r?"":a}))):"en"==a?R.v_G(e,t,"zh"):R.v_G(e,t,"en")},$T:function(){return R.v_T.apply(null,arguments)},v_T:function(){for(var e,t=arguments,a="",s=[],r=0,i=o+".i18n.$T:",l=/^([\w\-]*):/,_=0;_0?a:R.v_G(a,s):""}},k=R.$T;k.G=R.get,k("NonBrowser-1::非浏览器环境,不支持{1}",1),k("IllegalArgs-1::参数错误:{1}",1),k("NeedImport-2::调用{1}需要先导入{2}",2),k("NotSupport-1::不支持:{1}",1),s.TrafficImgUrl="//ia.51.la/go1?id=20469973&pvFlag=1";var A=s.Traffic=function(e){if(t){e=e?"/"+o+"/Report/"+e:"";var a=s.TrafficImgUrl;if(a){var n=s.Traffic,r=/^(https?:..[^\/#]*\/?)[^#]*/i.exec(location.href)||[],i=r[1]||"http://file/",l=(r[0]||i)+e;0==a.indexOf("//")&&(a=/^https:/i.test(l)?"https:"+a:"http:"+a),e&&(a=a+"&cu="+encodeURIComponent(i+e)),n[l]||(n[l]=1,(new Image).src=a,m("Traffic Analysis Image: "+(e||o+".TrafficImgUrl="+s.TrafficImgUrl)))}}};l&&(m(k("8HO5::覆盖导入{1}",0,o),1),l.Destroy()),e[o]=s}function T(e){this.id=++v,A();var t={type:"mp3",onProcess:a};for(var s in e)t[s]=e[s];this.set=t;var r=t.bitRate,i=t.sampleRate;(r&&!n(r)||i&&!n(i))&&this.CLog(k.G("IllegalArgs-1",[k("VtS4::{1}和{2}必须是数值",0,"sampleRate","bitRate")]),1,e),t.bitRate=+r||16,t.sampleRate=+i||16e3,this.state=0,this._S=9,this.Sync={O:9,C:9}}}(r=s?window:Object,s),void 0===(n=function(){return r.Recorder}.call(t,a,t,e))||(e.exports=n),e.exports&&(e.exports=r.Recorder)},function(e,t){var a,n,s;a="object"==typeof window&&!!window.document,n=(a?window:Object).Recorder,s=n.i18n,function(e,t,a,n){"use strict";var s="48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000",r="8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256, 320";e.prototype.enc_mp3={stable:!0,takeEC:"full",getTestMsg:function(){return a("Zm7L::采样率范围:{1};比特率范围:{2}(不同比特率支持的采样率范围不同,小于32kbps时采样率需小于32000)",0,s,r)}};var i,o=function(t){var n=t.bitRate,i=t.sampleRate,o=i;if(-1==(" "+r+",").indexOf(" "+n+",")&&e.CLog(a("eGB9::{1}不在mp3支持的取值范围:{2}",0,"bitRate="+n,r),3),-1==(" "+s+",").indexOf(" "+i+",")){for(var l=s.split(", "),_=[],c=0;c0){if(p+i>f.length){var o=new Int8Array(f.length+Math.max(5e5,i));o.set(f.subarray(0,p)),f=o}f.set(e,p),p+=i}if(bi.memory.length){var a=new Int8Array(i.memory.length+Math.max(5e5,t));a.set(i.memory.subarray(0,i.mOffset)),i.memory=a}i.memory.set(e,i.mOffset),i.mOffset+=t};switch(t.action){case"stop":i.encObj=null,delete a[t.id];break;case"encode":i.pcmSize+=t.pcm.length;try{var l=i.encObj.encodeBuffer(t.pcm)}catch(e){i.err=e,console.error(e)}l&&l.length>0&&(i.takeoff?p.onmessage({action:"takeoff",id:t.id,chunk:l}):o(l));break;case"complete":try{l=i.encObj.flush()}catch(e){i.err=e,console.error(e)}if(l&&l.length>0&&(i.takeoff?p.onmessage({action:"takeoff",id:t.id,chunk:l}):o(l)),i.err){p.onmessage({action:t.action,id:t.id,err:"MP3 Encoder: "+i.err.message});break}var _=[i.memory.buffer.slice(0,i.mOffset)],c=r.fn(_,i.mOffset,i.pcmSize,i.sampleRate);p.onmessage({action:t.action,id:t.id,blob:_[0]||new ArrayBuffer(0),meta:c})}},l=function(e){p.onmessage=function(t){var a=t;e&&(a=t.data);var n=c[a.id];n&&("takeoff"==a.action?n.set.takeoffEncodeChunk(new Uint8Array(a.chunk.buffer)):(n.call&&n.call(a),n.call=null))}},h=function(){var e={worker:p,set:t};return t?(e.id=++c.id,c[e.id]=e,o(t),p.postMessage({action:"init",id:e.id,sampleRate:t.sampleRate,bitRate:t.bitRate,takeoff:!!t.takeoffEncodeChunk,x:new Int16Array(5)})):p.postMessage({x:new Int16Array(5)}),e},p=i;if(n||!_)return e.CLog(a("k9PT::当前环境不支持Web Worker,mp3实时编码器运行在主线程中"),3),p={postMessage:function(e){r({data:e})}},s={wkScope:{wk_ctxs:{},wk_lame:e.lamejs,wk_mp3TrimFix:u}},l(),h();try{if(!p){var b=(r+"").replace(/\w+\.onmessage/g,"self.postMessage"),m=");wk_lame();self.onmessage="+(b=b.replace(/\w+.wkScope/g,"wkScope"));m+=";var wkScope={ wk_ctxs:{},wk_lame:wk_lame",m+=",wk_mp3TrimFix:{rm:"+u.rm+",fn:"+u.fn+"} }";var d=e.lamejs.toString(),v=(window.URL||webkitURL).createObjectURL(new Blob(["var wk_lame=(",d,m],{type:"text/javascript"}));p=new Worker(v),setTimeout((function(){(window.URL||webkitURL).revokeObjectURL(v)}),1e4),l(1)}var g=h();return g.isW=1,i=p,g}catch(e){return p&&p.terminate(),console.error(e),f(t,1)}};e.prototype.mp3_stop=function(t){if(t&&t.worker){t.worker.postMessage({action:"stop",id:t.id}),t.worker=null,delete c[t.id];var n=-1;for(var s in c)n++;n&&e.CLog(a("fT6M::mp3 worker剩{1}个未stop",0,n),3)}},e.prototype.mp3_encode=function(e,t){e&&e.worker&&e.worker.postMessage({action:"encode",id:e.id,pcm:t})},e.prototype.mp3_complete=function(e,t,n,s){var r=this;e&&e.worker?(e.call=function(a){s&&r.mp3_stop(e),a.err?n(a.err):(h(a.meta,e.set),t(a.blob,"audio/mp3"))},e.worker.postMessage({action:"complete",id:e.id})):n(a("mPxH::mp3编码器未start"))},e.mp3ReadMeta=function(e,t){var a="undefined"!=typeof window&&window.parseInt||"undefined"!=typeof self&&self.parseInt||parseInt,n=new Uint8Array(e[0]||[]);if(n.length<4)return null;var s=function(e,t){return("0000000"+((t||n)[e]||0).toString(2)).substr(-8)},r=s(0)+s(1),i=s(2)+s(3);if(!/^1{11}/.test(r))return null;var o={"00":2.5,10:2,11:1}[r.substr(11,2)],l={"01":3}[r.substr(13,2)],_={1:[44100,48e3,32e3],2:[22050,24e3,16e3],2.5:[11025,12e3,8e3]}[o];_&&(_=_[a(i.substr(4,2),2)]);var c=[[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160],[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320]][1==o?1:0][a(i.substr(0,4),2)];if(!(o&&l&&c&&_))return null;for(var f=Math.round(8*t/c),u=1==l?384:2==l||1==o?1152:576,h=u/_*1e3,p=Math.floor(u*c/8/_*1e3),b=0,m=0,d=0;d=p+3){var g=new Uint8Array(v);b="1"==s(v.byteLength-(m-(p+3)+1),g).charAt(6);break}}return b&&p++,{version:o,layer:l,sampleRate:_,bitRate:c,duration:f,size:t,hasPadding:b,frameSize:p,frameDurationFloat:h}};var u={rm:e.mp3ReadMeta,fn:function(e,t,a,n){var s=this.rm(e,t);if(!s)return{err:"mp3 unknown format"};var r=Math.round(a/n*1e3),i=Math.floor((s.duration-r)/s.frameDurationFloat);if(i>0){var o=i*s.frameSize-(s.hasPadding?1:0);t-=o;for(var l=0,_=[],c=0;c=f.byteLength?(o-=f.byteLength,_.push(f),e.splice(c,1),c--):(e[c]=f.slice(o),l=f,o=0)}if(!this.rm(e,t)){for(l&&(e[0]=l),c=0;c<_.length;c++)e.splice(c,0,_[c]);s.err="mp3 fix error: 已还原,错误原因不明"}var u=s.trimFix={};u.remove=i,u.removeDuration=Math.round(i*s.frameDurationFloat),u.duration=Math.round(8*t/s.bitRate)}return s}},h=function(t,n){var s="MP3 Info: ";(t.sampleRate&&t.sampleRate!=n.sampleRate||t.bitRate&&t.bitRate!=n.bitRate)&&(e.CLog(s+a("uY9i::和设置的不匹配{1},已更新成{2}",0,"set:"+n.bitRate+"kbps "+n.sampleRate+"hz","set:"+t.bitRate+"kbps "+t.sampleRate+"hz"),3,n),n.sampleRate=t.sampleRate,n.bitRate=t.bitRate);var r=t.trimFix;r?(s+=a("iMSm::Fix移除{1}帧",0,r.remove)+" "+r.removeDuration+"ms -> "+r.duration+"ms",r.remove>2&&(t.err=(t.err?t.err+", ":"")+a("b9zm::移除帧数过多"))):s+=(t.duration||"-")+"ms",t.err?e.CLog(s,1,t.err,t):e.CLog(s,t)}}(n,0,s.$T,a)},function(e,t){!function(e){"use strict";function t(){var e=function(e){return Math.log(e)/Math.log(10)},a=function(e){throw new Error("abort("+e+")")};function n(e){return new Int8Array(e)}function s(e){return new Int16Array(e)}function r(e){return new Int32Array(e)}function i(e){return new Float32Array(e)}function o(e){return new Float64Array(e)}function l(e){if(1==e.length)return i(e[0]);var t=e[0];e=e.slice(1);for(var a=[],n=0;n>=1;0!=e--;)s[r++]=i>a[n++]?0:1,s[r++]=i>a[n++]?0:1}function i(t,a,n,s,r,i){var o=(t>>=1)%2;for(t>>=1;0!=t--;){var l,_,c,f,u,h,p,b;l=n[s++]*a,_=n[s++]*a,u=0|l,c=n[s++]*a,h=0|_,f=n[s++]*a,p=0|c,l+=e.adj43[u],b=0|f,_+=e.adj43[h],r[i++]=0|l,c+=e.adj43[p],r[i++]=0|_,f+=e.adj43[b],r[i++]=0|c,r[i++]=0|f}0!=o&&(u=0|(l=n[s++]*a),h=0|(_=n[s++]*a),l+=e.adj43[u],_+=e.adj43[h],r[i++]=0|l,r[i++]=0|_)}var o=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function l(e,t,n,s){var r=function(e,t,a){var n=0,s=0;do{var r=e[t++],i=e[t++];n>=16)>r&&(o=r,n++),s.bits+=o,n}(e,t,n,o[r-1],s);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return function(e,t,a,n,s){var r=0,i=0,o=0,l=T.ht[n].xlen,_=T.ht[n].hlen,c=T.ht[n+1].hlen,f=T.ht[n+2].hlen;do{var u=e[t+0]*l+e[t+1];t+=2,r+=_[u],i+=c[u],o+=f[u]}while(ti&&(r=i,h++),r>o&&(r=o,h=n+2),s.bits+=r,h}(e,t,n,o[r-1],s);default:var i,l;for(r>O.IXMAX_VAL&&a(),r-=15,i=24;i<32&&!(T.ht[i].linmax>=r);i++);for(l=i-8;l<24&&!(T.ht[l].linmax>=r);l++);return function(e,t,a,n,s,r){var i,o=65536*T.ht[n].xlen+T.ht[s].xlen,l=0;do{var _=e[t++],c=e[t++];0!=_&&(_>14&&(_=15,l+=o),_*=16),0!=c&&(c>14&&(c=15,l+=o),_+=c),l+=T.largetbl[_]}while(t>=16)>i&&(l=i,n=s),r.bits+=l,n}(e,t,n,l,i,s)}}function _(e,a,n,s,r,i,o,_){for(var c=a.big_values,f=2;f=c)break;var h=r[f-2]+a.count1bits;if(n.part2_3_length<=h)break;var p=new t(h),b=l(s,u,c,p);h=p.bits,n.part2_3_length<=h||(n.assign(a),n.part2_3_length=h,n.region0_count=i[f-2],n.region1_count=f-2-i[f-2],n.table_select[0]=o[f-2],n.table_select[1]=_[f-2],n.table_select[2]=b)}}this.noquant_count_bits=function(e,n,s){var r=n.l3_enc,i=Math.min(576,n.max_nonzero_coeff+2>>1<<1);for(null!=s&&(s.sfb_count1=0);i>1&&0==(r[i-1]|r[i-2]);i-=2);n.count1=i;for(var o=0,_=0;i>3;i-=4){var c;if((2147483647&(r[i-1]|r[i-2]|r[i-3]|r[i-4]))>1)break;c=2*(2*(2*r[i-4]+r[i-3])+r[i-2])+r[i-1],o+=T.t32l[c],_+=T.t33l[c]}var f=o;if(n.count1table_select=0,o>_&&(f=_,n.count1table_select=1),n.count1bits=f,n.big_values=i,0==i)return f;if(n.block_type==Y.SHORT_TYPE)(o=3*e.scalefac_band.s[3])>n.big_values&&(o=n.big_values),_=n.big_values;else if(n.block_type==Y.NORM_TYPE){if(o=n.region0_count=e.bv_scf[i-2],_=n.region1_count=e.bv_scf[i-1],_=e.scalefac_band.l[o+_+2],o=e.scalefac_band.l[o+1],_(_=i)&&(o=_);if(o=Math.min(o,i),_=Math.min(_,i),0_?O.LARGE_BITS:(function(t,n,r,o,l){var _,c,f,h=0,p=0,b=0,m=0,d=n,v=0,g=d,w=0,S=t,M=0;for(f=null!=l&&o.global_gain==l.global_gain,c=o.block_type==Y.SHORT_TYPE?38:21,_=0;_<=c;_++){var y=-1;if((f||o.block_type==Y.NORM_TYPE)&&(y=o.global_gain-(o.scalefac[_]+(0!=o.preflag?e.pretab[_]:0)<o.max_nonzero_coeff&&(R=o.max_nonzero_coeff-h+1,u.fill(n,o.max_nonzero_coeff,576,0),(k=R)<0&&(k=0),_=c+1),0==p&&0==b&&(g=d,w=v,S=t,M=m),null!=l&&l.sfb_count1>0&&_>=l.sfb_count1&&l.step[_]>0&&y>=l.step[_]?(0!=p&&(i(p,r,S,M,g,w),p=0,g=d,w=v,S=t,M=m),b+=k):(0!=b&&(s(b,r,S,M,g,w),b=0,g=d,w=v,S=t,M=m),p+=k),k<=0){0!=b&&a(),0!=p&&a();break}}_<=c&&(v+=o.width[_],m+=o.width[_],h+=o.width[_])}0!=p&&(i(p,r,S,M,g,w),p=0),0!=b&&a()}(n,l,e.IPOW20(r.global_gain),r,o),0!=(2&t.substep_shaping)&&a(),this.noquant_count_bits(t,r,o))},this.best_huffman_divide=function(e,a){var n=new D,s=a.l3_enc,i=r(23),o=r(23),c=r(23),f=r(23);if(a.block_type!=Y.SHORT_TYPE||1!=e.mode_gr){n.assign(a),a.block_type==Y.NORM_TYPE&&(function(e,a,n,s,r,i,o){for(var _=a.big_values,c=0;c<=22;c++)s[c]=O.LARGE_BITS;for(c=0;c<16;c++){var f=e.scalefac_band.l[c+1];if(f>=_)break;var u=0,h=new t(u),p=l(n,0,f,h);u=h.bits;for(var b=0;b<8;b++){var m=e.scalefac_band.l[c+b+2];if(m>=_)break;var d=u,v=l(n,f,m,h=new t(d));d=h.bits,s[c+b]>d&&(s[c+b]=d,r[c+b]=c,i[c+b]=p,o[c+b]=v)}}}(e,a,s,i,o,c,f),_(e,n,a,s,i,o,c,f));var u=n.big_values;if(!(0==u||(s[u-2]|s[u-1])>1||(u=a.count1+2)>576)){n.assign(a),n.count1=u;for(var h=0,p=0;u>n.big_values;u-=4){var b=2*(2*(2*s[u-4]+s[u-3])+s[u-2])+s[u-1];h+=T.t32l[b],p+=T.t33l[b]}if(n.big_values=u,n.count1table_select=0,h>p&&(h=p,n.count1table_select=1),n.count1bits=h,n.block_type==Y.NORM_TYPE)_(e,n,a,s,i,o,c,f);else{if(n.part2_3_length=h,(h=e.scalefac_band.l[8])>u&&(h=u),h>0){var m=new t(n.part2_3_length);n.table_select[0]=l(s,0,h,m),n.part2_3_length=m.bits}u>h&&(m=new t(n.part2_3_length),n.table_select[1]=l(s,h,u,m),n.part2_3_length=m.bits),a.part2_3_length>n.part2_3_length&&a.assign(n)}}}};var c=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],f=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],h=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],p=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];w.slen1_tab=h,w.slen2_tab=p,this.best_scalefac_store=function(t,a,n,s){var r,i,o,l,_=s.tt[a][n],u=0;for(o=0,r=0;r<_.sfbmax;r++){var b=_.width[r];for(o+=b,l=-b;l<0&&0==_.l3_enc[l+o];l++);0==l&&(_.scalefac[r]=u=-2)}if(0==_.scalefac_scale&&0==_.preflag){var m=0;for(r=0;r<_.sfbmax;r++)_.scalefac[r]>0&&(m|=_.scalefac[r]);if(0==(1&m)&&0!=m){for(r=0;r<_.sfbmax;r++)_.scalefac[r]>0&&(_.scalefac[r]>>=1);_.scalefac_scale=u=1}}if(0==_.preflag&&_.block_type!=Y.SHORT_TYPE&&2==t.mode_gr){for(r=11;r0&&(_.scalefac[r]-=e.pretab[r]);_.preflag=u=1}}for(i=0;i<4;i++)s.scfsi[n][i]=0;for(2==t.mode_gr&&1==a&&s.tt[0][n].block_type!=Y.SHORT_TYPE&&s.tt[1][n].block_type!=Y.SHORT_TYPE&&(function(e,t){for(var a,n=t.tt[1][e],s=t.tt[0][e],r=0;r=0);a++);if(a==T.scfsi_band[r+1]){for(a=T.scfsi_band[r];au&&(n.part2_length=u,n.scalefac_compress=r)}}(n,s),u=0),r=0;r<_.sfbmax;r++)-2==_.scalefac[r]&&(_.scalefac[r]=0);0!=u&&(2==t.mode_gr?this.scale_bitcount(_):this.scale_bitcount_lsf(t,_))};var b=[0,18,36,54,54,36,54,72,54,72,90,72,90,108,108,126],m=[0,18,36,54,51,35,53,71,52,70,88,69,87,105,104,122],d=[0,10,20,30,33,21,31,41,32,42,52,43,53,63,64,74];this.scale_bitcount=function(t){var a,n,s,r=0,i=0,o=t.scalefac;if(t.block_type==Y.SHORT_TYPE)s=b,0!=t.mixed_block_flag&&(s=m);else if(s=d,0==t.preflag){for(n=11;ns[a]&&(t.part2_length=s[a],t.scalefac_compress=a);return t.part2_length==O.LARGE_BITS};var v=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(t,n){var s,i,o,l,_,c,f,u,h=r(4),p=n.scalefac;for(s=0!=n.preflag?2:0,f=0;f<4;f++)h[f]=0;if(n.block_type==Y.SHORT_TYPE){i=1;var b=e.nr_of_sfb_block[s][i];for(u=0,o=0;o<4;o++)for(l=b[o]/3,f=0;fh[o]&&(h[o]=p[3*u+_])}else for(i=0,b=e.nr_of_sfb_block[s][i],u=0,o=0;o<4;o++)for(l=b[o],f=0;fh[o]&&(h[o]=p[u]);for(c=!1,o=0;o<4;o++)h[o]>v[s][o]&&(c=!0);if(!c){var m,d,w,S;for(n.sfb_partition_table=e.nr_of_sfb_block[s][i],o=0;o<4;o++)n.slen[o]=g[h[o]];switch(m=n.slen[0],d=n.slen[1],w=n.slen[2],S=n.slen[3],s){case 0:n.scalefac_compress=(5*m+d<<4)+(w<<2)+S;break;case 1:n.scalefac_compress=400+(5*m+d<<2)+w;break;case 2:n.scalefac_compress=500+3*m+d;break;default:a()}}if(!c)for(n.part2_length=0,o=0;o<4;o++)n.part2_length+=n.slen[o]*n.sfb_partition_table[o];return c};var g=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){for(var a,s=0;e.scalefac_band.l[++s]t;)a--;for(a<0&&(a=n[s][0]),e.bv_scf[t-2]=a,a=n[s][1];e.scalefac_band.l[a+e.bv_scf[t-2]+2]>t;)a--;a<0&&(a=n[s][1]),e.bv_scf[t-1]=a}}}function S(){}function M(){function e(e,t,a,n,s,r,i,o,l,_,c,f,u,h){this.quant_comp=t,this.quant_comp_s=a,this.safejoint=n,this.nsmsfix=s,this.st_lrm=r,this.st_s=i,this.nsbass=o,this.scale=l,this.masking_adj=_,this.ath_lower=c,this.ath_curve=f,this.interch=u,this.sfscale=h}var t;function n(e,t,n){a()}this.setModules=function(e){t=e};var s=[new e(8,9,9,0,0,6.6,145,0,.95,0,-30,11,.0012,1),new e(16,9,9,0,0,6.6,145,0,.95,0,-25,11,.001,1),new e(24,9,9,0,0,6.6,145,0,.95,0,-20,11,.001,1),new e(32,9,9,0,0,6.6,145,0,.95,0,-15,11,.001,1),new e(40,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new e(48,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new e(56,9,9,0,0,6.6,145,0,.95,0,-6,11,8e-4,1),new e(64,9,9,0,0,6.6,145,0,.95,0,-2,11,8e-4,1),new e(80,9,9,0,0,6.6,145,0,.95,0,0,8,7e-4,1),new e(96,9,9,0,2.5,6.6,145,0,.95,0,1,5.5,6e-4,1),new e(112,9,9,0,2.25,6.6,145,0,.95,0,2,4.5,5e-4,1),new e(128,9,9,0,1.95,6.4,140,0,.95,0,3,4,2e-4,1),new e(160,9,9,1,1.79,6,135,0,.95,-2,5,3.5,0,1),new e(192,9,9,1,1.49,5.6,125,0,.97,-4,7,3,0,0),new e(224,9,9,1,1.25,5.2,125,0,.98,-6,9,2,0,0),new e(256,9,9,1,.97,5.2,125,0,1,-8,10,1,0,0),new e(320,9,9,1,.9,5.2,125,0,1,-10,12,0,0,0)];function r(e,a,n){var r=a,i=t.nearestBitrateFullIndex(a);if(e.VBR=d.vbr_abr,e.VBR_mean_bitrate_kbps=r,e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320),e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.brate=e.VBR_mean_bitrate_kbps,e.VBR_mean_bitrate_kbps>320&&(e.disable_reservoir=!0),s[i].safejoint>0&&(e.exp_nspsytune=2|e.exp_nspsytune),s[i].sfscale>0&&(e.internal_flags.noise_shaping=2),Math.abs(s[i].nsbass)>0){var o=int(4*s[i].nsbass);o<0&&(o+=64),e.exp_nspsytune=e.exp_nspsytune|o<<2}return 0!=n?e.quant_comp=s[i].quant_comp:Math.abs(e.quant_comp- -1)>0||(e.quant_comp=s[i].quant_comp),0!=n?e.quant_comp_short=s[i].quant_comp_s:Math.abs(e.quant_comp_short- -1)>0||(e.quant_comp_short=s[i].quant_comp_s),0!=n?e.msfix=s[i].nsmsfix:Math.abs(e.msfix- -1)>0||(e.msfix=s[i].nsmsfix),0!=n?e.internal_flags.nsPsy.attackthre=s[i].st_lrm:Math.abs(e.internal_flags.nsPsy.attackthre- -1)>0||(e.internal_flags.nsPsy.attackthre=s[i].st_lrm),0!=n?e.internal_flags.nsPsy.attackthre_s=s[i].st_s:Math.abs(e.internal_flags.nsPsy.attackthre_s- -1)>0||(e.internal_flags.nsPsy.attackthre_s=s[i].st_s),0!=n?e.scale=s[i].scale:Math.abs(e.scale- -1)>0||(e.scale=s[i].scale),0!=n?e.maskingadjust=s[i].masking_adj:Math.abs(e.maskingadjust-0)>0||(e.maskingadjust=s[i].masking_adj),s[i].masking_adj>0?0!=n?e.maskingadjust_short=.9*s[i].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=.9*s[i].masking_adj):0!=n?e.maskingadjust_short=1.1*s[i].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=1.1*s[i].masking_adj),0!=n?e.ATHlower=-s[i].ath_lower/10:Math.abs(10*-e.ATHlower-0)>0||(e.ATHlower=-s[i].ath_lower/10),0!=n?e.ATHcurve=s[i].ath_curve:Math.abs(e.ATHcurve- -1)>0||(e.ATHcurve=s[i].ath_curve),0!=n?e.interChRatio=s[i].interch:Math.abs(e.interChRatio- -1)>0||(e.interChRatio=s[i].interch),a}this.apply_preset=function(e,t,a){switch(t){case Q.R3MIX:t=Q.V3,e.VBR=d.vbr_mtrh;break;case Q.MEDIUM:t=Q.V4,e.VBR=d.vbr_rh;break;case Q.MEDIUM_FAST:t=Q.V4,e.VBR=d.vbr_mtrh;break;case Q.STANDARD:t=Q.V2,e.VBR=d.vbr_rh;break;case Q.STANDARD_FAST:t=Q.V2,e.VBR=d.vbr_mtrh;break;case Q.EXTREME:t=Q.V0,e.VBR=d.vbr_rh;break;case Q.EXTREME_FAST:t=Q.V0,e.VBR=d.vbr_mtrh;break;case Q.INSANE:return t=320,e.preset=t,r(e,t,a),e.VBR=d.vbr_off,t}switch(e.preset=t,t){case Q.V9:case Q.V8:case Q.V7:case Q.V6:case Q.V5:case Q.V4:case Q.V3:case Q.V2:case Q.V1:case Q.V0:return n(),t}return 8<=t&&t<=320?r(e,t,a):(e.preset=0,t)}}function y(){var e;this.setModules=function(t){e=t},this.ResvFrameBegin=function(t,n){var s,r=t.internal_flags,i=r.l3_side,o=e.getframebits(t);n.bits=(o-8*r.sideinfo_len)/r.mode_gr;var l=2048*r.mode_gr-8;t.brate>320?a():(s=11520,t.strict_ISO&&a()),r.ResvMax=s-o,r.ResvMax>l&&(r.ResvMax=l),(r.ResvMax<0||t.disable_reservoir)&&(r.ResvMax=0);var _=n.bits*r.mode_gr+Math.min(r.ResvSize,r.ResvMax);return _>s&&(_=s),i.resvDrain_pre=0,null!=r.pinfo&&a(),_},this.ResvMaxBits=function(e,t,a,n){var s,r=e.internal_flags,i=r.ResvSize,o=r.ResvMax;0!=n&&(i+=t),0!=(1&r.substep_shaping)&&(o*=.9),a.bits=t,10*i>9*o?(s=i-9*o/10,a.bits+=s,r.substep_shaping|=128):(s=0,r.substep_shaping&=127,e.disable_reservoir||0!=(1&r.substep_shaping)||(a.bits-=.1*t));var l=i<6*r.ResvMax/10?i:6*r.ResvMax/10;return(l-=s)<0&&(l=0),l},this.ResvAdjust=function(e,t){e.ResvSize-=t.part2_3_length+t.part2_length},this.ResvFrameEnd=function(e,t){var a,n=e.l3_side;e.ResvSize+=t*e.mode_gr;var s=0;n.resvDrain_post=0,n.resvDrain_pre=0,0!=(a=e.ResvSize%8)&&(s+=a),(a=e.ResvSize-s-e.ResvMax)>0&&(s+=a);var r=Math.min(8*n.main_data_begin,s)/8;n.resvDrain_pre+=8*r,s-=8*r,e.ResvSize-=8*r,n.main_data_begin-=r,n.resvDrain_post+=s,e.ResvSize-=s}}function R(){this.setModules=function(e,t,a){};var e=[0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8e3,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16e3,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32e3,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448];function t(t,a){return a=a>>8^e[255&(a^t)]}this.updateMusicCRC=function(e,a,n,s){for(var r=0;r0;){var n;0==_&&(_=8,l++,e.header[e.w_ptr].write_timing==o&&c(e),i[l]=0),a-=n=Math.min(a,_),_-=n,i[l]|=t>>a<<_,o+=n}}function p(e,a){var n,s=e.internal_flags;if(a>=8&&(f(s,76,8),a-=8),a>=8&&(f(s,65,8),a-=8),a>=8&&(f(s,77,8),a-=8),a>=8&&(f(s,69,8),a-=8),a>=32){var r=t.getLameShortVersion();if(a>=32)for(n=0;n=8;++n)a-=8,f(s,r.charCodeAt(n),8)}for(;a>=1;a-=1)f(s,s.ancillary_flag,1),s.ancillary_flag^=e.disable_reservoir?0:1}function b(e,t,a){for(var n=e.header[e.h_ptr].ptr;a>0;){var s=Math.min(a,8-(7&n));a-=s,e.header[e.h_ptr].buf[n>>3]|=t>>a<<8-(7&n)-s,n+=s}e.header[e.h_ptr].ptr=n}function m(e,t){var a,n=T.ht[t.count1table_select+32],s=0,r=t.big_values,i=t.big_values;for(a=(t.count1-t.big_values)/4;a>0;--a){var o=0,l=0;0!=t.l3_enc[r+0]&&(l+=8,t.xr[i+0]<0&&o++),0!=t.l3_enc[r+1]&&(l+=4,o*=2,t.xr[i+1]<0&&o++),0!=t.l3_enc[r+2]&&(l+=2,o*=2,t.xr[i+2]<0&&o++),0!=t.l3_enc[r+3]&&(l++,o*=2,t.xr[i+3]<0&&o++),r+=4,i+=4,f(e,o+n.table[l],n.hlen[l]),s+=n.hlen[l]}return s}function d(e,t,a,n,s){var r=T.ht[t],i=0;if(0==t)return i;for(var o=a;o15&&(p>14&&(h|=p-15<<1,_=c,p=15),b>14&&(h<<=c,h|=b-15,_+=c,b=15),u=16),0!=b&&(h<<=1,s.xr[o+1]<0&&h++,l--),p=p*u+b,_-=l,l+=r.hlen[p],f(e,r.table[p],l),f(e,h,_),i+=l+_}return i}function v(e,t){var a=3*e.scalefac_band.s[3];a>t.big_values&&(a=t.big_values);var n=d(e,t.table_select[0],0,a,t);return n+=d(e,t.table_select[1],a,t.big_values,t)}function g(e,t){var a,n,s,r;a=t.big_values;var i=t.region0_count+1;return s=e.scalefac_band.l[i],i+=t.region1_count+1,s>a&&(s=a),(r=e.scalefac_band.l[i])>a&&(r=a),n=d(e,t.table_select[0],0,s,t),n+=d(e,t.table_select[1],s,r,t),n+=d(e,t.table_select[2],r,a,t)}function S(){this.total=0}function M(t,n){var s,r,i,_=t.internal_flags;return _.w_ptr,-1==(i=_.h_ptr-1)&&(i=G.MAX_HEADER_BUF-1),s=_.header[i].write_timing-o,n.total=s,s>=0&&a(),s+=r=e.getframebits(t),n.total+=r,n.total%8!=0?n.total=1+n.total/8:n.total=n.total/8,n.total+=l+1,s<0&&a(),s}this.getframebits=function(e){var t,a=e.internal_flags;return t=0!=a.bitrate_index?T.bitrate_table[e.version][a.bitrate_index]:e.brate,8*(0|72e3*(e.version+1)*t/e.out_samplerate+a.padding)},this.flush_bitstream=function(e){var t,n,s=e.internal_flags,r=s.h_ptr-1;-1==r&&(r=G.MAX_HEADER_BUF-1),t=s.l3_side,(n=M(e,new S))<0||(p(e,n),s.ResvSize=0,t.main_data_begin=0,s.findReplayGain&&a(),s.findPeakSample&&a())},this.format_bitstream=function(e){var t,n=e.internal_flags;t=n.l3_side;var s=this.getframebits(e);p(e,t.resvDrain_pre),function(e,t){var n,s,r,i=e.internal_flags;if(n=i.l3_side,i.header[i.h_ptr].ptr=0,u.fill(i.header[i.h_ptr].buf,0,i.sideinfo_len,0),e.out_samplerate<16e3?b(i,4094,12):b(i,4095,12),b(i,e.version,1),b(i,1,2),b(i,e.error_protection?0:1,1),b(i,i.bitrate_index,4),b(i,i.samplerate_index,2),b(i,i.padding,1),b(i,e.extension,1),b(i,e.mode.ordinal(),2),b(i,i.mode_ext,2),b(i,e.copyright,1),b(i,e.original,1),b(i,e.emphasis,2),e.error_protection&&b(i,0,16),1==e.version){for(b(i,n.main_data_begin,9),2==i.channels_out?b(i,n.private_bits,3):b(i,n.private_bits,5),r=0;r1e9&&a(),0},this.copy_buffer=function(e,t,n,o,c){var f=l+1;if(f<=0)return 0;if(0!=o&&f>o)return-1;if(h.arraycopy(i,0,t,n,f),l=-1,_=0,0!=c){var u=r(1);u[0]=e.nMusicCRC,s.updateMusicCRC(u,t,n,f),e.nMusicCRC=u[0],f>0&&(e.VBR_seek_table.nBytesWritten+=f),e.decode_on_the_fly&&a()}return f},this.init_bit_stream_w=function(e){i=n(Q.LAME_MAXMP3BUFFER),e.h_ptr=e.w_ptr=0,e.header[e.h_ptr].write_timing=0,l=-1,_=0,o=0}}function A(e,t,a,n){this.xlen=e,this.linmax=t,this.table=a,this.hlen=n}m.MAX_VALUE=34028235e31,d.vbr_off=new d(0),d.vbr_mt=new d(1),d.vbr_rh=new d(2),d.vbr_abr=new d(3),d.vbr_mtrh=new d(4),d.vbr_default=d.vbr_mtrh,v.STEREO=new v(0),v.JOINT_STEREO=new v(1),v.DUAL_CHANNEL=new v(2),v.MONO=new v(3),v.NOT_SET=new v(4),S.STEPS_per_dB=100,S.MAX_dB=120,S.GAIN_NOT_ENOUGH_SAMPLES=-24601,S.GAIN_ANALYSIS_ERROR=0,S.GAIN_ANALYSIS_OK=1,S.INIT_GAIN_ANALYSIS_ERROR=0,S.INIT_GAIN_ANALYSIS_OK=1,S.YULE_ORDER=10,S.MAX_ORDER=S.YULE_ORDER,S.MAX_SAMP_FREQ=48e3,S.RMS_WINDOW_TIME_NUMERATOR=1,S.RMS_WINDOW_TIME_DENOMINATOR=20,S.MAX_SAMPLES_PER_WINDOW=S.MAX_SAMP_FREQ*S.RMS_WINDOW_TIME_NUMERATOR/S.RMS_WINDOW_TIME_DENOMINATOR+1,R.NUMTOCENTRIES=100,R.MAXFRAMESIZE=2880,k.EQ=function(e,t){return Math.abs(e)>Math.abs(t)?Math.abs(e-t)<=1e-6*Math.abs(e):Math.abs(e-t)<=1e-6*Math.abs(t)},k.NEQ=function(e,t){return!k.EQ(e,t)};var T={};function x(e){this.bits=e}function B(){this.over_noise=0,this.tot_noise=0,this.max_noise=0,this.over_count=0,this.over_SSD=0,this.bits=0}function E(){this.setModules=function(e,t){}}function P(){this.useAdjust=0,this.aaSensitivityP=0,this.adjust=0,this.adjustLimit=0,this.decay=0,this.floor=0,this.l=i(Y.SBMAX_l),this.s=i(Y.SBMAX_s),this.psfb21=i(Y.PSFB21),this.psfb12=i(Y.PSFB12),this.cb_l=i(Y.CBANDS),this.cb_s=i(Y.CBANDS),this.eql_w=i(Y.BLKSIZE/2)}function L(){this.class_id=0,this.num_samples=0,this.num_channels=0,this.in_samplerate=0,this.out_samplerate=0,this.scale=0,this.scale_left=0,this.scale_right=0,this.analysis=!1,this.bWriteVbrTag=!1,this.decode_only=!1,this.quality=0,this.mode=v.STEREO,this.force_ms=!1,this.free_format=!1,this.findReplayGain=!1,this.decode_on_the_fly=!1,this.write_id3tag_automatic=!1,this.brate=0,this.compression_ratio=0,this.copyright=0,this.original=0,this.extension=0,this.emphasis=0,this.error_protection=0,this.strict_ISO=!1,this.disable_reservoir=!1,this.quant_comp=0,this.quant_comp_short=0,this.experimentalY=!1,this.experimentalZ=0,this.exp_nspsytune=0,this.preset=0,this.VBR=null,this.VBR_q_frac=0,this.VBR_q=0,this.VBR_mean_bitrate_kbps=0,this.VBR_min_bitrate_kbps=0,this.VBR_max_bitrate_kbps=0,this.VBR_hard_min=0,this.lowpassfreq=0,this.highpassfreq=0,this.lowpasswidth=0,this.highpasswidth=0,this.maskingadjust=0,this.maskingadjust_short=0,this.ATHonly=!1,this.ATHshort=!1,this.noATH=!1,this.ATHtype=0,this.ATHcurve=0,this.ATHlower=0,this.athaa_type=0,this.athaa_loudapprox=0,this.athaa_sensitivity=0,this.short_blocks=null,this.useTemporal=!1,this.interChRatio=0,this.msfix=0,this.tune=!1,this.tune_value_a=0,this.version=0,this.encoder_delay=0,this.encoder_padding=0,this.framesize=0,this.frameNum=0,this.lame_allocated_gfp=0,this.internal_flags=null}function C(e){var t=e;this.quantize=t,this.iteration_loop=function(e,t,n,s){var o=e.internal_flags,l=i(V.SFBMAX),_=i(576),c=r(2),f=0,u=o.l3_side,h=new x(f);this.quantize.rv.ResvFrameBegin(e,h),f=h.bits;for(var p=0;p>2&63)>=32&&(s-=64),c=Math.pow(10,s/4/10),(s=n.exp_nspsytune>>8&63)>=32&&(s-=64),p=Math.pow(10,s/4/10),(s=n.exp_nspsytune>>14&63)>=32&&(s-=64),d=Math.pow(10,s/4/10),(s=n.exp_nspsytune>>20&63)>=32&&(s-=64),g=d*Math.pow(10,s/4/10),s=0;sG.MAX_BITS_PER_GRANULE&&(m=G.MAX_BITS_PER_GRANULE),_=0,c=0;c3*i/4&&(h[c]=3*i/4),h[c]<0&&(h[c]=0),h[c]+s[c]>G.MAX_BITS_PER_CHANNEL&&(h[c]=Math.max(0,G.MAX_BITS_PER_CHANNEL-s[c])),_+=h[c];if(_>b)for(c=0;cG.MAX_BITS_PER_GRANULE&&a(),m},this.athAdjust=function(e,t,a){var n=90.30873362,s=p.FAST_LOG10_X(t,10),r=e*e,i=0;return s-=a,r>1e-20&&(i=1+p.FAST_LOG10_X(r,10/n)),i<0&&(i=0),s*=i,s+=a+n-94.82444863,Math.pow(10,.1*s)},this.calc_xmin=function(e,t,n,s){var r,i=0,o=e.internal_flags,l=0,_=0,c=o.ATH,f=n.xr,u=e.VBR==d.vbr_mtrh?1:0,h=o.masking_lower;for(e.VBR!=d.vbr_mtrh&&e.VBR!=d.vbr_mt||(h=1),r=0;r>1,T=0;do{T+=B=f[l]*f[l],y+=B0);T>S&&_++,r==Y.SBPSY_l&&a(),0!=u&&(S=y),e.ATHonly||(R=t.en.l[r])>0&&(A=T*t.thm.l[r]*h/R,0!=u&&(A*=o.nsPsy.longfact[r]),S>1;M=w/v,y=2220446049250313e-31;do{var B,E;T+=B=f[l]*f[l],y+=B0);T>w&&_++,m==Y.SBPSY_s&&a(),S=0!=u?y:w,e.ATHonly||e.ATHshort||(R=t.en.s[m][g])>0&&(A=T*t.thm.s[m][g]*h/R,0!=u&&(A*=o.nsPsy.shortfact[m]),Ss[i-3+1]&&(s[i-3+1]+=(s[i-3]-s[i-3+1])*o.decay),s[i-3+1]>s[i-3+2]&&(s[i-3+2]+=(s[i-3+1]-s[i-3+2])*o.decay))}return _},this.calc_noise_core=function(e,t,a,n){var s=0,r=t.s,o=e.l3_enc;if(r>e.count1)for(;0!=a--;)_=e.xr[r],r++,s+=_*_,_=e.xr[r],r++,s+=_*_;else if(r>e.big_values){var l=i(2);for(l[0]=0,l[1]=n;0!=a--;)_=Math.abs(e.xr[r])-l[o[r]],r++,s+=_*_,_=Math.abs(e.xr[r])-l[o[r]],r++,s+=_*_}else for(;0!=a--;){var _;_=Math.abs(e.xr[r])-h[o[r]]*n,r++,s+=_*_,_=Math.abs(e.xr[r])-h[o[r]]*n,r++,s+=_*_}return t.s=r,s},this.calc_noise=function(e,t,a,n,s){var r,i,o=0,l=0,_=0,u=0,h=0,b=-20,m=0,d=e.scalefac,v=0;for(n.over_SSD=0,r=0;r>1,m+e.width[r]>e.max_nonzero_coeff&&(i=(y=e.max_nonzero_coeff-m+1)>0?y>>1:0);var k=new g(m);M=this.calc_noise_core(e,k,i,R),m=k.s,null!=s&&(s.step[r]=S,s.noise[r]=M),M=a[o++]=M/t[l++],M=p.FAST_LOG10(Math.max(M,1e-20)),null!=s&&(s.noise_log[r]=M)}null!=s&&(s.global_gain=e.global_gain),h+=M,M>0&&(w=Math.max(0|10*M+.5,1),n.over_SSD+=w*w,_++,u+=M),b=Math.max(b,M)}return n.over_count=_,n.tot_noise=h,n.over_noise=u,n.max_noise=b,_}}function N(){this.global_gain=0,this.sfb_count1=0,this.step=r(39),this.noise=i(39),this.noise_log=i(39)}function D(){this.xr=i(576),this.l3_enc=r(576),this.scalefac=r(V.SFBMAX),this.xrpow_max=0,this.part2_3_length=0,this.big_values=0,this.count1=0,this.global_gain=0,this.scalefac_compress=0,this.block_type=0,this.mixed_block_flag=0,this.table_select=r(3),this.subblock_gain=r(4),this.region0_count=0,this.region1_count=0,this.preflag=0,this.scalefac_scale=0,this.count1table_select=0,this.part2_length=0,this.sfb_lmax=0,this.sfb_smin=0,this.psy_lmax=0,this.sfbmax=0,this.psymax=0,this.sfbdivide=0,this.width=r(V.SFBMAX),this.window=r(V.SFBMAX),this.count1bits=0,this.sfb_partition_table=null,this.slen=r(4),this.max_nonzero_coeff=0;var e=this;function t(e){return new Int32Array(e)}this.assign=function(a){var n;e.xr=(n=a.xr,new Float32Array(n)),e.l3_enc=t(a.l3_enc),e.scalefac=t(a.scalefac),e.xrpow_max=a.xrpow_max,e.part2_3_length=a.part2_3_length,e.big_values=a.big_values,e.count1=a.count1,e.global_gain=a.global_gain,e.scalefac_compress=a.scalefac_compress,e.block_type=a.block_type,e.mixed_block_flag=a.mixed_block_flag,e.table_select=t(a.table_select),e.subblock_gain=t(a.subblock_gain),e.region0_count=a.region0_count,e.region1_count=a.region1_count,e.preflag=a.preflag,e.scalefac_scale=a.scalefac_scale,e.count1table_select=a.count1table_select,e.part2_length=a.part2_length,e.sfb_lmax=a.sfb_lmax,e.sfb_smin=a.sfb_smin,e.psy_lmax=a.psy_lmax,e.sfbmax=a.sfbmax,e.psymax=a.psymax,e.sfbdivide=a.sfbdivide,e.width=t(a.width),e.window=t(a.window),e.count1bits=a.count1bits,e.sfb_partition_table=a.sfb_partition_table.slice(0),e.slen=t(a.slen),e.max_nonzero_coeff=a.max_nonzero_coeff}}T.t1HB=[1,1,1,0],T.t2HB=[1,2,1,3,1,1,3,2,0],T.t3HB=[3,2,1,1,1,1,3,2,0],T.t5HB=[1,2,6,5,3,1,4,4,7,5,7,1,6,1,1,0],T.t6HB=[7,3,5,1,6,2,3,2,5,4,4,1,3,3,2,0],T.t7HB=[1,2,10,19,16,10,3,3,7,10,5,3,11,4,13,17,8,4,12,11,18,15,11,2,7,6,9,14,3,1,6,4,5,3,2,0],T.t8HB=[3,4,6,18,12,5,5,1,2,16,9,3,7,3,5,14,7,3,19,17,15,13,10,4,13,5,8,11,5,1,12,4,4,1,1,0],T.t9HB=[7,5,9,14,15,7,6,4,5,5,6,7,7,6,8,8,8,5,15,6,9,10,5,1,11,7,9,6,4,1,14,4,6,2,6,0],T.t10HB=[1,2,10,23,35,30,12,17,3,3,8,12,18,21,12,7,11,9,15,21,32,40,19,6,14,13,22,34,46,23,18,7,20,19,33,47,27,22,9,3,31,22,41,26,21,20,5,3,14,13,10,11,16,6,5,1,9,8,7,8,4,4,2,0],T.t11HB=[3,4,10,24,34,33,21,15,5,3,4,10,32,17,11,10,11,7,13,18,30,31,20,5,25,11,19,59,27,18,12,5,35,33,31,58,30,16,7,5,28,26,32,19,17,15,8,14,14,12,9,13,14,9,4,1,11,4,6,6,6,3,2,0],T.t12HB=[9,6,16,33,41,39,38,26,7,5,6,9,23,16,26,11,17,7,11,14,21,30,10,7,17,10,15,12,18,28,14,5,32,13,22,19,18,16,9,5,40,17,31,29,17,13,4,2,27,12,11,15,10,7,4,1,27,12,8,12,6,3,1,0],T.t13HB=[1,5,14,21,34,51,46,71,42,52,68,52,67,44,43,19,3,4,12,19,31,26,44,33,31,24,32,24,31,35,22,14,15,13,23,36,59,49,77,65,29,40,30,40,27,33,42,16,22,20,37,61,56,79,73,64,43,76,56,37,26,31,25,14,35,16,60,57,97,75,114,91,54,73,55,41,48,53,23,24,58,27,50,96,76,70,93,84,77,58,79,29,74,49,41,17,47,45,78,74,115,94,90,79,69,83,71,50,59,38,36,15,72,34,56,95,92,85,91,90,86,73,77,65,51,44,43,42,43,20,30,44,55,78,72,87,78,61,46,54,37,30,20,16,53,25,41,37,44,59,54,81,66,76,57,54,37,18,39,11,35,33,31,57,42,82,72,80,47,58,55,21,22,26,38,22,53,25,23,38,70,60,51,36,55,26,34,23,27,14,9,7,34,32,28,39,49,75,30,52,48,40,52,28,18,17,9,5,45,21,34,64,56,50,49,45,31,19,12,15,10,7,6,3,48,23,20,39,36,35,53,21,16,23,13,10,6,1,4,2,16,15,17,27,25,20,29,11,17,12,16,8,1,1,0,1],T.t15HB=[7,12,18,53,47,76,124,108,89,123,108,119,107,81,122,63,13,5,16,27,46,36,61,51,42,70,52,83,65,41,59,36,19,17,15,24,41,34,59,48,40,64,50,78,62,80,56,33,29,28,25,43,39,63,55,93,76,59,93,72,54,75,50,29,52,22,42,40,67,57,95,79,72,57,89,69,49,66,46,27,77,37,35,66,58,52,91,74,62,48,79,63,90,62,40,38,125,32,60,56,50,92,78,65,55,87,71,51,73,51,70,30,109,53,49,94,88,75,66,122,91,73,56,42,64,44,21,25,90,43,41,77,73,63,56,92,77,66,47,67,48,53,36,20,71,34,67,60,58,49,88,76,67,106,71,54,38,39,23,15,109,53,51,47,90,82,58,57,48,72,57,41,23,27,62,9,86,42,40,37,70,64,52,43,70,55,42,25,29,18,11,11,118,68,30,55,50,46,74,65,49,39,24,16,22,13,14,7,91,44,39,38,34,63,52,45,31,52,28,19,14,8,9,3,123,60,58,53,47,43,32,22,37,24,17,12,15,10,2,1,71,37,34,30,28,20,17,26,21,16,10,6,8,6,2,0],T.t16HB=[1,5,14,44,74,63,110,93,172,149,138,242,225,195,376,17,3,4,12,20,35,62,53,47,83,75,68,119,201,107,207,9,15,13,23,38,67,58,103,90,161,72,127,117,110,209,206,16,45,21,39,69,64,114,99,87,158,140,252,212,199,387,365,26,75,36,68,65,115,101,179,164,155,264,246,226,395,382,362,9,66,30,59,56,102,185,173,265,142,253,232,400,388,378,445,16,111,54,52,100,184,178,160,133,257,244,228,217,385,366,715,10,98,48,91,88,165,157,148,261,248,407,397,372,380,889,884,8,85,84,81,159,156,143,260,249,427,401,392,383,727,713,708,7,154,76,73,141,131,256,245,426,406,394,384,735,359,710,352,11,139,129,67,125,247,233,229,219,393,743,737,720,885,882,439,4,243,120,118,115,227,223,396,746,742,736,721,712,706,223,436,6,202,224,222,218,216,389,386,381,364,888,443,707,440,437,1728,4,747,211,210,208,370,379,734,723,714,1735,883,877,876,3459,865,2,377,369,102,187,726,722,358,711,709,866,1734,871,3458,870,434,0,12,10,7,11,10,17,11,9,13,12,10,7,5,3,1,3],T.t24HB=[15,13,46,80,146,262,248,434,426,669,653,649,621,517,1032,88,14,12,21,38,71,130,122,216,209,198,327,345,319,297,279,42,47,22,41,74,68,128,120,221,207,194,182,340,315,295,541,18,81,39,75,70,134,125,116,220,204,190,178,325,311,293,271,16,147,72,69,135,127,118,112,210,200,188,352,323,306,285,540,14,263,66,129,126,119,114,214,202,192,180,341,317,301,281,262,12,249,123,121,117,113,215,206,195,185,347,330,308,291,272,520,10,435,115,111,109,211,203,196,187,353,332,313,298,283,531,381,17,427,212,208,205,201,193,186,177,169,320,303,286,268,514,377,16,335,199,197,191,189,181,174,333,321,305,289,275,521,379,371,11,668,184,183,179,175,344,331,314,304,290,277,530,383,373,366,10,652,346,171,168,164,318,309,299,287,276,263,513,375,368,362,6,648,322,316,312,307,302,292,284,269,261,512,376,370,364,359,4,620,300,296,294,288,282,273,266,515,380,374,369,365,361,357,2,1033,280,278,274,267,264,259,382,378,372,367,363,360,358,356,0,43,20,19,17,15,13,11,9,7,6,4,7,5,3,1,3],T.t32HB=[1,10,8,20,12,20,16,32,14,12,24,0,28,16,24,16],T.t33HB=[15,28,26,48,22,40,36,64,14,24,20,32,12,16,8,0],T.t1l=[1,4,3,5],T.t2l=[1,4,7,4,5,7,6,7,8],T.t3l=[2,3,7,4,4,7,6,7,8],T.t5l=[1,4,7,8,4,5,8,9,7,8,9,10,8,8,9,10],T.t6l=[3,4,6,8,4,4,6,7,5,6,7,8,7,7,8,9],T.t7l=[1,4,7,9,9,10,4,6,8,9,9,10,7,7,9,10,10,11,8,9,10,11,11,11,8,9,10,11,11,12,9,10,11,12,12,12],T.t8l=[2,4,7,9,9,10,4,4,6,10,10,10,7,6,8,10,10,11,9,10,10,11,11,12,9,9,10,11,12,12,10,10,11,11,13,13],T.t9l=[3,4,6,7,9,10,4,5,6,7,8,10,5,6,7,8,9,10,7,7,8,9,9,10,8,8,9,9,10,11,9,9,10,10,11,11],T.t10l=[1,4,7,9,10,10,10,11,4,6,8,9,10,11,10,10,7,8,9,10,11,12,11,11,8,9,10,11,12,12,11,12,9,10,11,12,12,12,12,12,10,11,12,12,13,13,12,13,9,10,11,12,12,12,13,13,10,10,11,12,12,13,13,13],T.t11l=[2,4,6,8,9,10,9,10,4,5,6,8,10,10,9,10,6,7,8,9,10,11,10,10,8,8,9,11,10,12,10,11,9,10,10,11,11,12,11,12,9,10,11,12,12,13,12,13,9,9,9,10,11,12,12,12,9,9,10,11,12,12,12,12],T.t12l=[4,4,6,8,9,10,10,10,4,5,6,7,9,9,10,10,6,6,7,8,9,10,9,10,7,7,8,8,9,10,10,10,8,8,9,9,10,10,10,11,9,9,10,10,10,11,10,11,9,9,9,10,10,11,11,12,10,10,10,11,11,11,11,12],T.t13l=[1,5,7,8,9,10,10,11,10,11,12,12,13,13,14,14,4,6,8,9,10,10,11,11,11,11,12,12,13,14,14,14,7,8,9,10,11,11,12,12,11,12,12,13,13,14,15,15,8,9,10,11,11,12,12,12,12,13,13,13,13,14,15,15,9,9,11,11,12,12,13,13,12,13,13,14,14,15,15,16,10,10,11,12,12,12,13,13,13,13,14,13,15,15,16,16,10,11,12,12,13,13,13,13,13,14,14,14,15,15,16,16,11,11,12,13,13,13,14,14,14,14,15,15,15,16,18,18,10,10,11,12,12,13,13,14,14,14,14,15,15,16,17,17,11,11,12,12,13,13,13,15,14,15,15,16,16,16,18,17,11,12,12,13,13,14,14,15,14,15,16,15,16,17,18,19,12,12,12,13,14,14,14,14,15,15,15,16,17,17,17,18,12,13,13,14,14,15,14,15,16,16,17,17,17,18,18,18,13,13,14,15,15,15,16,16,16,16,16,17,18,17,18,18,14,14,14,15,15,15,17,16,16,19,17,17,17,19,18,18,13,14,15,16,16,16,17,16,17,17,18,18,21,20,21,18],T.t15l=[3,5,6,8,8,9,10,10,10,11,11,12,12,12,13,14,5,5,7,8,9,9,10,10,10,11,11,12,12,12,13,13,6,7,7,8,9,9,10,10,10,11,11,12,12,13,13,13,7,8,8,9,9,10,10,11,11,11,12,12,12,13,13,13,8,8,9,9,10,10,11,11,11,11,12,12,12,13,13,13,9,9,9,10,10,10,11,11,11,11,12,12,13,13,13,14,10,9,10,10,10,11,11,11,11,12,12,12,13,13,14,14,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,14,10,10,10,11,11,11,11,12,12,12,12,13,13,14,14,14,10,10,11,11,11,11,12,12,12,13,13,13,13,14,14,14,11,11,11,11,12,12,12,12,12,13,13,13,13,14,15,14,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,12,12,11,12,12,12,13,13,13,13,13,13,14,14,15,15,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,13,13,13,13,13,13,13,13,14,14,14,14,15,15,14,15,13,13,13,13,13,13,13,14,14,14,14,14,15,15,15,15],T.t16_5l=[1,5,7,9,10,10,11,11,12,12,12,13,13,13,14,11,4,6,8,9,10,11,11,11,12,12,12,13,14,13,14,11,7,8,9,10,11,11,12,12,13,12,13,13,13,14,14,12,9,9,10,11,11,12,12,12,13,13,14,14,14,15,15,13,10,10,11,11,12,12,13,13,13,14,14,14,15,15,15,12,10,10,11,11,12,13,13,14,13,14,14,15,15,15,16,13,11,11,11,12,13,13,13,13,14,14,14,14,15,15,16,13,11,11,12,12,13,13,13,14,14,15,15,15,15,17,17,13,11,12,12,13,13,13,14,14,15,15,15,15,16,16,16,13,12,12,12,13,13,14,14,15,15,15,15,16,15,16,15,14,12,13,12,13,14,14,14,14,15,16,16,16,17,17,16,13,13,13,13,13,14,14,15,16,16,16,16,16,16,15,16,14,13,14,14,14,14,15,15,15,15,17,16,16,16,16,18,14,15,14,14,14,15,15,16,16,16,18,17,17,17,19,17,14,14,15,13,14,16,16,15,16,16,17,18,17,19,17,16,14,11,11,11,12,12,13,13,13,14,14,14,14,14,14,14,12],T.t16l=[1,5,7,9,10,10,11,11,12,12,12,13,13,13,14,10,4,6,8,9,10,11,11,11,12,12,12,13,14,13,14,10,7,8,9,10,11,11,12,12,13,12,13,13,13,14,14,11,9,9,10,11,11,12,12,12,13,13,14,14,14,15,15,12,10,10,11,11,12,12,13,13,13,14,14,14,15,15,15,11,10,10,11,11,12,13,13,14,13,14,14,15,15,15,16,12,11,11,11,12,13,13,13,13,14,14,14,14,15,15,16,12,11,11,12,12,13,13,13,14,14,15,15,15,15,17,17,12,11,12,12,13,13,13,14,14,15,15,15,15,16,16,16,12,12,12,12,13,13,14,14,15,15,15,15,16,15,16,15,13,12,13,12,13,14,14,14,14,15,16,16,16,17,17,16,12,13,13,13,13,14,14,15,16,16,16,16,16,16,15,16,13,13,14,14,14,14,15,15,15,15,17,16,16,16,16,18,13,15,14,14,14,15,15,16,16,16,18,17,17,17,19,17,13,14,15,13,14,16,16,15,16,16,17,18,17,19,17,16,13,10,10,10,11,11,12,12,12,13,13,13,13,13,13,13,10],T.t24l=[4,5,7,8,9,10,10,11,11,12,12,12,12,12,13,10,5,6,7,8,9,10,10,11,11,11,12,12,12,12,12,10,7,7,8,9,9,10,10,11,11,11,11,12,12,12,13,9,8,8,9,9,10,10,10,11,11,11,11,12,12,12,12,9,9,9,9,10,10,10,10,11,11,11,12,12,12,12,13,9,10,9,10,10,10,10,11,11,11,11,12,12,12,12,12,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,9,11,10,10,10,11,11,11,11,12,12,12,12,12,13,13,10,11,11,11,11,11,11,11,11,11,12,12,12,12,13,13,10,11,11,11,11,11,11,11,12,12,12,12,12,13,13,13,10,12,11,11,11,11,12,12,12,12,12,12,13,13,13,13,10,12,12,11,11,11,12,12,12,12,12,12,13,13,13,13,10,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,10,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,10,13,12,12,12,12,12,12,13,13,13,13,13,13,13,13,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,6],T.t32l=[1,5,5,7,5,8,7,9,5,7,7,9,7,9,9,10],T.t33l=[4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8],T.ht=[new A(0,0,null,null),new A(2,0,T.t1HB,T.t1l),new A(3,0,T.t2HB,T.t2l),new A(3,0,T.t3HB,T.t3l),new A(0,0,null,null),new A(4,0,T.t5HB,T.t5l),new A(4,0,T.t6HB,T.t6l),new A(6,0,T.t7HB,T.t7l),new A(6,0,T.t8HB,T.t8l),new A(6,0,T.t9HB,T.t9l),new A(8,0,T.t10HB,T.t10l),new A(8,0,T.t11HB,T.t11l),new A(8,0,T.t12HB,T.t12l),new A(16,0,T.t13HB,T.t13l),new A(0,0,null,T.t16_5l),new A(16,0,T.t15HB,T.t15l),new A(1,1,T.t16HB,T.t16l),new A(2,3,T.t16HB,T.t16l),new A(3,7,T.t16HB,T.t16l),new A(4,15,T.t16HB,T.t16l),new A(6,63,T.t16HB,T.t16l),new A(8,255,T.t16HB,T.t16l),new A(10,1023,T.t16HB,T.t16l),new A(13,8191,T.t16HB,T.t16l),new A(4,15,T.t24HB,T.t24l),new A(5,31,T.t24HB,T.t24l),new A(6,63,T.t24HB,T.t24l),new A(7,127,T.t24HB,T.t24l),new A(8,255,T.t24HB,T.t24l),new A(9,511,T.t24HB,T.t24l),new A(11,2047,T.t24HB,T.t24l),new A(13,8191,T.t24HB,T.t24l),new A(0,0,T.t32HB,T.t32l),new A(0,0,T.t33HB,T.t33l)],T.largetbl=[65540,327685,458759,589832,655369,655370,720906,720907,786443,786444,786444,851980,851980,851980,917517,655370,262149,393222,524295,589832,655369,720906,720906,720907,786443,786443,786444,851980,917516,851980,917516,655370,458759,524295,589832,655369,720905,720906,786442,786443,851979,786443,851979,851980,851980,917516,917517,720905,589832,589832,655369,720905,720906,786442,786442,786443,851979,851979,917515,917516,917516,983052,983052,786441,655369,655369,720905,720906,786442,786442,851978,851979,851979,917515,917516,917516,983052,983052,983053,720905,655370,655369,720906,720906,786442,851978,851979,917515,851979,917515,917516,983052,983052,983052,1048588,786441,720906,720906,720906,786442,851978,851979,851979,851979,917515,917516,917516,917516,983052,983052,1048589,786441,720907,720906,786442,786442,851979,851979,851979,917515,917516,983052,983052,983052,983052,1114125,1114125,786442,720907,786443,786443,851979,851979,851979,917515,917515,983051,983052,983052,983052,1048588,1048589,1048589,786442,786443,786443,786443,851979,851979,917515,917515,983052,983052,983052,983052,1048588,983053,1048589,983053,851978,786444,851979,786443,851979,917515,917516,917516,917516,983052,1048588,1048588,1048589,1114125,1114125,1048589,786442,851980,851980,851979,851979,917515,917516,983052,1048588,1048588,1048588,1048588,1048589,1048589,983053,1048589,851978,851980,917516,917516,917516,917516,983052,983052,983052,983052,1114124,1048589,1048589,1048589,1048589,1179661,851978,983052,917516,917516,917516,983052,983052,1048588,1048588,1048589,1179661,1114125,1114125,1114125,1245197,1114125,851978,917517,983052,851980,917516,1048588,1048588,983052,1048589,1048589,1114125,1179661,1114125,1245197,1114125,1048589,851978,655369,655369,655369,720905,720905,786441,786441,786441,851977,851977,851977,851978,851978,851978,851978,655366],T.table23=[65538,262147,458759,262148,327684,458759,393222,458759,524296],T.table56=[65539,262148,458758,524296,262148,327684,524294,589831,458757,524294,589831,655368,524295,524295,589832,655369],T.bitrate_table=[[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160,-1],[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],[0,8,16,24,32,40,48,56,64,-1,-1,-1,-1,-1,-1,-1]],T.samplerate_table=[[22050,24e3,16e3,-1],[44100,48e3,32e3,-1],[11025,12e3,8e3,-1]],T.scfsi_band=[0,6,11,16,21],O.Q_MAX=257,O.Q_MAX2=116,O.LARGE_BITS=1e5,O.IXMAX_VAL=8206;var V={};function F(){var e,t;this.rv=null,this.qupvt=null;var n,s=new E;function r(e){this.ordinal=e}function o(e){for(var t=0;t0?(i=n.over_SSD<=t.over_SSD,n.over_SSD==t.over_SSD&&(i=n.bits.2||n.max_noise<=0&&t.max_noise<0&&t.max_noise>n.max_noise-.2&&n.tot_noise0&&t.max_noise>n.max_noise-.2&&n.tot_noise0&&t.max_noise>-.05&&t.max_noise>n.max_noise-.1&&n.tot_noise+n.over_noise0&&t.max_noise>-.1&&t.max_noise>n.max_noise-.15&&n.tot_noise+n.over_noise+n.over_noise1?l=Math.pow(l,.5):l*=.95;break;case 0:default:l>1?l=1:l*=.95}var f=0;for(_=0;_t.xrpow_max&&(t.xrpow_max=s[f+u]);if(2==o.noise_shaping_amp)return}}}(e,s,r,i);var c=o(s);return!(c||(c=2==_.mode_gr?n.scale_bitcount(s):n.scale_bitcount_lsf(_,s))&&(_.noise_shaping>1&&(u.fill(_.pseudohalf,0),0==s.scalefac_scale?(function(e,a){for(var n=0,s=0;se.xrpow_max&&(e.xrpow_max=a[n+o])}e.scalefac[s]=i>>1}e.preflag=0,e.scalefac_scale=1}(s,i),c=!1):s.block_type==Y.SHORT_TYPE&&_.subblock_gain>0&&(c=function(e,a,n){var s,r=a.scalefac;for(s=0;s=16)return!0;for(var i=0;i<3;i++){var o=0,l=0;for(s=a.sfb_lmax+i;s=7)return!0;a.subblock_gain[i]++;var _=e.scalefac_band.l[a.sfb_lmax];for(s=a.sfb_lmax+i;s>a.scalefac_scale)>=0)r[s]=f,_+=3*c;else{r[s]=0;var u=210+(f<a.xrpow_max&&(a.xrpow_max=n[_+h]);_+=c*(3-i-1)}}var p=t.IPOW20(202);for(_+=a.width[s]*(i+1),h=-a.width[s];h<0;h++)n[_+h]*=p,n[_+h]>a.xrpow_max&&(a.xrpow_max=n[_+h])}}return!1}(_,s,i)||o(s))),c||(c=2==_.mode_gr?n.scale_bitcount(s):n.scale_bitcount_lsf(_,s)),c))}this.setModules=function(a,r,i,o){e=r,this.rv=r,t=i,this.qupvt=i,n=o,s.setModules(t,n)},this.init_xrpow=function(e,t,a){var n=0,s=0|t.max_nonzero_coeff;if(t.xrpow_max=0,u.fill(a,s,576,0),(n=function(e,t,a,n){n=0;for(var s=0;s<=a;++s){var r=Math.abs(e.xr[s]);n+=r,t[s]=Math.sqrt(r*Math.sqrt(r)),t[s]>e.xrpow_max&&(e.xrpow_max=t[s])}return n}(t,a,s,n))>1e-20){var r=0;0!=(2&e.substep_shaping)&&(r=1);for(var i=0;i=0&&!r;i--){var o=e.scalefac_band.psfb21[i],l=e.scalefac_band.psfb21[i+1],_=t.athAdjust(n.adjust,n.psfb21[i],n.floor);e.nsPsy.longfact[21]>1e-12&&(_*=e.nsPsy.longfact[21]);for(var c=l-1;c>=o;c--){if(!(Math.abs(s[c])<_)){r=!0;break}s[c]=0}}else for(var f=0;f<3;f++)for(r=!1,i=Y.PSFB12-1;i>=0&&!r;i--){l=(o=3*e.scalefac_band.s[12]+(e.scalefac_band.s[13]-e.scalefac_band.s[12])*f+(e.scalefac_band.psfb12[i]-e.scalefac_band.psfb12[0]))+(e.scalefac_band.psfb12[i+1]-e.scalefac_band.psfb12[i]);var u=t.athAdjust(n.adjust,n.psfb12[i],n.floor);for(e.nsPsy.shortfact[12]>1e-12&&(u*=e.nsPsy.shortfact[12]),c=l-1;c>=o;c--){if(!(Math.abs(s[c])s?(u==r.BINSEARCH_DOWN&&(c=!0),c&&(_/=2),u=r.BINSEARCH_UP,h=_):(u==r.BINSEARCH_UP&&(c=!0),c&&(_/=2),u=r.BINSEARCH_DOWN,h=-_),t.global_gain+=h,t.global_gain<0&&a(),t.global_gain>255&&a()}for(;l>s&&t.global_gain<255;)t.global_gain++,l=n.count_bits(e,o,t,null);e.CurrentStep[i]=f-t.global_gain>=4?4:2,e.OldValue[i]=t.global_gain,t.part2_3_length=l}(p,s,u,f,c),0==p.noise_shaping)return 100;t.calc_noise(s,o,v,g,w),g.bits=s.part2_3_length,b.assign(s);var y=0;for(h.arraycopy(c,0,m,0,576);!M;){do{var R,k=new B,A=255;if(R=0!=(2&p.substep_shaping)?20:3,p.sfb21_extra&&a(),!_(e,b,v,c))break;0!=b.scalefac_scale&&(A=254);var T=u-b.part2_length;if(T<=0)break;for(;(b.part2_3_length=n.count_bits(p,c,b,w))>T&&b.global_gain<=A;)b.global_gain++;if(b.global_gain>A)break;if(0==g.over_count){for(;(b.part2_3_length=n.count_bits(p,c,b,w))>S&&b.global_gain<=A;)b.global_gain++;if(b.global_gain>A)break}if(t.calc_noise(b,o,v,k,w),k.bits=b.part2_3_length,0!=(l(s.block_type!=Y.SHORT_TYPE?e.quant_comp:e.quant_comp_short,g,k)?1:0))S=s.part2_3_length,g=k,s.assign(b),y=0,h.arraycopy(c,0,m,0,576);else if(0==p.full_outer_loop){if(++y>R&&0==g.over_count)break;p.noise_shaping_amp,p.noise_shaping_amp}}while(b.global_gain+b.scalefac_scale<255);3==p.noise_shaping_amp?a():M=!0}return e.VBR==d.vbr_rh||e.VBR==d.vbr_mtrh?h.arraycopy(m,0,c,0,576):0!=(1&p.substep_shaping)&&a(),g.over_count},this.iteration_finish_one=function(t,a,s){var r=t.l3_side,i=r.tt[a][s];n.best_scalefac_store(t,a,s,r),1==t.use_best_huffman&&n.best_huffman_divide(t,i),e.ResvAdjust(t,i)}}function j(){var e=[-.1482523854003001,32.308141959636465,296.40344946382766,883.1344870032432,11113.947376231741,1057.2713659324597,305.7402417275812,30.825928907280012,3.8533188138216365,59.42900443849514,709.5899960123345,5281.91112291017,-5829.66483675846,-817.6293103748613,-76.91656988279972,-4.594269939176596,.9063471690191471,.1960342806591213,-.15466694054279598,34.324387823855965,301.8067566458425,817.599602898885,11573.795901679885,1181.2520595540152,321.59731579894424,31.232021761053772,3.7107095756221318,53.650946155329365,684.167428119626,5224.56624370173,-6366.391851890084,-908.9766368219582,-89.83068876699639,-5.411397422890401,.8206787908286602,.3901806440322567,-.16070888947830023,36.147034243915876,304.11815768187864,732.7429163887613,11989.60988270091,1300.012278487897,335.28490093152146,31.48816102859945,3.373875931311736,47.232241542899175,652.7371796173471,5132.414255594984,-6909.087078780055,-1001.9990371107289,-103.62185754286375,-6.104916304710272,.7416505462720353,.5805693545089249,-.16636367662261495,37.751650073343995,303.01103387567713,627.9747488785183,12358.763425278165,1412.2779918482834,346.7496836825721,31.598286663170416,3.1598635433980946,40.57878626349686,616.1671130880391,5007.833007176154,-7454.040671756168,-1095.7960341867115,-118.24411666465777,-6.818469345853504,.6681786379192989,.7653668647301797,-.1716176790982088,39.11551877123304,298.3413246578966,503.5259106886539,12679.589408408976,1516.5821921214542,355.9850766329023,31.395241710249053,2.9164211881972335,33.79716964664243,574.8943997801362,4853.234992253242,-7997.57021486075,-1189.7624067269965,-133.6444792601766,-7.7202770609839915,.5993769336819237,.9427934736519954,-.17645823955292173,40.21879108166477,289.9982036694474,359.3226160751053,12950.259102786438,1612.1013903507662,362.85067106591504,31.045922092242872,2.822222032597987,26.988862316190684,529.8996541764288,4671.371946949588,-8535.899136645805,-1282.5898586244496,-149.58553632943463,-8.643494270763135,.5345111359507916,1.111140466039205,-.36174739330527045,41.04429910497807,277.5463268268618,195.6386023135583,13169.43812144731,1697.6433561479398,367.40983966190305,30.557037410382826,2.531473372857427,20.070154905927314,481.50208566532336,4464.970341588308,-9065.36882077239,-1373.62841526722,-166.1660487028118,-9.58289321133207,.4729647758913199,1.268786568327291,-.36970682634889585,41.393213350082036,261.2935935556502,12.935476055240873,13336.131683328815,1772.508612059496,369.76534388639965,29.751323653701338,2.4023193045459172,13.304795348228817,430.5615775526625,4237.0568611071185,-9581.931701634761,-1461.6913552409758,-183.12733958476446,-10.718010163869403,.41421356237309503,1.414213562373095,-.37677560326535325,41.619486213528496,241.05423794991074,-187.94665032361226,13450.063605744153,1836.153896465782,369.4908799925761,29.001847876923147,2.0714759319987186,6.779591200894186,377.7767837205709,3990.386575512536,-10081.709459700915,-1545.947424837898,-200.3762958015653,-11.864482073055006,.3578057213145241,1.546020906725474,-.3829366947518991,41.1516456456653,216.47684307105183,-406.1569483347166,13511.136535077321,1887.8076599260432,367.3025214564151,28.136213436723654,1.913880671464418,.3829366947518991,323.85365704338597,3728.1472257487526,-10561.233882199509,-1625.2025997821418,-217.62525175416,-13.015432208941645,.3033466836073424,1.66293922460509,-.5822628872992417,40.35639251440489,188.20071124269245,-640.2706748618148,13519.21490106562,1927.6022433578062,362.8197642637487,26.968821921868447,1.7463817695935329,-5.62650678237171,269.3016715297017,3453.386536448852,-11016.145278780888,-1698.6569643425091,-234.7658734267683,-14.16351421663124,.2504869601913055,1.76384252869671,-.5887180101749253,39.23429103868072,155.76096234403798,-889.2492977967378,13475.470561874661,1955.0535223723712,356.4450994756727,25.894952980042156,1.5695032905781554,-11.181939564328772,214.80884394039484,3169.1640829158237,-11443.321309975563,-1765.1588461316153,-251.68908574481912,-15.49755935939164,.198912367379658,1.847759065022573,-.7912582233652842,37.39369355329111,119.699486012458,-1151.0956593239027,13380.446257078214,1970.3952110853447,348.01959814116185,24.731487364283044,1.3850130831637748,-16.421408865300393,161.05030052864092,2878.3322807850063,-11838.991423510031,-1823.985884688674,-268.2854986386903,-16.81724543849939,.1483359875383474,1.913880671464418,-.7960642926861912,35.2322109610459,80.01928065061526,-1424.0212633405113,13235.794061869668,1973.804052543835,337.9908651258184,23.289159354463873,1.3934255946442087,-21.099669467133474,108.48348407242611,2583.700758091299,-12199.726194855148,-1874.2780658979746,-284.2467154529415,-18.11369784385905,.09849140335716425,1.961570560806461,-.998795456205172,32.56307803611191,36.958364584370486,-1706.075448829146,13043.287458812016,1965.3831106103316,326.43182772364605,22.175018750622293,1.198638339011324,-25.371248002043963,57.53505923036915,2288.41886619975,-12522.674544337233,-1914.8400385312243,-299.26241273417224,-19.37805630698734,.04912684976946725,1.990369453344394,.035780907*p.SQRT2*.5/2384e-9,.017876148*p.SQRT2*.5/2384e-9,.003134727*p.SQRT2*.5/2384e-9,.002457142*p.SQRT2*.5/2384e-9,971317e-9*p.SQRT2*.5/2384e-9,218868e-9*p.SQRT2*.5/2384e-9,101566e-9*p.SQRT2*.5/2384e-9,13828e-9*p.SQRT2*.5/2384e-9,12804.797818791945,1945.5515939597317,313.4244966442953,20.801593959731544,1995.1556208053692,9.000838926174497,-29.20218120805369],t=[[2382191739347913e-28,6423305872147834e-28,9400849094049688e-28,1122435026096556e-27,1183840321267481e-27,1122435026096556e-27,940084909404969e-27,6423305872147839e-28,2382191739347918e-28,5456116108943412e-27,4878985199565852e-27,4240448995017367e-27,3559909094758252e-27,2858043359288075e-27,2156177623817898e-27,1475637723558783e-27,8371015190102974e-28,2599706096327376e-28,-5456116108943412e-27,-4878985199565852e-27,-4240448995017367e-27,-3559909094758252e-27,-2858043359288076e-27,-2156177623817898e-27,-1475637723558783e-27,-8371015190102975e-28,-2599706096327376e-28,-2382191739347923e-28,-6423305872147843e-28,-9400849094049696e-28,-1122435026096556e-27,-1183840321267481e-27,-1122435026096556e-27,-9400849094049694e-28,-642330587214784e-27,-2382191739347918e-28],[2382191739347913e-28,6423305872147834e-28,9400849094049688e-28,1122435026096556e-27,1183840321267481e-27,1122435026096556e-27,9400849094049688e-28,6423305872147841e-28,2382191739347918e-28,5456116108943413e-27,4878985199565852e-27,4240448995017367e-27,3559909094758253e-27,2858043359288075e-27,2156177623817898e-27,1475637723558782e-27,8371015190102975e-28,2599706096327376e-28,-5461314069809755e-27,-4921085770524055e-27,-4343405037091838e-27,-3732668368707687e-27,-3093523840190885e-27,-2430835727329465e-27,-1734679010007751e-27,-974825365660928e-27,-2797435120168326e-28,0,0,0,0,0,0,-2283748241799531e-28,-4037858874020686e-28,-2146547464825323e-28],[.1316524975873958,.414213562373095,.7673269879789602,1.091308501069271,1.303225372841206,1.56968557711749,1.920982126971166,2.414213562373094,3.171594802363212,4.510708503662055,7.595754112725146,22.90376554843115,.984807753012208,.6427876096865394,.3420201433256688,.9396926207859084,-.1736481776669303,-.7660444431189779,.8660254037844387,.5,-.5144957554275265,-.4717319685649723,-.3133774542039019,-.1819131996109812,-.09457419252642064,-.04096558288530405,-.01419856857247115,-.003699974673760037,.8574929257125442,.8817419973177052,.9496286491027329,.9833145924917901,.9955178160675857,.9991605581781475,.999899195244447,.9999931550702802],[0,0,0,0,0,0,2283748241799531e-28,4037858874020686e-28,2146547464825323e-28,5461314069809755e-27,4921085770524055e-27,4343405037091838e-27,3732668368707687e-27,3093523840190885e-27,2430835727329466e-27,1734679010007751e-27,974825365660928e-27,2797435120168326e-28,-5456116108943413e-27,-4878985199565852e-27,-4240448995017367e-27,-3559909094758253e-27,-2858043359288075e-27,-2156177623817898e-27,-1475637723558782e-27,-8371015190102975e-28,-2599706096327376e-28,-2382191739347913e-28,-6423305872147834e-28,-9400849094049688e-28,-1122435026096556e-27,-1183840321267481e-27,-1122435026096556e-27,-9400849094049688e-28,-6423305872147841e-28,-2382191739347918e-28]],n=t[Y.SHORT_TYPE],s=t[Y.SHORT_TYPE],r=t[Y.SHORT_TYPE],o=t[Y.SHORT_TYPE],l=[0,1,16,17,8,9,24,25,4,5,20,21,12,13,28,29,2,3,18,19,10,11,26,27,6,7,22,23,14,15,30,31];function _(t,a,n){for(var s,r,i,o=10,l=a+238-14-286,_=-15;_<0;_++){var c,f,u;c=e[o+-10],f=t[l+-224]*c,u=t[a+224]*c,c=e[o+-9],f+=t[l+-160]*c,u+=t[a+160]*c,c=e[o+-8],f+=t[l+-96]*c,u+=t[a+96]*c,c=e[o+-7],f+=t[l+-32]*c,u+=t[a+32]*c,c=e[o+-6],f+=t[l+32]*c,u+=t[a+-32]*c,c=e[o+-5],f+=t[l+96]*c,u+=t[a+-96]*c,c=e[o+-4],f+=t[l+160]*c,u+=t[a+-160]*c,c=e[o+-3],f+=t[l+224]*c,u+=t[a+-224]*c,c=e[o+-2],f+=t[a+-256]*c,u-=t[l+256]*c,c=e[o+-1],f+=t[a+-192]*c,u-=t[l+192]*c,c=e[o+0],f+=t[a+-128]*c,u-=t[l+128]*c,c=e[o+1],f+=t[a+-64]*c,u-=t[l+64]*c,c=e[o+2],f+=t[a+0]*c,u-=t[l+0]*c,c=e[o+3],f+=t[a+64]*c,u-=t[l+-64]*c,c=e[o+4],f+=t[a+128]*c,u-=t[l+-128]*c,c=e[o+5],f+=t[a+192]*c,c=(u-=t[l+-192]*c)-(f*=e[o+6]),n[30+2*_]=u+f,n[31+2*_]=e[o+7]*c,o+=18,a--,l++}u=t[a+-16]*e[o+-10],f=t[a+-32]*e[o+-2],u+=(t[a+-48]-t[a+16])*e[o+-9],f+=t[a+-96]*e[o+-1],u+=(t[a+-80]+t[a+48])*e[o+-8],f+=t[a+-160]*e[o+0],u+=(t[a+-112]-t[a+80])*e[o+-7],f+=t[a+-224]*e[o+1],u+=(t[a+-144]+t[a+112])*e[o+-6],f-=t[a+32]*e[o+2],u+=(t[a+-176]-t[a+144])*e[o+-5],f-=t[a+96]*e[o+3],u+=(t[a+-208]+t[a+176])*e[o+-4],f-=t[a+160]*e[o+4],u+=(t[a+-240]-t[a+208])*e[o+-3],s=(f-=t[a+224])-u,r=f+u,u=n[14],f=n[15]-u,n[31]=r+u,n[30]=s+f,n[15]=s-f,n[14]=r-u,i=n[28]-n[0],n[0]+=n[28],n[28]=i*e[o+-36+7],i=n[29]-n[1],n[1]+=n[29],n[29]=i*e[o+-36+7],i=n[26]-n[2],n[2]+=n[26],n[26]=i*e[o+-72+7],i=n[27]-n[3],n[3]+=n[27],n[27]=i*e[o+-72+7],i=n[24]-n[4],n[4]+=n[24],n[24]=i*e[o+-108+7],i=n[25]-n[5],n[5]+=n[25],n[25]=i*e[o+-108+7],i=n[22]-n[6],n[6]+=n[22],n[22]=i*p.SQRT2,i=n[23]-n[7],n[7]+=n[23],n[23]=i*p.SQRT2-n[7],n[7]-=n[6],n[22]-=n[7],n[23]-=n[22],i=n[6],n[6]=n[31]-i,n[31]=n[31]+i,i=n[7],n[7]=n[30]-i,n[30]=n[30]+i,i=n[22],n[22]=n[15]-i,n[15]=n[15]+i,i=n[23],n[23]=n[14]-i,n[14]=n[14]+i,i=n[20]-n[8],n[8]+=n[20],n[20]=i*e[o+-180+7],i=n[21]-n[9],n[9]+=n[21],n[21]=i*e[o+-180+7],i=n[18]-n[10],n[10]+=n[18],n[18]=i*e[o+-216+7],i=n[19]-n[11],n[11]+=n[19],n[19]=i*e[o+-216+7],i=n[16]-n[12],n[12]+=n[16],n[16]=i*e[o+-252+7],i=n[17]-n[13],n[13]+=n[17],n[17]=i*e[o+-252+7],i=-n[20]+n[24],n[20]+=n[24],n[24]=i*e[o+-216+7],i=-n[21]+n[25],n[21]+=n[25],n[25]=i*e[o+-216+7],i=n[4]-n[8],n[4]+=n[8],n[8]=i*e[o+-216+7],i=n[5]-n[9],n[5]+=n[9],n[9]=i*e[o+-216+7],i=n[0]-n[12],n[0]+=n[12],n[12]=i*e[o+-72+7],i=n[1]-n[13],n[1]+=n[13],n[13]=i*e[o+-72+7],i=n[16]-n[28],n[16]+=n[28],n[28]=i*e[o+-72+7],i=-n[17]+n[29],n[17]+=n[29],n[29]=i*e[o+-72+7],i=p.SQRT2*(n[2]-n[10]),n[2]+=n[10],n[10]=i,i=p.SQRT2*(n[3]-n[11]),n[3]+=n[11],n[11]=i,i=p.SQRT2*(-n[18]+n[26]),n[18]+=n[26],n[26]=i-n[18],i=p.SQRT2*(-n[19]+n[27]),n[19]+=n[27],n[27]=i-n[19],i=n[2],n[19]-=n[3],n[3]-=i,n[2]=n[31]-i,n[31]+=i,i=n[3],n[11]-=n[19],n[18]-=i,n[3]=n[30]-i,n[30]+=i,i=n[18],n[27]-=n[11],n[19]-=i,n[18]=n[15]-i,n[15]+=i,i=n[19],n[10]-=i,n[19]=n[14]-i,n[14]+=i,i=n[10],n[11]-=i,n[10]=n[23]-i,n[23]+=i,i=n[11],n[26]-=i,n[11]=n[22]-i,n[22]+=i,i=n[26],n[27]-=i,n[26]=n[7]-i,n[7]+=i,i=n[27],n[27]=n[6]-i,n[6]+=i,i=p.SQRT2*(n[0]-n[4]),n[0]+=n[4],n[4]=i,i=p.SQRT2*(n[1]-n[5]),n[1]+=n[5],n[5]=i,i=p.SQRT2*(n[16]-n[20]),n[16]+=n[20],n[20]=i,i=p.SQRT2*(n[17]-n[21]),n[17]+=n[21],n[21]=i,i=-p.SQRT2*(n[8]-n[12]),n[8]+=n[12],n[12]=i-n[8],i=-p.SQRT2*(n[9]-n[13]),n[9]+=n[13],n[13]=i-n[9],i=-p.SQRT2*(n[25]-n[29]),n[25]+=n[29],n[29]=i-n[25],i=-p.SQRT2*(n[24]+n[28]),n[24]-=n[28],n[28]=i-n[24],i=n[24]-n[16],n[24]=i,i=n[20]-i,n[20]=i,i=n[28]-i,n[28]=i,i=n[25]-n[17],n[25]=i,i=n[21]-i,n[21]=i,i=n[29]-i,n[29]=i,i=n[17]-n[1],n[17]=i,i=n[9]-i,n[9]=i,i=n[25]-i,n[25]=i,i=n[5]-i,n[5]=i,i=n[21]-i,n[21]=i,i=n[13]-i,n[13]=i,i=n[29]-i,n[29]=i,i=n[1]-n[0],n[1]=i,i=n[16]-i,n[16]=i,i=n[17]-i,n[17]=i,i=n[8]-i,n[8]=i,i=n[9]-i,n[9]=i,i=n[24]-i,n[24]=i,i=n[25]-i,n[25]=i,i=n[4]-i,n[4]=i,i=n[5]-i,n[5]=i,i=n[20]-i,n[20]=i,i=n[21]-i,n[21]=i,i=n[12]-i,n[12]=i,i=n[13]-i,n[13]=i,i=n[28]-i,n[28]=i,i=n[29]-i,n[29]=i,i=n[0],n[0]+=n[31],n[31]-=i,i=n[1],n[1]+=n[30],n[30]-=i,i=n[16],n[16]+=n[15],n[15]-=i,i=n[17],n[17]+=n[14],n[14]-=i,i=n[8],n[8]+=n[23],n[23]-=i,i=n[9],n[9]+=n[22],n[22]-=i,i=n[24],n[24]+=n[7],n[7]-=i,i=n[25],n[25]+=n[6],n[6]-=i,i=n[4],n[4]+=n[27],n[27]-=i,i=n[5],n[5]+=n[26],n[26]-=i,i=n[20],n[20]+=n[11],n[11]-=i,i=n[21],n[21]+=n[10],n[10]-=i,i=n[12],n[12]+=n[19],n[19]-=i,i=n[13],n[13]+=n[18],n[18]-=i,i=n[28],n[28]+=n[3],n[3]-=i,i=n[29],n[29]+=n[2],n[2]-=i}function c(e,a){for(var n=0;n<3;n++){var s,r,i,o,l,_;r=(o=e[a+6]*t[Y.SHORT_TYPE][0]-e[a+15])+(s=e[a+0]*t[Y.SHORT_TYPE][2]-e[a+9]),i=o-s,l=(o=e[a+15]*t[Y.SHORT_TYPE][0]+e[a+6])+(s=e[a+9]*t[Y.SHORT_TYPE][2]+e[a+0]),_=-o+s,s=2069978111953089e-26*(e[a+3]*t[Y.SHORT_TYPE][1]-e[a+12]),o=2069978111953089e-26*(e[a+12]*t[Y.SHORT_TYPE][1]+e[a+3]),e[a+0]=190752519173728e-25*r+s,e[a+15]=190752519173728e-25*-l+o,i=.8660254037844387*i*1907525191737281e-26,l=.5*l*1907525191737281e-26+o,e[a+3]=i-l,e[a+6]=i+l,r=.5*r*1907525191737281e-26-s,_=.8660254037844387*_*1907525191737281e-26,e[a+9]=r+_,e[a+12]=r-_,a++}}this.mdct_sub48=function(e,f,p){for(var b,m,d,v,g,w,S,M,y,R,k,A,T,x,B,E,P,L,C,I,H,O=f,N=286,D=0;D=0;--W){var te,ae;te=X[q+W]*r[20+W]+X[q+-1-W]*o[28+W],ae=X[q+W]*o[28+W]-X[q+-1-W]*r[20+W],X[q+-1-W]=te,X[q+W]=ae}}}if(O=p,N=286,1==e.mode_gr)for(var ne=0;ne<18;ne++)h.arraycopy(e.sb_sample[D][1][ne],0,e.sb_sample[D][0][ne],0,32)}}}function X(){this.thm=new U,this.en=new U}function Y(){Y.FFTOFFSET;var e=Y.MPG_MD_MS_LR,t=null;this.psy=null;var n=null,s=null;this.setModules=function(e,a,r,i){t=e,this.psy=a,n=a,s=i};var o=new j;this.lame_encode_mp3_frame=function(_,c,u,h,p,b){var m,g=f([2,2]);g[0][0]=new X,g[0][1]=new X,g[1][0]=new X,g[1][1]=new X;var w,S=f([2,2]);S[0][0]=new X,S[0][1]=new X,S[1][0]=new X,S[1][1]=new X;var M,y,R,k=[null,null],A=_.internal_flags,T=l([2,4]),x=[[0,0],[0,0]],B=[[0,0],[0,0]];if(k[0]=c,k[1]=u,0==A.lame_encode_frame_init&&function(e,t){var a,n,s=e.internal_flags;if(0==s.lame_encode_frame_init){var r,l,_=i(2014),c=i(2014);for(s.lame_encode_frame_init=1,r=0,l=0;r<286+576*(1+s.mode_gr);++r)r<576*s.mode_gr?(_[r]=0,2==s.channels_out&&(c[r]=0)):(_[r]=t[0][l],2==s.channels_out&&(c[r]=t[1][l]),++l);for(n=0;n.03125)e.ATH.adjust>=1?e.ATH.adjust=1:e.ATH.adjust=s?(e.ATH.adjust*=.075*s+.925,e.ATH.adjust=s?e.ATH.adjust=s:e.ATH.adjust>1,b=(h=s<<1)+(u=s),s=h<<1,i=(r=t)+m;do{y=e[r+0]-e[r+u],M=e[r+0]+e[r+u],T=e[r+h]-e[r+b],k=e[r+h]+e[r+b],e[r+h]=M-k,e[r+0]=M+k,e[r+b]=y-T,e[r+u]=y+T,y=e[i+0]-e[i+u],M=e[i+0]+e[i+u],T=p.SQRT2*e[i+b],k=p.SQRT2*e[i+h],e[i+h]=M-k,e[i+0]=M+k,e[i+b]=y-T,e[i+u]=y+T,i+=s,r+=s}while(r=0);n(a[l],_,Y.BLKSIZE_s/2)}},this.fft_long=function(t,a,r,i,o){var l=Y.BLKSIZE/8-1,_=Y.BLKSIZE/2;do{var c,f,u,h,p,b=255&s[l];f=(c=e[b]*i[r][o+b])-(p=e[b+512]*i[r][o+b+512]),c+=p,h=(u=e[b+256]*i[r][o+b+256])-(p=e[b+768]*i[r][o+b+768]),u+=p,a[0+(_-=4)]=c+u,a[_+2]=c-u,a[_+1]=f+h,a[_+3]=f-h,f=(c=e[b+1]*i[r][o+b+1])-(p=e[b+513]*i[r][o+b+513]),c+=p,h=(u=e[b+257]*i[r][o+b+257])-(p=e[b+769]*i[r][o+b+769]),u+=p,a[_+Y.BLKSIZE/2+0]=c+u,a[_+Y.BLKSIZE/2+2]=c-u,a[_+Y.BLKSIZE/2+1]=f+h,a[_+Y.BLKSIZE/2+3]=f-h}while(--l>=0);n(a,_,Y.BLKSIZE/2)},this.init_fft=function(a){for(var n=0;n=0;--b){var m=i[o+0][Y.BLKSIZE/2-b],d=i[o+0][Y.BLKSIZE/2+b];s[Y.BLKSIZE/2-b]=.5*(m*m+d*d)}for(var v=2;v>=0;--v)for(r[v][0]=l[_+0][v][0],r[v][0]*=r[v][0],b=Y.BLKSIZE_s/2-1;b>=0;--b)m=l[_+0][v][Y.BLKSIZE_s/2-b],d=l[_+0][v][Y.BLKSIZE_s/2+b],r[v][Y.BLKSIZE_s/2-b]=.5*(m*m+d*d);var g=0;for(b=11;be){if(!(t=t*_)return e+t;i=e/t}if(e+=t,n+3<=6){if(i>=o)return e;var u=0|p.FAST_LOG10_X(i,16);return e*g[u]}return u=0|p.FAST_LOG10_X(i,16),t=0!=r?s.ATH.cb_s[a]*s.ATH.adjust:s.ATH.cb_l[a]*s.ATH.adjust,et?(l=1,u<=13&&(l=w[u]),f=p.FAST_LOG10_X(e/t,10/15),e*((h[u]-l)*f+l)):u>13?e:e*w[u]:e*h[u]}function M(e,t,a,n,s){var r,i,o=0,l=0;for(r=i=0;r=c){++r;break}var u=e.PSY.bo_s_weight[r],h=1-u;o=u*t[i],l=u*a[i],e.en[n].s[r][s]+=o,e.thm[n].s[r][s]+=l,o=h*t[i],l=h*a[i]}for(;r=_){++s;break}var f=e.PSY.bo_l_weight[s],u=1-f;i=f*t[r],o=f*a[r],e.en[n].l[s]+=i,e.thm[n].l[s]+=o,i=u*t[r],o=u*a[r]}for(;s=1?e:a<=0?t:t>0?Math.pow(e/t,a)*t:0}var A=[11.8,13.6,17.2,32,46.5,51.3,57.5,67.1,71.5,84.6,97.6,130];function T(e,a){for(var n=309.07,s=0;s0){var o=i*a,l=e.en.s[s][r];l>o&&(n+=l>1e10*o?A[s]*(10*t):A[s]*p.FAST_LOG10(l/o))}}return n}var x=[6.8,5.8,5.8,6.4,6.5,9.9,12.1,14.4,15,18.9,21.6,26.9,34.2,40.2,46.8,56.5,60.7,73.9,85.7,93.4,126.1];function B(e,a){for(var n=281.0575,s=0;s0){var i=r*a,o=e.en.l[s];o>i&&(n+=o>1e10*i?x[s]*(10*t):x[s]*p.FAST_LOG10(o/i))}}return n}function E(e,t,a,n,s){var r,i;for(r=i=0;r0?((o=t[r])s&&(l=s),n[r]=l):n[r]=0,r=1;r0?((o=t[r-1])s&&(l=s),n[r]=l):n[r]=0}(i=a[r-1]+a[r])>0?((o=t[r-1])s&&(l=s),n[r]=l):n[r]=0}var L=[-1730326e-23,-.01703172,-1349528e-23,.0418072,-673278e-22,-.0876324,-30835e-21,.1863476,-1104424e-22,-.627638];function C(e){return e<0&&(e=0),e*=.001,13*Math.atan(.76*e)+3.5*Math.atan(e*e/56.25)}function I(e,t,a,n,s,o,l,_,c,f,u,h){var p,b=i(Y.CBANDS+1),m=_/(h>15?1152:384),d=r(Y.HBLKSIZE);_/=c;var v=0,g=0;for(p=0;pc/2){v=c/2,++p;break}}b[p]=_*v;for(var S=0;Sc/2&&(y=c/2),a[S]=(d[M]+d[y])/2,t[S]=d[y];var T=m*k;l[S]=(T-b[t[S]])/(b[t[S]+1]-b[t[S]]),l[S]<0?l[S]=0:l[S]>1&&(l[S]=1),A=C(_*f[S]*u),A=Math.min(A,15.5)/15.5,o[S]=Math.pow(10,1.25*(1-Math.cos(Math.PI*A))-2.5)}v=0;for(var x=0;x=0?3:1.5)>=.5&&f<=2.5?8*((p=f-.5)*p-2*p):0,((h=15.811389+7.5*(f+=.474)-17.5*Math.sqrt(1+f*f))<=-60?0:(f=Math.exp(.2302585093*(u+h)),f/=.6609193))*s[_]);b[d][_]=v*r[d]}else a();for(d=0;d0);_++);for(e[d][0]=_,_=t-1;_>0&&!(b[d][_]>0);_--);e[d][1]=_,m+=e[d][1]-e[d][0]+1}var g=i(m),w=0;for(d=0;d2&&a()}for(A=0;Aae[C+3-2]?pe/=ae[C+3-2]:pe=ae[C+3-2]>10*pe?ae[C+3-2]/(10*pe):0,se[C+3]=pe}for(e.analysis&&a(),te=3==A?V.nsPsy.attackthre_s:V.nsPsy.attackthre,C=0;C<12;C++)0==le[C/3]&&se[C]>te&&(le[C/3]=C%3+1);for(C=1;C<4;C++)(ne[C-1]>ne[C]?ne[C-1]/ne[C]:ne[C]/ne[C-1])<1.7&&(le[C]=0,1==C&&(le[0]=0));for(0!=le[0]&&0!=V.nsPsy.lastAttacks[A]&&(le[0]=0),3!=V.nsPsy.lastAttacks[A]&&le[0]+le[1]+le[2]+le[3]==0||(re=0,0!=le[1]&&0!=le[0]&&(le[1]=0),0!=le[2]&&0!=le[1]&&(le[2]=0),0!=le[3]&&0!=le[2]&&(le[3]=0)),A<2?W[A]=re:a(),m[A]=V.tot_ener[A],s(e,_e,ce,F,1&A,j,1&A,o,A,t,n),E(V,_e,X,ie,oe),P(V,ie,oe,K),N=0;N<3;N++){var be,me;for(R(e,ce,q,z,A,N),M(V,q,z,A,N),O=0;O=2||1==le[N+1]){var de=0!=N?N-1:2;pe=k(V.thm[A].s[O][de],me,.6*D),me=Math.min(me,pe)}1==le[N]?(de=0!=N?N-1:2,pe=k(V.thm[A].s[O][de],me,.3*D),me=Math.min(me,pe)):(0!=N&&3==le[N-1]||0==N&&3==V.nsPsy.lastAttacks[A])&&(de=2!=N?N+1:0,pe=k(V.thm[A].s[O][de],me,.3*D),me=Math.min(me,pe)),be=ae[3*N+3]+ae[3*N+4]+ae[3*N+5],6*ae[3*N+5]1?a():(Se=h,Re=0,Me=g[A],ye=_[o][A]),Me==Y.SHORT_TYPE?Se[Re+A]=T(ye,V.masking_lower):Se[Re+A]=B(ye,V.masking_lower),e.analysis&&(V.pinfo.pe[o][A]=Se[Re+A])}return 0},this.psymodel_init=function(a){var n,s,r=a.internal_flags,l=!0,f=13,u=0,h=0,p=-8.25,b=-4.5,v=i(Y.CBANDS),g=i(Y.CBANDS),w=i(Y.CBANDS),S=a.out_samplerate;switch(a.experimentalZ){default:case 0:l=!0;break;case 1:l=a.VBR!=d.vbr_mtrh&&a.VBR!=d.vbr_mt;break;case 2:l=!1;break;case 3:f=8,u=-1.75,h=-.0125,p=-8.25,b=-2.25}for(r.ms_ener_ratio_old=.25,r.blocktype_old[0]=r.blocktype_old[1]=Y.NORM_TYPE,n=0;n<4;++n){for(var M=0;M=f&&(R=h*(v[n]-f)/(24-f)+u*(24-v[n])/(24-f)),w[n]=Math.pow(10,R/10),r.numlines_l[n]>0?r.rnumlines_l[n]=1/r.numlines_l[n]:r.rnumlines_l[n]=0}for(r.s3_ll=H(r.s3ind,r.npart_l,v,g,w,l),M=0,n=0;n(x*=r.numlines_l[n])&&(T=x)}r.ATH.cb_l[n]=T,(T=20*v[n]/10-20)>6&&(T=100),T<-15&&(T=-15),T-=8,r.minval_l[n]=Math.pow(10,T/10)*r.numlines_l[n]}for(r.npart_s=I(r.numlines_s,r.bo_s,r.bm_s,v,g,r.mld_s,r.PSY.bo_s_weight,S,Y.BLKSIZE_s,r.scalefac_band.s,Y.BLKSIZE_s/384,Y.SBMAX_s),M=0,n=0;n=f&&(R=b*(v[n]-f)/(24-f)+p*(24-v[n])/(24-f)),w[n]=Math.pow(10,R/10),T=m.MAX_VALUE,k=0;k(x*=r.numlines_s[n])&&(T=x)}r.ATH.cb_s[n]=T,T=7*v[n]/12-7,v[n]>12&&(T*=1+3.1*Math.log(1+T)),v[n]<12&&(T*=1+2.3*Math.log(1-T)),T<-15&&(T=-15),T-=8,r.minval_s[n]=Math.pow(10,T/10)*r.numlines_s[n]}r.s3_ss=H(r.s3ind_s,r.npart_s,v,g,w,l),o=Math.pow(10,9/16),_=Math.pow(10,1.5),c=Math.pow(10,1.5),e.init_fft(r),r.decay=Math.exp(-1*t/(.01*S/192)),s=3.5,0!=(2&a.exp_nspsytune)&&(s=1),Math.abs(a.msfix)>0&&(s=a.msfix),a.msfix=s;for(var B=0;Br.npart_l-1&&(r.s3ind[B][1]=r.npart_l-1);var E=576*r.mode_gr/S;if(r.ATH.decay=Math.pow(10,-1.2*E),r.ATH.adjust=.01,r.ATH.adjustLimit=1,-1!=a.ATHtype){var P=a.out_samplerate/Y.BLKSIZE,L=0;for(A=0,n=0;n=0;)r.ATH.eql_w[n]*=L}for(B=M=0;B1.0001)a();else{i.n_out=Math.min(e.framesize,r),i.n_in=i.n_out;for(var l=0;le-n?a:s},this.lame_init_params=function(e){var i=e.internal_flags;if(i.Class_ID=0,null==i.ATH&&(i.ATH=new P),null==i.PSY&&(i.PSY=new h),null==i.rgdata&&(i.rgdata=new I),i.channels_in=e.num_channels,1==i.channels_in&&(e.mode=v.MONO),i.channels_out=e.mode==v.MONO?1:2,i.mode_ext=Y.MPG_MD_MS_LR,e.mode==v.MONO&&(e.force_ms=!1),e.VBR==d.vbr_off&&128!=e.VBR_mean_bitrate_kbps&&0==e.brate&&(e.brate=e.VBR_mean_bitrate_kbps),e.VBR==d.vbr_off||e.VBR==d.vbr_mtrh||e.VBR==d.vbr_mt||(e.free_format=!1),e.VBR==d.vbr_off&&0==e.brate&&a(),e.VBR==d.vbr_off&&e.compression_ratio>0&&a(),0!=e.out_samplerate&&(e.out_samplerate<16e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,64)):e.out_samplerate<32e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,160)):(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,32),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320))),0==e.lowpassfreq){var o=16e3;switch(e.VBR){case d.vbr_off:g(c=new p,e.brate),o=c.lowerlimit;break;case d.vbr_abr:var c;g(c=new p,e.VBR_mean_bitrate_kbps),o=c.lowerlimit;break;case d.vbr_rh:a();default:a()}e.mode!=v.MONO||e.VBR!=d.vbr_off&&e.VBR!=d.vbr_abr||(o*=1.5),e.lowpassfreq=0|o}switch(0==e.out_samplerate&&a(),e.lowpassfreq=Math.min(20500,e.lowpassfreq),e.lowpassfreq=Math.min(e.out_samplerate/2,e.lowpassfreq),e.VBR==d.vbr_off&&(e.compression_ratio=16*e.out_samplerate*i.channels_out/(1e3*e.brate)),e.VBR==d.vbr_abr&&a(),e.bWriteVbrTag||(e.findReplayGain=!1,e.decode_on_the_fly=!1,i.findPeakSample=!1),i.findReplayGain=e.findReplayGain,i.decode_on_the_fly=e.decode_on_the_fly,i.decode_on_the_fly&&(i.findPeakSample=!0),i.findReplayGain&&a(),i.decode_on_the_fly&&!e.decode_only&&a(),i.mode_gr=e.out_samplerate<=24e3?1:2,e.framesize=576*i.mode_gr,e.encoder_delay=Y.ENCDELAY,i.resample_ratio=e.in_samplerate/e.out_samplerate,e.VBR){case d.vbr_mt:case d.vbr_rh:case d.vbr_mtrh:e.compression_ratio=[5.7,6.5,7.3,8.2,10,11.9,13,14,15,16.5][e.VBR_q];break;case d.vbr_abr:e.compression_ratio=16*e.out_samplerate*i.channels_out/(1e3*e.VBR_mean_bitrate_kbps);break;default:e.compression_ratio=16*e.out_samplerate*i.channels_out/(1e3*e.brate)}e.mode==v.NOT_SET&&(e.mode=v.JOINT_STEREO),e.highpassfreq>0?a():(i.highpass1=0,i.highpass2=0),e.lowpassfreq>0?(i.lowpass2=2*e.lowpassfreq,e.lowpasswidth>=0?a():i.lowpass1=2*e.lowpassfreq,i.lowpass1/=e.out_samplerate,i.lowpass2/=e.out_samplerate):a(),function(e){var t,n=e.internal_flags,s=32;if(n.lowpass1>0){for(var r=999,i=0;i<=31;i++)(_=i/31)>=n.lowpass2&&(s=Math.min(s,i)),n.lowpass1<_&&_0&&a(),n.highpass2>0&&a(),i=0;i<32;i++){var o,l,_=i/31;n.highpass2>n.highpass1?a():o=1,l=n.lowpass2>n.lowpass1?(t=(_-n.lowpass1)/(n.lowpass2-n.lowpass1+1e-20))>1?0:t<=0?1:Math.cos(Math.PI/2*t):1,n.amp_filter[i]=o*l}}(e),i.samplerate_index=function(e,t){switch(e){case 44100:return t.version=1,0;case 48e3:return t.version=1,1;case 32e3:return t.version=1,2;case 22050:return t.version=0,0;case 24e3:return t.version=0,1;case 16e3:return t.version=0,2;case 11025:return t.version=0,0;case 12e3:return t.version=0,1;case 8e3:return t.version=0,2;default:return t.version=0,-1}}(e.out_samplerate,e),i.samplerate_index<0&&a(),e.VBR==d.vbr_off?e.free_format?i.bitrate_index=0:(e.brate=function(e,t,a){a<16e3&&(t=2);for(var n=T.bitrate_table[t][1],s=2;s<=14;s++)T.bitrate_table[t][s]>0&&Math.abs(T.bitrate_table[t][s]-e)0&&T.bitrate_table[t][n]==e)return n;return-1}(e.brate,e.version,e.out_samplerate),i.bitrate_index<=0&&a()):i.bitrate_index=1,e.analysis&&(e.bWriteVbrTag=!1),null!=i.pinfo&&(e.bWriteVbrTag=!1),t.init_bit_stream_w(i);for(var m,w=i.samplerate_index+3*e.version+6*(e.out_samplerate<16e3?1:0),S=0;S5&&(e.quality=5),i.PSY.mask_adjust=e.maskingadjust,i.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?i.sfb21_extra=!1:i.sfb21_extra=e.out_samplerate>44e3,i.iteration_loop=new VBRNewIterationLoop(r);break;case d.vbr_rh:n.apply_preset(e,500-10*e.VBR_q,0),i.PSY.mask_adjust=e.maskingadjust,i.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?i.sfb21_extra=!1:i.sfb21_extra=e.out_samplerate>44e3,e.quality>6&&(e.quality=6),e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),i.iteration_loop=new VBROldIterationLoop(r);break;default:var R;i.sfb21_extra=!1,e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),(R=e.VBR)==d.vbr_off&&(e.VBR_mean_bitrate_kbps=e.brate),n.apply_preset(e,e.VBR_mean_bitrate_kbps,0),e.VBR=R,i.PSY.mask_adjust=e.maskingadjust,i.PSY.mask_adjust_short=e.maskingadjust_short,R==d.vbr_off?i.iteration_loop=new C(r):a()}return e.VBR!=d.vbr_off&&a(),e.tune&&a(),function(e){var t=e.internal_flags;switch(e.quality){default:case 9:t.psymodel=0,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 8:e.quality=7;case 7:t.psymodel=1,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 6:case 5:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=0,t.full_outer_loop=0;break;case 4:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 3:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 2:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 1:case 0:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=2,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0}}(e),e.athaa_type<0?i.ATH.useAdjust=3:i.ATH.useAdjust=e.athaa_type,i.ATH.aaSensitivityP=Math.pow(10,e.athaa_sensitivity/-10),null==e.short_blocks&&(e.short_blocks=b.short_block_allowed),e.short_blocks!=b.short_block_allowed||e.mode!=v.JOINT_STEREO&&e.mode!=v.STEREO||(e.short_blocks=b.short_block_coupled),e.quant_comp<0&&(e.quant_comp=1),e.quant_comp_short<0&&(e.quant_comp_short=0),e.msfix<0&&(e.msfix=0),e.exp_nspsytune=1|e.exp_nspsytune,e.internal_flags.nsPsy.attackthre<0&&(e.internal_flags.nsPsy.attackthre=Z.NSATTACKTHRE),e.internal_flags.nsPsy.attackthre_s<0&&(e.internal_flags.nsPsy.attackthre_s=Z.NSATTACKTHRE_S),e.scale<0&&(e.scale=1),e.ATHtype<0&&(e.ATHtype=4),e.ATHcurve<0&&(e.ATHcurve=4),e.athaa_loudapprox<0&&(e.athaa_loudapprox=2),e.interChRatio<0&&(e.interChRatio=0),null==e.useTemporal&&(e.useTemporal=!0),i.slot_lag=i.frac_SpF=0,e.VBR==d.vbr_off&&(i.slot_lag=i.frac_SpF=72e3*(e.version+1)*e.brate%e.out_samplerate|0),s.iteration_init(e),u.psymodel_init(e),0},this.lame_encode_flush=function(e,n,s,r){var i,o,l,_,f=e.internal_flags,u=c([2,1152]),h=0,p=f.mf_samples_to_encode-Y.POSTDELAY,b=w(e);if(f.mf_samples_to_encode<1)return 0;for(i=0,e.in_samplerate!=e.out_samplerate&&a(),(l=e.framesize-p%e.framesize)<576&&(l+=e.framesize),e.encoder_padding=l,_=(p+l)/e.framesize;_>0&&h>=0;){var m=b-f.mf_size,d=e.frameNum;m*=e.in_samplerate,(m/=e.out_samplerate)>1152&&(m=1152),m<1&&(m=1),o=r-i,0==r&&(o=0),s+=h=this.lame_encode_buffer(e,u[0],u[1],m,n,s,o),i+=h,_-=d!=e.frameNum?1:0}return f.mf_samples_to_encode=0,h<0?h:(o=r-i,0==r&&(o=0),t.flush_bitstream(e),(h=t.copy_buffer(f,n,s,o,1))<0?h:(s+=h,o=r-(i+=h),0==r&&(o=0),e.write_id3tag_automatic&&a(),i))},this.lame_encode_buffer=function(n,s,r,o,l,_,c){var f=n.internal_flags,u=[null,null];if(4294479419!=f.Class_ID)return-3;if(0==o)return 0;!function(e,t){(null==e.in_buffer_0||e.in_buffer_nsamples1&&(u[1][h]=r[h]);return function(n,s,r,i,o,l,_){var c,f,u,h,p,b=n.internal_flags,m=0,d=[null,null],v=[null,null];if(4294479419!=b.Class_ID)return-3;if(0==i)return 0;if((p=t.copy_buffer(b,o,l,_,0))<0)return p;if(l+=p,m+=p,v[0]=s,v[1]=r,k.NEQ(n.scale,0)&&k.NEQ(n.scale,1))for(f=0;f0;){var A,T,x=[null,null];x[0]=v[0],x[1]=v[1];var B=new y;if(R(n,d,x,g,i,B),A=B.n_in,T=B.n_out,b.findReplayGain&&!b.decode_on_the_fly&&e.AnalyzeSamples(b.rgdata,d[0],b.mf_size,d[1],b.mf_size,T,b.channels_out)==S.GAIN_ANALYSIS_ERROR)return-6;if(i-=A,g+=A,b.channels_out,b.mf_size+=T,b.mf_samples_to_encode<1&&a(),b.mf_samples_to_encode+=T,b.mf_size>=h){var E=_-m;if(0==_&&(E=0),(c=M(n,d[0],d[1],o,l,E))<0)return c;for(l+=c,m+=c,b.mf_size-=n.framesize,b.mf_samples_to_encode-=n.framesize,u=0;ux&&(x=t.length,E=n(B=0|1.25*x+7200));var s=r.lame_encode_buffer(T,t,a,t.length,E,0,B);return new Int8Array(E.subarray(0,s))},this.flush=function(){var e=r.lame_encode_flush(T,E,0,B);return new Int8Array(E.subarray(0,e))}}}t(),e.lamejs=t}(("object"==typeof window&&window.document?window:Object).Recorder)},function(e,t){var a,n,s;a="object"==typeof window&&!!window.document,n=(a?window:Object).Recorder,s=n.i18n,function(e,t,a,n){"use strict";var s=function(e){return new r(e)},r=function(e){var t={scale:2,speed:9,phase:21.8,fps:20,keep:!0,lineWidth:3,linear1:[0,"rgba(150,96,238,1)",.2,"rgba(170,79,249,1)",1,"rgba(53,199,253,1)"],linear2:[0,"rgba(209,130,255,0.6)",1,"rgba(53,199,255,0.6)"],linearBg:[0,"rgba(255,255,255,0.2)",1,"rgba(54,197,252,0.2)"]};for(var s in e)t[s]=e[s];if(this.set=e=t,e.compatibleCanvas)var r=this.canvas=e.compatibleCanvas;else{if(!n)throw new Error(a.G("NonBrowser-1",["WaveView"]));var i=e.elem;i&&("string"==typeof i?i=document.querySelector(i):i.length&&(i=i[0])),i&&(e.width=i.offsetWidth,e.height=i.offsetHeight);var o=this.elem=document.createElement("div");o.style.fontSize=0,o.innerHTML='',r=this.canvas=o.querySelector("canvas"),i&&(i.innerHTML="",i.appendChild(o))}var l=e.scale,_=e.width*l,c=e.height*l;if(!_||!c)throw new Error(a.G("IllegalArgs-1",["WaveView width=0 height=0"]));r.width=_,r.height=c;var f=this.ctx=r.getContext("2d");this.linear1=this.genLinear(f,_,e.linear1),this.linear2=this.genLinear(f,_,e.linear2),this.linearBg=this.genLinear(f,c,e.linearBg,!0),this._phase=0};r.prototype=s.prototype={genLinear:function(e,t,a,n){for(var s=e.createLinearGradient(0,0,n?0:t,n?t:0),r=0;r1300&&(clearInterval(t.timer),t.timer=0)}},draw:function(e){var t=this.set,a=this.ctx,n=t.scale,s=t.width*n,r=t.height*n,i=t.speed/t.fps,o=this._phase-=i,l=o+i*t.phase,_=e/100,c=this.genPath(2,_,o),f=this.genPath(1.8,_,l);a.clearRect(0,0,s,r),a.beginPath();for(var u=0,h=0;h<=s;u++,h+=n)0==h?a.moveTo(h,c[u]):a.lineTo(h,c[u]);for(u--,h=s-1;h>=0;u--,h-=n)a.lineTo(h,f[u]);a.closePath(),a.fillStyle=this.linearBg,a.fill(),this.drawPath(f,this.linear2),this.drawPath(c,this.linear1)},drawPath:function(e,t){var a=this.set,n=this.ctx,s=a.scale,r=a.width*s;n.beginPath();for(var i=0,o=0;o<=r;i++,o+=s)0==o?n.moveTo(o,e[i]):n.lineTo(o,e[i]);n.lineWidth=a.lineWidth*s,n.strokeStyle=t,n.stroke()}},e.WaveView=s}(n,0,s.$T,a)}]); \ No newline at end of file diff --git a/assets/demo-ts/index.html b/assets/demo-ts/index.html index 6528fb2b..e93e5be2 100644 --- a/assets/demo-ts/index.html +++ b/assets/demo-ts/index.html @@ -19,10 +19,11 @@
@@ -44,6 +45,7 @@ +
@@ -95,9 +97,10 @@ reclog('【Uncaught Error】'+message+'
'+"at:"+lineNo+":"+columnNo+" url:"+url+"\n"+(error&&error.stack||"不能获得错误堆栈")+'
'); }; -reclog('如需录音功能定制开发,网站、App、小程序、前端后端开发等需求,请加QQ群:①群 781036591、②群 748359095,口令recorder,联系群主(即作者),谢谢~',"#f60;font-size:22px;font-weight:bold"); -reclog("Recorder H5使用简单,功能丰富,支持PC、Android、IOS 14.3+"+unescape("%uD83D%uDCAA"),"#0b1;font-weight:bold;font-size:24px"); -reclog('本页面修改时间(有可能修改了忘改):2022-08-07 18:24',"#999"); +reclog('如需录音功能定制开发,网站、App、小程序、前端后端开发等需求,请加QQ群:①群 781036591、②群 748359095,口令recorder,联系群主(即作者),谢谢~',"#333;font-size:22px;font-weight:bold"); +reclog("Recorder App基于Recorder H5的跨平台录音,支持在浏览器环境中使用(H5)、各种使用js来构建的程序中使用(App、小程序、UniApp、Electron、NodeJs)"+unescape("%uD83C%uDF89"),"#f60;font-weight:bold;font-size:24px"); +reclog("Recorder H5使用简单,功能丰富,支持PC、Android、iOS 14.3+"+unescape("%uD83D%uDCAA"),"#0b1;font-weight:bold;font-size:24px"); +reclog('本页面修改时间(有可能修改了忘改):2023-12-01 20:36',"#999"); reclog('Recorder库修改时间(有可能修改了忘改):'+(window.Recorder&&Recorder.LM),"#999"); reclog("UA: "+navigator.userAgent, "#999"); reclog("URL: "+location.href.replace(/#.*/g,""), "#999"); @@ -110,7 +113,7 @@ //移动端加载控制台组件 var elem=document.createElement("script"); elem.setAttribute("type","text/javascript"); - elem.setAttribute("src","https://xiangyuecn.gitee.io/recorder/assets/ztest-vconsole.js"); + elem.setAttribute("src","../ztest-vconsole.js"); document.body.appendChild(elem); elem.onload=function(){ new VConsole(); @@ -119,7 +122,7 @@ - + \ No newline at end of file diff --git a/assets/demo-vue/dist/index.js b/assets/demo-vue/dist/index.js index 35ff7093..ef61b889 100644 --- a/assets/demo-vue/dist/index.js +++ b/assets/demo-vue/dist/index.js @@ -1,6 +1,6 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=19)}([function(e,t,n){"use strict";var r,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":a(window))&&(r=window)}e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r,a,i,s,o){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),i&&(c._scopeId="data-v-"+i),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=l):a&&(l=o?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var f=c.render;c.render=function(e,t){return l.call(t),f(e,t)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:e,options:c}}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){"use strict";n.r(t);var r=n(4),a=n.n(r);for(var i in r)"default"!==i&&function(e){n.d(t,e,(function(){return r[e]}))}(i);t.default=a.a},function(e,t,n){"use strict";var r,a=n(13),i=(r=a)&&r.__esModule?r:{default:r};n(21),n(22),n(14),e.exports={data:function(){return{Rec:i.default,type:"mp3",bitRate:16,sampleRate:16e3,rec:0,duration:0,powerLevel:0,recOpenDialogShow:0,logs:[]}},methods:{recOpen:function(){var e=this,t=this.rec=(0,i.default)({type:e.type,bitRate:e.bitRate,sampleRate:e.sampleRate,onProcess:function(t,n,r,a){e.duration=r,e.powerLevel=n,e.wave.input(t[t.length-1],n,a)}});e.dialogInt=setTimeout((function(){e.showDialog()}),8e3),t.open((function(){e.dialogCancel(),e.reclog("已打开:"+e.type+" "+e.sampleRate+"hz "+e.bitRate+"kbps",2),e.wave=i.default.WaveView({elem:".ctrlProcessWave"})}),(function(t,n){e.dialogCancel(),e.reclog((n?"UserNotAllow,":"")+"打开失败:"+t,1)})),e.waitDialogClickFn=function(){e.dialogCancel(),e.reclog("打开失败:权限请求被忽略,用户主动点击的弹窗",1)}},recClose:function(){var e=this.rec;this.rec=null,e?(e.close(),this.reclog("已关闭")):this.reclog("未打开录音",1)},recStart:function(){if(this.rec&&i.default.IsOpen()){this.rec.start();var e=this.rec.set;this.reclog("录制中:"+e.type+" "+e.sampleRate+"hz "+e.bitRate+"kbps")}else this.reclog("未打开录音",1)},recPause:function(){this.rec&&i.default.IsOpen()?this.rec.pause():this.reclog("未打开录音",1)},recResume:function(){this.rec&&i.default.IsOpen()?this.rec.resume():this.reclog("未打开录音",1)},recStop:function(){if(this.rec&&i.default.IsOpen()){var e=this,t=e.rec;t.stop((function(n,r){e.reclog("已录制:","",{blob:n,duration:r,rec:t})}),(function(t){e.reclog("录音失败:"+t,1)}))}else e.reclog("未打开录音",1)},recPlayLast:function(){this.recLogLast?this.recplay(this.recLogLast.idx):this.reclog("请先录音,然后停止后再播放",1)},recUploadLast:function(){if(this.recLogLast){var e=this,t=this.recLogLast.res.blob,n="https://xx.xx/test_request",r=function(t){return function(){4==s.readyState&&(200==s.status?e.reclog(t+"上传成功",2):(e.reclog(t+"没有完成上传,演示上传地址无需关注上传结果,只要浏览器控制台内Network面板内看到的请求数据结构是预期的就ok了。","#d8c1a0"),console.error(t+"上传失败",s.status,s.responseText)))}};e.reclog("开始上传到"+n+",请求稍后...","#f60");var a=new FileReader;a.onloadend=function(){var e="";e+="mime="+encodeURIComponent(t.type),e+="&upfile_b64="+encodeURIComponent((/.+;\s*base64\s*,\s*(.+)$/i.exec(a.result)||[])[1]);var i=new XMLHttpRequest;i.open("POST",n),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.onreadystatechange=r("上传方式一【Base64】"),i.send(e)},a.readAsDataURL(t);var i=new FormData;i.append("upfile",t,"recorder.mp3");var s=new XMLHttpRequest;s.open("POST",n),s.onreadystatechange=r("上传方式二【FormData】"),s.send(i)}else this.reclog("请先录音,然后停止后再上传",1)},reclog:function(e,t,n){var r={idx:this.logs.length,msg:e,color:t,res:n,playMsg:"",down:0,down64Val:""};n&&n.blob&&(this.recLogLast=r),this.logs.splice(0,0,r)},recplay:function(e){var t=this,n=this.logs[this.logs.length-e-1];n.play=(n.play||0)+1;var r=function(e){n.playMsg=''+n.play+" "+t.getTime()+" "+e};r("");var a=this.$refs.LogAudioPlayer;a.controls=!0,a.ended||a.paused||a.pause(),a.onerror=function(e){r('播放失败['+a.error.code+"]"+a.error.message+"")},a.src=(window.URL||webkitURL).createObjectURL(n.res.blob),a.play()},recdown:function(e){var t=this.logs[this.logs.length-e-1];t.down=(t.down||0)+1;var n="rec-"+(t=t.res).duration+"ms-"+(t.rec.set.bitRate||"-")+"kbps-"+(t.rec.set.sampleRate||"-")+"hz."+(t.rec.set.type||(/\w+$/.exec(t.blob.type)||[])[0]||"unknown"),r=document.createElement("A");r.href=(window.URL||webkitURL).createObjectURL(t.blob),r.download=n,r.click()},recdown64:function(e){var t=this.logs[this.logs.length-e-1],n=new FileReader;n.onloadend=function(){t.down64Val=n.result},n.readAsDataURL(t.res.blob)},getTime:function(){var e=new Date;return("0"+e.getHours()).substr(-2)+":"+("0"+e.getMinutes()).substr(-2)+":"+("0"+e.getSeconds()).substr(-2)},intp:function(e,t){return(e=null==e?"-":e+"").length>=t?e:("_______"+e).substr(-t)},showDialog:function(){/mobile/i.test(navigator.userAgent)&&(this.recOpenDialogShow=1)},dialogCancel:function(){clearTimeout(this.dialogInt),this.recOpenDialogShow=0},waitDialogClick:function(){this.dialogCancel(),this.waitDialogClickFn()}}}},function(e,t,n){var r=n(24);"string"==typeof r&&(r=[[e.i,r,""]]);var a={insert:"head",singleton:!1};n(16)(r,a);r.locals&&(e.exports=r.locals)},,,,function(e,t,n){"use strict";(function(e,n){Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=Object.freeze({}); +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=21)}([function(e,t,n){"use strict";var r,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":a(window))&&(r=window)}e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r,a,i,o,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),i&&(c._scopeId="data-v-"+i),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},c._ssrRegister=l):a&&(l=s?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var f=c.render;c.render=function(e,t){return l.call(t),f(e,t)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:e,options:c}}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){"use strict";n.r(t);var r=n(4),a=n.n(r);for(var i in r)"default"!==i&&function(e){n.d(t,e,(function(){return r[e]}))}(i);t.default=a.a},function(e,t,n){"use strict";var r,a=n(13),i=(r=a)&&r.__esModule?r:{default:r};n(14),n(15),n(16),e.exports={data:function(){return{type:"mp3",bitRate:16,sampleRate:16e3,duration:0,durationTxt:"0",powerLevel:0,logs:[]}},created:function(){this.Rec=i.default},methods:{recOpen:function(){var e=this;(this.rec=(0,i.default)({type:e.type,bitRate:+e.bitRate,sampleRate:+e.sampleRate,onProcess:function(t,n,r,a){e.duration=r,e.durationTxt=e.formatMs(r,1),e.powerLevel=n,e.wave.input(t[t.length-1],n,a)}})).open((function(){e.reclog("已打开:"+e.type+" "+e.sampleRate+"hz "+e.bitRate+"kbps",2),e.wave=i.default.WaveView({elem:".ctrlProcessWave"})}),(function(t,n){e.reclog((n?"UserNotAllow,":"")+"打开失败:"+t,1)}))},recClose:function(){var e=this.rec;this.rec=null,e?(e.close(),this.reclog("已关闭")):this.reclog("未打开录音",1)},recStart:function(){if(this.rec&&i.default.IsOpen()){this.rec.start();var e=this.rec.set;this.reclog("录制中:"+e.type+" "+e.sampleRate+"hz "+e.bitRate+"kbps")}else this.reclog("未打开录音",1)},recPause:function(){this.rec&&i.default.IsOpen()?this.rec.pause():this.reclog("未打开录音",1)},recResume:function(){this.rec&&i.default.IsOpen()?this.rec.resume():this.reclog("未打开录音",1)},recStop:function(){if(this.rec&&i.default.IsOpen()){var e=this,t=e.rec;t.stop((function(n,r){e.reclog("已录制:","",{blob:n,duration:r,durationTxt:e.formatMs(r),rec:t})}),(function(t){e.reclog("录音失败:"+t,1)}))}else e.reclog("未打开录音",1)},recPlayLast:function(){this.recLogLast?this.recplay(this.recLogLast.idx):this.reclog("请先录音,然后停止后再播放",1)},recUploadLast:function(){if(this.recLogLast){var e=this,t=this.recLogLast.res.blob,n="https://xx.xx/test_request",r=function(t){return function(){4==o.readyState&&(200==o.status?e.reclog(t+"上传成功",2):(e.reclog(t+"没有完成上传,演示上传地址无需关注上传结果,只要浏览器控制台内Network面板内看到的请求数据结构是预期的就ok了。","#d8c1a0"),console.error(t+"上传失败",o.status,o.responseText)))}};e.reclog("开始上传到"+n+",请求稍后...","#f60");var a=new FileReader;a.onloadend=function(){var e="";e+="mime="+encodeURIComponent(t.type),e+="&upfile_b64="+encodeURIComponent((/.+;\s*base64\s*,\s*(.+)$/i.exec(a.result)||[])[1]);var i=new XMLHttpRequest;i.open("POST",n),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.onreadystatechange=r("上传方式一【Base64】"),i.send(e)},a.readAsDataURL(t);var i=new FormData;i.append("upfile",t,"recorder.mp3");var o=new XMLHttpRequest;o.open("POST",n),o.onreadystatechange=r("上传方式二【FormData】"),o.send(i)}else this.reclog("请先录音,然后停止后再上传",1)},recDownLast:function(){this.recLogLast?this.recdown(this.recLogLast.idx):this.reclog("请先录音,然后停止后再下载",1)},reclog:function(e,t,n){var r={idx:this.logs.length,msg:e,color:t,res:n,playMsg:"",down:0,down64Val:""};n&&n.blob&&(this.recLogLast=r),this.logs.splice(0,0,r)},recplay:function(e){var t=this,n=this.logs[this.logs.length-e-1];n.play=(n.play||0)+1;var r=function(e){n.playMsg=''+n.play+" "+t.getTime()+" "+e};r("");var a=this.$refs.LogAudioPlayer;a.controls=!0,a.ended||a.paused||a.pause(),a.onerror=function(e){r('播放失败['+a.error.code+"]"+a.error.message+"")},a.src=(window.URL||webkitURL).createObjectURL(n.res.blob),a.play()},recdown:function(e){var t=this.logs[this.logs.length-e-1];t.down=(t.down||0)+1;var n="rec-"+(t=t.res).duration+"ms-"+(t.rec.set.bitRate||"-")+"kbps-"+(t.rec.set.sampleRate||"-")+"hz."+(t.rec.set.type||(/\w+$/.exec(t.blob.type)||[])[0]||"unknown"),r=document.createElement("A");r.href=(window.URL||webkitURL).createObjectURL(t.blob),r.download=n,r.click()},recdown64:function(e){var t=this.logs[this.logs.length-e-1],n=new FileReader;n.onloadend=function(){t.down64Val=n.result},n.readAsDataURL(t.res.blob)},getTime:function(){var e=new Date;return("0"+e.getHours()).substr(-2)+":"+("0"+e.getMinutes()).substr(-2)+":"+("0"+e.getSeconds()).substr(-2)},formatMs:function(e,t){var n=e%1e3,r=(e=(e-n)/1e3)%60,a=(e=(e-r)/60)%60,i=e=(e-a)/60;return(i?i+":":"")+(t||i+a?("0"+a).substr(-2)+":":"")+(t||i+a+r?("0"+r).substr(-2)+"″":"")+("00"+n).substr(-3)},intp:function(e,t){return(e=null==e?"-":e+"").length>=t?e:("_______"+e).substr(-t)}}}},function(e,t,n){var r=n(24);"string"==typeof r&&(r=[[e.i,r,""]]);var a={insert:"head",singleton:!1};n(18)(r,a);r.locals&&(e.exports=r.locals)},,,,function(e,t,n){"use strict";(function(e,n){Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=Object.freeze({}); /*! * Vue.js v2.6.10 * (c) 2014-2019 Evan You * Released under the MIT License. - */function i(e){return null==e}function s(e){return null!=e}function o(e){return!0===e}function l(e){return"string"==typeof e||"number"==typeof e||"symbol"===(void 0===e?"undefined":r(e))||"boolean"==typeof e}function c(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))}var f=Object.prototype.toString;function u(e){return"[object Object]"===f.call(e)}function _(e){return"[object RegExp]"===f.call(e)}function p(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function h(e){return s(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function d(e){return null==e?"":Array.isArray(e)||u(e)&&e.toString===f?JSON.stringify(e,null,2):String(e)}function v(e){var t=parseFloat(e);return isNaN(t)?e:t}function m(e,t){for(var n=Object.create(null),r=e.split(","),a=0;a-1)return e.splice(n,1)}}var w=Object.prototype.hasOwnProperty;function S(e,t){return w.call(e,t)}function x(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var k=/-(\w)/g,M=x((function(e){return e.replace(k,(function(e,t){return t?t.toUpperCase():""}))})),A=x((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),R=/\B([A-Z])/g,T=x((function(e){return e.replace(R,"-$1").toLowerCase()}));var B=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function E(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function C(e,t){for(var n in t)e[n]=t[n];return e}function P(e){for(var t={},n=0;n0,ee=Z&&Z.indexOf("edge/")>0,te=(Z&&Z.indexOf("android"),Z&&/iphone|ipad|ipod|ios/.test(Z)||"ios"===G),ne=(Z&&/chrome\/\d+/.test(Z),Z&&/phantomjs/.test(Z),Z&&Z.match(/firefox\/(\d+)/)),re={}.watch,ae=!1;if(K)try{var ie={};Object.defineProperty(ie,"passive",{get:function(){ae=!0}}),window.addEventListener("test-passive",null,ie)}catch(e){}var se=function(){return void 0===z&&(z=!K&&!W&&void 0!==e&&(e.process&&"server"===e.process.env.VUE_ENV)),z},oe=K&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function le(e){return"function"==typeof e&&/native code/.test(e.toString())}var ce,fe="undefined"!=typeof Symbol&&le(Symbol)&&"undefined"!=typeof Reflect&&le(Reflect.ownKeys);ce="undefined"!=typeof Set&&le(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ue=O,_e=0,pe=function(){this.id=_e++,this.subs=[]};pe.prototype.addSub=function(e){this.subs.push(e)},pe.prototype.removeSub=function(e){y(this.subs,e)},pe.prototype.depend=function(){pe.target&&pe.target.addDep(this)},pe.prototype.notify=function(){var e=this.subs.slice();for(var t=0,n=e.length;t-1)if(i&&!S(a,"default"))s=!1;else if(""===s||s===T(e)){var l=Ye(String,a.type);(l<0||o0&&(pt((a=e(a,(n||"")+"_"+r))[0])&&pt(f)&&(u[c]=ye(f.text+a[0].text),a.shift()),u.push.apply(u,a)):l(a)?pt(f)?u[c]=ye(f.text+a):""!==a&&u.push(ye(a)):pt(a)&&pt(f)?u[c]=ye(f.text+a.text):(o(t._isVList)&&s(a.tag)&&i(a.key)&&s(n)&&(a.key="__vlist"+n+"_"+r+"__"),u.push(a)));return u}(e):void 0}function pt(e){return s(e)&&s(e.text)&&!1===e.isComment}function ht(e,t){if(e){for(var n=Object.create(null),r=fe?Reflect.ownKeys(e):Object.keys(e),a=0;a0,s=e?!!e.$stable:!i,o=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(s&&n&&n!==a&&o===n.$key&&!i&&!n.$hasNormal)return n;for(var l in r={},e)e[l]&&"$"!==l[0]&&(r[l]=bt(t,l,e[l]))}else r={};for(var c in t)c in r||(r[c]=gt(t,c));return e&&Object.isExtensible(e)&&(e._normalized=r),Y(r,"$stable",s),Y(r,"$key",o),Y(r,"$hasNormal",i),r}function bt(e,t,n){var a=function(){var e=arguments.length?n.apply(null,arguments):n({});return(e=e&&"object"===(void 0===e?"undefined":r(e))&&!Array.isArray(e)?[e]:_t(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:a,enumerable:!0,configurable:!0}),a}function gt(e,t){return function(){return e[t]}}function yt(e,t){var n,r,a,i,o;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,a=e.length;rdocument.createEvent("Event").timeStamp&&(un=function(){return _n.now()})}function pn(){var e,t;for(fn=un(),ln=!0,rn.sort((function(e,t){return e.id-t.id})),cn=0;cncn&&rn[n].id>e.id;)n--;rn.splice(n+1,0,e)}else rn.push(e);on||(on=!0,at(pn))}}(this)},dn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||c(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Xe(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},dn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},dn.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},dn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var vn={enumerable:!0,configurable:!0,get:O,set:O};function mn(e,t,n){vn.get=function(){return this[t][n]},vn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,vn)}function bn(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},a=e.$options._propKeys=[];e.$parent&&Ae(!1);var i=function(i){a.push(i);var s=Ve(i,t,n,e);Be(r,i,s),i in e||mn(e,"_props",i)};for(var s in t)i(s);Ae(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]="function"!=typeof t[n]?O:B(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;u(t=e._data="function"==typeof t?function(e,t){de();try{return e.call(t,t)}catch(e){return Xe(e,t,"data()"),{}}finally{ve()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,a=(e.$options.methods,n.length);for(;a--;){var i=n[a];0,r&&S(r,i)||q(i)||mn(e,"_data",i)}Te(t,!0)}(e):Te(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=se();for(var a in t){var i=t[a],s="function"==typeof i?i:i.get;0,r||(n[a]=new dn(e,s||O,O,gn)),a in e||yn(e,a,i)}}(e,t.computed),t.watch&&t.watch!==re&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var a=0;a-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!_(e)&&e.test(t)}function En(e,t){var n=e.cache,r=e.keys,a=e._vnode;for(var i in n){var s=n[i];if(s){var o=Tn(s.componentOptions);o&&!t(o)&&Cn(n,i,r,a)}}}function Cn(e,t,n,r){var a=e[t];!a||r&&a.tag===r.tag||a.componentInstance.$destroy(),e[t]=null,y(n,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=kn++,t._isVue=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var a=r.componentOptions;n.propsData=a.propsData,n._parentListeners=a.listeners,n._renderChildren=a.children,n._componentTag=a.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=De(Mn(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Zt(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,r=n&&n.context;e.$slots=dt(t._renderChildren,r),e.$scopedSlots=a,e._c=function(t,n,r,a){return Ft(e,t,n,r,a,!1)},e.$createElement=function(t,n,r,a){return Ft(e,t,n,r,a,!0)};var i=n&&n.data;Be(e,"$attrs",i&&i.attrs||a,null,!0),Be(e,"$listeners",t._parentListeners||a,null,!0)}(t),nn(t,"beforeCreate"),function(e){var t=ht(e.$options.inject,e);t&&(Ae(!1),Object.keys(t).forEach((function(n){Be(e,n,t[n])})),Ae(!0))}(t),bn(t),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(t),nn(t,"created"),t.$options.el&&t.$mount(t.$options.el)}}(An),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=Ee,e.prototype.$delete=Ce,e.prototype.$watch=function(e,t,n){if(u(t))return xn(this,e,t,n);(n=n||{}).user=!0;var r=new dn(this,e,t,n);if(n.immediate)try{t.call(this,r.value)}catch(e){Xe(e,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(An),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){var r=this;if(Array.isArray(e))for(var a=0,i=e.length;a1?E(n):n;for(var r=E(arguments,1),a='event handler for "'+e+'"',i=0,s=n.length;iparseInt(this.max)&&Cn(s,o[0],o,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return V}};Object.defineProperty(e,"config",t),e.util={warn:ue,extend:C,mergeOptions:De,defineReactive:Be},e.set=Ee,e.delete=Ce,e.nextTick=at,e.observable=function(e){return Te(e),e},e.options=Object.create(null),D.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,C(e.options.components,On),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=E(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=De(this.options,e),this}}(e),Rn(e),function(e){D.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&u(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(An),Object.defineProperty(An.prototype,"$isServer",{get:se}),Object.defineProperty(An.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(An,"FunctionalRenderContext",{value:It}),An.version="2.6.10";var Ln=m("style,class"),In=m("input,textarea,option,select,progress"),Nn=function(e,t,n){return"value"===n&&In(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Hn=m("contenteditable,draggable,spellcheck"),$n=m("events,caret,typing,plaintext-only"),Dn=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),jn="http://www.w3.org/1999/xlink",Vn=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Fn=function(e){return Vn(e)?e.slice(6,e.length):""},qn=function(e){return null==e||!1===e};function Yn(e){for(var t=e.data,n=e,r=e;s(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=Xn(r.data,t));for(;s(n=n.parent);)n&&n.data&&(t=Xn(t,n.data));return function(e,t){if(s(e)||s(t))return zn(e,Un(t));return""}(t.staticClass,t.class)}function Xn(e,t){return{staticClass:zn(e.staticClass,t.staticClass),class:s(e.class)?[e.class,t.class]:t.class}}function zn(e,t){return e?t?e+" "+t:e:t||""}function Un(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,a=e.length;r-1?br(e,t,n):Dn(t)?qn(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Hn(t)?e.setAttribute(t,function(e,t){return qn(t)||"false"===t?"false":"contenteditable"===e&&$n(t)?t:"true"}(t,n)):Vn(t)?qn(n)?e.removeAttributeNS(jn,Fn(t)):e.setAttributeNS(jn,t,n):br(e,t,n)}function br(e,t,n){if(qn(n))e.removeAttribute(t);else{if(Q&&!J&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){e.addEventListener("input",(function t(n){n.stopImmediatePropagation(),e.removeEventListener("input",t)})),e.__ieph=!0}e.setAttribute(t,n)}}var gr={create:vr,update:vr};function yr(e,t){var n=t.elm,r=t.data,a=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var o=Yn(t),l=n._transitionClasses;s(l)&&(o=zn(o,Un(l))),o!==n._prevClass&&(n.setAttribute("class",o),n._prevClass=o)}}var wr,Sr,xr,kr,Mr,Ar,Rr={create:yr,update:yr},Tr=/[\w).+\-_$\]]/;function Br(e){var t,n,r,a,i,s=!1,o=!1,l=!1,c=!1,f=0,u=0,_=0,p=0;for(r=0;r=0&&" "===(d=e.charAt(h));h--);d&&Tr.test(d)||(c=!0)}}else void 0===a?(p=r+1,a=e.slice(0,r).trim()):v();function v(){(i||(i=[])).push(e.slice(p,r).trim()),p=r+1}if(void 0===a?a=e.slice(0,r).trim():0!==p&&v(),i)for(r=0;r-1?{exp:e.slice(0,kr),key:'"'+e.slice(kr+1)+'"'}:{exp:e,key:null};Sr=e,kr=Mr=Ar=0;for(;!zr();)Ur(xr=Xr())?Wr(xr):91===xr&&Kr(xr);return{exp:e.slice(0,Mr),key:e.slice(Mr+1,Ar)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function Xr(){return Sr.charCodeAt(++kr)}function zr(){return kr>=wr}function Ur(e){return 34===e||39===e}function Kr(e){var t=1;for(Mr=kr;!zr();)if(Ur(e=Xr()))Wr(e);else if(91===e&&t++,93===e&&t--,0===t){Ar=kr;break}}function Wr(e){for(var t=e;!zr()&&(e=Xr())!==t;);}var Gr;function Zr(e,t,n){var r=Gr;return function a(){var i=t.apply(null,arguments);null!==i&&ea(e,a,n,r)}}var Qr=Ge&&!(ne&&Number(ne[1])<=53);function Jr(e,t,n,r){if(Qr){var a=fn,i=t;t=i._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=a||e.timeStamp<=0||e.target.ownerDocument!==document)return i.apply(this,arguments)}}Gr.addEventListener(e,t,ae?{capture:n,passive:r}:n)}function ea(e,t,n,r){(r||Gr).removeEventListener(e,t._wrapper||t,n)}function ta(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};Gr=t.elm,function(e){if(s(e.__r)){var t=Q?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}s(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),ct(n,r,Jr,ea,Zr,t.context),Gr=void 0}}var na,ra={create:ta,update:ta};function aa(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,a=t.elm,o=e.data.domProps||{},l=t.data.domProps||{};for(n in s(l.__ob__)&&(l=t.data.domProps=C({},l)),o)n in l||(a[n]="");for(n in l){if(r=l[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===o[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=r;var c=i(r)?"":String(r);ia(a,c)&&(a.value=c)}else if("innerHTML"===n&&Gn(a.tagName)&&i(a.innerHTML)){(na=na||document.createElement("div")).innerHTML=""+r+"";for(var f=na.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;f.firstChild;)a.appendChild(f.firstChild)}else if(r!==o[n])try{a[n]=r}catch(e){}}}}function ia(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(s(r)){if(r.number)return v(n)!==v(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var sa={create:aa,update:aa},oa=x((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function la(e){var t=ca(e.style);return e.staticStyle?C(e.staticStyle,t):t}function ca(e){return Array.isArray(e)?P(e):"string"==typeof e?oa(e):e}var fa,ua=/^--/,_a=/\s*!important$/,pa=function(e,t,n){if(ua.test(t))e.style.setProperty(t,n);else if(_a.test(n))e.style.setProperty(T(t),n.replace(_a,""),"important");else{var r=da(t);if(Array.isArray(n))for(var a=0,i=n.length;a-1?t.split(ba).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function ya(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(ba).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function wa(e){if(e){if("object"===(void 0===e?"undefined":r(e))){var t={};return!1!==e.css&&C(t,Sa(e.name||"v")),C(t,e),t}return"string"==typeof e?Sa(e):void 0}}var Sa=x((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),xa=K&&!J,ka="transition",Ma="transitionend",Aa="animation",Ra="animationend";xa&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ka="WebkitTransition",Ma="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Aa="WebkitAnimation",Ra="webkitAnimationEnd"));var Ta=K?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ba(e){Ta((function(){Ta(e)}))}function Ea(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),ga(e,t))}function Ca(e,t){e._transitionClasses&&y(e._transitionClasses,t),ya(e,t)}function Pa(e,t,n){var r=La(e,t),a=r.type,i=r.timeout,s=r.propCount;if(!a)return n();var o="transition"===a?Ma:Ra,l=0,c=function(){e.removeEventListener(o,f),n()},f=function(t){t.target===e&&++l>=s&&c()};setTimeout((function(){l0&&(n="transition",f=s,u=i.length):"animation"===t?c>0&&(n="animation",f=c,u=l.length):u=(n=(f=Math.max(s,c))>0?s>c?"transition":"animation":null)?"transition"===n?i.length:l.length:0,{type:n,timeout:f,propCount:u,hasTransform:"transition"===n&&Oa.test(r[ka+"Property"])}}function Ia(e,t){for(;e.length1}function Va(e,t){!0!==t.data.show&&Ha(t)}var Fa=function(e){var t,n,r={},a=e.modules,c=e.nodeOps;for(t=0;th?g(e,i(n[m+1])?null:n[m+1].elm,n,p,m,r):p>m&&w(0,t,_,h)}(_,v,m,n,f):s(m)?(s(e.text)&&c.setTextContent(_,""),g(_,null,m,0,m.length-1,n)):s(v)?w(0,v,0,v.length-1):s(e.text)&&c.setTextContent(_,""):e.text!==t.text&&c.setTextContent(_,t.text),s(h)&&s(p=h.hook)&&s(p=p.postpatch)&&p(e,t)}}}function M(e,t,n){if(o(n)&&s(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,s.selected!==i&&(s.selected=i);else if(N(Ua(s),r))return void(e.selectedIndex!==o&&(e.selectedIndex=o));a||(e.selectedIndex=-1)}}function za(e,t){return t.every((function(t){return!N(t,e)}))}function Ua(e){return"_value"in e?e._value:e.value}function Ka(e){e.target.composing=!0}function Wa(e){e.target.composing&&(e.target.composing=!1,Ga(e.target,"input"))}function Ga(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Za(e){return!e.componentInstance||e.data&&e.data.transition?e:Za(e.componentInstance._vnode)}var Qa={model:qa,show:{bind:function(e,t,n){var r=t.value,a=(n=Za(n)).data&&n.data.transition,i=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&a?(n.data.show=!0,Ha(n,(function(){e.style.display=i}))):e.style.display=r?i:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Za(n)).data&&n.data.transition?(n.data.show=!0,r?Ha(n,(function(){e.style.display=e.__vOriginalDisplay})):$a(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,a){a||(e.style.display=e.__vOriginalDisplay)}}},Ja={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ei(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?ei(Ut(t.children)):e}function ti(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var a=n._parentListeners;for(var i in a)t[M(i)]=a[i];return t}function ni(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var ri=function(e){return e.tag||zt(e)},ai=function(e){return"show"===e.name},ii={name:"transition",props:Ja,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(ri)).length){0;var r=this.mode;0;var a=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return a;var i=ei(a);if(!i)return a;if(this._leaving)return ni(e,a);var s="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?s+"comment":s+i.tag:l(i.key)?0===String(i.key).indexOf(s)?i.key:s+i.key:i.key;var o=(i.data||(i.data={})).transition=ti(this),c=this._vnode,f=ei(c);if(i.data.directives&&i.data.directives.some(ai)&&(i.data.show=!0),f&&f.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(i,f)&&!zt(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var u=f.data.transition=C({},o);if("out-in"===r)return this._leaving=!0,ft(u,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),ni(e,a);if("in-out"===r){if(zt(i))return c;var _,p=function(){_()};ft(o,"afterEnter",p),ft(o,"enterCancelled",p),ft(u,"delayLeave",(function(e){_=e}))}}return a}}},si=C({tag:String,moveClass:String},Ja);function oi(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function li(e){e.data.newPos=e.elm.getBoundingClientRect()}function ci(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,a=t.top-n.top;if(r||a){e.data.moved=!0;var i=e.elm.style;i.transform=i.WebkitTransform="translate("+r+"px,"+a+"px)",i.transitionDuration="0s"}}delete si.mode;var fi={Transition:ii,TransitionGroup:{props:si,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var a=Jt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,a(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,a=this.$slots.default||[],i=this.children=[],s=ti(this),o=0;o-1?Jn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Jn[e]=/HTMLUnknownElement/.test(t.toString())},C(An.options.directives,Qa),C(An.options.components,fi),An.prototype.__patch__=K?Fa:O,An.prototype.$mount=function(e,t){return function(e,t,n){var r;return e.$el=t,e.$options.render||(e.$options.render=ge),nn(e,"beforeMount"),r=function(){e._update(e._render(),n)},new dn(e,r,O,{before:function(){e._isMounted&&!e._isDestroyed&&nn(e,"beforeUpdate")}},!0),n=!1,null==e.$vnode&&(e._isMounted=!0,nn(e,"mounted")),e}(this,e=e&&K?tr(e):void 0,t)},K&&setTimeout((function(){V.devtools&&oe&&oe.emit("init",An)}),0);var ui=/\{\{((?:.|\r?\n)+?)\}\}/g,_i=/[-.*+?^${}()|[\]\/\\]/g,pi=x((function(e){var t=e[0].replace(_i,"\\$&"),n=e[1].replace(_i,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")}));var hi={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=jr(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=Dr(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}};var di,vi={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=jr(e,"style");n&&(e.staticStyle=JSON.stringify(oa(n)));var r=Dr(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},mi=function(e){return(di=di||document.createElement("div")).innerHTML=e,di.textContent},bi=m("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),gi=m("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),yi=m("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),wi=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Si=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,xi="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+F.source+"]*",ki="((?:"+xi+"\\:)?"+xi+")",Mi=new RegExp("^<"+ki),Ai=/^\s*(\/?)>/,Ri=new RegExp("^<\\/"+ki+"[^>]*>"),Ti=/^]+>/i,Bi=/^",""":'"',"&":"&"," ":"\n"," ":"\t","'":"'"},Li=/&(?:lt|gt|quot|amp|#39);/g,Ii=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Ni=m("pre,textarea",!0),Hi=function(e,t){return e&&Ni(e)&&"\n"===t[0]};function $i(e,t){var n=t?Ii:Li;return e.replace(n,(function(e){return Oi[e]}))}var Di,ji,Vi,Fi,qi,Yi,Xi,zi,Ui=/^@|^v-on:/,Ki=/^v-|^@|^:/,Wi=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Gi=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Zi=/^\(|\)$/g,Qi=/^\[.*\]$/,Ji=/:(.*)$/,es=/^:|^\.|^v-bind:/,ts=/\.[^.\]]+(?=[^\]]*$)/g,ns=/^v-slot(:|$)|^#/,rs=/[\r\n]/,as=/\s+/g,is=x(mi);function ss(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:ps(t),rawAttrsMap:{},parent:n,children:[]}}function os(e,t){Di=t.warn||Cr,Yi=t.isPreTag||L,Xi=t.mustUseProp||L,zi=t.getTagNamespace||L;var n=t.isReservedTag||L;(function(e){return!!e.component||!n(e.tag)}),Vi=Pr(t.modules,"transformNode"),Fi=Pr(t.modules,"preTransformNode"),qi=Pr(t.modules,"postTransformNode"),ji=t.delimiters;var r,a,i=[],s=!1!==t.preserveWhitespace,o=t.whitespace,l=!1,c=!1;function f(e){if(u(e),l||e.processed||(e=ls(e,t)),i.length||e===r||r.if&&(e.elseif||e.else)&&fs(r,{exp:e.elseif,block:e}),a&&!e.forbidden)if(e.elseif||e.else)s=e,(o=function(e){for(var t=e.length;t--;){if(1===e[t].type)return e[t];e.pop()}}(a.children))&&o.if&&fs(o,{exp:s.elseif,block:s});else{if(e.slotScope){var n=e.slotTarget||'"default"';(a.scopedSlots||(a.scopedSlots={}))[n]=e}a.children.push(e),e.parent=a}var s,o;e.children=e.children.filter((function(e){return!e.slotScope})),u(e),e.pre&&(l=!1),Yi(e.tag)&&(c=!1);for(var f=0;f]*>)","i")),_=e.replace(u,(function(e,n,r){return c=r.length,Ci(f)||"noscript"===f||(n=n.replace(//g,"$1").replace(//g,"$1")),Hi(f,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""}));l+=e.length-_.length,e=_,A(f,l-c,l)}else{var p=e.indexOf("<");if(0===p){if(Bi.test(e)){var h=e.indexOf("--\x3e");if(h>=0){t.shouldKeepComment&&t.comment(e.substring(4,h),l,l+h+3),x(h+3);continue}}if(Ei.test(e)){var d=e.indexOf("]>");if(d>=0){x(d+2);continue}}var v=e.match(Ti);if(v){x(v[0].length);continue}var m=e.match(Ri);if(m){var b=l;x(m[0].length),A(m[1],b,l);continue}var g=k();if(g){M(g),Hi(g.tagName,e)&&x(1);continue}}var y=void 0,w=void 0,S=void 0;if(p>=0){for(w=e.slice(p);!(Ri.test(w)||Mi.test(w)||Bi.test(w)||Ei.test(w)||(S=w.indexOf("<",1))<0);)p+=S,w=e.slice(p);y=e.substring(0,p)}p<0&&(y=e),y&&x(y.length),t.chars&&y&&t.chars(y,l-y.length,l)}if(e===n){t.chars&&t.chars(e);break}}function x(t){l+=t,e=e.substring(t)}function k(){var t=e.match(Mi);if(t){var n,r,a={tagName:t[1],attrs:[],start:l};for(x(t[0].length);!(n=e.match(Ai))&&(r=e.match(Si)||e.match(wi));)r.start=l,x(r[0].length),r.end=l,a.attrs.push(r);if(n)return a.unarySlash=n[1],x(n[0].length),a.end=l,a}}function M(e){var n=e.tagName,l=e.unarySlash;i&&("p"===r&&yi(n)&&A(r),o(n)&&r===n&&A(n));for(var c=s(n)||!!l,f=e.attrs.length,u=new Array(f),_=0;_=0&&a[s].lowerCasedTag!==o;s--);else s=0;if(s>=0){for(var c=a.length-1;c>=s;c--)t.end&&t.end(a[c].tag,n,i);a.length=s,r=s&&a[s-1].tag}else"br"===o?t.start&&t.start(e,[],!0,n,i):"p"===o&&(t.start&&t.start(e,[],!1,n,i),t.end&&t.end(e,n,i))}A()}(e,{warn:Di,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,n,s,o,u){var _=a&&a.ns||zi(e);Q&&"svg"===_&&(n=function(e){for(var t=[],n=0;nl&&(o.push(i=e.slice(l,a)),s.push(JSON.stringify(i)));var c=Br(r[1].trim());s.push("_s("+c+")"),o.push({"@binding":c}),l=a+r[0].length}return l-1"+("true"===i?":("+t+")":":_q("+t+","+i+")")),$r(e,"change","var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+i+"):("+s+");if(Array.isArray($$a)){var $$v="+(r?"_n("+a+")":a)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Yr(t,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Yr(t,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Yr(t,"$$c")+"}",null,!0)}(e,r,a);else if("input"===i&&"radio"===s)!function(e,t,n){var r=n&&n.number,a=Dr(e,"value")||"null";Or(e,"checked","_q("+t+","+(a=r?"_n("+a+")":a)+")"),$r(e,"change",Yr(t,a),null,!0)}(e,r,a);else if("input"===i||"textarea"===i)!function(e,t,n){var r=e.attrsMap.type;0;var a=n||{},i=a.lazy,s=a.number,o=a.trim,l=!i&&"range"!==r,c=i?"change":"range"===r?"__r":"input",f="$event.target.value";o&&(f="$event.target.value.trim()");s&&(f="_n("+f+")");var u=Yr(t,f);l&&(u="if($event.target.composing)return;"+u);Or(e,"value","("+t+")"),$r(e,c,u,null,!0),(o||s)&&$r(e,"blur","$forceUpdate()")}(e,r,a);else{if(!V.isReservedTag(i))return qr(e,r,a),!1}return!0},text:function(e,t){t.value&&Or(e,"textContent","_s("+t.value+")",t)},html:function(e,t){t.value&&Or(e,"innerHTML","_s("+t.value+")",t)}},isPreTag:function(e){return"pre"===e},isUnaryTag:bi,mustUseProp:Nn,canBeLeftOpenTag:gi,isReservedTag:Zn,getTagNamespace:Qn,staticKeys:function(e){return e.reduce((function(e,t){return e.concat(t.staticKeys||[])}),[]).join(",")}(ms)},ws=x((function(e){return m("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(e?","+e:""))}));function Ss(e,t){e&&(bs=ws(t.staticKeys||""),gs=t.isReservedTag||L,function e(t){if(t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||b(e.tag)||!gs(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(bs)))}(t),1===t.type){if(!gs(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n|^function\s*(?:[\w$]+)?\s*\(/,ks=/\([^)]*?\);*$/,Ms=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,As={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Rs={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Ts=function(e){return"if("+e+")return null;"},Bs={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Ts("$event.target !== $event.currentTarget"),ctrl:Ts("!$event.ctrlKey"),shift:Ts("!$event.shiftKey"),alt:Ts("!$event.altKey"),meta:Ts("!$event.metaKey"),left:Ts("'button' in $event && $event.button !== 0"),middle:Ts("'button' in $event && $event.button !== 1"),right:Ts("'button' in $event && $event.button !== 2")};function Es(e,t){var n=t?"nativeOn:":"on:",r="",a="";for(var i in e){var s=Cs(e[i]);e[i]&&e[i].dynamic?a+=i+","+s+",":r+='"'+i+'":'+s+","}return r="{"+r.slice(0,-1)+"}",a?n+"_d("+r+",["+a.slice(0,-1)+"])":n+r}function Cs(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map((function(e){return Cs(e)})).join(",")+"]";var t=Ms.test(e.value),n=xs.test(e.value),r=Ms.test(e.value.replace(ks,""));if(e.modifiers){var a="",i="",s=[];for(var o in e.modifiers)if(Bs[o])i+=Bs[o],As[o]&&s.push(o);else if("exact"===o){var l=e.modifiers;i+=Ts(["ctrl","shift","alt","meta"].filter((function(e){return!l[e]})).map((function(e){return"$event."+e+"Key"})).join("||"))}else s.push(o);return s.length&&(a+=function(e){return"if(!$event.type.indexOf('key')&&"+e.map(Ps).join("&&")+")return null;"}(s)),i&&(a+=i),"function($event){"+a+(t?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value)+"}"}return t||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function Ps(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=As[e],r=Rs[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var Os={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(e,t){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+t.value+","+(t.modifiers&&t.modifiers.prop?"true":"false")+(t.modifiers&&t.modifiers.sync?",true":"")+")"}},cloak:O},Ls=function(e){this.options=e,this.warn=e.warn||Cr,this.transforms=Pr(e.modules,"transformCode"),this.dataGenFns=Pr(e.modules,"genData"),this.directives=C(C({},Os),e.directives);var t=e.isReservedTag||L;this.maybeComponent=function(e){return!!e.component||!t(e.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function Is(e,t){var n=new Ls(t);return{render:"with(this){return "+(e?Ns(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function Ns(e,t){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return Hs(e,t);if(e.once&&!e.onceProcessed)return $s(e,t);if(e.for&&!e.forProcessed)return js(e,t);if(e.if&&!e.ifProcessed)return Ds(e,t);if("template"!==e.tag||e.slotTarget||t.pre){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=Ys(e,t),a="_t("+n+(r?","+r:""),i=e.attrs||e.dynamicAttrs?Us((e.attrs||[]).concat(e.dynamicAttrs||[]).map((function(e){return{name:M(e.name),value:e.value,dynamic:e.dynamic}}))):null,s=e.attrsMap["v-bind"];!i&&!s||r||(a+=",null");i&&(a+=","+i);s&&(a+=(i?"":",null")+","+s);return a+")"}(e,t);var n;if(e.component)n=function(e,t,n){var r=t.inlineTemplate?null:Ys(t,n,!0);return"_c("+e+","+Vs(t,n)+(r?","+r:"")+")"}(e.component,e,t);else{var r;(!e.plain||e.pre&&t.maybeComponent(e))&&(r=Vs(e,t));var a=e.inlineTemplate?null:Ys(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(a?","+a:"")+")"}for(var i=0;i>>0}(s):"")+")"}(e,e.scopedSlots,t)+","),e.model&&(n+="model:{value:"+e.model.value+",callback:"+e.model.callback+",expression:"+e.model.expression+"},"),e.inlineTemplate){var i=function(e,t){var n=e.children[0];0;if(n&&1===n.type){var r=Is(n,t.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map((function(e){return"function(){"+e+"}"})).join(",")+"]}"}}(e,t);i&&(n+=i+",")}return n=n.replace(/,$/,"")+"}",e.dynamicAttrs&&(n="_b("+n+',"'+e.tag+'",'+Us(e.dynamicAttrs)+")"),e.wrapData&&(n=e.wrapData(n)),e.wrapListeners&&(n=e.wrapListeners(n)),n}function Fs(e){return 1===e.type&&("slot"===e.tag||e.children.some(Fs))}function qs(e,t){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return Ds(e,t,qs,"null");if(e.for&&!e.forProcessed)return js(e,t,qs);var r="_empty_"===e.slotScope?"":String(e.slotScope),a="function("+r+"){return "+("template"===e.tag?e.if&&n?"("+e.if+")?"+(Ys(e,t)||"undefined")+":undefined":Ys(e,t)||"undefined":Ns(e,t))+"}",i=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+a+i+"}"}function Ys(e,t,n,r,a){var i=e.children;if(i.length){var s=i[0];if(1===i.length&&s.for&&"template"!==s.tag&&"slot"!==s.tag){var o=n?t.maybeComponent(s)?",1":",0":"";return""+(r||Ns)(s,t)+o}var l=n?function(e,t){for(var n=0,r=0;r':'
',Qs.innerHTML.indexOf(" ")>0}var no=!!K&&to(!1),ro=!!K&&to(!0),ao=x((function(e){var t=tr(e);return t&&t.innerHTML})),io=An.prototype.$mount;An.prototype.$mount=function(e,t){if((e=e&&tr(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=ao(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){if(e.outerHTML)return e.outerHTML;var t=document.createElement("div");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){0;var a=eo(r,{outputSourceRange:!1,shouldDecodeNewlines:no,shouldDecodeNewlinesForHref:ro,delimiters:n.delimiters,comments:n.comments},this),i=a.render,s=a.staticRenderFns;n.render=i,n.staticRenderFns=s}}return io.call(this,e,t)},An.compile=eo,t.default=An}).call(this,n(0),n(10).setImmediate)},function(e,t,n){"use strict";(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,a=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(a.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(a.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(11),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||void 0,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||void 0}).call(this,n(0))},function(e,t,n){"use strict";(function(e,t){!function(e,n){if(!e.setImmediate){var r,a,i,s,o,l=1,c={},f=!1,u=e.document,_=Object.getPrototypeOf&&Object.getPrototypeOf(e);_=_&&_.setTimeout?_:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){h(e.data)},r=function(e){i.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(a=u.documentElement,r=function(e){var t=u.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,a.removeChild(t),t=null},a.appendChild(t)}):r=function(e){setTimeout(h,0,e)}:(s="setImmediate$"+Math.random()+"$",o=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&h(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",o,!1):e.attachEvent("onmessage",o),r=function(t){e.postMessage(s+t,"*")}),_.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n3*t/4?0:r/2*3/4;c={fn:f?n.IIRFilter(!0,t,f):0}}c.sr=t;var _=c.fn,p=a.frameNext||[];i||(i={});var h=i.frameSize||1;i.frameType&&(h="mp3"==i.frameType?1152:1);var d=e.length;o>d+1&&u(s+"似乎传入了未重置chunk "+o+">"+d,3);for(var v=0,m=o;m1?v=Math.floor(v/b):(b=1,r=t),v+=p.length;var g=new Int16Array(v),y=0;for(m=0;m0){var I=2*(g.length-L);p=new Int16Array(g.buffer.slice(I)),g=new Int16Array(g.buffer.slice(0,I))}return{index:o,offset:l,filter:c,frameNext:p,sampleRate:r,data:g}},n.IIRFilter=function(e,t,n){var r=2*Math.PI*n/t,a=Math.sin(r),i=Math.cos(r),s=a/2,o=1+s,l=-2*i/o,c=(1-s)/o;if(e)var f=(1-i)/2/o,u=(1-i)/o;else f=(1+i)/2/o,u=-(1+i)/o;var _=0,p=0,h=0,d=0,v=0,m=function(e){return h=f*e+u*_+f*p-l*d-c*v,p=_,_=e,v=d,d=h,h};return m.Embed={x1:0,x2:0,y1:0,y2:0,b0:f,b1:u,a1:l,a2:c},m},n.PowerLevel=function(e,t){var n=e/t||0;return n<1251?Math.round(n/1250*10):Math.round(Math.min(100,Math.max(0,100*(1+Math.log(n/1e4)/Math.log(10)))))},n.PowerDBFS=function(e){var t=Math.max(.1,e||0);return t=Math.min(t,32767),t=20*Math.log(t/32767)/Math.log(10),Math.max(-100,Math.round(t))},n.CLog=function(t,n){var a=new Date,i=("0"+a.getMinutes()).substr(-2)+":"+("0"+a.getSeconds()).substr(-2)+"."+("00"+a.getMilliseconds()).substr(-3),s=this&&this.envIn&&this.envCheck&&this.id,o=["["+i+" "+r+(s?":"+s:"")+"]"+t],l=arguments,c=e.console||{},f=2,u=c.log;for("number"==typeof n?u=1==n?c.error:3==n?c.warn:u:f=1;f1?o:""):u.apply(c,o)};var u=function(){n.CLog.apply(this,arguments)},_=!0;try{_=!console.log.apply}catch(e){}var p=0;function h(e){this.id=++p,y();var n={type:"mp3",bitRate:16,sampleRate:16e3,onProcess:t};for(var r in e)n[r]=e[r];this.set=n,this._S=9,this.Sync={O:9,C:9}}n.Sync={O:9,C:9},n.prototype=h.prototype={CLog:u,_streamStore:function(){return this.set.sourceStream?this:n},_streamCtx:function(){var e=this._streamStore().Stream;return e&&e._c},open:function(r,a){var o=this,l=o.set,f=o._streamStore(),u=0;r=r||t;var _=function(e,t){t=!!t,o.CLog("录音open失败:"+e+",isUserNotAllow:"+t,1),u&&n.CloseNewCtx(u),a&&a(e,t)},p=function(){o.CLog("open ok id:"+o.id),r(),o._SO=0},h=f.Sync,d=++h.O,v=h.C;o._O=o._O_=d,o._SO=o._S;var m=o.envCheck({envName:"H5",canProcess:!0});if(m)_("不能录音:"+m);else if(l.sourceStream){if(!n.GetContext())return void _("不支持此浏览器从流中获取录音");c(f);var b=o.Stream=l.sourceStream;b._RC=l.runningContext,b._call={};try{s(f)}catch(e){return c(f),void _("从流中打开录音失败:"+e.message)}p()}else{var g=function(t,n){try{e.top.a}catch(e){return void _('无权录音(跨域,请尝试给iframe添加麦克风访问策略,如allow="camera;microphone")')}/Permission|Allow/i.test(t)?_("用户拒绝了录音权限",!0):!1===e.isSecureContext?_("浏览器禁止不安全页面录音,可开启https解决"):/Found/i.test(t)?_(n+",无可用麦克风"):_(n)};if(n.IsOpen())p();else if(n.Support()){var y=l.runningContext;y||(y=u=n.GetContext(!0));var w=function(e){setTimeout((function(){e._call={};var t=n.Stream;t&&(c(),e._call=t._call),n.Stream=e,e._c=y,e._RC=l.runningContext,function(){if(v!=h.C||!o._O){var e="open被取消";return d==h.O?o.close():e="open被中断",_(e),!0}}()||(n.IsOpen()?(t&&o.CLog("发现同时多次调用open",1),s(f,1),p()):_("录音功能无效:无音频流"))}),100)},S=function(e){var t=e.name||e.message||e.code+":"+e;o.CLog("请求录音权限错误",1,e),g(t,"无法录音:"+t)},x=l.audioTrackSet||{};x.sampleRate=y.sampleRate;var k={audio:x};try{var M=n.Scope.getUserMedia(k,w,S)}catch(e){o.CLog("getUserMedia",3,e),k={audio:!0},M=n.Scope.getUserMedia(k,w,S)}o.CLog("getUserMedia("+JSON.stringify(k)+") "+i(y)+",一般默认会降噪和回声消除,移动端可能会降低系统播放音量,请参阅文档中audioTrackSet配置"),M&&M.then&&M.then(w).catch(S)}else g("","此浏览器不支持录音")}},close:function(e){e=e||t;var n=this._streamStore();this._stop();var r=n.Sync;if(this._O=0,this._O_!=r.O)return this.CLog("close被忽略(因为同时open了多个rec,只有最后一个会真正close)",3),void e();r.C++,c(n),this.CLog("close"),e()},mock:function(e,t){return this._stop(),this.isMock=1,this.mockEnvInfo=null,this.buffers=[e],this.recSize=e.length,this.srcSampleRate=t,this},envCheck:function(t){var r,a=this.set,i="CPU_BE";if(r||n[i]||!e.Int8Array||new Int8Array(new Int32Array([1]).buffer)[0]||(y(i),r="不支持CPU_BE架构"),!r){var s=a.type;this[s+"_envCheck"]?r=this[s+"_envCheck"](t,a):a.takeoffEncodeChunk&&(r=s+"类型"+(this[s]?"":"(未加载编码器)")+"不支持设置takeoffEncodeChunk")}return r||""},envStart:function(e,t){var n=this.set;this.isMock=e?1:0,this.mockEnvInfo=e,this.buffers=[],this.recSize=0,this.envInLast=0,this.envInFirst=0,this.envInFix=0,this.envInFixTs=[];var r=n.sampleRate;if(r>t?n.sampleRate=t:r=0,this.srcSampleRate=t,this.CLog("srcSampleRate: "+t+" set.sampleRate: "+n.sampleRate+(r?" 忽略"+r:""),r?3:0),this.engineCtx=0,this[n.type+"_start"]){var a=this.engineCtx=this[n.type+"_start"](n);a&&(a.pcmDatas=[],a.pcmSize=0)}},envResume:function(){this.envInFixTs=[]},envIn:function(e,t){var r=this,a=r.set,i=r.engineCtx,s=r.srcSampleRate,o=e.length,l=n.PowerLevel(t,o),c=r.buffers,f=c.length;c.push(e);var u=c,_=f,p=Date.now(),h=Math.round(o/s*1e3);r.envInLast=p,1==r.buffers.length&&(r.envInFirst=p-h);var d=r.envInFixTs;d.splice(0,0,{t:p,d:h});for(var v=p,m=0,b=0;b3e3){d.length=b;break}v=g.t,m+=g.d}var y=d[1],w=p-v;if(w-m>w/3&&(y&&w>1e3||d.length>=6)){var S=p-y.t-h;if(S>h/5){var x=!a.disableEnvInFix;if(r.CLog("["+p+"]"+(x?"":"未")+"补偿"+S+"ms",3),r.envInFix+=S,x){var k=new Int16Array(S*s/1e3);o+=k.length,c.push(k)}}}var M=r.recSize,A=o,R=M+A;if(r.recSize=R,i){var T=n.SampleData(c,s,a.sampleRate,i.chunkInfo);i.chunkInfo=T,R=(M=i.pcmSize)+(A=T.data.length),i.pcmSize=R,c=i.pcmDatas,f=c.length,c.push(T.data),s=T.sampleRate}var B=Math.round(R/s*1e3),E=c.length,C=u.length,P=function(){for(var e=O?0:-A,t=null==c[0],n=f;n10&&r.envInFirst-p>1e3&&r.CLog("rec.set.onProcess低性能,耗时"+L+"ms",3),!0===O){var I=0;for(b=f;b"+b.length+" 花:"+(Date.now()-a)+"ms"),setTimeout((function(){a=Date.now(),i[s.type](b,(function(e){u(e,v)}),(function(e){f(e)}))}))}else f("未加载"+s.type+"编码器");else f("音频buffers被释放");else f("未采集到录音")}},e[r]&&(u("重复引入"+r,3),e[r].Destroy()),e[r]=n;var d=function(e,t){t.pos||(t.pos=[0],t.tracks={},t.bytes=[]);var n=t.tracks,r=[t.pos[0]],a=function(){t.pos[0]=r[0]},i=t.bytes.length,s=new Uint8Array(i+e.length);if(s.set(t.bytes),s.set(e,i),t.bytes=s,!t._ht){if(b(s,r),g(s,r),!v(b(s,r),[24,83,128,103]))return;for(b(s,r);r[0]1){var N=[];for(M=0;M=e.length)){var a=("0000000"+e[r].toString(2)).substr(-8),i=/^(0*1)(\d*)$/.exec(a);if(i){var s=i[1].length,o=[];if(!(r+s>e.length)){for(var l=0;le.length)return;for(var s=0;s
';var c=this.canvas=o.querySelector("canvas"),f=this.ctx=c.getContext("2d");c.width=i,c.height=s,this.linear1=this.genLinear(f,i,e.linear1),this.linear2=this.genLinear(f,i,e.linear2),this.linearBg=this.genLinear(f,s,e.linearBg,!0),r&&(r.innerHTML="",r.appendChild(o)),this._phase=0}).prototype=r.prototype={genLinear:function(e,t,n,r){for(var a=e.createLinearGradient(0,0,r?0:t,r?t:0),i=0;i1300&&(clearInterval(e.timer),e.timer=0)}},draw:function(e){var t=this.set,n=this.ctx,r=t.scale,a=t.width*r,i=t.height*r,s=t.speed/t.fps,o=this._phase-=s,l=o+s*t.phase,c=e/100,f=this.genPath(2,c,o),u=this.genPath(1.8,c,l);n.clearRect(0,0,a,i),n.beginPath();for(var _=0,p=0;p=0;_--,p-=r)n.lineTo(p,u[_]);n.closePath(),n.fillStyle=this.linearBg,n.fill(),this.drawPath(u,this.linear2),this.drawPath(f,this.linear1)},drawPath:function(e,t){var n=this.set,r=this.ctx,a=n.scale,i=n.width*a;r.beginPath();for(var s=0,o=0;o\n \n\n \n\n '});window.vue_vue=r.default,window.vue_root=s,window.vue_main=s.$refs.mainView,console.log("Vue",r.default),console.log("Recorder",vue_main.Rec)},function(e,t,n){"use strict";n.r(t);var r=n(17),a=n(3);for(var i in a)"default"!==i&&function(e){n.d(t,e,(function(){return a[e]}))}(i);n(23);var s=n(1),o=Object(s.a)(a.default,r.a,r.b,!1,null,null,null);o.options.__file="component/recorder.vue",t.default=o.exports},function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){var e;Recorder.prototype.enc_mp3={stable:!0,testmsg:"采样率范围48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000"},Recorder.prototype.mp3=function(e,t,n){var r=this.set,s=e.length,o=this.mp3_start(r);if(o)return this.mp3_encode(o,e),void this.mp3_complete(o,t,n,1);var l=new Recorder.lamejs.Mp3Encoder(1,r.sampleRate,r.bitRate),c=[],f=0,u=0;!function n(){if(f0&&(u+=o.buffer.byteLength,c.push(o.buffer)),f+=57600,setTimeout(n)}else{var o;(o=l.flush()).length>0&&(u+=o.buffer.byteLength,c.push(o.buffer));var _=a.fn(c,u,s,r.sampleRate);i(_,r),t(new Blob(c,{type:"audio/mp3"}))}}()},Recorder.BindDestroy("mp3Worker",(function(){Recorder.CLog("mp3Worker Destroy"),e&&e.terminate(),e=null})),Recorder.prototype.mp3_envCheck=function(e,t){var r="";return t.takeoffEncodeChunk&&(e.canProcess?n()||(r="当前浏览器版本太低,无法实时处理"):r=e.envName+"环境不支持实时处理"),r},Recorder.prototype.mp3_start=function(e){return n(e)};var t={id:0},n=function(n){var r=e;try{if(!r){var i=");wk_lame();var wk_ctxs={};self.onmessage="+function(e){var t=e.data,n=wk_ctxs[t.id];if("init"==t.action)wk_ctxs[t.id]={sampleRate:t.sampleRate,bitRate:t.bitRate,takeoff:t.takeoff,mp3Size:0,pcmSize:0,encArr:[],encObj:new wk_lame.Mp3Encoder(1,t.sampleRate,t.bitRate)};else if(!n)return;switch(t.action){case"stop":n.encObj=null,delete wk_ctxs[t.id];break;case"encode":n.pcmSize+=t.pcm.length,(r=n.encObj.encodeBuffer(t.pcm)).length>0&&(n.takeoff?self.postMessage({action:"takeoff",id:t.id,chunk:r}):(n.mp3Size+=r.buffer.byteLength,n.encArr.push(r.buffer)));break;case"complete":var r;(r=n.encObj.flush()).length>0&&(n.takeoff?self.postMessage({action:"takeoff",id:t.id,chunk:r}):(n.mp3Size+=r.buffer.byteLength,n.encArr.push(r.buffer)));var a=wk_mp3TrimFix.fn(n.encArr,n.mp3Size,n.pcmSize,n.sampleRate);self.postMessage({action:t.action,id:t.id,blob:new Blob(n.encArr,{type:"audio/mp3"}),meta:a})}};i+=";var wk_mp3TrimFix={rm:"+a.rm+",fn:"+a.fn+"}";var s=Recorder.lamejs.toString(),o=(window.URL||webkitURL).createObjectURL(new Blob(["var wk_lame=(",s,i],{type:"text/javascript"}));r=new Worker(o),setTimeout((function(){(window.URL||webkitURL).revokeObjectURL(o)}),1e4),r.onmessage=function(e){var n=e.data,r=t[n.id];r&&("takeoff"==n.action?r.set.takeoffEncodeChunk(new Uint8Array(n.chunk.buffer)):(r.call&&r.call(n),r.call=null))}}var l={worker:r,set:n,takeoffQueue:[]};return n?(l.id=++t.id,t[l.id]=l,r.postMessage({action:"init",id:l.id,sampleRate:n.sampleRate,bitRate:n.bitRate,takeoff:!!n.takeoffEncodeChunk,x:new Int16Array(5)})):r.postMessage({x:new Int16Array(5)}),e=r,l}catch(e){return r&&r.terminate(),console.error(e),null}};Recorder.prototype.mp3_stop=function(e){if(e&&e.worker){e.worker.postMessage({action:"stop",id:e.id}),e.worker=null,delete t[e.id];var n=-1;for(var r in t)n++;n&&Recorder.CLog("mp3 worker剩"+n+"个在串行等待",3)}},Recorder.prototype.mp3_encode=function(e,t){e&&e.worker&&e.worker.postMessage({action:"encode",id:e.id,pcm:t})},Recorder.prototype.mp3_complete=function(e,t,n,r){var a=this;e&&e.worker?(e.call=function(n){i(n.meta,e.set),t(n.blob),r&&a.mp3_stop(e)},e.worker.postMessage({action:"complete",id:e.id})):n("mp3编码器未打开")},Recorder.mp3ReadMeta=function(e,t){var n="object"==("undefined"==typeof window?"undefined":r(window))?window.parseInt:self.parseInt,a=new Uint8Array(e[0]||[]);if(a.length<4)return null;var i=function(e,t){return("0000000"+((t||a)[e]||0).toString(2)).substr(-8)},s=i(0)+i(1),o=i(2)+i(3);if(!/^1{11}/.test(s))return null;var l={"00":2.5,10:2,11:1}[s.substr(11,2)],c={"01":3}[s.substr(13,2)],f={1:[44100,48e3,32e3],2:[22050,24e3,16e3],2.5:[11025,12e3,8e3]}[l];f&&(f=f[n(o.substr(4,2),2)]);var u=[[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160],[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320]][1==l?1:0][n(o.substr(0,4),2)];if(!(l&&c&&u&&f))return null;for(var _=Math.round(8*t/u),p=1==c?384:2==c||1==l?1152:576,h=p/f*1e3,d=Math.floor(p*u/8/f*1e3),v=0,m=0,b=0;b=d+3){var y=new Uint8Array(g);v="1"==i(g.byteLength-(m-(d+3)+1),y).charAt(6);break}}return v&&d++,{version:l,layer:c,sampleRate:f,bitRate:u,duration:_,size:t,hasPadding:v,frameSize:d,frameDurationFloat:h}};var a={rm:Recorder.mp3ReadMeta,fn:function(e,t,n,r){var a=this.rm(e,t);if(!a)return{err:"mp3非预定格式"};var i=Math.round(n/r*1e3),s=Math.floor((a.duration-i)/a.frameDurationFloat);if(s>0){var o=s*a.frameSize-(a.hasPadding?1:0);t-=o;for(var l=0,c=[],f=0;f=u.byteLength?(o-=u.byteLength,c.push(u),e.splice(f,1),f--):(e[f]=u.slice(o),l=u,o=0)}if(!this.rm(e,t)){l&&(e[0]=l);for(f=0;f "+r.duration+"ms",r.remove>2&&(e.err=(e.err?e.err+", ":"")+"移除帧数过多")):n+=(e.duration||"-")+"ms",e.err?Recorder.CLog(n,1,e.err,e):Recorder.CLog(n,e)}}()},function(e,t,n){"use strict";!function(){function e(){var t=function(e){return Math.log(e)/Math.log(10)};function n(e){return new Int8Array(e)}function r(e){return new Int16Array(e)}function a(e){return new Int32Array(e)}function i(e){return new Float32Array(e)}function s(e){return new Float64Array(e)}function o(e){if(1==e.length)return i(e[0]);var t=e[0];e=e.slice(1);for(var n=[],r=0;r>=1;0!=e--;)a[i++]=s>n[r++]?0:1,a[i++]=s>n[r++]?0:1}function i(t,n,r,a,i,s){var o=(t>>=1)%2;for(t>>=1;0!=t--;){var l,c,f,u,_,p,h,d;l=r[a++]*n,c=r[a++]*n,_=0|l,f=r[a++]*n,p=0|c,u=r[a++]*n,h=0|f,l+=e.adj43[_],d=0|u,c+=e.adj43[p],i[s++]=0|l,f+=e.adj43[h],i[s++]=0|c,u+=e.adj43[d],i[s++]=0|f,i[s++]=0|u}0!=o&&(_=0|(l=r[a++]*n),p=0|(c=r[a++]*n),l+=e.adj43[_],c+=e.adj43[p],i[s++]=0|l,i[s++]=0|c)}var s=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function o(e,t,n,r){var a=function(e,t,n){var r=0,a=0;do{var i=e[t++],s=e[t++];r>=16)>i&&(o=i,r++),a.bits+=o,r}(e,t,n,s[a-1],r);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return function(e,t,n,r,a){var i=0,s=0,o=0,l=A.ht[r].xlen,c=A.ht[r].hlen,f=A.ht[r+1].hlen,u=A.ht[r+2].hlen;do{var _=e[t+0]*l+e[t+1];t+=2,i+=c[_],s+=f[_],o+=u[_]}while(ts&&(i=s,p++),i>o&&(i=o,p=r+2),a.bits+=i,p}(e,t,n,s[a-1],r);default:if(a>I.IXMAX_VAL)return r.bits=I.LARGE_BITS,-1;var i,o;for(a-=15,i=24;i<32&&!(A.ht[i].linmax>=a);i++);for(o=i-8;o<24&&!(A.ht[o].linmax>=a);o++);return function(e,t,n,r,a,i){var s,o=65536*A.ht[r].xlen+A.ht[a].xlen,l=0;do{var c=e[t++],f=e[t++];0!=c&&(c>14&&(c=15,l+=o),c*=16),0!=f&&(f>14&&(f=15,l+=o),c+=f),l+=A.largetbl[c]}while(t>=16)>s&&(l=s,r=a),i.bits+=l,r}(e,t,n,o,i,r)}}function l(e,n,r,a,i,s,l,c){for(var f=n.big_values,u=2;u=f)break;var p=i[u-2]+n.count1bits;if(r.part2_3_length<=p)break;var h=new t(p),d=o(a,_,f,h);p=h.bits,r.part2_3_length<=p||(r.assign(n),r.part2_3_length=p,r.region0_count=s[u-2],r.region1_count=u-2-s[u-2],r.table_select[0]=l[u-2],r.table_select[1]=c[u-2],r.table_select[2]=d)}}this.noquant_count_bits=function(e,n,r){var a=n.l3_enc,i=Math.min(576,n.max_nonzero_coeff+2>>1<<1);for(null!=r&&(r.sfb_count1=0);i>1&&0==(a[i-1]|a[i-2]);i-=2);n.count1=i;for(var s=0,l=0;i>3;i-=4){var c;if((2147483647&(a[i-1]|a[i-2]|a[i-3]|a[i-4]))>1)break;c=2*(2*(2*a[i-4]+a[i-3])+a[i-2])+a[i-1],s+=A.t32l[c],l+=A.t33l[c]}var f=s;if(n.count1table_select=0,s>l&&(f=l,n.count1table_select=1),n.count1bits=f,n.big_values=i,0==i)return f;if(n.block_type==F.SHORT_TYPE)(s=3*e.scalefac_band.s[3])>n.big_values&&(s=n.big_values),l=n.big_values;else if(n.block_type==F.NORM_TYPE){if(s=n.region0_count=e.bv_scf[i-2],l=n.region1_count=e.bv_scf[i-1],l=e.scalefac_band.l[s+l+2],s=e.scalefac_band.l[s+1],l(l=i)&&(s=l);if(s=Math.min(s,i),l=Math.min(l,i),0l)return I.LARGE_BITS;if(function(t,n,a,s,o){var l,c,f,_=0,p=0,h=0,d=0,v=n,m=0,b=v,g=0,y=t,w=0;for(f=null!=o&&s.global_gain==o.global_gain,c=s.block_type==F.SHORT_TYPE?38:21,l=0;l<=c;l++){var S=-1;if((f||s.block_type==F.NORM_TYPE)&&(S=s.global_gain-(s.scalefac[l]+(0!=s.preflag?e.pretab[l]:0)<s.max_nonzero_coeff)x=s.max_nonzero_coeff-_+1,u.fill(n,s.max_nonzero_coeff,576,0),(k=x)<0&&(k=0),l=c+1;if(0==p&&0==h&&(b=v,g=m,y=t,w=d),null!=o&&o.sfb_count1>0&&l>=o.sfb_count1&&o.step[l]>0&&S>=o.step[l]?(0!=p&&(i(p,a,y,w,b,g),p=0,b=v,g=m,y=t,w=d),h+=k):(0!=h&&(r(h,a,y,w,b,g),h=0,b=v,g=m,y=t,w=d),p+=k),k<=0){0!=h&&(r(h,a,y,w,b,g),h=0),0!=p&&(i(p,a,y,w,b,g),p=0);break}}l<=c&&(m+=s.width[l],d+=s.width[l],_+=s.width[l])}0!=p&&(i(p,a,y,w,b,g),p=0),0!=h&&(r(h,a,y,w,b,g),h=0)}(n,o,e.IPOW20(a.global_gain),a,s),0!=(2&t.substep_shaping))for(var c=0,f=a.global_gain+a.scalefac_scale,_=.634521682242439/e.IPOW20(f),p=0;p=_?o[h]:0}return this.noquant_count_bits(t,a,s)},this.best_huffman_divide=function(e,n){var r=new H,i=n.l3_enc,s=a(23),c=a(23),f=a(23),u=a(23);if(n.block_type!=F.SHORT_TYPE||1!=e.mode_gr){r.assign(n),n.block_type==F.NORM_TYPE&&(!function(e,n,r,a,i,s,l){for(var c=n.big_values,f=0;f<=22;f++)a[f]=I.LARGE_BITS;for(f=0;f<16;f++){var u=e.scalefac_band.l[f+1];if(u>=c)break;var _=0,p=new t(_),h=o(r,0,u,p);_=p.bits;for(var d=0;d<8;d++){var v=e.scalefac_band.l[f+d+2];if(v>=c)break;var m=_,b=o(r,u,v,p=new t(m));m=p.bits,a[f+d]>m&&(a[f+d]=m,i[f+d]=f,s[f+d]=h,l[f+d]=b)}}}(e,n,i,s,c,f,u),l(e,r,n,i,s,c,f,u));var _=r.big_values;if(!(0==_||(i[_-2]|i[_-1])>1||(_=n.count1+2)>576)){r.assign(n),r.count1=_;for(var p=0,h=0;_>r.big_values;_-=4){var d=2*(2*(2*i[_-4]+i[_-3])+i[_-2])+i[_-1];p+=A.t32l[d],h+=A.t33l[d]}if(r.big_values=_,r.count1table_select=0,p>h&&(p=h,r.count1table_select=1),r.count1bits=p,r.block_type==F.NORM_TYPE)l(e,r,n,i,s,c,f,u);else{if(r.part2_3_length=p,(p=e.scalefac_band.l[8])>_&&(p=_),p>0){var v=new t(r.part2_3_length);r.table_select[0]=o(i,0,p,v),r.part2_3_length=v.bits}if(_>p){v=new t(r.part2_3_length);r.table_select[1]=o(i,p,_,v),r.part2_3_length=v.bits}n.part2_3_length>r.part2_3_length&&n.assign(r)}}}};var c=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],f=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],p=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],h=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];g.slen1_tab=p,g.slen2_tab=h,this.best_scalefac_store=function(t,n,r,a){var i,s,o,l,u=a.tt[n][r],_=0;for(o=0,i=0;i0&&(v|=u.scalefac[i]);if(0==(1&v)&&0!=v){for(i=0;i0&&(u.scalefac[i]>>=1);u.scalefac_scale=_=1}}if(0==u.preflag&&u.block_type!=F.SHORT_TYPE&&2==t.mode_gr){for(i=11;i0&&(u.scalefac[i]-=e.pretab[i]);u.preflag=_=1}}for(s=0;s<4;s++)a.scfsi[r][s]=0;for(2==t.mode_gr&&1==n&&a.tt[0][r].block_type!=F.SHORT_TYPE&&a.tt[1][r].block_type!=F.SHORT_TYPE&&(!function(e,t){for(var n,r=t.tt[1][e],a=t.tt[0][e],i=0;i=0);n++);if(n==A.scfsi_band[i+1]){for(n=A.scfsi_band[i];n_&&(r.part2_length=_,r.scalefac_compress=i)}}(r,a),_=0),i=0;ia[n]&&(t.part2_length=a[n],t.scalefac_compress=n);return t.part2_length==I.LARGE_BITS};var b=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(t,n){var r,i,s,o,l,c,f,u,p=a(4),h=n.scalefac;for(r=0!=n.preflag?2:0,f=0;f<4;f++)p[f]=0;if(n.block_type==F.SHORT_TYPE){i=1;var d=e.nr_of_sfb_block[r][i];for(u=0,s=0;s<4;s++)for(o=d[s]/3,f=0;fp[s]&&(p[s]=h[3*u+l])}else{i=0;d=e.nr_of_sfb_block[r][i];for(u=0,s=0;s<4;s++)for(o=d[s],f=0;fp[s]&&(p[s]=h[u])}for(c=!1,s=0;s<4;s++)p[s]>b[r][s]&&(c=!0);if(!c){var v,m,g,w;for(n.sfb_partition_table=e.nr_of_sfb_block[r][i],s=0;s<4;s++)n.slen[s]=y[p[s]];switch(v=n.slen[0],m=n.slen[1],g=n.slen[2],w=n.slen[3],r){case 0:n.scalefac_compress=(5*v+m<<4)+(g<<2)+w;break;case 1:n.scalefac_compress=400+(5*v+m<<2)+g;break;case 2:n.scalefac_compress=500+3*v+m;break;default:_.err.printf("intensity stereo not implemented yet\n")}}if(!c)for(n.part2_length=0,s=0;s<4;s++)n.part2_length+=n.slen[s]*n.sfb_partition_table[s];return c};var y=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){for(var r,a=0;e.scalefac_band.l[++a]t;)r--;for(r<0&&(r=n[a][0]),e.bv_scf[t-2]=r,r=n[a][1];e.scalefac_band.l[r+e.bv_scf[t-2]+2]>t;)r--;r<0&&(r=n[a][1]),e.bv_scf[t-1]=r}}}function y(){}function w(){function e(e,t,n,r,a,i,s,o,l,c,f,u,_,p,h){this.vbr_q=e,this.quant_comp=t,this.quant_comp_s=n,this.expY=r,this.st_lrm=a,this.st_s=i,this.masking_adj=s,this.masking_adj_short=o,this.ath_lower=l,this.ath_curve=c,this.ath_sensitivity=f,this.interch=u,this.safejoint=_,this.sfb21mod=p,this.msfix=h}function t(e,t,n,r,a,i,s,o,l,c,f,u,_,p){this.quant_comp=t,this.quant_comp_s=n,this.safejoint=r,this.nsmsfix=a,this.st_lrm=i,this.st_s=s,this.nsbass=o,this.scale=l,this.masking_adj=c,this.ath_lower=f,this.ath_curve=u,this.interch=_,this.sfscale=p}var n;this.setModules=function(e){n=e};var r=[new e(0,9,9,0,5.2,125,-4.2,-6.3,4.8,1,0,0,2,21,.97),new e(1,9,9,0,5.3,125,-3.6,-5.6,4.5,1.5,0,0,2,21,1.35),new e(2,9,9,0,5.6,125,-2.2,-3.5,2.8,2,0,0,2,21,1.49),new e(3,9,9,1,5.8,130,-1.8,-2.8,2.6,3,-4,0,2,20,1.64),new e(4,9,9,1,6,135,-.7,-1.1,1.1,3.5,-8,0,2,0,1.79),new e(5,9,9,1,6.4,140,.5,.4,-7.5,4,-12,2e-4,0,0,1.95),new e(6,9,9,1,6.6,145,.67,.65,-14.7,6.5,-19,4e-4,0,0,2.3),new e(7,9,9,1,6.6,145,.8,.75,-19.7,8,-22,6e-4,0,0,2.7),new e(8,9,9,1,6.6,145,1.2,1.15,-27.5,10,-23,7e-4,0,0,0),new e(9,9,9,1,6.6,145,1.6,1.6,-36,11,-25,8e-4,0,0,0),new e(10,9,9,1,6.6,145,2,2,-36,12,-25,8e-4,0,0,0)],a=[new e(0,9,9,0,4.2,25,-7,-4,7.5,1,0,0,2,26,.97),new e(1,9,9,0,4.2,25,-5.6,-3.6,4.5,1.5,0,0,2,21,1.35),new e(2,9,9,0,4.2,25,-4.4,-1.8,2,2,0,0,2,18,1.49),new e(3,9,9,1,4.2,25,-3.4,-1.25,1.1,3,-4,0,2,15,1.64),new e(4,9,9,1,4.2,25,-2.2,.1,0,3.5,-8,0,2,0,1.79),new e(5,9,9,1,4.2,25,-1,1.65,-7.7,4,-12,2e-4,0,0,1.95),new e(6,9,9,1,4.2,25,-0,2.47,-7.7,6.5,-19,4e-4,0,0,2),new e(7,9,9,1,4.2,25,.5,2,-14.5,8,-22,6e-4,0,0,2),new e(8,9,9,1,4.2,25,1,2.4,-22,10,-23,7e-4,0,0,2),new e(9,9,9,1,4.2,25,1.5,2.95,-30,11,-25,8e-4,0,0,2),new e(10,9,9,1,4.2,25,2,2.95,-36,12,-30,8e-4,0,0,2)];function i(e,t,n){var i=e.VBR==v.vbr_rh?r:a,s=e.VBR_q_frac,o=i[t],l=i[t+1],c=o;o.st_lrm=o.st_lrm+s*(l.st_lrm-o.st_lrm),o.st_s=o.st_s+s*(l.st_s-o.st_s),o.masking_adj=o.masking_adj+s*(l.masking_adj-o.masking_adj),o.masking_adj_short=o.masking_adj_short+s*(l.masking_adj_short-o.masking_adj_short),o.ath_lower=o.ath_lower+s*(l.ath_lower-o.ath_lower),o.ath_curve=o.ath_curve+s*(l.ath_curve-o.ath_curve),o.ath_sensitivity=o.ath_sensitivity+s*(l.ath_sensitivity-o.ath_sensitivity),o.interch=o.interch+s*(l.interch-o.interch),o.msfix=o.msfix+s*(l.msfix-o.msfix),function(e,t){var n=0;0>t&&(n=-1,t=0);90||(e.quant_comp=c.quant_comp),0!=n?e.quant_comp_short=c.quant_comp_s:Math.abs(e.quant_comp_short- -1)>0||(e.quant_comp_short=c.quant_comp_s),0!=c.expY&&(e.experimentalY=0!=c.expY),0!=n?e.internal_flags.nsPsy.attackthre=c.st_lrm:Math.abs(e.internal_flags.nsPsy.attackthre- -1)>0||(e.internal_flags.nsPsy.attackthre=c.st_lrm),0!=n?e.internal_flags.nsPsy.attackthre_s=c.st_s:Math.abs(e.internal_flags.nsPsy.attackthre_s- -1)>0||(e.internal_flags.nsPsy.attackthre_s=c.st_s),0!=n?e.maskingadjust=c.masking_adj:Math.abs(e.maskingadjust-0)>0||(e.maskingadjust=c.masking_adj),0!=n?e.maskingadjust_short=c.masking_adj_short:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=c.masking_adj_short),0!=n?e.ATHlower=-c.ath_lower/10:Math.abs(10*-e.ATHlower-0)>0||(e.ATHlower=-c.ath_lower/10),0!=n?e.ATHcurve=c.ath_curve:Math.abs(e.ATHcurve- -1)>0||(e.ATHcurve=c.ath_curve),0!=n?e.athaa_sensitivity=c.ath_sensitivity:Math.abs(e.athaa_sensitivity- -1)>0||(e.athaa_sensitivity=c.ath_sensitivity),c.interch>0&&(0!=n?e.interChRatio=c.interch:Math.abs(e.interChRatio- -1)>0||(e.interChRatio=c.interch)),c.safejoint>0&&(e.exp_nspsytune=e.exp_nspsytune|c.safejoint),c.sfb21mod>0&&(e.exp_nspsytune=e.exp_nspsytune|c.sfb21mod<<20),0!=n?e.msfix=c.msfix:Math.abs(e.msfix- -1)>0||(e.msfix=c.msfix),0==n&&(e.VBR_q=t,e.VBR_q_frac=s)}var s=[new t(8,9,9,0,0,6.6,145,0,.95,0,-30,11,.0012,1),new t(16,9,9,0,0,6.6,145,0,.95,0,-25,11,.001,1),new t(24,9,9,0,0,6.6,145,0,.95,0,-20,11,.001,1),new t(32,9,9,0,0,6.6,145,0,.95,0,-15,11,.001,1),new t(40,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new t(48,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new t(56,9,9,0,0,6.6,145,0,.95,0,-6,11,8e-4,1),new t(64,9,9,0,0,6.6,145,0,.95,0,-2,11,8e-4,1),new t(80,9,9,0,0,6.6,145,0,.95,0,0,8,7e-4,1),new t(96,9,9,0,2.5,6.6,145,0,.95,0,1,5.5,6e-4,1),new t(112,9,9,0,2.25,6.6,145,0,.95,0,2,4.5,5e-4,1),new t(128,9,9,0,1.95,6.4,140,0,.95,0,3,4,2e-4,1),new t(160,9,9,1,1.79,6,135,0,.95,-2,5,3.5,0,1),new t(192,9,9,1,1.49,5.6,125,0,.97,-4,7,3,0,0),new t(224,9,9,1,1.25,5.2,125,0,.98,-6,9,2,0,0),new t(256,9,9,1,.97,5.2,125,0,1,-8,10,1,0,0),new t(320,9,9,1,.9,5.2,125,0,1,-10,12,0,0,0)];function o(e,t,r){var a=t,i=n.nearestBitrateFullIndex(t);if(e.VBR=v.vbr_abr,e.VBR_mean_bitrate_kbps=a,e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320),e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.brate=e.VBR_mean_bitrate_kbps,e.VBR_mean_bitrate_kbps>320&&(e.disable_reservoir=!0),s[i].safejoint>0&&(e.exp_nspsytune=2|e.exp_nspsytune),s[i].sfscale>0&&(e.internal_flags.noise_shaping=2),Math.abs(s[i].nsbass)>0){var o=int(4*s[i].nsbass);o<0&&(o+=64),e.exp_nspsytune=e.exp_nspsytune|o<<2}return 0!=r?e.quant_comp=s[i].quant_comp:Math.abs(e.quant_comp- -1)>0||(e.quant_comp=s[i].quant_comp),0!=r?e.quant_comp_short=s[i].quant_comp_s:Math.abs(e.quant_comp_short- -1)>0||(e.quant_comp_short=s[i].quant_comp_s),0!=r?e.msfix=s[i].nsmsfix:Math.abs(e.msfix- -1)>0||(e.msfix=s[i].nsmsfix),0!=r?e.internal_flags.nsPsy.attackthre=s[i].st_lrm:Math.abs(e.internal_flags.nsPsy.attackthre- -1)>0||(e.internal_flags.nsPsy.attackthre=s[i].st_lrm),0!=r?e.internal_flags.nsPsy.attackthre_s=s[i].st_s:Math.abs(e.internal_flags.nsPsy.attackthre_s- -1)>0||(e.internal_flags.nsPsy.attackthre_s=s[i].st_s),0!=r?e.scale=s[i].scale:Math.abs(e.scale- -1)>0||(e.scale=s[i].scale),0!=r?e.maskingadjust=s[i].masking_adj:Math.abs(e.maskingadjust-0)>0||(e.maskingadjust=s[i].masking_adj),s[i].masking_adj>0?0!=r?e.maskingadjust_short=.9*s[i].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=.9*s[i].masking_adj):0!=r?e.maskingadjust_short=1.1*s[i].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=1.1*s[i].masking_adj),0!=r?e.ATHlower=-s[i].ath_lower/10:Math.abs(10*-e.ATHlower-0)>0||(e.ATHlower=-s[i].ath_lower/10),0!=r?e.ATHcurve=s[i].ath_curve:Math.abs(e.ATHcurve- -1)>0||(e.ATHcurve=s[i].ath_curve),0!=r?e.interChRatio=s[i].interch:Math.abs(e.interChRatio- -1)>0||(e.interChRatio=s[i].interch),t}this.apply_preset=function(e,t,n){switch(t){case G.R3MIX:t=G.V3,e.VBR=v.vbr_mtrh;break;case G.MEDIUM:t=G.V4,e.VBR=v.vbr_rh;break;case G.MEDIUM_FAST:t=G.V4,e.VBR=v.vbr_mtrh;break;case G.STANDARD:t=G.V2,e.VBR=v.vbr_rh;break;case G.STANDARD_FAST:t=G.V2,e.VBR=v.vbr_mtrh;break;case G.EXTREME:t=G.V0,e.VBR=v.vbr_rh;break;case G.EXTREME_FAST:t=G.V0,e.VBR=v.vbr_mtrh;break;case G.INSANE:return t=320,e.preset=t,o(e,t,n),e.VBR=v.vbr_off,t}switch(e.preset=t,t){case G.V9:return i(e,9,n),t;case G.V8:return i(e,8,n),t;case G.V7:return i(e,7,n),t;case G.V6:return i(e,6,n),t;case G.V5:return i(e,5,n),t;case G.V4:return i(e,4,n),t;case G.V3:return i(e,3,n),t;case G.V2:return i(e,2,n),t;case G.V1:return i(e,1,n),t;case G.V0:return i(e,0,n),t}return 8<=t&&t<=320?o(e,t,n):(e.preset=0,t)}}function S(){var e;this.setModules=function(t){e=t},this.ResvFrameBegin=function(t,n){var r,a=t.internal_flags,i=a.l3_side,s=e.getframebits(t);n.bits=(s-8*a.sideinfo_len)/a.mode_gr;var o=2048*a.mode_gr-8;t.brate>320?r=8*int(1e3*t.brate/(t.out_samplerate/1152)/8+.5):(r=11520,t.strict_ISO&&(r=8*int(32e4/(t.out_samplerate/1152)/8+.5))),a.ResvMax=r-s,a.ResvMax>o&&(a.ResvMax=o),(a.ResvMax<0||t.disable_reservoir)&&(a.ResvMax=0);var l=n.bits*a.mode_gr+Math.min(a.ResvSize,a.ResvMax);return l>r&&(l=r),i.resvDrain_pre=0,null!=a.pinfo&&(a.pinfo.mean_bits=n.bits/2,a.pinfo.resvsize=a.ResvSize),l},this.ResvMaxBits=function(e,t,n,r){var a,i=e.internal_flags,s=i.ResvSize,o=i.ResvMax;0!=r&&(s+=t),0!=(1&i.substep_shaping)&&(o*=.9),n.bits=t,10*s>9*o?(a=s-9*o/10,n.bits+=a,i.substep_shaping|=128):(a=0,i.substep_shaping&=127,e.disable_reservoir||0!=(1&i.substep_shaping)||(n.bits-=.1*t));var l=s<6*i.ResvMax/10?s:6*i.ResvMax/10;return(l-=a)<0&&(l=0),l},this.ResvAdjust=function(e,t){e.ResvSize-=t.part2_3_length+t.part2_length},this.ResvFrameEnd=function(e,t){var n,r=e.l3_side;e.ResvSize+=t*e.mode_gr;var a=0;r.resvDrain_post=0,r.resvDrain_pre=0,0!=(n=e.ResvSize%8)&&(a+=n),(n=e.ResvSize-a-e.ResvMax)>0&&(a+=n);var i=Math.min(8*r.main_data_begin,a)/8;r.resvDrain_pre+=8*i,a-=8*i,e.ResvSize-=8*i,r.main_data_begin-=i,r.resvDrain_post+=a,e.ResvSize-=a}}function x(){this.setModules=function(e,t,n){e,t,n};var e=[0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8e3,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16e3,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32e3,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448];function t(t,n){return n=n>>8^e[255&(n^t)]}this.updateMusicCRC=function(e,n,r,a){for(var i=0;i0;){var r;0==h&&(h=8,p++,e.header[e.w_ptr].write_timing==f&&d(e),c[p]=0),n-=r=Math.min(n,h),h-=r,c[p]|=t>>n<0;){var r;0==h&&(h=8,p++,c[p]=0),n-=r=Math.min(n,h),h-=r,c[p]|=t>>n<=8&&(v(r,76,8),t-=8),t>=8&&(v(r,65,8),t-=8),t>=8&&(v(r,77,8),t-=8),t>=8&&(v(r,69,8),t-=8),t>=32){var a=s.getLameShortVersion();if(t>=32)for(n=0;n=8;++n)t-=8,v(r,a.charCodeAt(n),8)}for(;t>=1;t-=1)v(r,r.ancillary_flag,1),r.ancillary_flag^=e.disable_reservoir?0:1}function w(e,t,n){for(var r=e.header[e.h_ptr].ptr;n>0;){var a=Math.min(n,8-(7&r));n-=a,e.header[e.h_ptr].buf[r>>3]|=t>>n<<8-(7&r)-a,r+=a}e.header[e.h_ptr].ptr=r}function S(e,t){e<<=8;for(var n=0;n<8;n++)0!=(65536&((t<<=1)^(e<<=1)))&&(t^=32773);return t}function x(e,t){var n,r=A.ht[t.count1table_select+32],a=0,i=t.big_values,s=t.big_values;for(n=(t.count1-t.big_values)/4;n>0;--n){var o=0,l=0;0!=t.l3_enc[i+0]&&(l+=8,t.xr[s+0]<0&&o++),0!=t.l3_enc[i+1]&&(l+=4,o*=2,t.xr[s+1]<0&&o++),0!=t.l3_enc[i+2]&&(l+=2,o*=2,t.xr[s+2]<0&&o++),0!=t.l3_enc[i+3]&&(l++,o*=2,t.xr[s+3]<0&&o++),i+=4,s+=4,v(e,o+r.table[l],r.hlen[l]),a+=r.hlen[l]}return a}function k(e,t,n,r,a){var i=A.ht[t],s=0;if(0==t)return s;for(var o=n;o15){if(p>14)_|=p-15<<1,c=f,p=15;if(h>14)_<<=f,_|=h-15,c+=f,h=15;u=16}0!=h&&(_<<=1,a.xr[o+1]<0&&_++,l--),p=p*u+h,c-=l,l+=i.hlen[p],v(e,i.table[p],l),v(e,_,c),s+=l+c}return s}function M(e,t){var n=3*e.scalefac_band.s[3];n>t.big_values&&(n=t.big_values);var r=k(e,t.table_select[0],0,n,t);return r+=k(e,t.table_select[1],n,t.big_values,t)}function R(e,t){var n,r,a,i;n=t.big_values;var s=t.region0_count+1;return a=e.scalefac_band.l[s],s+=t.region1_count+1,a>n&&(a=n),(i=e.scalefac_band.l[s])>n&&(i=n),r=k(e,t.table_select[0],0,a,t),r+=k(e,t.table_select[1],a,i,t),r+=k(e,t.table_select[2],i,n,t)}function T(){this.total=0}function B(t,n){var r,a,i,s,o,l=t.internal_flags;return o=l.w_ptr,-1==(s=l.h_ptr-1)&&(s=U.MAX_HEADER_BUF-1),r=l.header[s].write_timing-f,n.total=r,r>=0&&(a=1+s-o,s>8),t[5]=byte(255&n)},this.flush_bitstream=function(e){var n,a,i=e.internal_flags,s=i.h_ptr-1;if(-1==s&&(s=U.MAX_HEADER_BUF-1),n=i.l3_side,!((a=B(e,new T))<0)){if(b(e,a),i.ResvSize=0,n.main_data_begin=0,i.findReplayGain){var o=r.GetTitleGain(i.rgdata);i.RadioGain=0|Math.floor(10*o+.5)}i.findPeakSample&&(i.noclipGainChange=0|Math.ceil(20*t(i.PeakSample/32767)*10),i.noclipGainChange>0&&(EQ(e.scale,1)||EQ(e.scale,0))?i.noclipScale=Math.floor(32767/i.PeakSample*100)/100:i.noclipScale=-1)}},this.add_dummy_byte=function(e,t,n){for(var r,a=e.internal_flags;n-- >0;)for(m(0,t,8),r=0;r ResvSize"),8*t.main_data_begin!=n.ResvSize&&(_.err.printf("bit reservoir error: \nl3_side.main_data_begin: %d \nResvoir size: %d \nresv drain (post) %d \nresv drain (pre) %d \nheader and sideinfo: %d \ndata bits: %d \ntotal bits: %d (remainder: %d) \nbitsperframe: %d \n",8*t.main_data_begin,n.ResvSize,t.resvDrain_post,t.resvDrain_pre,8*n.sideinfo_len,a-t.resvDrain_post-8*n.sideinfo_len,a,a%8,r),_.err.println("This is a fatal error. It has several possible causes:"),_.err.println("90%% LAME compiled with buggy version of gcc using advanced optimizations"),_.err.println(" 9%% Your system is overclocked"),_.err.println(" 1%% bug in LAME encoding library"),n.ResvSize=8*t.main_data_begin),f>1e9){var i;for(i=0;is)return-1;if(_.arraycopy(c,0,t,n,u),p=-1,h=0,0!=f){var d=a(1);if(d[0]=e.nMusicCRC,l.updateMusicCRC(d,t,n,u),e.nMusicCRC=d[0],u>0&&(e.VBR_seek_table.nBytesWritten+=u),e.decode_on_the_fly)for(var v,m=o([2,1152]),b=u,g=-1;0!=g;)if(g=i.hip_decode1_unclipped(e.hip,t,n,b,m[0],m[1]),b=0,-1==g&&(g=0),g>0){if(e.findPeakSample){for(v=0;ve.PeakSample?e.PeakSample=m[0][v]:-m[0][v]>e.PeakSample&&(e.PeakSample=-m[0][v]);if(e.channels_out>1)for(v=0;ve.PeakSample?e.PeakSample=m[1][v]:-m[1][v]>e.PeakSample&&(e.PeakSample=-m[1][v])}if(e.findReplayGain&&r.AnalyzeSamples(e.rgdata,m[0],0,m[1],0,g,e.channels_out)==y.GAIN_ANALYSIS_ERROR)return-6}}return u},this.init_bit_stream_w=function(e){c=n(G.LAME_MAXMP3BUFFER),e.h_ptr=e.w_ptr=0,e.header[e.h_ptr].write_timing=0,p=-1,h=0,f=0}}function M(e,t,n,r){this.xlen=e,this.linmax=t,this.table=n,this.hlen=r}m.STEREO=new m(0),m.JOINT_STEREO=new m(1),m.DUAL_CHANNEL=new m(2),m.MONO=new m(3),m.NOT_SET=new m(4),y.STEPS_per_dB=100,y.MAX_dB=120,y.GAIN_NOT_ENOUGH_SAMPLES=-24601,y.GAIN_ANALYSIS_ERROR=0,y.GAIN_ANALYSIS_OK=1,y.INIT_GAIN_ANALYSIS_ERROR=0,y.INIT_GAIN_ANALYSIS_OK=1,y.YULE_ORDER=10,y.MAX_ORDER=y.YULE_ORDER,y.MAX_SAMP_FREQ=48e3,y.RMS_WINDOW_TIME_NUMERATOR=1,y.RMS_WINDOW_TIME_DENOMINATOR=20,y.MAX_SAMPLES_PER_WINDOW=y.MAX_SAMP_FREQ*y.RMS_WINDOW_TIME_NUMERATOR/y.RMS_WINDOW_TIME_DENOMINATOR+1,x.NUMTOCENTRIES=100,x.MAXFRAMESIZE=2880,k.EQ=function(e,t){return Math.abs(e)>Math.abs(t)?Math.abs(e-t)<=1e-6*Math.abs(e):Math.abs(e-t)<=1e-6*Math.abs(t)},k.NEQ=function(e,t){return!k.EQ(e,t)};var A={};function R(e){this.bits=e}function T(){this.over_noise=0,this.tot_noise=0,this.max_noise=0,this.over_count=0,this.over_SSD=0,this.bits=0}function B(){this.setModules=function(e,t){e,t}}function E(){this.useAdjust=0,this.aaSensitivityP=0,this.adjust=0,this.adjustLimit=0,this.decay=0,this.floor=0,this.l=i(F.SBMAX_l),this.s=i(F.SBMAX_s),this.psfb21=i(F.PSFB21),this.psfb12=i(F.PSFB12),this.cb_l=i(F.CBANDS),this.cb_s=i(F.CBANDS),this.eql_w=i(F.BLKSIZE/2)}function C(){this.class_id=0,this.num_samples=0,this.num_channels=0,this.in_samplerate=0,this.out_samplerate=0,this.scale=0,this.scale_left=0,this.scale_right=0,this.analysis=!1,this.bWriteVbrTag=!1,this.decode_only=!1,this.quality=0,this.mode=m.STEREO,this.force_ms=!1,this.free_format=!1,this.findReplayGain=!1,this.decode_on_the_fly=!1,this.write_id3tag_automatic=!1,this.brate=0,this.compression_ratio=0,this.copyright=0,this.original=0,this.extension=0,this.emphasis=0,this.error_protection=0,this.strict_ISO=!1,this.disable_reservoir=!1,this.quant_comp=0,this.quant_comp_short=0,this.experimentalY=!1,this.experimentalZ=0,this.exp_nspsytune=0,this.preset=0,this.VBR=null,this.VBR_q_frac=0,this.VBR_q=0,this.VBR_mean_bitrate_kbps=0,this.VBR_min_bitrate_kbps=0,this.VBR_max_bitrate_kbps=0,this.VBR_hard_min=0,this.lowpassfreq=0,this.highpassfreq=0,this.lowpasswidth=0,this.highpasswidth=0,this.maskingadjust=0,this.maskingadjust_short=0,this.ATHonly=!1,this.ATHshort=!1,this.noATH=!1,this.ATHtype=0,this.ATHcurve=0,this.ATHlower=0,this.athaa_type=0,this.athaa_loudapprox=0,this.athaa_sensitivity=0,this.short_blocks=null,this.useTemporal=!1,this.interChRatio=0,this.msfix=0,this.tune=!1,this.tune_value_a=0,this.version=0,this.encoder_delay=0,this.encoder_padding=0,this.framesize=0,this.frameNum=0,this.lame_allocated_gfp=0,this.internal_flags=null}function P(e){var t=e;this.quantize=t,this.iteration_loop=function(e,t,n,r){var s,o=e.internal_flags,l=i($.SFBMAX),c=i(576),f=a(2),u=0,_=o.l3_side,p=new R(u);this.quantize.rv.ResvFrameBegin(e,p),u=p.bits;for(var h=0;h>2&63)>=32&&(r-=64),c=Math.pow(10,r/4/10),(r=n.exp_nspsytune>>8&63)>=32&&(r-=64),p=Math.pow(10,r/4/10),(r=n.exp_nspsytune>>14&63)>=32&&(r-=64),v=Math.pow(10,r/4/10),(r=n.exp_nspsytune>>20&63)>=32&&(r-=64),b=v*Math.pow(10,r/4/10),r=0;rU.MAX_BITS_PER_GRANULE&&(d=U.MAX_BITS_PER_GRANULE),l=0,c=0;c3*i/4&&(_[c]=3*i/4),_[c]<0&&(_[c]=0),_[c]+r[c]>U.MAX_BITS_PER_CHANNEL&&(_[c]=Math.max(0,U.MAX_BITS_PER_CHANNEL-r[c])),l+=_[c];if(l>h)for(c=0;cU.MAX_BITS_PER_GRANULE){for(c=0;c.5&&(a=.5);var i=0|.5*a*(e[0]+e[1]);i>U.MAX_BITS_PER_CHANNEL-e[0]&&(i=U.MAX_BITS_PER_CHANNEL-e[0]),i<0&&(i=0),e[1]>=125&&(e[1]-i>125?(e[0]r&&(e[0]=r*e[0]/i,e[1]=r*e[1]/i)},this.athAdjust=function(e,t,n){var r=90.30873362,a=p.FAST_LOG10_X(t,10),i=e*e,s=0;return a-=n,i>1e-20&&(s=1+p.FAST_LOG10_X(i,10/r)),s<0&&(s=0),a*=s,a+=n+r-94.82444863,Math.pow(10,.1*a)},this.calc_xmin=function(e,t,n,r){var a,i=0,s=e.internal_flags,o=0,l=0,c=s.ATH,f=n.xr,u=e.VBR==v.vbr_mtrh?1:0,_=s.masking_lower;for(e.VBR!=v.vbr_mtrh&&e.VBR!=v.vbr_mt||(_=1),a=0;a>1,A=0;do{A+=T=f[o]*f[o],S+=T0);if(A>y&&l++,a==F.SBPSY_l)S<(M=y*s.nsPsy.longfact[a])&&(S=M);if(0!=u&&(y=S),!e.ATHonly)if((x=t.en.l[a])>0)M=A*t.thm.l[a]*_/x,0!=u&&(M*=s.nsPsy.longfact[a]),y>1;w=g/m,S=2220446049250313e-31;do{var T,B;A+=T=f[o]*f[o],S+=T0);if(A>g&&l++,d==F.SBPSY_s)S<(M=g*s.nsPsy.shortfact[d])&&(S=M);if(y=0!=u?S:g,!e.ATHonly&&!e.ATHshort)if((x=t.en.s[d][b])>0)M=A*t.thm.s[d][b]*_/x,0!=u&&(M*=s.nsPsy.shortfact[d]),yr[i-3+1]&&(r[i-3+1]+=(r[i-3]-r[i-3+1])*s.decay),r[i-3+1]>r[i-3+2]&&(r[i-3+2]+=(r[i-3+1]-r[i-3+2])*s.decay))}return l},this.calc_noise_core=function(e,t,n,r){var a=0,s=t.s,o=e.l3_enc;if(s>e.count1)for(;0!=n--;){c=e.xr[s],s++,a+=c*c,c=e.xr[s],s++,a+=c*c}else if(s>e.big_values){var l=i(2);for(l[0]=0,l[1]=r;0!=n--;){c=Math.abs(e.xr[s])-l[o[s]],s++,a+=c*c,c=Math.abs(e.xr[s])-l[o[s]],s++,a+=c*c}}else for(;0!=n--;){var c;c=Math.abs(e.xr[s])-_[o[s]]*r,s++,a+=c*c,c=Math.abs(e.xr[s])-_[o[s]]*r,s++,a+=c*c}return t.s=s,a},this.calc_noise=function(e,t,n,r,a){var i,s,o=0,l=0,u=0,_=0,h=0,d=-20,v=0,m=e.scalefac,g=0;for(r.over_SSD=0,i=0;i>1,v+e.width[i]>e.max_nonzero_coeff)s=(x=e.max_nonzero_coeff-v+1)>0?x>>1:0;var M=new b(v);S=this.calc_noise_core(e,M,s,k),v=M.s,null!=a&&(a.step[i]=w,a.noise[i]=S),S=n[o++]=S/t[l++],S=p.FAST_LOG10(Math.max(S,1e-20)),null!=a&&(a.noise_log[i]=S)}if(null!=a&&(a.global_gain=e.global_gain),h+=S,S>0)y=Math.max(0|10*S+.5,1),r.over_SSD+=y*y,u++,_+=S;d=Math.max(d,S)}return r.over_count=u,r.tot_noise=h,r.over_noise=_,r.max_noise=d,u},this.set_pinfo=function(e,t,n,r,a){var s,o,l,f,u,_=e.internal_flags,p=0==t.scalefac_scale?.5:1,h=t.scalefac,d=i($.SFBMAX),v=i($.SFBMAX),m=new T;calc_xmin(e,n,t,d),calc_noise(t,d,v,m,null);var b=0;for(o=t.sfb_lmax,t.block_type!=F.SHORT_TYPE&&0==t.mixed_block_flag&&(o=22),s=0;s0&&!e.ATHonly?f/=n.en.l[s]:f=0,_.pinfo.thr[r][a][s]=u*Math.max(f*n.thm.l[s],_.ATH.l[s]),_.pinfo.LAMEsfb[r][a][s]=0,0!=t.preflag&&s>=11&&(_.pinfo.LAMEsfb[r][a][s]=-p*c[s]),s0?f/=n.en.s[s][S]:f=0,(e.ATHonly||e.ATHshort)&&(f=0),_.pinfo.thr_s[r][a][3*s+S]=u*Math.max(f*n.thm.s[s][S],_.ATH.s[s]),_.pinfo.LAMEsfb_s[r][a][3*s+S]=-2*t.subblock_gain[S],s0?(i=n.over_SSD<=t.over_SSD,n.over_SSD==t.over_SSD&&(i=n.bits.2||n.max_noise<=0&&t.max_noise<0&&t.max_noise>n.max_noise-.2&&n.tot_noise0&&t.max_noise>n.max_noise-.2&&n.tot_noise0&&t.max_noise>-.05&&t.max_noise>n.max_noise-.1&&n.tot_noise+n.over_noise0&&t.max_noise>-.1&&t.max_noise>n.max_noise-.15&&n.tot_noise+n.over_noise+n.over_noise1?o=Math.pow(o,.5):o*=.95;break;case 0:default:o>1?o=1:o*=.95}var f=0;for(l=0;lt.xrpow_max&&(t.xrpow_max=r[f+u]);if(2==s.noise_shaping_amp)return}}}(e,t,a,i,s);var c=o(t);return!c&&(!(c=2==l.mode_gr?r.scale_bitcount(t):r.scale_bitcount_lsf(l,t))||(l.noise_shaping>1&&(u.fill(l.pseudohalf,0),0==t.scalefac_scale?(!function(e,t){for(var r=0,a=0;ae.xrpow_max&&(e.xrpow_max=t[r+o])}e.scalefac[a]=s>>1}e.preflag=0,e.scalefac_scale=1}(t,i),c=!1):t.block_type==F.SHORT_TYPE&&l.subblock_gain>0&&(c=function(e,t,r){var a,i=t.scalefac;for(a=0;a=16)return!0;for(var s=0;s<3;s++){var o=0,l=0;for(a=t.sfb_lmax+s;a=7)return!0;t.subblock_gain[s]++;var c=e.scalefac_band.l[t.sfb_lmax];for(a=t.sfb_lmax+s;a>t.scalefac_scale)>=0)i[a]=u,c+=3*f;else{i[a]=0;var _=210+(u<t.xrpow_max&&(t.xrpow_max=r[c+p]);c+=f*(3-s-1)}}var h=n.IPOW20(202);c+=t.width[a]*(s+1);for(p=-t.width[a];p<0;p++)r[c+p]*=h,r[c+p]>t.xrpow_max&&(t.xrpow_max=r[c+p])}}return!1}(l,t,i)||o(t))),c||(c=2==l.mode_gr?r.scale_bitcount(t):r.scale_bitcount_lsf(l,t)),!c))}this.setModules=function(i,s,o,l){e=i,t=s,this.rv=s,n=o,this.qupvt=o,r=l,a.setModules(n,r)},this.ms_convert=function(e,t){for(var n=0;n<576;++n){var r=e.tt[t][0].xr[n],a=e.tt[t][1].xr[n];e.tt[t][0].xr[n]=(r+a)*(.5*p.SQRT2),e.tt[t][1].xr[n]=(r-a)*(.5*p.SQRT2)}},this.init_xrpow=function(e,t,n){var r=0,a=0|t.max_nonzero_coeff;if(t.xrpow_max=0,u.fill(n,a,576,0),(r=function(e,t,n,r){r=0;for(var a=0;a<=n;++a){var i=Math.abs(e.xr[a]);r+=i,t[a]=Math.sqrt(i*Math.sqrt(i)),t[a]>e.xrpow_max&&(e.xrpow_max=t[a])}return r}(t,n,a,r))>1e-20){var i=0;0!=(2&e.substep_shaping)&&(i=1);for(var s=0;s=0&&!i;s--){var o=e.scalefac_band.psfb21[s],l=e.scalefac_band.psfb21[s+1],c=n.athAdjust(r.adjust,r.psfb21[s],r.floor);e.nsPsy.longfact[21]>1e-12&&(c*=e.nsPsy.longfact[21]);for(var f=l-1;f>=o;f--){if(!(Math.abs(a[f])=0&&!i;s--){l=(o=3*e.scalefac_band.s[12]+(e.scalefac_band.s[13]-e.scalefac_band.s[12])*u+(e.scalefac_band.psfb12[s]-e.scalefac_band.psfb12[0]))+(e.scalefac_band.psfb12[s+1]-e.scalefac_band.psfb12[s]);var _=n.athAdjust(r.adjust,r.psfb12[s],r.floor);e.nsPsy.shortfact[12]>1e-12&&(_*=e.nsPsy.shortfact[12]);for(f=l-1;f>=o;f--){if(!(Math.abs(a[f])<_)){i=!0;break}a[f]=0}}}(e,t)},s.BINSEARCH_NONE=new s(0),s.BINSEARCH_UP=new s(1),s.BINSEARCH_DOWN=new s(2),this.trancate_smallspectrums=function(e,t,a,s){var o=i($.SFBMAX);if((0!=(4&e.substep_shaping)||t.block_type!=F.SHORT_TYPE)&&0==(128&e.substep_shaping)){n.calc_noise(t,a,o,new T,null);for(var l=0;l<576;l++){var c=0;0!=t.l3_enc[l]&&(c=Math.abs(t.xr[l])),s[l]=c}l=0;var f=8;t.block_type==F.SHORT_TYPE&&(f=6);do{var _,p,h,d,v=t.width[f];if(l+=v,!(o[f]>=1||(u.sort(s,l-v,v),k.EQ(s[l-1],0)))){_=(1-o[f])*a[f],p=0,d=0;do{var m;for(h=1;d+h0)}}while(++fn?(u==s.BINSEARCH_DOWN&&(c=!0),c&&(l/=2),u=s.BINSEARCH_UP,_=l):(u==s.BINSEARCH_UP&&(c=!0),c&&(l/=2),u=s.BINSEARCH_DOWN,_=-l),t.global_gain+=_,t.global_gain<0&&(t.global_gain=0,c=!0),t.global_gain>255&&(t.global_gain=255,c=!0)}for(;o>n&&t.global_gain<255;)t.global_gain++,o=r.count_bits(e,i,t,null);e.CurrentStep[a]=f-t.global_gain>=4?4:2,e.OldValue[a]=t.global_gain,t.part2_3_length=o}(p,t,u,f,o),0==p.noise_shaping)return 100;n.calc_noise(t,a,m,b,g),b.bits=t.part2_3_length,h.assign(t);var k=0;for(_.arraycopy(o,0,d,0,576);!w;){do{var M,A=new T,R=255;if(M=0!=(2&p.substep_shaping)?20:3,p.sfb21_extra){if(m[h.sfbmax]>1)break;if(h.block_type==F.SHORT_TYPE&&(m[h.sfbmax+1]>1||m[h.sfbmax+2]>1))break}if(!c(e,h,m,o,S))break;0!=h.scalefac_scale&&(R=254);var B=u-h.part2_length;if(B<=0)break;for(;(h.part2_3_length=r.count_bits(p,o,h,g))>B&&h.global_gain<=R;)h.global_gain++;if(h.global_gain>R)break;if(0==b.over_count){for(;(h.part2_3_length=r.count_bits(p,o,h,g))>y&&h.global_gain<=R;)h.global_gain++;if(h.global_gain>R)break}if(n.calc_noise(h,a,m,A,g),A.bits=h.part2_3_length,0!=(l(t.block_type!=F.SHORT_TYPE?e.quant_comp:e.quant_comp_short,b,A,h,m)?1:0))y=t.part2_3_length,b=A,t.assign(h),k=0,_.arraycopy(o,0,d,0,576);else if(0==p.full_outer_loop){if(++k>M&&0==b.over_count)break;if(3==p.noise_shaping_amp&&S&&k>30)break;if(3==p.noise_shaping_amp&&S&&h.global_gain-x>15)break}}while(h.global_gain+h.scalefac_scale<255);3==p.noise_shaping_amp?S?w=!0:(h.assign(t),_.arraycopy(d,0,o,0,576),k=0,x=h.global_gain,S=!0):w=!0}return e.VBR==v.vbr_rh||e.VBR==v.vbr_mtrh?_.arraycopy(d,0,o,0,576):0!=(1&p.substep_shaping)&&trancate_smallspectrums(p,t,a,o),b.over_count},this.iteration_finish_one=function(e,n,a){var i=e.l3_side,s=i.tt[n][a];r.best_scalefac_store(e,n,a,i),1==e.use_best_huffman&&r.best_huffman_divide(e,s),t.ResvAdjust(e,s)},this.VBR_encode_granule=function(e,t,n,r,a,s,o){var l,c=e.internal_flags,f=new H,p=i(576),h=o,d=o+1,v=(o+s)/2,m=0,b=c.sfb21_extra;u.fill(f.l3_enc,0);do{c.sfb21_extra=!(v>h-42)&&b,outer_loop(e,t,n,r,a,v)<=0?(m=1,d=t.part2_3_length,f.assign(t),_.arraycopy(r,0,p,0,576),l=(o=d-32)-s,v=(o+s)/2):(l=o-(s=v+32),v=(o+s)/2,0!=m&&(m=2,t.assign(f),_.arraycopy(p,0,r,0,576)))}while(l>12);c.sfb21_extra=b,2==m&&_.arraycopy(f.l3_enc,0,t.l3_enc,0,576)},this.get_framebits=function(n,r){var a=n.internal_flags;a.bitrate_index=a.VBR_min_bitrate;var i=e.getframebits(n);a.bitrate_index=1,i=e.getframebits(n);for(var s=1;s<=a.VBR_max_bitrate;s++){a.bitrate_index=s;var o=new R(i);r[s]=t.ResvFrameBegin(n,o),i=o.bits}},this.VBR_old_prepare=function(e,r,a,i,s,o,l,c,f){var u,_=e.internal_flags,p=0,h=1,d=0;_.bitrate_index=_.VBR_max_bitrate;var v=t.ResvFrameBegin(e,new R(0))/_.mode_gr;get_framebits(e,o);for(var m=0;m<_.mode_gr;m++){var b=n.on_pe(e,r,c[m],v,m,0);_.mode_ext==F.MPG_MD_MS_LR&&(ms_convert(_.l3_side,m),n.reduce_side(c[m],a[m],v,b));for(var g=0;g<_.channels_out;++g){var y=_.l3_side.tt[m][g];y.block_type!=F.SHORT_TYPE?(p=1.28/(1+Math.exp(3.5-r[m][g]/300))-.05,u=_.PSY.mask_adjust-p):(p=2.56/(1+Math.exp(3.5-r[m][g]/300))-.14,u=_.PSY.mask_adjust_short-p),_.masking_lower=Math.pow(10,.1*u),init_outer_loop(_,y),f[m][g]=n.calc_xmin(e,i[m][g],y,s[m][g]),0!=f[m][g]&&(h=0),l[m][g]=126,d+=c[m][g]}}for(m=0;m<_.mode_gr;m++)for(g=0;g<_.channels_out;g++)d>o[_.VBR_max_bitrate]&&(c[m][g]*=o[_.VBR_max_bitrate],c[m][g]/=d),l[m][g]>c[m][g]&&(l[m][g]=c[m][g]);return h},this.bitpressure_strategy=function(e,t,n,r){for(var a=0;al&&(o[h][d]*=l,o[h][d]/=_);return f},this.calc_target_bits=function(r,a,i,s,o,l){var c,f,u,_,p=r.internal_flags,h=p.l3_side,d=0;p.bitrate_index=p.VBR_max_bitrate;var v=new R(d);for(l[0]=t.ResvFrameBegin(r,v),d=v.bits,p.bitrate_index=1,d=e.getframebits(r)-8*p.sideinfo_len,o[0]=d/(p.mode_gr*p.channels_out),d=r.VBR_mean_bitrate_kbps*r.framesize*1e3,0!=(1&p.substep_shaping)&&(d*=1.09),d/=r.out_samplerate,d-=8*p.sideinfo_len,d/=p.mode_gr*p.channels_out,(c=.93+.07*(11-r.compression_ratio)/5.5)<.9&&(c=.9),c>1&&(c=1),f=0;f700){var b=int((a[f][u]-700)/1.4),g=h.tt[f][u];s[f][u]=int(c*d),g.block_type==F.SHORT_TYPE&&b3*d/2?b=3*d/2:b<0&&(b=0),s[f][u]+=b}s[f][u]>U.MAX_BITS_PER_CHANNEL&&(s[f][u]=U.MAX_BITS_PER_CHANNEL),m+=s[f][u]}if(m>U.MAX_BITS_PER_GRANULE)for(u=0;uU.MAX_BITS_PER_CHANNEL&&(s[f][u]=U.MAX_BITS_PER_CHANNEL),_+=s[f][u];if(_>l[0])for(f=0;f=0;--z){var ee,te;ee=V[q+z]*a[20+z]+V[q+-1-z]*s[28+z],te=V[q+z]*s[28+z]-V[q+-1-z]*a[20+z],V[q+-1-z]=ee,V[q+z]=te}}}if(I=p,N=286,1==e.mode_gr)for(var ne=0;ne<18;ne++)_.arraycopy(e.sb_sample[H][1][ne],0,e.sb_sample[H][0][ne],0,32)}}}function V(){this.thm=new X,this.en=new X}function F(){var e=F.FFTOFFSET,t=F.MPG_MD_MS_LR,n=null;this.psy=null;var r=null,s=null,l=null;this.setModules=function(e,t,a,i){n=e,this.psy=t,r=t,s=i,l=a};var c=new j;this.lame_encode_mp3_frame=function(u,p,h,d,b,g){var y,w=f([2,2]);w[0][0]=new V,w[0][1]=new V,w[1][0]=new V,w[1][1]=new V;var S,x=f([2,2]);x[0][0]=new V,x[0][1]=new V,x[1][0]=new V,x[1][1]=new V;var k,M,A,R=[null,null],T=u.internal_flags,B=o([2,4]),E=[.5,.5],C=[[0,0],[0,0]],P=[[0,0],[0,0]];if(R[0]=p,R[1]=h,0==T.lame_encode_frame_init&&function(e,t){var n,r,a=e.internal_flags;if(0==a.lame_encode_frame_init){var s,o,l=i(2014),f=i(2014);for(a.lame_encode_frame_init=1,s=0,o=0;s<286+576*(1+a.mode_gr);++s)s<576*a.mode_gr?(l[s]=0,2==a.channels_out&&(f[s]=0)):(l[s]=t[0][o],2==a.channels_out&&(f[s]=t[1][o]),++o);for(r=0;r0&&(E[A]=B[A][3]/E[A])),M=0;M.03125)e.ATH.adjust>=1?e.ATH.adjust=1:e.ATH.adjust=r?(e.ATH.adjust*=.075*r+.925,e.ATH.adjust=r?e.ATH.adjust=r:e.ATH.adjust>1,d=(h=a<<1)+(_=a),a=h<<1,s=(i=t)+v;do{x=e[i+0]-e[i+_],S=e[i+0]+e[i+_],R=e[i+h]-e[i+d],M=e[i+h]+e[i+d],e[i+h]=S-M,e[i+0]=S+M,e[i+d]=x-R,e[i+_]=x+R,x=e[s+0]-e[s+_],S=e[s+0]+e[s+_],R=p.SQRT2*e[s+d],M=p.SQRT2*e[s+h],e[s+h]=S-M,e[s+0]=S+M,e[s+d]=x-R,e[s+_]=x+R,s+=a,i+=a}while(i=0);r(n[l],c,F.BLKSIZE_s/2)}},this.fft_long=function(t,n,i,s,o){var l=F.BLKSIZE/8-1,c=F.BLKSIZE/2;do{var f,u,_,p,h,d=255&a[l];u=(f=e[d]*s[i][o+d])-(h=e[d+512]*s[i][o+d+512]),f+=h,p=(_=e[d+256]*s[i][o+d+256])-(h=e[d+768]*s[i][o+d+768]),_+=h,n[(c-=4)+0]=f+_,n[c+2]=f-_,n[c+1]=u+p,n[c+3]=u-p,u=(f=e[d+1]*s[i][o+d+1])-(h=e[d+513]*s[i][o+d+513]),f+=h,p=(_=e[d+257]*s[i][o+d+257])-(h=e[d+769]*s[i][o+d+769]),_+=h,n[c+F.BLKSIZE/2+0]=f+_,n[c+F.BLKSIZE/2+2]=f-_,n[c+F.BLKSIZE/2+1]=u+p,n[c+F.BLKSIZE/2+3]=u-p}while(--l>=0);r(n,c,F.BLKSIZE/2)},this.init_fft=function(n){for(var r=0;r=0;--d){var v=i[s+0][d],m=i[s+1][d];i[s+0][d]=(v+m)*p.SQRT2*.5,i[s+1][d]=(v-m)*p.SQRT2*.5}for(var b=2;b>=0;--b)for(d=F.BLKSIZE_s-1;d>=0;--d){v=o[l+0][b][d],m=o[l+1][b][d];o[l+0][b][d]=(v+m)*p.SQRT2*.5,o[l+1][b][d]=(v-m)*p.SQRT2*.5}}n[0]=i[s+0][0],n[0]*=n[0];for(d=F.BLKSIZE/2-1;d>=0;--d){var g=i[s+0][F.BLKSIZE/2-d],y=i[s+0][F.BLKSIZE/2+d];n[F.BLKSIZE/2-d]=.5*(g*g+y*y)}for(b=2;b>=0;--b){a[b][0]=o[l+0][b][0],a[b][0]*=a[b][0];for(d=F.BLKSIZE_s/2-1;d>=0;--d){g=o[l+0][b][F.BLKSIZE_s/2-d],y=o[l+0][b][F.BLKSIZE_s/2+d];a[b][F.BLKSIZE_s/2-d]=.5*(g*g+y*y)}}var w=0;for(d=11;de){if(!(t=t*c)return e+t;s=e/t}if(e+=t,r+3<=6){if(s>=l)return e;var o=0|p.FAST_LOG10_X(s,16);return e*g[o]}var u,_;o=0|p.FAST_LOG10_X(s,16);return t=0!=i?a.ATH.cb_s[n]*a.ATH.adjust:a.ATH.cb_l[n]*a.ATH.adjust,et?(u=1,o<=13&&(u=y[o]),_=p.FAST_LOG10_X(e/t,10/15),e*((b[o]-u)*_+u)):o>13?e:e*y[o]:e*b[o]}var S=[1.7782755904,1.35879*1.35879,1.38454*1.38454,1.39497*1.39497,1.40548*1.40548,1.3537*1.3537,1.6999465924,1.22321*1.22321,1.3169398564,1];function x(e,t,n){var r;if(e<0&&(e=0),t<0&&(t=0),e<=0)return t;if(t<=0)return e;if(r=t>e?t/e:e/t,-2<=n&&n<=2){if(r>=l)return e+t;var a=0|p.FAST_LOG10_X(r,16);return(e+t)*S[a]}return r=f){++i;break}var _=e.PSY.bo_s_weight[i],p=1-_;o=_*t[s],l=_*n[s],e.en[r].s[i][a]+=o,e.thm[r].s[i][a]+=l,o=p*t[s],l=p*n[s]}for(;i=c){++a;break}var u=e.PSY.bo_l_weight[a],_=1-u;s=u*t[i],o=u*n[i],e.en[r].l[a]+=s,e.thm[r].l[a]+=o,s=_*t[i],o=_*n[i]}for(;a=1?e:n<=0?t:t>0?Math.pow(e/t,n)*t:0}var T=[11.8,13.6,17.2,32,46.5,51.3,57.5,67.1,71.5,84.6,97.6,130];function B(e,n){for(var r=309.07,a=0;a0){var o=s*n,l=e.en.s[a][i];l>o&&(r+=l>1e10*o?T[a]*(10*t):T[a]*p.FAST_LOG10(l/o))}}return r}var E=[6.8,5.8,5.8,6.4,6.5,9.9,12.1,14.4,15,18.9,21.6,26.9,34.2,40.2,46.8,56.5,60.7,73.9,85.7,93.4,126.1];function C(e,n){for(var r=281.0575,a=0;a0){var s=i*n,o=e.en.l[a];o>s&&(r+=o>1e10*s?E[a]*(10*t):E[a]*p.FAST_LOG10(o/s))}}return r}function P(e,t,n,r,a){var i,s;for(i=s=0;i0?((o=t[i])a&&(l=a),r[i]=l):r[i]=0;for(i=1;i0)(o=t[i-1])a&&(l=a),r[i]=l;else r[i]=0}(s=n[i-1]+n[i])>0?((o=t[i-1])a&&(l=a),r[i]=l):r[i]=0}var L=[-1730326e-23,-.01703172,-1349528e-23,.0418072,-673278e-22,-.0876324,-30835e-21,.1863476,-1104424e-22,-.627638];function I(t,n,r,a,i,s,o,l){var c=t.internal_flags;if(a<2)e.fft_long(c,o[l],a,n,r);else if(2==a)for(var f=F.BLKSIZE-1;f>=0;--f){var u=o[l+0][f],_=o[l+1][f];o[l+0][f]=(u+_)*p.SQRT2*.5,o[l+1][f]=(u-_)*p.SQRT2*.5}s[0]=o[l+0][0],s[0]*=s[0];for(f=F.BLKSIZE/2-1;f>=0;--f){var h=o[l+0][F.BLKSIZE/2-f],d=o[l+0][F.BLKSIZE/2+f];s[F.BLKSIZE/2-f]=.5*(h*h+d*d)}var v=0;for(f=11;f=0;--f){var u=o[l+0][i][f],_=o[l+1][i][f];o[l+0][i][f]=(u+_)*p.SQRT2*.5,o[l+1][i][f]=(u-_)*p.SQRT2*.5}s[i][0]=o[l+0][i][0],s[i][0]*=s[i][0];for(f=F.BLKSIZE_s/2-1;f>=0;--f){var h=o[l+0][i][F.BLKSIZE_s/2-f],d=o[l+0][i][F.BLKSIZE_s/2+f];s[i][F.BLKSIZE_s/2-f]=.5*(h*h+d*d)}}function H(e,t,n,a){var i=e.internal_flags;2==e.athaa_loudapprox&&n<2&&(i.loudness_sq[t][n]=i.loudness_sq_save[n],i.loudness_sq_save[n]=r(a,i))}this.L3psycho_anal_ns=function(e,t,n,r,l,c,f,p,d,b){var g,y,S,x,T,E,I,N,H,$,D=e.internal_flags,j=o([2,F.BLKSIZE]),V=o([2,3,F.BLKSIZE_s]),q=i(F.CBANDS+1),Y=i(F.CBANDS+1),X=i(F.CBANDS+2),z=a(2),U=a(2),K=o([2,576]),W=a(F.CBANDS+2),G=a(F.CBANDS+2);for(u.fill(G,0),g=D.channels_out,e.mode==m.JOINT_STEREO&&(g=4),H=e.VBR==v.vbr_off?0==D.ResvMax?0:D.ResvSize/D.ResvMax*.5:e.VBR==v.vbr_rh||e.VBR==v.vbr_mtrh||e.VBR==v.vbr_mt?.6:1,y=0;y2&&(c[r][y].en.assign(D.en[y+2]),c[r][y].thm.assign(D.thm[y+2]))}for(y=0;yne[x+3-2]?ve/=ne[x+3-2]:ve=ne[x+3-2]>10*ve?ne[x+3-2]/(10*ve):0,ae[x+3]=ve}if(e.analysis){var me=ae[0];for(x=1;x<12;x++)mete&&(le[x/3]=x%3+1);for(x=1;x<4;x++){(re[x-1]>re[x]?re[x-1]/re[x]:re[x]/re[x-1])<1.7&&(le[x]=0,1==x&&(le[0]=0))}for(0!=le[0]&&0!=D.nsPsy.lastAttacks[y]&&(le[0]=0),3!=D.nsPsy.lastAttacks[y]&&le[0]+le[1]+le[2]+le[3]==0||(ie=0,0!=le[1]&&0!=le[0]&&(le[1]=0),0!=le[2]&&0!=le[1]&&(le[2]=0),0!=le[3]&&0!=le[2]&&(le[3]=0)),y<2?U[y]=ie:0==ie&&(U[0]=U[1]=0),d[y]=D.tot_ener[y],s(e,ce,fe,j,1&y,V,1&y,r,y,t,n),P(D,ce,q,se,oe),O(D,se,oe,W),N=0;N<3;N++){var be,ge;for(A(e,fe,Y,X,y,N),k(D,Y,X,y,N),I=0;I=2||1==le[N+1]){var ye=0!=N?N-1:2;ve=R(D.thm[y].s[I][ye],ge,.6*H);ge=Math.min(ge,ve)}if(1==le[N]){ye=0!=N?N-1:2,ve=R(D.thm[y].s[I][ye],ge,.3*H);ge=Math.min(ge,ve)}else if(0!=N&&3==le[N-1]||0==N&&3==D.nsPsy.lastAttacks[y]){ye=2!=N?N+1:0,ve=R(D.thm[y].s[I][ye],ge,.3*H);ge=Math.min(ge,ve)}be=ne[3*N+3]+ne[3*N+4]+ne[3*N+5],6*ne[3*N+5]0&&function(e,t){var n=e.internal_flags;if(n.channels_out>1){for(var r=0;r1.58*e.thm[1].l[t]||e.thm[1].l[t]>1.58*e.thm[0].l[t])){var n=e.mld_l[t]*e.en[3].l[t],r=Math.max(e.thm[2].l[t],Math.min(e.thm[3].l[t],n));n=e.mld_l[t]*e.en[2].l[t];var a=Math.max(e.thm[3].l[t],Math.min(e.thm[2].l[t],n));e.thm[2].l[t]=r,e.thm[3].l[t]=a}for(t=0;t1.58*e.thm[1].s[t][i]||e.thm[1].s[t][i]>1.58*e.thm[0].s[t][i])){n=e.mld_s[t]*e.en[3].s[t][i],r=Math.max(e.thm[2].s[t][i],Math.min(e.thm[3].s[t][i],n));n=e.mld_s[t]*e.en[2].s[t][i];a=Math.max(e.thm[3].s[t][i],Math.min(e.thm[2].s[t][i],n));e.thm[2].s[t][i]=r,e.thm[3].s[t][i]=a}}(D),$=e.msfix,Math.abs($)>0&&function(e,t,n){var r=t,a=Math.pow(10,n);t*=2,r*=2;for(var i=0;i1?(ke=p,Re=-2,Me=F.NORM_TYPE,b[0]!=F.SHORT_TYPE&&b[1]!=F.SHORT_TYPE||(Me=F.SHORT_TYPE),Ae=c[r][y-2]):(ke=f,Re=0,Me=b[y],Ae=l[r][y]),Me==F.SHORT_TYPE?ke[Re+y]=B(Ae,D.masking_lower):ke[Re+y]=C(Ae,D.masking_lower),e.analysis&&(D.pinfo.pe[r][y]=ke[Re+y])}return 0};var $=[-1730326e-23,-.01703172,-1349528e-23,.0418072,-673278e-22,-.0876324,-30835e-21,.1863476,-1104424e-22,-.627638];function D(e,t,n){if(0==n)for(var r=0;r0?((o=t[i])a&&(l=a),r[i]=l):r[i]=0,i=1;i0)(o=t[i-1])a&&(l=a),r[i]=l;else r[i]=0}(s=n[i-1]+n[i])>0?((o=t[i-1])a&&(l=a),r[i]=l):r[i]=0}(f,u,p,h),l=c=0;cw&&(r[c]=w),f.masking_lower>1&&(r[c]*=f.masking_lower),r[c]>n[c]&&(r[c]=n[c]),f.masking_lower<1&&(r[c]*=f.masking_lower)}for(;c0?Math.min(h,y):Math.min(h,.3*n[o])}else{var w=16*e.nb_2[s][o],S=2*e.nb_1[s][o];w<=0&&(w=h),S<=0&&(S=h),y=e.blocktype_old[1&s]==F.NORM_TYPE?Math.min(S,w):S,r[o]=Math.min(h,y)}e.nb_2[s][o]=e.nb_1[s][o],e.nb_1[s][o]=h,p=l[o],p*=e.minval_l[o],p*=d,r[o]>p&&(r[o]=p),e.masking_lower>1&&(r[o]*=e.masking_lower),r[o]>n[o]&&(r[o]=n[o]),e.masking_lower<1&&(r[o]*=e.masking_lower)}for(;o0?Math.pow(10,a):1,u=0;u0){var y,w,S=r[u]*f;if(y=Math.min(Math.max(h,S),Math.max(d,S)),(w=(v=Math.max(l,S))+(m=Math.max(o,S)))>0&&y*c_&&(l=_),o>p&&(o=p),t[2][u]=l,t[3][u]=o}}function X(e,t){var n;return(n=e>=0?27*-e:e*t)<=-72?0:Math.exp(.2302585093*n)}function z(e){var t,n,r=0;for(r=0;X(r,e)>1e-20;r-=1);for(a=r,i=0;Math.abs(i-a)>1e-12;)X(r=(i+a)/2,e)>0?i=r:a=r;t=a;var a,i;r=0;for(r=0;X(r,e)>1e-20;r+=1);for(a=0,i=r;Math.abs(i-a)>1e-12;)X(r=(i+a)/2,e)>0?a=r:i=r;n=i;var s,o=0,l=1e3;for(s=0;s<=l;++s){o+=X(r=t+s*(n-t)/l,e)}return 1001/(o*(n-t))}function U(e){return e<0&&(e=0),e*=.001,13*Math.atan(.76*e)+3.5*Math.atan(e*e/56.25)}function W(e,t,n,r,s,o,l,c,f,u,_,p){var h,d=i(F.CBANDS+1),v=c/(p>15?1152:384),m=a(F.HBLKSIZE);c/=f;var b=0,g=0;for(h=0;hf/2){b=f/2,++h;break}}d[h]=c*b;for(var w=0;wf/2&&(x=f/2),n[w]=(m[S]+m[x])/2,t[w]=m[x];var R=v*M;l[w]=(R-d[t[w]])/(d[t[w]+1]-d[t[w]]),l[w]<0?l[w]=0:l[w]>1&&(l[w]=1),A=U(c*u[w]*_),A=Math.min(A,15.5)/15.5,o[w]=Math.pow(10,1.25*(1-Math.cos(Math.PI*A))-2.5)}b=0;for(var T=0;T=0?3:1.5)>=.5&&f<=2.5?8*((p=f-.5)*p-2*p):0,((_=15.811389+7.5*(f+=.474)-17.5*Math.sqrt(1+f*f))<=-60?0:(f=Math.exp(.2302585093*(u+_)),f/=.6609193))*r[l]);h[v][l]=m*a[v]}else for(l=0;l0);l++);for(e[v][0]=l,l=t-1;l>0&&!(h[v][l]>0);l--);e[v][1]=l,d+=e[v][1]-e[v][0]+1}var y=i(d),w=0;for(v=0;v2&&(s[r][v].en.assign(p.en[v+2]),s[r][v].thm.assign(p.thm[v+2]))}for(v=0;v0;++g,--S){var E=_[0][g],C=_[1][g];_[0][g]=E+C,_[1][g]=E-C}for(g=0;g<3;g++)k[g]=p.nsPsy.last_en_subshort[v][g+6],x[g]=k[g]/p.nsPsy.last_en_subshort[v][g+4],M[0]+=k[g];for(g=0;g<9;g++){for(var P=R+64,O=1;Rk[g+3-2]?O/=k[g+3-2]:O=k[g+3-2]>10*O?k[g+3-2]/(10*O):0,x[g+3]=O}for(g=0;g<3;++g){var L=k[3*g+3]+k[3*g+4]+k[3*g+5],I=1;6*k[3*g+5]T&&(f[v][g/3]=g%3+1);for(g=1;g<4;g++){var H=M[g-1],D=M[g];Math.max(H,D)<4e4&&H<1.7*D&&D<1.7*H&&(1==g&&f[v][0]<=f[v][g]&&(f[v][0]=0),f[v][g]=0)}f[v][0]<=p.nsPsy.lastAttacks[v]&&(f[v][0]=0),3!=p.nsPsy.lastAttacks[v]&&f[v][0]+f[v][1]+f[v][2]+f[v][3]==0||(B=0,0!=f[v][1]&&0!=f[v][0]&&(f[v][1]=0),0!=f[v][2]&&0!=f[v][1]&&(f[v][2]=0),0!=f[v][3]&&0!=f[v][2]&&(f[v][3]=0)),v<2?u[v]=B:0==B&&(u[0]=u[1]=0),l[v]=p.tot_ener[v]}}(e,t,n,r,s,l,u,S,x,A),function(e,t){var n=e.internal_flags;e.short_blocks!=h.short_block_coupled||0!=t[0]&&0!=t[1]||(t[0]=t[1]=0);for(var r=0;r=2||1==x[E][P+1]){var U=0!=P?P-1:2,K=R(p.thm[E].s[L][U],z,.36);z=Math.min(z,K)}else if(1==x[E][P]){U=0!=P?P-1:2,K=R(p.thm[E].s[L][U],z,.18);z=Math.min(z,K)}else if(0!=P&&3==x[E][P-1]||0==P&&3==p.nsPsy.lastAttacks[E]){U=2!=P?P+1:0,K=R(p.thm[E].s[L][U],z,.18);z=Math.min(z,K)}z*=S[E][P],X[P]=z}for(P=0;P<3;P++)p.thm[E].s[L][P]=X[P]}}for(E=0;E1?(W=f,G=-2,Z=F.NORM_TYPE,_[0]!=F.SHORT_TYPE&&_[1]!=F.SHORT_TYPE||(Z=F.SHORT_TYPE),Q=l[r][E-2]):(W=c,G=0,Z=_[E],Q=s[r][E]),Z==F.SHORT_TYPE?W[G+E]=B(Q,p.masking_lower):W[G+E]=C(Q,p.masking_lower),e.analysis&&(p.pinfo.pe[r][E]=W[G+E])}return 0},this.psymodel_init=function(n){var r,a=n.internal_flags,s=!0,o=13,u=0,_=0,p=-8.25,h=-4.5,m=i(F.CBANDS),b=i(F.CBANDS),g=i(F.CBANDS),y=n.out_samplerate;switch(n.experimentalZ){default:case 0:s=!0;break;case 1:s=n.VBR!=v.vbr_mtrh&&n.VBR!=v.vbr_mt;break;case 2:s=!1;break;case 3:o=8,u=-1.75,_=-.0125,p=-8.25,h=-2.25}for(a.ms_ener_ratio_old=.25,a.blocktype_old[0]=a.blocktype_old[1]=F.NORM_TYPE,r=0;r<4;++r){for(var w=0;w=o&&(x=_*(m[r]-o)/(24-o)+u*(24-m[r])/(24-o)),g[r]=Math.pow(10,x/10),a.numlines_l[r]>0?a.rnumlines_l[r]=1/a.numlines_l[r]:a.rnumlines_l[r]=0}a.s3_ll=G(a.s3ind,a.npart_l,m,b,g,s);var k;w=0;for(r=0;r(T*=a.numlines_l[r])&&(R=T)}a.ATH.cb_l[r]=R,(R=20*m[r]/10-20)>6&&(R=100),R<-15&&(R=-15),R-=8,a.minval_l[r]=Math.pow(10,R/10)*a.numlines_l[r]}for(a.npart_s=W(a.numlines_s,a.bo_s,a.bm_s,m,b,a.mld_s,a.PSY.bo_s_weight,y,F.BLKSIZE_s,a.scalefac_band.s,F.BLKSIZE_s/384,F.SBMAX_s),w=0,r=0;r=o&&(x=h*(m[r]-o)/(24-o)+p*(24-m[r])/(24-o)),g[r]=Math.pow(10,x/10),R=d.MAX_VALUE;for(M=0;M(T*=a.numlines_s[r])&&(R=T)}a.ATH.cb_s[r]=R,R=7*m[r]/12-7,m[r]>12&&(R*=1+3.1*Math.log(1+R)),m[r]<12&&(R*=1+2.3*Math.log(1-R)),R<-15&&(R=-15),R-=8,a.minval_s[r]=Math.pow(10,R/10)*a.numlines_s[r]}a.s3_ss=G(a.s3ind_s,a.npart_s,m,b,g,s),l=Math.pow(10,9/16),c=Math.pow(10,1.5),f=Math.pow(10,1.5),e.init_fft(a),a.decay=Math.exp(-1*t/(.01*y/192)),k=3.5,0!=(2&n.exp_nspsytune)&&(k=1),Math.abs(n.msfix)>0&&(k=n.msfix),n.msfix=k;for(var B=0;Ba.npart_l-1&&(a.s3ind[B][1]=a.npart_l-1);var E=576*a.mode_gr/y;if(a.ATH.decay=Math.pow(10,-1.2*E),a.ATH.adjust=.01,a.ATH.adjustLimit=1,-1!=n.ATHtype){var C=n.out_samplerate/F.BLKSIZE,P=0;for(A=0,r=0;r=0;)a.ATH.eql_w[r]*=P}for(B=w=0;B1?0:e<=0?1:Math.cos(Math.PI/2*e)}function S(e,t){switch(e){case 44100:return t.version=1,0;case 48e3:return t.version=1,1;case 32e3:return t.version=1,2;case 22050:return t.version=0,0;case 24e3:return t.version=0,1;case 16e3:return t.version=0,2;case 11025:return t.version=0,0;case 12e3:return t.version=0,1;case 8e3:return t.version=0,2;default:return t.version=0,-1}}function x(e,t,n){n<16e3&&(t=2);for(var r=A.bitrate_table[t][1],a=2;a<=14;a++)A.bitrate_table[t][a]>0&&Math.abs(A.bitrate_table[t][a]-e)0&&A.bitrate_table[t][r]==e)return r;return-1}function R(t,n){var r=[new g(8,2e3),new g(16,3700),new g(24,3900),new g(32,5500),new g(40,7e3),new g(48,7500),new g(56,1e4),new g(64,11e3),new g(80,13500),new g(96,15100),new g(112,15600),new g(128,17e3),new g(160,17500),new g(192,18600),new g(224,19400),new g(256,19700),new g(320,20500)],a=e.nearestBitrateFullIndex(n);t.lowerlimit=r[a].lowpass}function T(e){var t=F.BLKSIZE+e.framesize-F.FFTOFFSET;return t=Math.max(t,512+e.framesize-32)}function B(t,n,r,a,i,s){var o=e.enc.lame_encode_mp3_frame(t,n,r,a,i,s);return t.frameNum++,o}function L(){this.n_in=0,this.n_out=0}function I(){this.num_used=0}function N(e,t,n){var r=Math.PI*t;(e/=n)<0&&(e=0),e>1&&(e=1);var a=e-.5,i=.42-.5*Math.cos(2*e*Math.PI)+.08*Math.cos(4*e*Math.PI);return Math.abs(a)<1e-9?r/Math.PI:i*Math.sin(n*r*a)/(Math.PI*n*a)}function H(e,t,n,r,a,s,o,l,c){var f,u,_=e.internal_flags,p=0,h=e.out_samplerate/function e(t,n){return 0!=n?e(n,t%n):t}(e.out_samplerate,e.in_samplerate);h>U.BPC&&(h=U.BPC);var d=Math.abs(_.resample_ratio-Math.floor(.5+_.resample_ratio))<1e-4?1:0,v=1/_.resample_ratio;v>1&&(v=1);var m=31;0==m%2&&--m;var b=(m+=d)+1;if(0==_.fill_buffer_resample_init){for(_.inbuf_old[0]=i(b),_.inbuf_old[1]=i(b),f=0;f<=2*h;++f)_.blackfilt[f]=i(b);for(_.itime[0]=0,_.itime[1]=0,p=0;p<=2*h;p++){var g=0,y=(p-h)/(2*h);for(f=0;f<=m;f++)g+=_.blackfilt[p][f]=N(f-y,v,m);for(f=0;f<=m;f++)_.blackfilt[p][f]/=g}_.fill_buffer_resample_init=1}var w=_.inbuf_old[c];for(u=0;u=o)break;y=S-_.itime[c]-(p+m%2*.5);x=0|Math.floor(2*y*h+h+.5);var k=0;for(f=0;f<=m;++f){var M=f+p-m/2;k+=(M<0?w[b+M]:a[s+M])*_.blackfilt[x][f]}t[n+u]=k}if(l.num_used=Math.min(o,m+p-m/2),_.itime[c]+=l.num_used-u*_.resample_ratio,l.num_used>=b)for(f=0;f1.0001)for(var o=0;oe-r?n:a},this.lame_init_params=function(e){var i,c,g,T=e.internal_flags;if(T.Class_ID=0,null==T.ATH&&(T.ATH=new E),null==T.PSY&&(T.PSY=new d),null==T.rgdata&&(T.rgdata=new O),T.channels_in=e.num_channels,1==T.channels_in&&(e.mode=m.MONO),T.channels_out=e.mode==m.MONO?1:2,T.mode_ext=F.MPG_MD_MS_LR,e.mode==m.MONO&&(e.force_ms=!1),e.VBR==v.vbr_off&&128!=e.VBR_mean_bitrate_kbps&&0==e.brate&&(e.brate=e.VBR_mean_bitrate_kbps),e.VBR==v.vbr_off||e.VBR==v.vbr_mtrh||e.VBR==v.vbr_mt||(e.free_format=!1),e.VBR==v.vbr_off&&0==e.brate&&k.EQ(e.compression_ratio,0)&&(e.compression_ratio=11.025),e.VBR==v.vbr_off&&e.compression_ratio>0&&(0==e.out_samplerate&&(e.out_samplerate=map2MP3Frequency(int(.97*e.in_samplerate))),e.brate=0|16*e.out_samplerate*T.channels_out/(1e3*e.compression_ratio),T.samplerate_index=S(e.out_samplerate,e),e.free_format||(e.brate=x(e.brate,e.version,e.out_samplerate))),0!=e.out_samplerate&&(e.out_samplerate<16e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,64)):e.out_samplerate<32e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,160)):(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,32),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320))),0==e.lowpassfreq){var B=16e3;switch(e.VBR){case v.vbr_off:R(C=new b,e.brate),B=C.lowerlimit;break;case v.vbr_abr:var C;R(C=new b,e.VBR_mean_bitrate_kbps),B=C.lowerlimit;break;case v.vbr_rh:var L=[19500,19e3,18600,18e3,17500,16e3,15600,14900,12500,1e4,3950];if(0<=e.VBR_q&&e.VBR_q<=9){var I=L[e.VBR_q],N=L[e.VBR_q+1],H=e.VBR_q_frac;B=linear_int(I,N,H)}else B=19500;break;default:L=[19500,19e3,18500,18e3,17500,16500,15500,14500,12500,9500,3950];if(0<=e.VBR_q&&e.VBR_q<=9){I=L[e.VBR_q],N=L[e.VBR_q+1],H=e.VBR_q_frac;B=linear_int(I,N,H)}else B=19500}e.mode!=m.MONO||e.VBR!=v.vbr_off&&e.VBR!=v.vbr_abr||(B*=1.5),e.lowpassfreq=0|B}if(0==e.out_samplerate&&(2*e.lowpassfreq>e.in_samplerate&&(e.lowpassfreq=e.in_samplerate/2),e.out_samplerate=(i=0|e.lowpassfreq,c=e.in_samplerate,g=44100,c>=48e3?g=48e3:c>=44100?g=44100:c>=32e3?g=32e3:c>=24e3?g=24e3:c>=22050?g=22050:c>=16e3?g=16e3:c>=12e3?g=12e3:c>=11025?g=11025:c>=8e3&&(g=8e3),-1==i?g:(i<=15960&&(g=44100),i<=15250&&(g=32e3),i<=11220&&(g=24e3),i<=9970&&(g=22050),i<=7230&&(g=16e3),i<=5420&&(g=12e3),i<=4510&&(g=11025),i<=3970&&(g=8e3),c44100?48e3:c>32e3?44100:c>24e3?32e3:c>22050?24e3:c>16e3?22050:c>12e3?16e3:c>11025?12e3:c>8e3?11025:8e3:g))),e.lowpassfreq=Math.min(20500,e.lowpassfreq),e.lowpassfreq=Math.min(e.out_samplerate/2,e.lowpassfreq),e.VBR==v.vbr_off&&(e.compression_ratio=16*e.out_samplerate*T.channels_out/(1e3*e.brate)),e.VBR==v.vbr_abr&&(e.compression_ratio=16*e.out_samplerate*T.channels_out/(1e3*e.VBR_mean_bitrate_kbps)),e.bWriteVbrTag||(e.findReplayGain=!1,e.decode_on_the_fly=!1,T.findPeakSample=!1),T.findReplayGain=e.findReplayGain,T.decode_on_the_fly=e.decode_on_the_fly,T.decode_on_the_fly&&(T.findPeakSample=!0),T.findReplayGain&&t.InitGainAnalysis(T.rgdata,e.out_samplerate)==y.INIT_GAIN_ANALYSIS_ERROR)return e.internal_flags=null,-6;switch(T.decode_on_the_fly&&!e.decode_only&&(null!=T.hip&&u.hip_decode_exit(T.hip),T.hip=u.hip_decode_init()),T.mode_gr=e.out_samplerate<=24e3?1:2,e.framesize=576*T.mode_gr,e.encoder_delay=F.ENCDELAY,T.resample_ratio=e.in_samplerate/e.out_samplerate,e.VBR){case v.vbr_mt:case v.vbr_rh:case v.vbr_mtrh:e.compression_ratio=[5.7,6.5,7.3,8.2,10,11.9,13,14,15,16.5][e.VBR_q];break;case v.vbr_abr:e.compression_ratio=16*e.out_samplerate*T.channels_out/(1e3*e.VBR_mean_bitrate_kbps);break;default:e.compression_ratio=16*e.out_samplerate*T.channels_out/(1e3*e.brate)}if(e.mode==m.NOT_SET&&(e.mode=m.JOINT_STEREO),e.highpassfreq>0?(T.highpass1=2*e.highpassfreq,e.highpasswidth>=0?T.highpass2=2*(e.highpassfreq+e.highpasswidth):T.highpass2=2*e.highpassfreq,T.highpass1/=e.out_samplerate,T.highpass2/=e.out_samplerate):(T.highpass1=0,T.highpass2=0),e.lowpassfreq>0?(T.lowpass2=2*e.lowpassfreq,e.lowpasswidth>=0?(T.lowpass1=2*(e.lowpassfreq-e.lowpasswidth),T.lowpass1<0&&(T.lowpass1=0)):T.lowpass1=2*e.lowpassfreq,T.lowpass1/=e.out_samplerate,T.lowpass2/=e.out_samplerate):(T.lowpass1=0,T.lowpass2=0),function(e){var t=e.internal_flags,n=32,r=-1;if(t.lowpass1>0){for(var a=999,i=0;i<=31;i++){(c=i/31)>=t.lowpass2&&(n=Math.min(n,i)),t.lowpass10&&t.highpass2<.75/31*.9&&(t.highpass1=0,t.highpass2=0,_.err.println("Warning: highpass filter disabled. highpass frequency too small\n")),t.highpass2>0){var s=-1;for(i=0;i<=31;i++){(c=i/31)<=t.highpass1&&(r=Math.max(r,i)),t.highpass1t.highpass1?w((t.highpass2-c)/(t.highpass2-t.highpass1+1e-20)):1,l=t.lowpass2>t.lowpass1?w((c-t.lowpass1)/(t.lowpass2-t.lowpass1+1e-20)):1,t.amp_filter[i]=o*l}}(e),T.samplerate_index=S(e.out_samplerate,e),T.samplerate_index<0)return e.internal_flags=null,-1;if(e.VBR==v.vbr_off){if(e.free_format)T.bitrate_index=0;else if(e.brate=x(e.brate,e.version,e.out_samplerate),T.bitrate_index=M(e.brate,e.version,e.out_samplerate),T.bitrate_index<=0)return e.internal_flags=null,-1}else T.bitrate_index=1;e.analysis&&(e.bWriteVbrTag=!1),null!=T.pinfo&&(e.bWriteVbrTag=!1),n.init_bit_stream_w(T);for(var $,D=T.samplerate_index+3*e.version+6*(e.out_samplerate<16e3?1:0),j=0;j5&&(e.quality=5),T.PSY.mask_adjust=e.maskingadjust,T.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?T.sfb21_extra=!1:T.sfb21_extra=e.out_samplerate>44e3,T.iteration_loop=new VBRNewIterationLoop(s);break;case v.vbr_rh:r.apply_preset(e,500-10*e.VBR_q,0),T.PSY.mask_adjust=e.maskingadjust,T.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?T.sfb21_extra=!1:T.sfb21_extra=e.out_samplerate>44e3,e.quality>6&&(e.quality=6),e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),T.iteration_loop=new VBROldIterationLoop(s);break;default:var Y;T.sfb21_extra=!1,e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),(Y=e.VBR)==v.vbr_off&&(e.VBR_mean_bitrate_kbps=e.brate),r.apply_preset(e,e.VBR_mean_bitrate_kbps,0),e.VBR=Y,T.PSY.mask_adjust=e.maskingadjust,T.PSY.mask_adjust_short=e.maskingadjust_short,Y==v.vbr_off?T.iteration_loop=new P(s):T.iteration_loop=new ABRIterationLoop(s)}if(e.VBR!=v.vbr_off){if(T.VBR_min_bitrate=1,T.VBR_max_bitrate=14,e.out_samplerate<16e3&&(T.VBR_max_bitrate=8),0!=e.VBR_min_bitrate_kbps&&(e.VBR_min_bitrate_kbps=x(e.VBR_min_bitrate_kbps,e.version,e.out_samplerate),T.VBR_min_bitrate=M(e.VBR_min_bitrate_kbps,e.version,e.out_samplerate),T.VBR_min_bitrate<0))return-1;if(0!=e.VBR_max_bitrate_kbps&&(e.VBR_max_bitrate_kbps=x(e.VBR_max_bitrate_kbps,e.version,e.out_samplerate),T.VBR_max_bitrate=M(e.VBR_max_bitrate_kbps,e.version,e.out_samplerate),T.VBR_max_bitrate<0))return-1;e.VBR_min_bitrate_kbps=A.bitrate_table[e.version][T.VBR_min_bitrate],e.VBR_max_bitrate_kbps=A.bitrate_table[e.version][T.VBR_max_bitrate],e.VBR_mean_bitrate_kbps=Math.min(A.bitrate_table[e.version][T.VBR_max_bitrate],e.VBR_mean_bitrate_kbps),e.VBR_mean_bitrate_kbps=Math.max(A.bitrate_table[e.version][T.VBR_min_bitrate],e.VBR_mean_bitrate_kbps)}return e.tune&&(T.PSY.mask_adjust+=e.tune_value_a,T.PSY.mask_adjust_short+=e.tune_value_a),function(e){var t=e.internal_flags;switch(e.quality){default:case 9:t.psymodel=0,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 8:e.quality=7;case 7:t.psymodel=1,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 6:case 5:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=0,t.full_outer_loop=0;break;case 4:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 3:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 2:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 1:case 0:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=2,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0}}(e),e.athaa_type<0?T.ATH.useAdjust=3:T.ATH.useAdjust=e.athaa_type,T.ATH.aaSensitivityP=Math.pow(10,e.athaa_sensitivity/-10),null==e.short_blocks&&(e.short_blocks=h.short_block_allowed),e.short_blocks!=h.short_block_allowed||e.mode!=m.JOINT_STEREO&&e.mode!=m.STEREO||(e.short_blocks=h.short_block_coupled),e.quant_comp<0&&(e.quant_comp=1),e.quant_comp_short<0&&(e.quant_comp_short=0),e.msfix<0&&(e.msfix=0),e.exp_nspsytune=1|e.exp_nspsytune,e.internal_flags.nsPsy.attackthre<0&&(e.internal_flags.nsPsy.attackthre=W.NSATTACKTHRE),e.internal_flags.nsPsy.attackthre_s<0&&(e.internal_flags.nsPsy.attackthre_s=W.NSATTACKTHRE_S),e.scale<0&&(e.scale=1),e.ATHtype<0&&(e.ATHtype=4),e.ATHcurve<0&&(e.ATHcurve=4),e.athaa_loudapprox<0&&(e.athaa_loudapprox=2),e.interChRatio<0&&(e.interChRatio=0),null==e.useTemporal&&(e.useTemporal=!0),T.slot_lag=T.frac_SpF=0,e.VBR==v.vbr_off&&(T.slot_lag=T.frac_SpF=72e3*(e.version+1)*e.brate%e.out_samplerate|0),a.iteration_init(e),p.psymodel_init(e),0},this.lame_encode_flush=function(e,t,r,a){var i,s,o,l,u=e.internal_flags,_=c([2,1152]),p=0,h=u.mf_samples_to_encode-F.POSTDELAY,d=T(e);if(u.mf_samples_to_encode<1)return 0;for(i=0,e.in_samplerate!=e.out_samplerate&&(h+=16*e.out_samplerate/e.in_samplerate),(o=e.framesize-h%e.framesize)<576&&(o+=e.framesize),e.encoder_padding=o,l=(h+o)/e.framesize;l>0&&p>=0;){var v=d-u.mf_size,m=e.frameNum;v*=e.in_samplerate,(v/=e.out_samplerate)>1152&&(v=1152),v<1&&(v=1),s=a-i,0==a&&(s=0),r+=p=this.lame_encode_buffer(e,_[0],_[1],v,t,r,s),i+=p,l-=m!=e.frameNum?1:0}if(u.mf_samples_to_encode=0,p<0)return p;if(s=a-i,0==a&&(s=0),n.flush_bitstream(e),(p=n.copy_buffer(u,t,r,s,1))<0)return p;if(r+=p,s=a-(i+=p),0==a&&(s=0),e.write_id3tag_automatic){if(f.id3tag_write_v1(e),(p=n.copy_buffer(u,t,r,s,0))<0)return p;i+=p}return i},this.lame_encode_buffer=function(e,r,a,s,o,l,c){var f=e.internal_flags,u=[null,null];if(4294479419!=f.Class_ID)return-3;if(0==s)return 0;!function(e,t){(null==e.in_buffer_0||e.in_buffer_nsamples1&&(u[1][_]=a[_]);return function(e,r,a,i,s,o,l){var c,f,u,_,p,h=e.internal_flags,d=0,v=[null,null],m=[null,null];if(4294479419!=h.Class_ID)return-3;if(0==i)return 0;if((p=n.copy_buffer(h,s,o,l,0))<0)return p;if(o+=p,d+=p,m[0]=r,m[1]=a,k.NEQ(e.scale,0)&&k.NEQ(e.scale,1))for(f=0;f0;){var g,w,S=[null,null];S[0]=m[0],S[1]=m[1];var x=new L;if($(e,v,S,b,i,x),g=x.n_in,w=x.n_out,h.findReplayGain&&!h.decode_on_the_fly&&t.AnalyzeSamples(h.rgdata,v[0],h.mf_size,v[1],h.mf_size,w,h.channels_out)==y.GAIN_ANALYSIS_ERROR)return-6;if(i-=g,b+=g,h.channels_out,h.mf_size+=w,h.mf_samples_to_encode<1&&(h.mf_samples_to_encode=F.ENCDELAY+F.POSTDELAY),h.mf_samples_to_encode+=w,h.mf_size>=_){var M=l-d;if(0==l&&(M=0),(c=B(e,v[0],v[1],s,o,M))<0)return c;for(o+=c,d+=c,h.mf_size-=e.framesize,h.mf_samples_to_encode-=e.framesize,u=0;uR&&(R=t.length,B=n(T=0|1.25*R+7200));var i=a.lame_encode_buffer(A,t,r,t.length,B,0,T);return new Int8Array(B.subarray(0,i))},this.flush=function(){var e=a.lame_encode_flush(A,B,0,T);return new Int8Array(B.subarray(0,e))}}}e(),Recorder.lamejs=e}()},function(e,t,n){"use strict";var r=n(5);n.n(r).a},function(e,t,n){(e.exports=n(15)(!1)).push([e.i,"\nbody{\r\n\tword-wrap: break-word;\r\n\tbackground:#f5f5f5 center top no-repeat;\r\n\tbackground-size: auto 680px;\n}\npre{\r\n\twhite-space:pre-wrap;\n}\na{\r\n\ttext-decoration: none;\r\n\tcolor:#06c;\n}\na:hover{\r\n\tcolor:#f00;\n}\n.main{\r\n\tmax-width:700px;\r\n\tmargin:0 auto;\r\n\tpadding-bottom:80px\n}\n.mainBox{\r\n\tmargin-top:12px;\r\n\tpadding: 12px;\r\n\tborder-radius: 6px;\r\n\tbackground: #fff;\r\n\t--border: 1px solid #0b1;\r\n\tbox-shadow: 2px 2px 3px #aaa;\n}\n.btns button{\r\n\tdisplay: inline-block;\r\n\tcursor: pointer;\r\n\tborder: none;\r\n\tborder-radius: 3px;\r\n\tbackground: #0b1;\r\n\tcolor:#fff;\r\n\tpadding: 0 15px;\r\n\tmargin:3px 20px 3px 0;\r\n\tline-height: 36px;\r\n\theight: 36px;\r\n\toverflow: hidden;\r\n\tvertical-align: middle;\n}\n.btns button:active{\r\n\tbackground: #0a1;\n}\n.pd{\r\n\tpadding:0 0 6px 0;\n}\n.lb{\r\n\tdisplay:inline-block;\r\n\tvertical-align: middle;\r\n\tbackground:#00940e;\r\n\tcolor:#fff;\r\n\tfont-size:14px;\r\n\tpadding:2px 8px;\r\n\tborder-radius: 99px;\n}\r\n",""])}]); \ No newline at end of file + */function i(e){return null==e}function o(e){return null!=e}function s(e){return!0===e}function l(e){return"string"==typeof e||"number"==typeof e||"symbol"===(void 0===e?"undefined":r(e))||"boolean"==typeof e}function c(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))}var f=Object.prototype.toString;function u(e){return"[object Object]"===f.call(e)}function p(e){return"[object RegExp]"===f.call(e)}function _(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function d(e){return o(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function h(e){return null==e?"":Array.isArray(e)||u(e)&&e.toString===f?JSON.stringify(e,null,2):String(e)}function v(e){var t=parseFloat(e);return isNaN(t)?e:t}function m(e,t){for(var n=Object.create(null),r=e.split(","),a=0;a-1)return e.splice(n,1)}}var w=Object.prototype.hasOwnProperty;function S(e,t){return w.call(e,t)}function x(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var k=/-(\w)/g,A=x((function(e){return e.replace(k,(function(e,t){return t?t.toUpperCase():""}))})),M=x((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),T=/\B([A-Z])/g,R=x((function(e){return e.replace(T,"-$1").toLowerCase()}));var C=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function E(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function B(e,t){for(var n in t)e[n]=t[n];return e}function O(e){for(var t={},n=0;n0,ee=Z&&Z.indexOf("edge/")>0,te=(Z&&Z.indexOf("android"),Z&&/iphone|ipad|ipod|ios/.test(Z)||"ios"===K),ne=(Z&&/chrome\/\d+/.test(Z),Z&&/phantomjs/.test(Z),Z&&Z.match(/firefox\/(\d+)/)),re={}.watch,ae=!1;if(W)try{var ie={};Object.defineProperty(ie,"passive",{get:function(){ae=!0}}),window.addEventListener("test-passive",null,ie)}catch(e){}var oe=function(){return void 0===q&&(q=!W&&!G&&void 0!==e&&(e.process&&"server"===e.process.env.VUE_ENV)),q},se=W&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function le(e){return"function"==typeof e&&/native code/.test(e.toString())}var ce,fe="undefined"!=typeof Symbol&&le(Symbol)&&"undefined"!=typeof Reflect&&le(Reflect.ownKeys);ce="undefined"!=typeof Set&&le(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ue=L,pe=0,_e=function(){this.id=pe++,this.subs=[]};_e.prototype.addSub=function(e){this.subs.push(e)},_e.prototype.removeSub=function(e){y(this.subs,e)},_e.prototype.depend=function(){_e.target&&_e.target.addDep(this)},_e.prototype.notify=function(){var e=this.subs.slice();for(var t=0,n=e.length;t-1)if(i&&!S(a,"default"))o=!1;else if(""===o||o===R(e)){var l=Ue(String,a.type);(l<0||s0&&(_t((a=e(a,(n||"")+"_"+r))[0])&&_t(f)&&(u[c]=ye(f.text+a[0].text),a.shift()),u.push.apply(u,a)):l(a)?_t(f)?u[c]=ye(f.text+a):""!==a&&u.push(ye(a)):_t(a)&&_t(f)?u[c]=ye(f.text+a.text):(s(t._isVList)&&o(a.tag)&&i(a.key)&&o(n)&&(a.key="__vlist"+n+"_"+r+"__"),u.push(a)));return u}(e):void 0}function _t(e){return o(e)&&o(e.text)&&!1===e.isComment}function dt(e,t){if(e){for(var n=Object.create(null),r=fe?Reflect.ownKeys(e):Object.keys(e),a=0;a0,o=e?!!e.$stable:!i,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(o&&n&&n!==a&&s===n.$key&&!i&&!n.$hasNormal)return n;for(var l in r={},e)e[l]&&"$"!==l[0]&&(r[l]=bt(t,l,e[l]))}else r={};for(var c in t)c in r||(r[c]=gt(t,c));return e&&Object.isExtensible(e)&&(e._normalized=r),U(r,"$stable",o),U(r,"$key",s),U(r,"$hasNormal",i),r}function bt(e,t,n){var a=function(){var e=arguments.length?n.apply(null,arguments):n({});return(e=e&&"object"===(void 0===e?"undefined":r(e))&&!Array.isArray(e)?[e]:pt(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:a,enumerable:!0,configurable:!0}),a}function gt(e,t){return function(){return e[t]}}function yt(e,t){var n,r,a,i,s;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,a=e.length;rdocument.createEvent("Event").timeStamp&&(un=function(){return pn.now()})}function _n(){var e,t;for(fn=un(),ln=!0,rn.sort((function(e,t){return e.id-t.id})),cn=0;cncn&&rn[n].id>e.id;)n--;rn.splice(n+1,0,e)}else rn.push(e);sn||(sn=!0,at(_n))}}(this)},hn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||c(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Xe(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},hn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},hn.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},hn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var vn={enumerable:!0,configurable:!0,get:L,set:L};function mn(e,t,n){vn.get=function(){return this[t][n]},vn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,vn)}function bn(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},a=e.$options._propKeys=[];e.$parent&&Me(!1);var i=function(i){a.push(i);var o=Fe(i,t,n,e);Ce(r,i,o),i in e||mn(e,"_props",i)};for(var o in t)i(o);Me(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]="function"!=typeof t[n]?L:C(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;u(t=e._data="function"==typeof t?function(e,t){he();try{return e.call(t,t)}catch(e){return Xe(e,t,"data()"),{}}finally{ve()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,a=(e.$options.methods,n.length);for(;a--;){var i=n[a];0,r&&S(r,i)||z(i)||mn(e,"_data",i)}Re(t,!0)}(e):Re(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=oe();for(var a in t){var i=t[a],o="function"==typeof i?i:i.get;0,r||(n[a]=new hn(e,o||L,L,gn)),a in e||yn(e,a,i)}}(e,t.computed),t.watch&&t.watch!==re&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var a=0;a-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!p(e)&&e.test(t)}function En(e,t){var n=e.cache,r=e.keys,a=e._vnode;for(var i in n){var o=n[i];if(o){var s=Rn(o.componentOptions);s&&!t(s)&&Bn(n,i,r,a)}}}function Bn(e,t,n,r){var a=e[t];!a||r&&a.tag===r.tag||a.componentInstance.$destroy(),e[t]=null,y(n,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=kn++,t._isVue=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var a=r.componentOptions;n.propsData=a.propsData,n._parentListeners=a.listeners,n._renderChildren=a.children,n._componentTag=a.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=He(An(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Zt(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,r=n&&n.context;e.$slots=ht(t._renderChildren,r),e.$scopedSlots=a,e._c=function(t,n,r,a){return Vt(e,t,n,r,a,!1)},e.$createElement=function(t,n,r,a){return Vt(e,t,n,r,a,!0)};var i=n&&n.data;Ce(e,"$attrs",i&&i.attrs||a,null,!0),Ce(e,"$listeners",t._parentListeners||a,null,!0)}(t),nn(t,"beforeCreate"),function(e){var t=dt(e.$options.inject,e);t&&(Me(!1),Object.keys(t).forEach((function(n){Ce(e,n,t[n])})),Me(!0))}(t),bn(t),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(t),nn(t,"created"),t.$options.el&&t.$mount(t.$options.el)}}(Mn),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=Ee,e.prototype.$delete=Be,e.prototype.$watch=function(e,t,n){if(u(t))return xn(this,e,t,n);(n=n||{}).user=!0;var r=new hn(this,e,t,n);if(n.immediate)try{t.call(this,r.value)}catch(e){Xe(e,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(Mn),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){var r=this;if(Array.isArray(e))for(var a=0,i=e.length;a1?E(n):n;for(var r=E(arguments,1),a='event handler for "'+e+'"',i=0,o=n.length;iparseInt(this.max)&&Bn(o,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return F}};Object.defineProperty(e,"config",t),e.util={warn:ue,extend:B,mergeOptions:He,defineReactive:Ce},e.set=Ee,e.delete=Be,e.nextTick=at,e.observable=function(e){return Re(e),e},e.options=Object.create(null),H.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,B(e.options.components,Ln),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=E(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=He(this.options,e),this}}(e),Tn(e),function(e){H.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&u(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(Mn),Object.defineProperty(Mn.prototype,"$isServer",{get:oe}),Object.defineProperty(Mn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Mn,"FunctionalRenderContext",{value:Pt}),Mn.version="2.6.10";var In=m("style,class"),Pn=m("input,textarea,option,select,progress"),$n=function(e,t,n){return"value"===n&&Pn(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Nn=m("contenteditable,draggable,spellcheck"),Dn=m("events,caret,typing,plaintext-only"),Hn=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),jn="http://www.w3.org/1999/xlink",Fn=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Vn=function(e){return Fn(e)?e.slice(6,e.length):""},zn=function(e){return null==e||!1===e};function Un(e){for(var t=e.data,n=e,r=e;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=Xn(r.data,t));for(;o(n=n.parent);)n&&n.data&&(t=Xn(t,n.data));return function(e,t){if(o(e)||o(t))return qn(e,Yn(t));return""}(t.staticClass,t.class)}function Xn(e,t){return{staticClass:qn(e.staticClass,t.staticClass),class:o(e.class)?[e.class,t.class]:t.class}}function qn(e,t){return e?t?e+" "+t:e:t||""}function Yn(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,a=e.length;r-1?br(e,t,n):Hn(t)?zn(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Nn(t)?e.setAttribute(t,function(e,t){return zn(t)||"false"===t?"false":"contenteditable"===e&&Dn(t)?t:"true"}(t,n)):Fn(t)?zn(n)?e.removeAttributeNS(jn,Vn(t)):e.setAttributeNS(jn,t,n):br(e,t,n)}function br(e,t,n){if(zn(n))e.removeAttribute(t);else{if(Q&&!J&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){e.addEventListener("input",(function t(n){n.stopImmediatePropagation(),e.removeEventListener("input",t)})),e.__ieph=!0}e.setAttribute(t,n)}}var gr={create:vr,update:vr};function yr(e,t){var n=t.elm,r=t.data,a=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var s=Un(t),l=n._transitionClasses;o(l)&&(s=qn(s,Yn(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var wr,Sr,xr,kr,Ar,Mr,Tr={create:yr,update:yr},Rr=/[\w).+\-_$\]]/;function Cr(e){var t,n,r,a,i,o=!1,s=!1,l=!1,c=!1,f=0,u=0,p=0,_=0;for(r=0;r=0&&" "===(h=e.charAt(d));d--);h&&Rr.test(h)||(c=!0)}}else void 0===a?(_=r+1,a=e.slice(0,r).trim()):v();function v(){(i||(i=[])).push(e.slice(_,r).trim()),_=r+1}if(void 0===a?a=e.slice(0,r).trim():0!==_&&v(),i)for(r=0;r-1?{exp:e.slice(0,kr),key:'"'+e.slice(kr+1)+'"'}:{exp:e,key:null};Sr=e,kr=Ar=Mr=0;for(;!qr();)Yr(xr=Xr())?Gr(xr):91===xr&&Wr(xr);return{exp:e.slice(0,Ar),key:e.slice(Ar+1,Mr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function Xr(){return Sr.charCodeAt(++kr)}function qr(){return kr>=wr}function Yr(e){return 34===e||39===e}function Wr(e){var t=1;for(Ar=kr;!qr();)if(Yr(e=Xr()))Gr(e);else if(91===e&&t++,93===e&&t--,0===t){Mr=kr;break}}function Gr(e){for(var t=e;!qr()&&(e=Xr())!==t;);}var Kr;function Zr(e,t,n){var r=Kr;return function a(){var i=t.apply(null,arguments);null!==i&&ea(e,a,n,r)}}var Qr=Ke&&!(ne&&Number(ne[1])<=53);function Jr(e,t,n,r){if(Qr){var a=fn,i=t;t=i._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=a||e.timeStamp<=0||e.target.ownerDocument!==document)return i.apply(this,arguments)}}Kr.addEventListener(e,t,ae?{capture:n,passive:r}:n)}function ea(e,t,n,r){(r||Kr).removeEventListener(e,t._wrapper||t,n)}function ta(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};Kr=t.elm,function(e){if(o(e.__r)){var t=Q?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}o(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),ct(n,r,Jr,ea,Zr,t.context),Kr=void 0}}var na,ra={create:ta,update:ta};function aa(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,a=t.elm,s=e.data.domProps||{},l=t.data.domProps||{};for(n in o(l.__ob__)&&(l=t.data.domProps=B({},l)),s)n in l||(a[n]="");for(n in l){if(r=l[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=r;var c=i(r)?"":String(r);ia(a,c)&&(a.value=c)}else if("innerHTML"===n&&Kn(a.tagName)&&i(a.innerHTML)){(na=na||document.createElement("div")).innerHTML=""+r+"";for(var f=na.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;f.firstChild;)a.appendChild(f.firstChild)}else if(r!==s[n])try{a[n]=r}catch(e){}}}}function ia(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(o(r)){if(r.number)return v(n)!==v(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var oa={create:aa,update:aa},sa=x((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function la(e){var t=ca(e.style);return e.staticStyle?B(e.staticStyle,t):t}function ca(e){return Array.isArray(e)?O(e):"string"==typeof e?sa(e):e}var fa,ua=/^--/,pa=/\s*!important$/,_a=function(e,t,n){if(ua.test(t))e.style.setProperty(t,n);else if(pa.test(n))e.style.setProperty(R(t),n.replace(pa,""),"important");else{var r=ha(t);if(Array.isArray(n))for(var a=0,i=n.length;a-1?t.split(ba).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function ya(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(ba).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function wa(e){if(e){if("object"===(void 0===e?"undefined":r(e))){var t={};return!1!==e.css&&B(t,Sa(e.name||"v")),B(t,e),t}return"string"==typeof e?Sa(e):void 0}}var Sa=x((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),xa=W&&!J,ka="transition",Aa="transitionend",Ma="animation",Ta="animationend";xa&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ka="WebkitTransition",Aa="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ma="WebkitAnimation",Ta="webkitAnimationEnd"));var Ra=W?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ca(e){Ra((function(){Ra(e)}))}function Ea(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),ga(e,t))}function Ba(e,t){e._transitionClasses&&y(e._transitionClasses,t),ya(e,t)}function Oa(e,t,n){var r=Ia(e,t),a=r.type,i=r.timeout,o=r.propCount;if(!a)return n();var s="transition"===a?Aa:Ta,l=0,c=function(){e.removeEventListener(s,f),n()},f=function(t){t.target===e&&++l>=o&&c()};setTimeout((function(){l0&&(n="transition",f=o,u=i.length):"animation"===t?c>0&&(n="animation",f=c,u=l.length):u=(n=(f=Math.max(o,c))>0?o>c?"transition":"animation":null)?"transition"===n?i.length:l.length:0,{type:n,timeout:f,propCount:u,hasTransform:"transition"===n&&La.test(r[ka+"Property"])}}function Pa(e,t){for(;e.length1}function Fa(e,t){!0!==t.data.show&&Na(t)}var Va=function(e){var t,n,r={},a=e.modules,c=e.nodeOps;for(t=0;td?g(e,i(n[m+1])?null:n[m+1].elm,n,_,m,r):_>m&&w(0,t,p,d)}(p,v,m,n,f):o(m)?(o(e.text)&&c.setTextContent(p,""),g(p,null,m,0,m.length-1,n)):o(v)?w(0,v,0,v.length-1):o(e.text)&&c.setTextContent(p,""):e.text!==t.text&&c.setTextContent(p,t.text),o(d)&&o(_=d.hook)&&o(_=_.postpatch)&&_(e,t)}}}function A(e,t,n){if(s(n)&&o(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,o.selected!==i&&(o.selected=i);else if($(Ya(o),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));a||(e.selectedIndex=-1)}}function qa(e,t){return t.every((function(t){return!$(t,e)}))}function Ya(e){return"_value"in e?e._value:e.value}function Wa(e){e.target.composing=!0}function Ga(e){e.target.composing&&(e.target.composing=!1,Ka(e.target,"input"))}function Ka(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Za(e){return!e.componentInstance||e.data&&e.data.transition?e:Za(e.componentInstance._vnode)}var Qa={model:za,show:{bind:function(e,t,n){var r=t.value,a=(n=Za(n)).data&&n.data.transition,i=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&a?(n.data.show=!0,Na(n,(function(){e.style.display=i}))):e.style.display=r?i:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Za(n)).data&&n.data.transition?(n.data.show=!0,r?Na(n,(function(){e.style.display=e.__vOriginalDisplay})):Da(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,a){a||(e.style.display=e.__vOriginalDisplay)}}},Ja={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ei(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?ei(Yt(t.children)):e}function ti(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var a=n._parentListeners;for(var i in a)t[A(i)]=a[i];return t}function ni(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var ri=function(e){return e.tag||qt(e)},ai=function(e){return"show"===e.name},ii={name:"transition",props:Ja,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(ri)).length){0;var r=this.mode;0;var a=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return a;var i=ei(a);if(!i)return a;if(this._leaving)return ni(e,a);var o="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?o+"comment":o+i.tag:l(i.key)?0===String(i.key).indexOf(o)?i.key:o+i.key:i.key;var s=(i.data||(i.data={})).transition=ti(this),c=this._vnode,f=ei(c);if(i.data.directives&&i.data.directives.some(ai)&&(i.data.show=!0),f&&f.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(i,f)&&!qt(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var u=f.data.transition=B({},s);if("out-in"===r)return this._leaving=!0,ft(u,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),ni(e,a);if("in-out"===r){if(qt(i))return c;var p,_=function(){p()};ft(s,"afterEnter",_),ft(s,"enterCancelled",_),ft(u,"delayLeave",(function(e){p=e}))}}return a}}},oi=B({tag:String,moveClass:String},Ja);function si(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function li(e){e.data.newPos=e.elm.getBoundingClientRect()}function ci(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,a=t.top-n.top;if(r||a){e.data.moved=!0;var i=e.elm.style;i.transform=i.WebkitTransform="translate("+r+"px,"+a+"px)",i.transitionDuration="0s"}}delete oi.mode;var fi={Transition:ii,TransitionGroup:{props:oi,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var a=Jt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,a(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,a=this.$slots.default||[],i=this.children=[],o=ti(this),s=0;s-1?Jn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Jn[e]=/HTMLUnknownElement/.test(t.toString())},B(Mn.options.directives,Qa),B(Mn.options.components,fi),Mn.prototype.__patch__=W?Va:L,Mn.prototype.$mount=function(e,t){return function(e,t,n){var r;return e.$el=t,e.$options.render||(e.$options.render=ge),nn(e,"beforeMount"),r=function(){e._update(e._render(),n)},new hn(e,r,L,{before:function(){e._isMounted&&!e._isDestroyed&&nn(e,"beforeUpdate")}},!0),n=!1,null==e.$vnode&&(e._isMounted=!0,nn(e,"mounted")),e}(this,e=e&&W?tr(e):void 0,t)},W&&setTimeout((function(){F.devtools&&se&&se.emit("init",Mn)}),0);var ui=/\{\{((?:.|\r?\n)+?)\}\}/g,pi=/[-.*+?^${}()|[\]\/\\]/g,_i=x((function(e){var t=e[0].replace(pi,"\\$&"),n=e[1].replace(pi,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")}));var di={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=jr(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=Hr(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}};var hi,vi={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=jr(e,"style");n&&(e.staticStyle=JSON.stringify(sa(n)));var r=Hr(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},mi=function(e){return(hi=hi||document.createElement("div")).innerHTML=e,hi.textContent},bi=m("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),gi=m("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),yi=m("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),wi=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Si=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,xi="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+V.source+"]*",ki="((?:"+xi+"\\:)?"+xi+")",Ai=new RegExp("^<"+ki),Mi=/^\s*(\/?)>/,Ti=new RegExp("^<\\/"+ki+"[^>]*>"),Ri=/^]+>/i,Ci=/^",""":'"',"&":"&"," ":"\n"," ":"\t","'":"'"},Ii=/&(?:lt|gt|quot|amp|#39);/g,Pi=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,$i=m("pre,textarea",!0),Ni=function(e,t){return e&&$i(e)&&"\n"===t[0]};function Di(e,t){var n=t?Pi:Ii;return e.replace(n,(function(e){return Li[e]}))}var Hi,ji,Fi,Vi,zi,Ui,Xi,qi,Yi=/^@|^v-on:/,Wi=/^v-|^@|^:/,Gi=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Ki=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Zi=/^\(|\)$/g,Qi=/^\[.*\]$/,Ji=/:(.*)$/,eo=/^:|^\.|^v-bind:/,to=/\.[^.\]]+(?=[^\]]*$)/g,no=/^v-slot(:|$)|^#/,ro=/[\r\n]/,ao=/\s+/g,io=x(mi);function oo(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:_o(t),rawAttrsMap:{},parent:n,children:[]}}function so(e,t){Hi=t.warn||Br,Ui=t.isPreTag||I,Xi=t.mustUseProp||I,qi=t.getTagNamespace||I;var n=t.isReservedTag||I;(function(e){return!!e.component||!n(e.tag)}),Fi=Or(t.modules,"transformNode"),Vi=Or(t.modules,"preTransformNode"),zi=Or(t.modules,"postTransformNode"),ji=t.delimiters;var r,a,i=[],o=!1!==t.preserveWhitespace,s=t.whitespace,l=!1,c=!1;function f(e){if(u(e),l||e.processed||(e=lo(e,t)),i.length||e===r||r.if&&(e.elseif||e.else)&&fo(r,{exp:e.elseif,block:e}),a&&!e.forbidden)if(e.elseif||e.else)o=e,(s=function(e){for(var t=e.length;t--;){if(1===e[t].type)return e[t];e.pop()}}(a.children))&&s.if&&fo(s,{exp:o.elseif,block:o});else{if(e.slotScope){var n=e.slotTarget||'"default"';(a.scopedSlots||(a.scopedSlots={}))[n]=e}a.children.push(e),e.parent=a}var o,s;e.children=e.children.filter((function(e){return!e.slotScope})),u(e),e.pre&&(l=!1),Ui(e.tag)&&(c=!1);for(var f=0;f]*>)","i")),p=e.replace(u,(function(e,n,r){return c=r.length,Bi(f)||"noscript"===f||(n=n.replace(//g,"$1").replace(//g,"$1")),Ni(f,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""}));l+=e.length-p.length,e=p,M(f,l-c,l)}else{var _=e.indexOf("<");if(0===_){if(Ci.test(e)){var d=e.indexOf("--\x3e");if(d>=0){t.shouldKeepComment&&t.comment(e.substring(4,d),l,l+d+3),x(d+3);continue}}if(Ei.test(e)){var h=e.indexOf("]>");if(h>=0){x(h+2);continue}}var v=e.match(Ri);if(v){x(v[0].length);continue}var m=e.match(Ti);if(m){var b=l;x(m[0].length),M(m[1],b,l);continue}var g=k();if(g){A(g),Ni(g.tagName,e)&&x(1);continue}}var y=void 0,w=void 0,S=void 0;if(_>=0){for(w=e.slice(_);!(Ti.test(w)||Ai.test(w)||Ci.test(w)||Ei.test(w)||(S=w.indexOf("<",1))<0);)_+=S,w=e.slice(_);y=e.substring(0,_)}_<0&&(y=e),y&&x(y.length),t.chars&&y&&t.chars(y,l-y.length,l)}if(e===n){t.chars&&t.chars(e);break}}function x(t){l+=t,e=e.substring(t)}function k(){var t=e.match(Ai);if(t){var n,r,a={tagName:t[1],attrs:[],start:l};for(x(t[0].length);!(n=e.match(Mi))&&(r=e.match(Si)||e.match(wi));)r.start=l,x(r[0].length),r.end=l,a.attrs.push(r);if(n)return a.unarySlash=n[1],x(n[0].length),a.end=l,a}}function A(e){var n=e.tagName,l=e.unarySlash;i&&("p"===r&&yi(n)&&M(r),s(n)&&r===n&&M(n));for(var c=o(n)||!!l,f=e.attrs.length,u=new Array(f),p=0;p=0&&a[o].lowerCasedTag!==s;o--);else o=0;if(o>=0){for(var c=a.length-1;c>=o;c--)t.end&&t.end(a[c].tag,n,i);a.length=o,r=o&&a[o-1].tag}else"br"===s?t.start&&t.start(e,[],!0,n,i):"p"===s&&(t.start&&t.start(e,[],!1,n,i),t.end&&t.end(e,n,i))}M()}(e,{warn:Hi,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,n,o,s,u){var p=a&&a.ns||qi(e);Q&&"svg"===p&&(n=function(e){for(var t=[],n=0;nl&&(s.push(i=e.slice(l,a)),o.push(JSON.stringify(i)));var c=Cr(r[1].trim());o.push("_s("+c+")"),s.push({"@binding":c}),l=a+r[0].length}return l-1"+("true"===i?":("+t+")":":_q("+t+","+i+")")),Dr(e,"change","var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+i+"):("+o+");if(Array.isArray($$a)){var $$v="+(r?"_n("+a+")":a)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Ur(t,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Ur(t,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Ur(t,"$$c")+"}",null,!0)}(e,r,a);else if("input"===i&&"radio"===o)!function(e,t,n){var r=n&&n.number,a=Hr(e,"value")||"null";Lr(e,"checked","_q("+t+","+(a=r?"_n("+a+")":a)+")"),Dr(e,"change",Ur(t,a),null,!0)}(e,r,a);else if("input"===i||"textarea"===i)!function(e,t,n){var r=e.attrsMap.type;0;var a=n||{},i=a.lazy,o=a.number,s=a.trim,l=!i&&"range"!==r,c=i?"change":"range"===r?"__r":"input",f="$event.target.value";s&&(f="$event.target.value.trim()");o&&(f="_n("+f+")");var u=Ur(t,f);l&&(u="if($event.target.composing)return;"+u);Lr(e,"value","("+t+")"),Dr(e,c,u,null,!0),(s||o)&&Dr(e,"blur","$forceUpdate()")}(e,r,a);else{if(!F.isReservedTag(i))return zr(e,r,a),!1}return!0},text:function(e,t){t.value&&Lr(e,"textContent","_s("+t.value+")",t)},html:function(e,t){t.value&&Lr(e,"innerHTML","_s("+t.value+")",t)}},isPreTag:function(e){return"pre"===e},isUnaryTag:bi,mustUseProp:$n,canBeLeftOpenTag:gi,isReservedTag:Zn,getTagNamespace:Qn,staticKeys:function(e){return e.reduce((function(e,t){return e.concat(t.staticKeys||[])}),[]).join(",")}(bo)},So=x((function(e){return m("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(e?","+e:""))}));function xo(e,t){e&&(go=So(t.staticKeys||""),yo=t.isReservedTag||I,function e(t){if(t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||b(e.tag)||!yo(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(go)))}(t),1===t.type){if(!yo(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n|^function\s*(?:[\w$]+)?\s*\(/,Ao=/\([^)]*?\);*$/,Mo=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,To={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ro={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Co=function(e){return"if("+e+")return null;"},Eo={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Co("$event.target !== $event.currentTarget"),ctrl:Co("!$event.ctrlKey"),shift:Co("!$event.shiftKey"),alt:Co("!$event.altKey"),meta:Co("!$event.metaKey"),left:Co("'button' in $event && $event.button !== 0"),middle:Co("'button' in $event && $event.button !== 1"),right:Co("'button' in $event && $event.button !== 2")};function Bo(e,t){var n=t?"nativeOn:":"on:",r="",a="";for(var i in e){var o=Oo(e[i]);e[i]&&e[i].dynamic?a+=i+","+o+",":r+='"'+i+'":'+o+","}return r="{"+r.slice(0,-1)+"}",a?n+"_d("+r+",["+a.slice(0,-1)+"])":n+r}function Oo(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map((function(e){return Oo(e)})).join(",")+"]";var t=Mo.test(e.value),n=ko.test(e.value),r=Mo.test(e.value.replace(Ao,""));if(e.modifiers){var a="",i="",o=[];for(var s in e.modifiers)if(Eo[s])i+=Eo[s],To[s]&&o.push(s);else if("exact"===s){var l=e.modifiers;i+=Co(["ctrl","shift","alt","meta"].filter((function(e){return!l[e]})).map((function(e){return"$event."+e+"Key"})).join("||"))}else o.push(s);return o.length&&(a+=function(e){return"if(!$event.type.indexOf('key')&&"+e.map(Lo).join("&&")+")return null;"}(o)),i&&(a+=i),"function($event){"+a+(t?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value)+"}"}return t||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function Lo(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=To[e],r=Ro[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var Io={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(e,t){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+t.value+","+(t.modifiers&&t.modifiers.prop?"true":"false")+(t.modifiers&&t.modifiers.sync?",true":"")+")"}},cloak:L},Po=function(e){this.options=e,this.warn=e.warn||Br,this.transforms=Or(e.modules,"transformCode"),this.dataGenFns=Or(e.modules,"genData"),this.directives=B(B({},Io),e.directives);var t=e.isReservedTag||I;this.maybeComponent=function(e){return!!e.component||!t(e.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function $o(e,t){var n=new Po(t);return{render:"with(this){return "+(e?No(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function No(e,t){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return Do(e,t);if(e.once&&!e.onceProcessed)return Ho(e,t);if(e.for&&!e.forProcessed)return Fo(e,t);if(e.if&&!e.ifProcessed)return jo(e,t);if("template"!==e.tag||e.slotTarget||t.pre){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=Xo(e,t),a="_t("+n+(r?","+r:""),i=e.attrs||e.dynamicAttrs?Wo((e.attrs||[]).concat(e.dynamicAttrs||[]).map((function(e){return{name:A(e.name),value:e.value,dynamic:e.dynamic}}))):null,o=e.attrsMap["v-bind"];!i&&!o||r||(a+=",null");i&&(a+=","+i);o&&(a+=(i?"":",null")+","+o);return a+")"}(e,t);var n;if(e.component)n=function(e,t,n){var r=t.inlineTemplate?null:Xo(t,n,!0);return"_c("+e+","+Vo(t,n)+(r?","+r:"")+")"}(e.component,e,t);else{var r;(!e.plain||e.pre&&t.maybeComponent(e))&&(r=Vo(e,t));var a=e.inlineTemplate?null:Xo(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(a?","+a:"")+")"}for(var i=0;i>>0}(o):"")+")"}(e,e.scopedSlots,t)+","),e.model&&(n+="model:{value:"+e.model.value+",callback:"+e.model.callback+",expression:"+e.model.expression+"},"),e.inlineTemplate){var i=function(e,t){var n=e.children[0];0;if(n&&1===n.type){var r=$o(n,t.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map((function(e){return"function(){"+e+"}"})).join(",")+"]}"}}(e,t);i&&(n+=i+",")}return n=n.replace(/,$/,"")+"}",e.dynamicAttrs&&(n="_b("+n+',"'+e.tag+'",'+Wo(e.dynamicAttrs)+")"),e.wrapData&&(n=e.wrapData(n)),e.wrapListeners&&(n=e.wrapListeners(n)),n}function zo(e){return 1===e.type&&("slot"===e.tag||e.children.some(zo))}function Uo(e,t){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return jo(e,t,Uo,"null");if(e.for&&!e.forProcessed)return Fo(e,t,Uo);var r="_empty_"===e.slotScope?"":String(e.slotScope),a="function("+r+"){return "+("template"===e.tag?e.if&&n?"("+e.if+")?"+(Xo(e,t)||"undefined")+":undefined":Xo(e,t)||"undefined":No(e,t))+"}",i=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+a+i+"}"}function Xo(e,t,n,r,a){var i=e.children;if(i.length){var o=i[0];if(1===i.length&&o.for&&"template"!==o.tag&&"slot"!==o.tag){var s=n?t.maybeComponent(o)?",1":",0":"";return""+(r||No)(o,t)+s}var l=n?function(e,t){for(var n=0,r=0;r':'
',Jo.innerHTML.indexOf(" ")>0}var rs=!!W&&ns(!1),as=!!W&&ns(!0),is=x((function(e){var t=tr(e);return t&&t.innerHTML})),os=Mn.prototype.$mount;Mn.prototype.$mount=function(e,t){if((e=e&&tr(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=is(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){if(e.outerHTML)return e.outerHTML;var t=document.createElement("div");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){0;var a=ts(r,{outputSourceRange:!1,shouldDecodeNewlines:rs,shouldDecodeNewlinesForHref:as,delimiters:n.delimiters,comments:n.comments},this),i=a.render,o=a.staticRenderFns;n.render=i,n.staticRenderFns=o}}return os.call(this,e,t)},Mn.compile=ts,t.default=Mn}).call(this,n(0),n(10).setImmediate)},function(e,t,n){"use strict";(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,a=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(a.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(a.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(11),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||void 0,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||void 0}).call(this,n(0))},function(e,t,n){"use strict";(function(e,t){!function(e,n){if(!e.setImmediate){var r,a,i,o,s,l=1,c={},f=!1,u=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){d(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){d(e.data)},r=function(e){i.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(a=u.documentElement,r=function(e){var t=u.createElement("script");t.onreadystatechange=function(){d(e),t.onreadystatechange=null,a.removeChild(t),t=null},a.appendChild(t)}):r=function(e){setTimeout(d,0,e)}:(o="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(o)&&d(+t.data.slice(o.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(o+t,"*")}),p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n3*t/4?0:n/2*3/4;c={fn:f?a.IIRFilter(!0,t,f):0}}c.sr=t;var u=c.fn,p=r.frameNext||[];i||(i={});var _=i.frameSize||1;i.frameType&&(_="mp3"==i.frameType?1152:1);var d=e.length;s>d+1&&m(M("tlbC::{1}似乎传入了未重置chunk {2}",0,o,s+">"+d),3);for(var h=0,v=s;v1?h=Math.floor(h/b):(b=1,n=t),h+=p.length;var g=new Int16Array(h),y=0;for(v=0;v0){var $=2*(g.length-P);p=new Int16Array(g.buffer.slice($)),g=new Int16Array(g.buffer.slice(0,$))}return{index:s,offset:l,filter:c,frameNext:p,sampleRate:n,data:g}},a.IIRFilter=function(e,t,n){var r=2*Math.PI*n/t,a=Math.sin(r),i=Math.cos(r),o=a/2,s=1+o,l=-2*i/s,c=(1-o)/s;if(e)var f=(1-i)/2/s,u=(1-i)/s;else f=(1+i)/2/s,u=-(1+i)/s;var p=0,_=0,d=0,h=0,v=0,m=function(e){return d=f*e+u*p+f*_-l*h-c*v,_=p,p=e,v=h,h=d,d};return m.Embed={x1:0,x2:0,y1:0,y2:0,b0:f,b1:u,a1:l,a2:c},m},a.PowerLevel=function(e,t){var n=e/t||0;return n<1251?Math.round(n/1250*10):Math.round(Math.min(100,Math.max(0,100*(1+Math.log(n/1e4)/Math.log(10)))))},a.PowerDBFS=function(e){var t=Math.max(.1,e||0);return t=Math.min(t,32767),t=20*Math.log(t/32767)/Math.log(10),Math.max(-100,Math.round(t))},a.CLog=function(e,t){if("object"==("undefined"==typeof console?"undefined":o(console))){var n=new Date,i=("0"+n.getMinutes()).substr(-2)+":"+("0"+n.getSeconds()).substr(-2)+"."+("00"+n.getMilliseconds()).substr(-3),s=this&&this.envIn&&this.envCheck&&this.id,c=["["+i+" "+l+(s?":"+s:"")+"]"+e],f=arguments,u=a.CLog,p=2,_=u.log||console.log;for(r(t)?_=1==t?u.error||console.error:3==t?u.warn||console.warn:_:p=1;p1?c:""):_.apply(console,c)}};var m=function(){a.CLog.apply(this,arguments)},b=!0;try{b=!console.log.apply}catch(e){}var g=0;a.Sync={O:9,C:9},a.prototype=R.prototype={CLog:m,_streamStore:function(){return this.set.sourceStream?this:a},_streamCtx:function(){var e=this._streamStore().Stream;return e&&e._c},open:function(e,r){var o=this,l=o.set,c=o._streamStore(),f=0;e=e||n;var _=function(e,t){t=!!t,o.CLog(M("5tWi::录音open失败:")+e+",isUserNotAllow:"+t,1),f&&a.CloseNewCtx(f),r&&r(e,t)};o._streamTag="getUserMedia";var d=function(){o.CLog("open ok, id:"+o.id+" stream:"+o._streamTag),e(),o._SO=0},v=c.Sync,m=++v.O,b=v.C;if(o._O=o._O_=m,o._SO=o._S,t){var g=o.envCheck({envName:"H5",canProcess:!0});if(g)_(M("A5bm::不能录音:")+g);else if(l.sourceStream){if(o._streamTag="set.sourceStream",!a.GetContext())return void _(M("1iU7::不支持此浏览器从流中获取录音"));h(c);var y=o.Stream=l.sourceStream;y._RC=l.runningContext,y._call={};try{p(c)}catch(e){return h(c),void _(M("BTW2::从流中打开录音失败:")+e.message)}d()}else{var w=function(e,t){try{window.top.a}catch(e){return void _(M("Nclz::无权录音(跨域,请尝试给iframe添加麦克风访问策略,如{1})",0,'allow="camera;microphone"'))}/Permission|Allow/i.test(e)?_(M("gyO5::用户拒绝了录音权限"),!0):!1===window.isSecureContext?_(M("oWNo::浏览器禁止不安全页面录音,可开启https解决")):/Found/i.test(e)?_(t+M("jBa9::,无可用麦克风")):_(t)};if(a.IsOpen())d();else if(a.Support()){var S=l.runningContext;S||(S=f=a.GetContext(!0));var x=function(e){setTimeout((function(){e._call={};var t=a.Stream;t&&(h(),e._call=t._call),a.Stream=e,e._c=S,e._RC=l.runningContext,function(){if(b!=v.C||!o._O){var e=M("dFm8::open被取消");return m==v.O?o.close():e=M("VtJO::open被中断"),_(e),!0}}()||(a.IsOpen()?(t&&o.CLog(M("upb8::发现同时多次调用open"),1),p(c,1),d()):_(M("Q1GA::录音功能无效:无音频流")))}),100)},k=function(e){var t=e.name||e.message||e.code+":"+e;o.CLog(M("xEQR::请求录音权限错误"),1,e),w(t,M("bDOG::无法录音:")+t)},A=l.audioTrackSet||{};A.sampleRate=S.sampleRate;var T={audio:A};try{var R=a.Scope.getUserMedia(T,x,k)}catch(e){o.CLog("getUserMedia",3,e),T={audio:!0},R=a.Scope.getUserMedia(T,x,k)}o.CLog("getUserMedia("+JSON.stringify(T)+") "+u(S)+M("RiWe::,未配置noiseSuppression和echoCancellation时浏览器可能会自动打开降噪和回声消除,移动端可能会降低系统播放音量(关闭录音后可恢复),请参阅文档中audioTrackSet配置")+"("+s+") LM:"+i+" UA:"+navigator.userAgent),R&&R.then&&R.then(x).catch(k)}else w("",M("COxc::此浏览器不支持录音"))}}else _(M.G("NonBrowser-1",["open"])+M("EMJq::,可尝试使用RecordApp解决方案")+"("+s+"/tree/master/app-support-sample)")},close:function(e){e=e||n;var t=this._streamStore();this._stop();var r=" stream:"+this._streamTag,a=t.Sync;if(this._O=0,this._O_!=a.O)return this.CLog(M("hWVz::close被忽略(因为同时open了多个rec,只有最后一个会真正close)")+r,3),void e();a.C++,h(t),this.CLog("close,"+r),e()},mock:function(e,t){return this._stop(),this.isMock=1,this.mockEnvInfo=null,this.buffers=[e],this.recSize=e.length,this._setSrcSR(t),this._streamTag="mock",this},_setSrcSR:function(e){var t=this.set,n=t.sampleRate;n>e?t.sampleRate=e:n=0,this.srcSampleRate=e,this.CLog("srcSampleRate: "+e+" set.sampleRate: "+t.sampleRate+(n?" "+M("UHvm::忽略")+": "+n:""),n?3:0)},envCheck:function(e){var t,n=this.set,r="CPU_BE";if(t||a[r]||"function"!=typeof Int8Array||new Int8Array(new Int32Array([1]).buffer)[0]||(T(r),t=M("Essp::不支持{1}架构",0,r)),!t){var i=n.type,o=this[i+"_envCheck"];n.takeoffEncodeChunk&&(o?e.canProcess||(t=M("7uMV::{1}环境不支持实时处理",0,e.envName)):t=M("2XBl::{1}类型不支持设置takeoffEncodeChunk",0,i)+(this[i]?"":M("LG7e::(未加载编码器)"))),!t&&o&&(t=this[i+"_envCheck"](e,n))}return t||""},envStart:function(e,t){var n=this.set;if(this.isMock=e?1:0,this.mockEnvInfo=e,this.buffers=[],this.recSize=0,e&&(this._streamTag="env$"+e.envName),this.state=1,this.envInLast=0,this.envInFirst=0,this.envInFix=0,this.envInFixTs=[],this._setSrcSR(t),this.engineCtx=0,this[n.type+"_start"]){var r=this.engineCtx=this[n.type+"_start"](n);r&&(r.pcmDatas=[],r.pcmSize=0)}},envResume:function(){this.envInFixTs=[]},envIn:function(e,t){var n=this,r=n.set,i=n.engineCtx;if(1==n.state){var o=n.srcSampleRate,s=e.length,l=a.PowerLevel(t,s),c=n.buffers,f=c.length;c.push(e);var u=c,p=f,_=Date.now(),d=Math.round(s/o*1e3);n.envInLast=_,1==n.buffers.length&&(n.envInFirst=_-d);var h=n.envInFixTs;h.splice(0,0,{t:_,d:d});for(var v=_,m=0,b=0;b3e3){h.length=b;break}v=g.t,m+=g.d}var y=h[1],w=_-v;if(w-m>w/3&&(y&&w>1e3||h.length>=6)){var S=_-y.t-d;if(S>d/5){var x=!r.disableEnvInFix;if(n.CLog("["+_+"]"+A.get(M(x?"4Kfd::补偿{1}ms":"bM5i::未补偿{1}ms",1),[S]),3),n.envInFix+=S,x){var k=new Int16Array(S*o/1e3);s+=k.length,c.push(k)}}}var T=n.recSize,R=s,C=T+R;if(n.recSize=C,i){var E=a.SampleData(c,o,r.sampleRate,i.chunkInfo);i.chunkInfo=E,C=(T=i.pcmSize)+(R=E.data.length),i.pcmSize=C,c=i.pcmDatas,f=c.length,c.push(E.data),o=E.sampleRate}var B=Math.round(C/o*1e3),O=c.length,L=u.length,I=function(){for(var e=P?0:-R,t=null==c[0],a=f;a10&&n.envInFirst-_>1e3&&n.CLog("rec.set.onProcess"+M("2ghS::低性能,耗时{1}ms",0,$),3),!0===P){var N=0;for(b=f;b"+w.length,Date.now()-r)),setTimeout((function(){r=Date.now(),o[c.type](w,(function(e,t){d(e,t,g)}),(function(e){_(e)}))}))}else _(M("xkKd::音频buffers被释放"))}else _(M("xGuI::未加载{1}编码器,请尝试到{2}的src/engine内找到{1}的编码器并加载",0,c.type,l));else _(M("Ltz3::未采集到录音"))}};var y=function(e,t){t.pos||(t.pos=[0],t.tracks={},t.bytes=[]);var n=t.tracks,r=[t.pos[0]],a=function(){t.pos[0]=r[0]},i=t.bytes.length,o=new Uint8Array(i+e.length);if(o.set(t.bytes),o.set(e,i),t.bytes=o,!t._ht){if(x(o,r),k(o,r),!w(x(o,r),[24,83,128,103]))return;for(x(o,r);r[0]32 bit",3)),C.sampleRate!=t.sampleRate||32!=C.bitDepth||C.channels<1||!/(\b|_)PCM\b/i.test(C.codec))return t.bytes=[],t.bad||m("WebM Track Unexpected",3,t),t.bad=1,-1;for(var E=[],B=0;r[0]1){var $=[];for(A=0;A=e.length)){var a=("0000000"+e[r].toString(2)).substr(-8),i=/^(0*1)(\d*)$/.exec(a);if(i){var o=i[1].length,s=[];if(!(r+o>e.length)){for(var l=0;le.length)return;for(var o=0;ot.length)&&(n="{?}",m("i18n["+e+"] no {"+r+"}: "+a,3)),i?"":n}))):"en"==n?A.v_G(e,t,"zh"):A.v_G(e,t,"en")},$T:function(){return A.v_T.apply(null,arguments)},v_T:function(){for(var e,t=arguments,n="",a=[],i=0,o=l+".i18n.$T:",s=/^([\w\-]*):/,c=0;c0?n:A.v_G(n,a):""}},M=A.$T;M.G=A.get,M("NonBrowser-1::非浏览器环境,不支持{1}",1),M("IllegalArgs-1::参数错误:{1}",1),M("NeedImport-2::调用{1}需要先导入{2}",2),M("NotSupport-1::不支持:{1}",1),a.TrafficImgUrl="//ia.51.la/go1?id=20469973&pvFlag=1";var T=a.Traffic=function(e){if(t){e=e?"/"+l+"/Report/"+e:"";var n=a.TrafficImgUrl;if(n){var r=a.Traffic,i=/^(https?:..[^\/#]*\/?)[^#]*/i.exec(location.href)||[],o=i[1]||"http://file/",s=(i[0]||o)+e;0==n.indexOf("//")&&(n=/^https:/i.test(s)?"https:"+n:"http:"+n),e&&(n=n+"&cu="+encodeURIComponent(o+e)),r[s]||(r[s]=1,(new Image).src=n,m("Traffic Analysis Image: "+(e||l+".TrafficImgUrl="+a.TrafficImgUrl)))}}};c&&(m(M("8HO5::覆盖导入{1}",0,l),1),c.Destroy()),e[l]=a}function R(e){this.id=++g,T();var t={type:"mp3",onProcess:n};for(var a in e)t[a]=e[a];this.set=t;var i=t.bitRate,o=t.sampleRate;(i&&!r(i)||o&&!r(o))&&this.CLog(M.G("IllegalArgs-1",[M("VtS4::{1}和{2}必须是数值",0,"sampleRate","bitRate")]),1,e),t.bitRate=+i||16,t.sampleRate=+o||16e3,this.state=0,this._S=9,this.Sync={O:9,C:9}}}(i=a?window:Object,a),void 0===(r=function(){return i.Recorder}.call(t,n,t,e))||(e.exports=r),"object"==o(e)&&e.exports&&(e.exports=i.Recorder)}).call(this,n(2)(e))},function(e,t,n){"use strict";var r,a,i,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r="object"==("undefined"==typeof window?"undefined":o(window))&&!!window.document,a=(r?window:Object).Recorder,i=a.i18n,function(e,t,n,r){var a="48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000",i="8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256, 320";e.prototype.enc_mp3={stable:!0,takeEC:"full",getTestMsg:function(){return n("Zm7L::采样率范围:{1};比特率范围:{2}(不同比特率支持的采样率范围不同,小于32kbps时采样率需小于32000)",0,a,i)}};var o,s=function(t){var r=t.bitRate,o=t.sampleRate,s=o;if(-1==(" "+i+",").indexOf(" "+r+",")&&e.CLog(n("eGB9::{1}不在mp3支持的取值范围:{2}",0,"bitRate="+r,i),3),-1==(" "+a+",").indexOf(" "+o+",")){for(var l=a.split(", "),c=[],f=0;f0){if(d+s>u.length){var l=new Int8Array(u.length+Math.max(5e5,s));l.set(u.subarray(0,d)),u=l}u.set(o,d),d+=s}if(ho.memory.length){var n=new Int8Array(o.memory.length+Math.max(5e5,t));n.set(o.memory.subarray(0,o.mOffset)),o.memory=n}o.memory.set(e,o.mOffset),o.mOffset+=t};switch(t.action){case"stop":o.encObj=null,delete n[t.id];break;case"encode":o.pcmSize+=t.pcm.length;try{var l=o.encObj.encodeBuffer(t.pcm)}catch(e){o.err=e,console.error(e)}l&&l.length>0&&(o.takeoff?d.onmessage({action:"takeoff",id:t.id,chunk:l}):s(l));break;case"complete":try{l=o.encObj.flush()}catch(e){o.err=e,console.error(e)}if(l&&l.length>0&&(o.takeoff?d.onmessage({action:"takeoff",id:t.id,chunk:l}):s(l)),o.err){d.onmessage({action:t.action,id:t.id,err:"MP3 Encoder: "+o.err.message});break}var c=[o.memory.buffer.slice(0,o.mOffset)],f=a.fn(c,o.mOffset,o.pcmSize,o.sampleRate);d.onmessage({action:t.action,id:t.id,blob:c[0]||new ArrayBuffer(0),meta:f})}},u=function(e){d.onmessage=function(t){var n=t;e&&(n=t.data);var r=f[n.id];r&&("takeoff"==n.action?r.set.takeoffEncodeChunk(new Uint8Array(n.chunk.buffer)):(r.call&&r.call(n),r.call=null))}},_=function(){var e={worker:d,set:r};return r?(e.id=++f.id,f[e.id]=e,s(r),d.postMessage({action:"init",id:e.id,sampleRate:r.sampleRate,bitRate:r.bitRate,takeoff:!!r.takeoffEncodeChunk,x:new Int16Array(5)})):d.postMessage({x:new Int16Array(5)}),e},d=o;if(a||!c)return e.CLog(n("k9PT::当前环境不支持Web Worker,mp3实时编码器运行在主线程中"),3),d={postMessage:function(e){l({data:e})}},i={wkScope:{wk_ctxs:{},wk_lame:e.lamejs,wk_mp3TrimFix:p}},u(),_();try{if(!d){var h=(l+"").replace(/\w+\.onmessage/g,"self.postMessage"),v=");wk_lame();self.onmessage="+(h=h.replace(/\w+.wkScope/g,"wkScope"));v+=";var wkScope={ wk_ctxs:{},wk_lame:wk_lame",v+=",wk_mp3TrimFix:{rm:"+p.rm+",fn:"+p.fn+"} }";var m=e.lamejs.toString(),b=(window.URL||webkitURL).createObjectURL(new Blob(["var wk_lame=(",m,v],{type:"text/javascript"}));d=new Worker(b),setTimeout((function(){(window.URL||webkitURL).revokeObjectURL(b)}),1e4),u(1)}var g=_();return g.isW=1,o=d,g}catch(e){return d&&d.terminate(),console.error(e),t(r,1)}};e.prototype.mp3_stop=function(t){if(t&&t.worker){t.worker.postMessage({action:"stop",id:t.id}),t.worker=null,delete f[t.id];var r=-1;for(var a in f)r++;r&&e.CLog(n("fT6M::mp3 worker剩{1}个未stop",0,r),3)}},e.prototype.mp3_encode=function(e,t){e&&e.worker&&e.worker.postMessage({action:"encode",id:e.id,pcm:t})},e.prototype.mp3_complete=function(e,t,r,a){var i=this;e&&e.worker?(e.call=function(n){a&&i.mp3_stop(e),n.err?r(n.err):(_(n.meta,e.set),t(n.blob,"audio/mp3"))},e.worker.postMessage({action:"complete",id:e.id})):r(n("mPxH::mp3编码器未start"))},e.mp3ReadMeta=function(e,t){var n="undefined"!=typeof window&&window.parseInt||"undefined"!=typeof self&&self.parseInt||parseInt,r=new Uint8Array(e[0]||[]);if(r.length<4)return null;var a=function(e,t){return("0000000"+((t||r)[e]||0).toString(2)).substr(-8)},i=a(0)+a(1),o=a(2)+a(3);if(!/^1{11}/.test(i))return null;var s={"00":2.5,10:2,11:1}[i.substr(11,2)],l={"01":3}[i.substr(13,2)],c={1:[44100,48e3,32e3],2:[22050,24e3,16e3],2.5:[11025,12e3,8e3]}[s];c&&(c=c[n(o.substr(4,2),2)]);var f=[[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160],[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320]][1==s?1:0][n(o.substr(0,4),2)];if(!(s&&l&&f&&c))return null;for(var u=Math.round(8*t/f),p=1==l?384:2==l||1==s?1152:576,_=p/c*1e3,d=Math.floor(p*f/8/c*1e3),h=0,v=0,m=0;m=d+3){var g=new Uint8Array(b);h="1"==a(b.byteLength-(v-(d+3)+1),g).charAt(6);break}}return h&&d++,{version:s,layer:l,sampleRate:c,bitRate:f,duration:u,size:t,hasPadding:h,frameSize:d,frameDurationFloat:_}};var p={rm:e.mp3ReadMeta,fn:function(e,t,n,r){var a=this.rm(e,t);if(!a)return{err:"mp3 unknown format"};var i=Math.round(n/r*1e3),o=Math.floor((a.duration-i)/a.frameDurationFloat);if(o>0){var s=o*a.frameSize-(a.hasPadding?1:0);t-=s;for(var l=0,c=[],f=0;f=u.byteLength?(s-=u.byteLength,c.push(u),e.splice(f,1),f--):(e[f]=u.slice(s),l=u,s=0)}if(!this.rm(e,t)){for(l&&(e[0]=l),f=0;f "+i.duration+"ms",i.remove>2&&(t.err=(t.err?t.err+", ":"")+n("b9zm::移除帧数过多"))):a+=(t.duration||"-")+"ms",t.err?e.CLog(a,1,t.err,t):e.CLog(a,t)}}(a,0,i.$T,r)},function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e){function t(){var e=function(e){return Math.log(e)/Math.log(10)},n=function(e){throw new Error("abort("+e+")")};function r(e){return new Int8Array(e)}function a(e){return new Int16Array(e)}function i(e){return new Int32Array(e)}function o(e){return new Float32Array(e)}function s(e){return new Float64Array(e)}function l(e){if(1==e.length)return o(e[0]);var t=e[0];e=e.slice(1);for(var n=[],r=0;r>=1;0!=e--;)a[i++]=o>n[r++]?0:1,a[i++]=o>n[r++]?0:1}function o(t,n,r,a,i,o){var s=(t>>=1)%2;for(t>>=1;0!=t--;){var l,c,f,u,p,_,d,h;l=r[a++]*n,c=r[a++]*n,p=0|l,f=r[a++]*n,_=0|c,u=r[a++]*n,d=0|f,l+=e.adj43[p],h=0|u,c+=e.adj43[_],i[o++]=0|l,f+=e.adj43[d],i[o++]=0|c,u+=e.adj43[h],i[o++]=0|f,i[o++]=0|u}0!=s&&(p=0|(l=r[a++]*n),_=0|(c=r[a++]*n),l+=e.adj43[p],c+=e.adj43[_],i[o++]=0|l,i[o++]=0|c)}var s=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function l(e,t,r,a){var i=function(e,t,n){var r=0,a=0;do{var i=e[t++],o=e[t++];r>=16)>i&&(s=i,r++),a.bits+=s,r}(e,t,r,s[i-1],a);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return function(e,t,n,r,a){var i=0,o=0,s=0,l=T.ht[r].xlen,c=T.ht[r].hlen,f=T.ht[r+1].hlen,u=T.ht[r+2].hlen;do{var p=e[t+0]*l+e[t+1];t+=2,i+=c[p],o+=f[p],s+=u[p]}while(to&&(i=o,_++),i>s&&(i=s,_=r+2),a.bits+=i,_}(e,t,r,s[i-1],a);default:var o,l;for(i>$.IXMAX_VAL&&n(),i-=15,o=24;o<32&&!(T.ht[o].linmax>=i);o++);for(l=o-8;l<24&&!(T.ht[l].linmax>=i);l++);return function(e,t,n,r,a,i){var o,s=65536*T.ht[r].xlen+T.ht[a].xlen,l=0;do{var c=e[t++],f=e[t++];0!=c&&(c>14&&(c=15,l+=s),c*=16),0!=f&&(f>14&&(f=15,l+=s),c+=f),l+=T.largetbl[c]}while(t>=16)>o&&(l=o,r=a),i.bits+=l,r}(e,t,r,l,o,a)}}function c(e,n,r,a,i,o,s,c){for(var f=n.big_values,u=2;u=f)break;var _=i[u-2]+n.count1bits;if(r.part2_3_length<=_)break;var d=new t(_),h=l(a,p,f,d);_=d.bits,r.part2_3_length<=_||(r.assign(n),r.part2_3_length=_,r.region0_count=o[u-2],r.region1_count=u-2-o[u-2],r.table_select[0]=s[u-2],r.table_select[1]=c[u-2],r.table_select[2]=h)}}this.noquant_count_bits=function(e,r,a){var i=r.l3_enc,o=Math.min(576,r.max_nonzero_coeff+2>>1<<1);for(null!=a&&(a.sfb_count1=0);o>1&&0==(i[o-1]|i[o-2]);o-=2);r.count1=o;for(var s=0,c=0;o>3;o-=4){var f;if((2147483647&(i[o-1]|i[o-2]|i[o-3]|i[o-4]))>1)break;f=2*(2*(2*i[o-4]+i[o-3])+i[o-2])+i[o-1],s+=T.t32l[f],c+=T.t33l[f]}var u=s;if(r.count1table_select=0,s>c&&(u=c,r.count1table_select=1),r.count1bits=u,r.big_values=o,0==o)return u;if(r.block_type==z.SHORT_TYPE)(s=3*e.scalefac_band.s[3])>r.big_values&&(s=r.big_values),c=r.big_values;else if(r.block_type==z.NORM_TYPE){if(s=r.region0_count=e.bv_scf[o-2],c=r.region1_count=e.bv_scf[o-1],c=e.scalefac_band.l[s+c+2],s=e.scalefac_band.l[s+1],c(c=o)&&(s=c);if(s=Math.min(s,o),c=Math.min(c,o),0c?$.LARGE_BITS:(function(t,r,i,s,l){var c,f,u,_=0,d=0,h=0,v=0,m=r,b=0,g=m,y=0,w=t,S=0;for(u=null!=l&&s.global_gain==l.global_gain,f=s.block_type==z.SHORT_TYPE?38:21,c=0;c<=f;c++){var x=-1;if((u||s.block_type==z.NORM_TYPE)&&(x=s.global_gain-(s.scalefac[c]+(0!=s.preflag?e.pretab[c]:0)<s.max_nonzero_coeff&&(k=s.max_nonzero_coeff-_+1,p.fill(r,s.max_nonzero_coeff,576,0),(A=k)<0&&(A=0),c=f+1),0==d&&0==h&&(g=m,y=b,w=t,S=v),null!=l&&l.sfb_count1>0&&c>=l.sfb_count1&&l.step[c]>0&&x>=l.step[c]?(0!=d&&(o(d,i,w,S,g,y),d=0,g=m,y=b,w=t,S=v),h+=A):(0!=h&&(a(h,i,w,S,g,y),h=0,g=m,y=b,w=t,S=v),d+=A),A<=0){0!=h&&n(),0!=d&&n();break}}c<=f&&(b+=s.width[c],v+=s.width[c],_+=s.width[c])}0!=d&&(o(d,i,w,S,g,y),d=0),0!=h&&n()}(r,l,e.IPOW20(i.global_gain),i,s),0!=(2&t.substep_shaping)&&n(),this.noquant_count_bits(t,i,s))},this.best_huffman_divide=function(e,n){var r=new D,a=n.l3_enc,o=i(23),s=i(23),f=i(23),u=i(23);if(n.block_type!=z.SHORT_TYPE||1!=e.mode_gr){r.assign(n),n.block_type==z.NORM_TYPE&&(function(e,n,r,a,i,o,s){for(var c=n.big_values,f=0;f<=22;f++)a[f]=$.LARGE_BITS;for(f=0;f<16;f++){var u=e.scalefac_band.l[f+1];if(u>=c)break;var p=0,_=new t(p),d=l(r,0,u,_);p=_.bits;for(var h=0;h<8;h++){var v=e.scalefac_band.l[f+h+2];if(v>=c)break;var m=p,b=l(r,u,v,_=new t(m));m=_.bits,a[f+h]>m&&(a[f+h]=m,i[f+h]=f,o[f+h]=d,s[f+h]=b)}}}(e,n,a,o,s,f,u),c(e,r,n,a,o,s,f,u));var p=r.big_values;if(!(0==p||(a[p-2]|a[p-1])>1||(p=n.count1+2)>576)){r.assign(n),r.count1=p;for(var _=0,d=0;p>r.big_values;p-=4){var h=2*(2*(2*a[p-4]+a[p-3])+a[p-2])+a[p-1];_+=T.t32l[h],d+=T.t33l[h]}if(r.big_values=p,r.count1table_select=0,_>d&&(_=d,r.count1table_select=1),r.count1bits=_,r.block_type==z.NORM_TYPE)c(e,r,n,a,o,s,f,u);else{if(r.part2_3_length=_,(_=e.scalefac_band.l[8])>p&&(_=p),_>0){var v=new t(r.part2_3_length);r.table_select[0]=l(a,0,_,v),r.part2_3_length=v.bits}p>_&&(v=new t(r.part2_3_length),r.table_select[1]=l(a,_,p,v),r.part2_3_length=v.bits),n.part2_3_length>r.part2_3_length&&n.assign(r)}}}};var f=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],u=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],_=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],d=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];y.slen1_tab=_,y.slen2_tab=d,this.best_scalefac_store=function(t,n,r,a){var i,o,s,l,c=a.tt[n][r],p=0;for(s=0,i=0;i0&&(v|=c.scalefac[i]);if(0==(1&v)&&0!=v){for(i=0;i0&&(c.scalefac[i]>>=1);c.scalefac_scale=p=1}}if(0==c.preflag&&c.block_type!=z.SHORT_TYPE&&2==t.mode_gr){for(i=11;i0&&(c.scalefac[i]-=e.pretab[i]);c.preflag=p=1}}for(o=0;o<4;o++)a.scfsi[r][o]=0;for(2==t.mode_gr&&1==n&&a.tt[0][r].block_type!=z.SHORT_TYPE&&a.tt[1][r].block_type!=z.SHORT_TYPE&&(function(e,t){for(var n,r=t.tt[1][e],a=t.tt[0][e],i=0;i=0);n++);if(n==T.scfsi_band[i+1]){for(n=T.scfsi_band[i];np&&(r.part2_length=p,r.scalefac_compress=i)}}(r,a),p=0),i=0;ia[n]&&(t.part2_length=a[n],t.scalefac_compress=n);return t.part2_length==$.LARGE_BITS};var b=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(t,r){var a,o,s,l,c,f,u,p,_=i(4),d=r.scalefac;for(a=0!=r.preflag?2:0,u=0;u<4;u++)_[u]=0;if(r.block_type==z.SHORT_TYPE){o=1;var h=e.nr_of_sfb_block[a][o];for(p=0,s=0;s<4;s++)for(l=h[s]/3,u=0;u_[s]&&(_[s]=d[3*p+c])}else for(o=0,h=e.nr_of_sfb_block[a][o],p=0,s=0;s<4;s++)for(l=h[s],u=0;u_[s]&&(_[s]=d[p]);for(f=!1,s=0;s<4;s++)_[s]>b[a][s]&&(f=!0);if(!f){var v,m,y,w;for(r.sfb_partition_table=e.nr_of_sfb_block[a][o],s=0;s<4;s++)r.slen[s]=g[_[s]];switch(v=r.slen[0],m=r.slen[1],y=r.slen[2],w=r.slen[3],a){case 0:r.scalefac_compress=(5*v+m<<4)+(y<<2)+w;break;case 1:r.scalefac_compress=400+(5*v+m<<2)+y;break;case 2:r.scalefac_compress=500+3*v+m;break;default:n()}}if(!f)for(r.part2_length=0,s=0;s<4;s++)r.part2_length+=r.slen[s]*r.sfb_partition_table[s];return f};var g=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){for(var n,a=0;e.scalefac_band.l[++a]t;)n--;for(n<0&&(n=r[a][0]),e.bv_scf[t-2]=n,n=r[a][1];e.scalefac_band.l[n+e.bv_scf[t-2]+2]>t;)n--;n<0&&(n=r[a][1]),e.bv_scf[t-1]=n}}}function w(){}function S(){function e(e,t,n,r,a,i,o,s,l,c,f,u,p,_){this.quant_comp=t,this.quant_comp_s=n,this.safejoint=r,this.nsmsfix=a,this.st_lrm=i,this.st_s=o,this.nsbass=s,this.scale=l,this.masking_adj=c,this.ath_lower=f,this.ath_curve=u,this.interch=p,this.sfscale=_}var t;function r(e,t,r){n()}this.setModules=function(e){t=e};var a=[new e(8,9,9,0,0,6.6,145,0,.95,0,-30,11,.0012,1),new e(16,9,9,0,0,6.6,145,0,.95,0,-25,11,.001,1),new e(24,9,9,0,0,6.6,145,0,.95,0,-20,11,.001,1),new e(32,9,9,0,0,6.6,145,0,.95,0,-15,11,.001,1),new e(40,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new e(48,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new e(56,9,9,0,0,6.6,145,0,.95,0,-6,11,8e-4,1),new e(64,9,9,0,0,6.6,145,0,.95,0,-2,11,8e-4,1),new e(80,9,9,0,0,6.6,145,0,.95,0,0,8,7e-4,1),new e(96,9,9,0,2.5,6.6,145,0,.95,0,1,5.5,6e-4,1),new e(112,9,9,0,2.25,6.6,145,0,.95,0,2,4.5,5e-4,1),new e(128,9,9,0,1.95,6.4,140,0,.95,0,3,4,2e-4,1),new e(160,9,9,1,1.79,6,135,0,.95,-2,5,3.5,0,1),new e(192,9,9,1,1.49,5.6,125,0,.97,-4,7,3,0,0),new e(224,9,9,1,1.25,5.2,125,0,.98,-6,9,2,0,0),new e(256,9,9,1,.97,5.2,125,0,1,-8,10,1,0,0),new e(320,9,9,1,.9,5.2,125,0,1,-10,12,0,0,0)];function i(e,n,r){var i=n,o=t.nearestBitrateFullIndex(n);if(e.VBR=m.vbr_abr,e.VBR_mean_bitrate_kbps=i,e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320),e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.brate=e.VBR_mean_bitrate_kbps,e.VBR_mean_bitrate_kbps>320&&(e.disable_reservoir=!0),a[o].safejoint>0&&(e.exp_nspsytune=2|e.exp_nspsytune),a[o].sfscale>0&&(e.internal_flags.noise_shaping=2),Math.abs(a[o].nsbass)>0){var s=int(4*a[o].nsbass);s<0&&(s+=64),e.exp_nspsytune=e.exp_nspsytune|s<<2}return 0!=r?e.quant_comp=a[o].quant_comp:Math.abs(e.quant_comp- -1)>0||(e.quant_comp=a[o].quant_comp),0!=r?e.quant_comp_short=a[o].quant_comp_s:Math.abs(e.quant_comp_short- -1)>0||(e.quant_comp_short=a[o].quant_comp_s),0!=r?e.msfix=a[o].nsmsfix:Math.abs(e.msfix- -1)>0||(e.msfix=a[o].nsmsfix),0!=r?e.internal_flags.nsPsy.attackthre=a[o].st_lrm:Math.abs(e.internal_flags.nsPsy.attackthre- -1)>0||(e.internal_flags.nsPsy.attackthre=a[o].st_lrm),0!=r?e.internal_flags.nsPsy.attackthre_s=a[o].st_s:Math.abs(e.internal_flags.nsPsy.attackthre_s- -1)>0||(e.internal_flags.nsPsy.attackthre_s=a[o].st_s),0!=r?e.scale=a[o].scale:Math.abs(e.scale- -1)>0||(e.scale=a[o].scale),0!=r?e.maskingadjust=a[o].masking_adj:Math.abs(e.maskingadjust-0)>0||(e.maskingadjust=a[o].masking_adj),a[o].masking_adj>0?0!=r?e.maskingadjust_short=.9*a[o].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=.9*a[o].masking_adj):0!=r?e.maskingadjust_short=1.1*a[o].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=1.1*a[o].masking_adj),0!=r?e.ATHlower=-a[o].ath_lower/10:Math.abs(10*-e.ATHlower-0)>0||(e.ATHlower=-a[o].ath_lower/10),0!=r?e.ATHcurve=a[o].ath_curve:Math.abs(e.ATHcurve- -1)>0||(e.ATHcurve=a[o].ath_curve),0!=r?e.interChRatio=a[o].interch:Math.abs(e.interChRatio- -1)>0||(e.interChRatio=a[o].interch),n}this.apply_preset=function(e,t,n){switch(t){case Z.R3MIX:t=Z.V3,e.VBR=m.vbr_mtrh;break;case Z.MEDIUM:t=Z.V4,e.VBR=m.vbr_rh;break;case Z.MEDIUM_FAST:t=Z.V4,e.VBR=m.vbr_mtrh;break;case Z.STANDARD:t=Z.V2,e.VBR=m.vbr_rh;break;case Z.STANDARD_FAST:t=Z.V2,e.VBR=m.vbr_mtrh;break;case Z.EXTREME:t=Z.V0,e.VBR=m.vbr_rh;break;case Z.EXTREME_FAST:t=Z.V0,e.VBR=m.vbr_mtrh;break;case Z.INSANE:return t=320,e.preset=t,i(e,t,n),e.VBR=m.vbr_off,t}switch(e.preset=t,t){case Z.V9:case Z.V8:case Z.V7:case Z.V6:case Z.V5:case Z.V4:case Z.V3:case Z.V2:case Z.V1:case Z.V0:return r(),t}return 8<=t&&t<=320?i(e,t,n):(e.preset=0,t)}}function x(){var e;this.setModules=function(t){e=t},this.ResvFrameBegin=function(t,r){var a,i=t.internal_flags,o=i.l3_side,s=e.getframebits(t);r.bits=(s-8*i.sideinfo_len)/i.mode_gr;var l=2048*i.mode_gr-8;t.brate>320?n():(a=11520,t.strict_ISO&&n()),i.ResvMax=a-s,i.ResvMax>l&&(i.ResvMax=l),(i.ResvMax<0||t.disable_reservoir)&&(i.ResvMax=0);var c=r.bits*i.mode_gr+Math.min(i.ResvSize,i.ResvMax);return c>a&&(c=a),o.resvDrain_pre=0,null!=i.pinfo&&n(),c},this.ResvMaxBits=function(e,t,n,r){var a,i=e.internal_flags,o=i.ResvSize,s=i.ResvMax;0!=r&&(o+=t),0!=(1&i.substep_shaping)&&(s*=.9),n.bits=t,10*o>9*s?(a=o-9*s/10,n.bits+=a,i.substep_shaping|=128):(a=0,i.substep_shaping&=127,e.disable_reservoir||0!=(1&i.substep_shaping)||(n.bits-=.1*t));var l=o<6*i.ResvMax/10?o:6*i.ResvMax/10;return(l-=a)<0&&(l=0),l},this.ResvAdjust=function(e,t){e.ResvSize-=t.part2_3_length+t.part2_length},this.ResvFrameEnd=function(e,t){var n,r=e.l3_side;e.ResvSize+=t*e.mode_gr;var a=0;r.resvDrain_post=0,r.resvDrain_pre=0,0!=(n=e.ResvSize%8)&&(a+=n),(n=e.ResvSize-a-e.ResvMax)>0&&(a+=n);var i=Math.min(8*r.main_data_begin,a)/8;r.resvDrain_pre+=8*i,a-=8*i,e.ResvSize-=8*i,r.main_data_begin-=i,r.resvDrain_post+=a,e.ResvSize-=a}}function k(){this.setModules=function(e,t,n){};var e=[0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8e3,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16e3,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32e3,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448];function t(t,n){return n=n>>8^e[255&(n^t)]}this.updateMusicCRC=function(e,n,r,a){for(var i=0;i0;){var r;0==c&&(c=8,l++,e.header[e.w_ptr].write_timing==s&&f(e),o[l]=0),n-=r=Math.min(n,c),c-=r,o[l]|=t>>n<=8&&(u(a,76,8),n-=8),n>=8&&(u(a,65,8),n-=8),n>=8&&(u(a,77,8),n-=8),n>=8&&(u(a,69,8),n-=8),n>=32){var i=t.getLameShortVersion();if(n>=32)for(r=0;r=8;++r)n-=8,u(a,i.charCodeAt(r),8)}for(;n>=1;n-=1)u(a,a.ancillary_flag,1),a.ancillary_flag^=e.disable_reservoir?0:1}function h(e,t,n){for(var r=e.header[e.h_ptr].ptr;n>0;){var a=Math.min(n,8-(7&r));n-=a,e.header[e.h_ptr].buf[r>>3]|=t>>n<<8-(7&r)-a,r+=a}e.header[e.h_ptr].ptr=r}function v(e,t){var n,r=T.ht[t.count1table_select+32],a=0,i=t.big_values,o=t.big_values;for(n=(t.count1-t.big_values)/4;n>0;--n){var s=0,l=0;0!=t.l3_enc[i+0]&&(l+=8,t.xr[o+0]<0&&s++),0!=t.l3_enc[i+1]&&(l+=4,s*=2,t.xr[o+1]<0&&s++),0!=t.l3_enc[i+2]&&(l+=2,s*=2,t.xr[o+2]<0&&s++),0!=t.l3_enc[i+3]&&(l++,s*=2,t.xr[o+3]<0&&s++),i+=4,o+=4,u(e,s+r.table[l],r.hlen[l]),a+=r.hlen[l]}return a}function m(e,t,n,r,a){var i=T.ht[t],o=0;if(0==t)return o;for(var s=n;s15&&(d>14&&(_|=d-15<<1,c=f,d=15),h>14&&(_<<=f,_|=h-15,c+=f,h=15),p=16),0!=h&&(_<<=1,a.xr[s+1]<0&&_++,l--),d=d*p+h,c-=l,l+=i.hlen[d],u(e,i.table[d],l),u(e,_,c),o+=l+c}return o}function b(e,t){var n=3*e.scalefac_band.s[3];n>t.big_values&&(n=t.big_values);var r=m(e,t.table_select[0],0,n,t);return r+=m(e,t.table_select[1],n,t.big_values,t)}function g(e,t){var n,r,a,i;n=t.big_values;var o=t.region0_count+1;return a=e.scalefac_band.l[o],o+=t.region1_count+1,a>n&&(a=n),(i=e.scalefac_band.l[o])>n&&(i=n),r=m(e,t.table_select[0],0,a,t),r+=m(e,t.table_select[1],a,i,t),r+=m(e,t.table_select[2],i,n,t)}function w(){this.total=0}function S(t,r){var a,i,o,c=t.internal_flags;return c.w_ptr,-1==(o=c.h_ptr-1)&&(o=W.MAX_HEADER_BUF-1),a=c.header[o].write_timing-s,r.total=a,a>=0&&n(),a+=i=e.getframebits(t),r.total+=i,r.total%8!=0?r.total=1+r.total/8:r.total=r.total/8,r.total+=l+1,a<0&&n(),a}this.getframebits=function(e){var t,n=e.internal_flags;return t=0!=n.bitrate_index?T.bitrate_table[e.version][n.bitrate_index]:e.brate,8*(0|72e3*(e.version+1)*t/e.out_samplerate+n.padding)},this.flush_bitstream=function(e){var t,r,a=e.internal_flags,i=a.h_ptr-1;-1==i&&(i=W.MAX_HEADER_BUF-1),t=a.l3_side,(r=S(e,new w))<0||(d(e,r),a.ResvSize=0,t.main_data_begin=0,a.findReplayGain&&n(),a.findPeakSample&&n())},this.format_bitstream=function(e){var t,r=e.internal_flags;t=r.l3_side;var a=this.getframebits(e);d(e,t.resvDrain_pre),function(e,t){var r,a,i,o=e.internal_flags;if(r=o.l3_side,o.header[o.h_ptr].ptr=0,p.fill(o.header[o.h_ptr].buf,0,o.sideinfo_len,0),e.out_samplerate<16e3?h(o,4094,12):h(o,4095,12),h(o,e.version,1),h(o,1,2),h(o,e.error_protection?0:1,1),h(o,o.bitrate_index,4),h(o,o.samplerate_index,2),h(o,o.padding,1),h(o,e.extension,1),h(o,e.mode.ordinal(),2),h(o,o.mode_ext,2),h(o,e.copyright,1),h(o,e.original,1),h(o,e.emphasis,2),e.error_protection&&h(o,0,16),1==e.version){for(h(o,r.main_data_begin,9),2==o.channels_out?h(o,r.private_bits,3):h(o,r.private_bits,5),i=0;i1e9&&n(),0},this.copy_buffer=function(e,t,r,s,f){var u=l+1;if(u<=0)return 0;if(0!=s&&u>s)return-1;if(_.arraycopy(o,0,t,r,u),l=-1,c=0,0!=f){var p=i(1);p[0]=e.nMusicCRC,a.updateMusicCRC(p,t,r,u),e.nMusicCRC=p[0],u>0&&(e.VBR_seek_table.nBytesWritten+=u),e.decode_on_the_fly&&n()}return u},this.init_bit_stream_w=function(e){o=r(Z.LAME_MAXMP3BUFFER),e.h_ptr=e.w_ptr=0,e.header[e.h_ptr].write_timing=0,l=-1,c=0,s=0}}function M(e,t,n,r){this.xlen=e,this.linmax=t,this.table=n,this.hlen=r}v.MAX_VALUE=34028235e31,m.vbr_off=new m(0),m.vbr_mt=new m(1),m.vbr_rh=new m(2),m.vbr_abr=new m(3),m.vbr_mtrh=new m(4),m.vbr_default=m.vbr_mtrh,b.STEREO=new b(0),b.JOINT_STEREO=new b(1),b.DUAL_CHANNEL=new b(2),b.MONO=new b(3),b.NOT_SET=new b(4),w.STEPS_per_dB=100,w.MAX_dB=120,w.GAIN_NOT_ENOUGH_SAMPLES=-24601,w.GAIN_ANALYSIS_ERROR=0,w.GAIN_ANALYSIS_OK=1,w.INIT_GAIN_ANALYSIS_ERROR=0,w.INIT_GAIN_ANALYSIS_OK=1,w.YULE_ORDER=10,w.MAX_ORDER=w.YULE_ORDER,w.MAX_SAMP_FREQ=48e3,w.RMS_WINDOW_TIME_NUMERATOR=1,w.RMS_WINDOW_TIME_DENOMINATOR=20,w.MAX_SAMPLES_PER_WINDOW=w.MAX_SAMP_FREQ*w.RMS_WINDOW_TIME_NUMERATOR/w.RMS_WINDOW_TIME_DENOMINATOR+1,k.NUMTOCENTRIES=100,k.MAXFRAMESIZE=2880,A.EQ=function(e,t){return Math.abs(e)>Math.abs(t)?Math.abs(e-t)<=1e-6*Math.abs(e):Math.abs(e-t)<=1e-6*Math.abs(t)},A.NEQ=function(e,t){return!A.EQ(e,t)};var T={};function R(e){this.bits=e}function C(){this.over_noise=0,this.tot_noise=0,this.max_noise=0,this.over_count=0,this.over_SSD=0,this.bits=0}function E(){this.setModules=function(e,t){}}function B(){this.useAdjust=0,this.aaSensitivityP=0,this.adjust=0,this.adjustLimit=0,this.decay=0,this.floor=0,this.l=o(z.SBMAX_l),this.s=o(z.SBMAX_s),this.psfb21=o(z.PSFB21),this.psfb12=o(z.PSFB12),this.cb_l=o(z.CBANDS),this.cb_s=o(z.CBANDS),this.eql_w=o(z.BLKSIZE/2)}function O(){this.class_id=0,this.num_samples=0,this.num_channels=0,this.in_samplerate=0,this.out_samplerate=0,this.scale=0,this.scale_left=0,this.scale_right=0,this.analysis=!1,this.bWriteVbrTag=!1,this.decode_only=!1,this.quality=0,this.mode=b.STEREO,this.force_ms=!1,this.free_format=!1,this.findReplayGain=!1,this.decode_on_the_fly=!1,this.write_id3tag_automatic=!1,this.brate=0,this.compression_ratio=0,this.copyright=0,this.original=0,this.extension=0,this.emphasis=0,this.error_protection=0,this.strict_ISO=!1,this.disable_reservoir=!1,this.quant_comp=0,this.quant_comp_short=0,this.experimentalY=!1,this.experimentalZ=0,this.exp_nspsytune=0,this.preset=0,this.VBR=null,this.VBR_q_frac=0,this.VBR_q=0,this.VBR_mean_bitrate_kbps=0,this.VBR_min_bitrate_kbps=0,this.VBR_max_bitrate_kbps=0,this.VBR_hard_min=0,this.lowpassfreq=0,this.highpassfreq=0,this.lowpasswidth=0,this.highpasswidth=0,this.maskingadjust=0,this.maskingadjust_short=0,this.ATHonly=!1,this.ATHshort=!1,this.noATH=!1,this.ATHtype=0,this.ATHcurve=0,this.ATHlower=0,this.athaa_type=0,this.athaa_loudapprox=0,this.athaa_sensitivity=0,this.short_blocks=null,this.useTemporal=!1,this.interChRatio=0,this.msfix=0,this.tune=!1,this.tune_value_a=0,this.version=0,this.encoder_delay=0,this.encoder_padding=0,this.framesize=0,this.frameNum=0,this.lame_allocated_gfp=0,this.internal_flags=null}function L(e){var t=e;this.quantize=t,this.iteration_loop=function(e,t,r,a){var s=e.internal_flags,l=o(H.SFBMAX),c=o(576),f=i(2),u=0,p=s.l3_side,_=new R(u);this.quantize.rv.ResvFrameBegin(e,_),u=_.bits;for(var d=0;d>2&63)>=32&&(a-=64),f=Math.pow(10,a/4/10),(a=r.exp_nspsytune>>8&63)>=32&&(a-=64),d=Math.pow(10,a/4/10),(a=r.exp_nspsytune>>14&63)>=32&&(a-=64),m=Math.pow(10,a/4/10),(a=r.exp_nspsytune>>20&63)>=32&&(a-=64),g=m*Math.pow(10,a/4/10),a=0;aW.MAX_BITS_PER_GRANULE&&(v=W.MAX_BITS_PER_GRANULE),c=0,f=0;f3*o/4&&(_[f]=3*o/4),_[f]<0&&(_[f]=0),_[f]+a[f]>W.MAX_BITS_PER_CHANNEL&&(_[f]=Math.max(0,W.MAX_BITS_PER_CHANNEL-a[f])),c+=_[f];if(c>h)for(f=0;fW.MAX_BITS_PER_GRANULE&&n(),v},this.athAdjust=function(e,t,n){var r=90.30873362,a=d.FAST_LOG10_X(t,10),i=e*e,o=0;return a-=n,i>1e-20&&(o=1+d.FAST_LOG10_X(i,10/r)),o<0&&(o=0),a*=o,a+=n+r-94.82444863,Math.pow(10,.1*a)},this.calc_xmin=function(e,t,r,a){var i,o=0,s=e.internal_flags,l=0,c=0,f=s.ATH,u=r.xr,p=e.VBR==m.vbr_mtrh?1:0,_=s.masking_lower;for(e.VBR!=m.vbr_mtrh&&e.VBR!=m.vbr_mt||(_=1),i=0;i>1,T=0;do{T+=C=u[l]*u[l],x+=C0);T>w&&c++,i==z.SBPSY_l&&n(),0!=p&&(w=x),e.ATHonly||(k=t.en.l[i])>0&&(M=T*t.thm.l[i]*_/k,0!=p&&(M*=s.nsPsy.longfact[i]),w>1;S=y/b,x=2220446049250313e-31;do{var C,E;T+=C=u[l]*u[l],x+=C0);T>y&&c++,v==z.SBPSY_s&&n(),w=0!=p?x:y,e.ATHonly||e.ATHshort||(k=t.en.s[v][g])>0&&(M=T*t.thm.s[v][g]*_/k,0!=p&&(M*=s.nsPsy.shortfact[v]),wa[o-3+1]&&(a[o-3+1]+=(a[o-3]-a[o-3+1])*s.decay),a[o-3+1]>a[o-3+2]&&(a[o-3+2]+=(a[o-3+1]-a[o-3+2])*s.decay))}return c},this.calc_noise_core=function(e,t,n,r){var a=0,i=t.s,s=e.l3_enc;if(i>e.count1)for(;0!=n--;)c=e.xr[i],i++,a+=c*c,c=e.xr[i],i++,a+=c*c;else if(i>e.big_values){var l=o(2);for(l[0]=0,l[1]=r;0!=n--;)c=Math.abs(e.xr[i])-l[s[i]],i++,a+=c*c,c=Math.abs(e.xr[i])-l[s[i]],i++,a+=c*c}else for(;0!=n--;){var c;c=Math.abs(e.xr[i])-_[s[i]]*r,i++,a+=c*c,c=Math.abs(e.xr[i])-_[s[i]]*r,i++,a+=c*c}return t.s=i,a},this.calc_noise=function(e,t,n,r,a){var i,o,s=0,l=0,c=0,p=0,_=0,h=-20,v=0,m=e.scalefac,b=0;for(r.over_SSD=0,i=0;i>1,v+e.width[i]>e.max_nonzero_coeff&&(o=(x=e.max_nonzero_coeff-v+1)>0?x>>1:0);var A=new g(v);S=this.calc_noise_core(e,A,o,k),v=A.s,null!=a&&(a.step[i]=w,a.noise[i]=S),S=n[s++]=S/t[l++],S=d.FAST_LOG10(Math.max(S,1e-20)),null!=a&&(a.noise_log[i]=S)}null!=a&&(a.global_gain=e.global_gain),_+=S,S>0&&(y=Math.max(0|10*S+.5,1),r.over_SSD+=y*y,c++,p+=S),h=Math.max(h,S)}return r.over_count=c,r.tot_noise=_,r.over_noise=p,r.max_noise=h,c}}function N(){this.global_gain=0,this.sfb_count1=0,this.step=i(39),this.noise=o(39),this.noise_log=o(39)}function D(){this.xr=o(576),this.l3_enc=i(576),this.scalefac=i(H.SFBMAX),this.xrpow_max=0,this.part2_3_length=0,this.big_values=0,this.count1=0,this.global_gain=0,this.scalefac_compress=0,this.block_type=0,this.mixed_block_flag=0,this.table_select=i(3),this.subblock_gain=i(4),this.region0_count=0,this.region1_count=0,this.preflag=0,this.scalefac_scale=0,this.count1table_select=0,this.part2_length=0,this.sfb_lmax=0,this.sfb_smin=0,this.psy_lmax=0,this.sfbmax=0,this.psymax=0,this.sfbdivide=0,this.width=i(H.SFBMAX),this.window=i(H.SFBMAX),this.count1bits=0,this.sfb_partition_table=null,this.slen=i(4),this.max_nonzero_coeff=0;var e=this;function t(e){return new Int32Array(e)}this.assign=function(n){var r;e.xr=(r=n.xr,new Float32Array(r)),e.l3_enc=t(n.l3_enc),e.scalefac=t(n.scalefac),e.xrpow_max=n.xrpow_max,e.part2_3_length=n.part2_3_length,e.big_values=n.big_values,e.count1=n.count1,e.global_gain=n.global_gain,e.scalefac_compress=n.scalefac_compress,e.block_type=n.block_type,e.mixed_block_flag=n.mixed_block_flag,e.table_select=t(n.table_select),e.subblock_gain=t(n.subblock_gain),e.region0_count=n.region0_count,e.region1_count=n.region1_count,e.preflag=n.preflag,e.scalefac_scale=n.scalefac_scale,e.count1table_select=n.count1table_select,e.part2_length=n.part2_length,e.sfb_lmax=n.sfb_lmax,e.sfb_smin=n.sfb_smin,e.psy_lmax=n.psy_lmax,e.sfbmax=n.sfbmax,e.psymax=n.psymax,e.sfbdivide=n.sfbdivide,e.width=t(n.width),e.window=t(n.window),e.count1bits=n.count1bits,e.sfb_partition_table=n.sfb_partition_table.slice(0),e.slen=t(n.slen),e.max_nonzero_coeff=n.max_nonzero_coeff}}T.t1HB=[1,1,1,0],T.t2HB=[1,2,1,3,1,1,3,2,0],T.t3HB=[3,2,1,1,1,1,3,2,0],T.t5HB=[1,2,6,5,3,1,4,4,7,5,7,1,6,1,1,0],T.t6HB=[7,3,5,1,6,2,3,2,5,4,4,1,3,3,2,0],T.t7HB=[1,2,10,19,16,10,3,3,7,10,5,3,11,4,13,17,8,4,12,11,18,15,11,2,7,6,9,14,3,1,6,4,5,3,2,0],T.t8HB=[3,4,6,18,12,5,5,1,2,16,9,3,7,3,5,14,7,3,19,17,15,13,10,4,13,5,8,11,5,1,12,4,4,1,1,0],T.t9HB=[7,5,9,14,15,7,6,4,5,5,6,7,7,6,8,8,8,5,15,6,9,10,5,1,11,7,9,6,4,1,14,4,6,2,6,0],T.t10HB=[1,2,10,23,35,30,12,17,3,3,8,12,18,21,12,7,11,9,15,21,32,40,19,6,14,13,22,34,46,23,18,7,20,19,33,47,27,22,9,3,31,22,41,26,21,20,5,3,14,13,10,11,16,6,5,1,9,8,7,8,4,4,2,0],T.t11HB=[3,4,10,24,34,33,21,15,5,3,4,10,32,17,11,10,11,7,13,18,30,31,20,5,25,11,19,59,27,18,12,5,35,33,31,58,30,16,7,5,28,26,32,19,17,15,8,14,14,12,9,13,14,9,4,1,11,4,6,6,6,3,2,0],T.t12HB=[9,6,16,33,41,39,38,26,7,5,6,9,23,16,26,11,17,7,11,14,21,30,10,7,17,10,15,12,18,28,14,5,32,13,22,19,18,16,9,5,40,17,31,29,17,13,4,2,27,12,11,15,10,7,4,1,27,12,8,12,6,3,1,0],T.t13HB=[1,5,14,21,34,51,46,71,42,52,68,52,67,44,43,19,3,4,12,19,31,26,44,33,31,24,32,24,31,35,22,14,15,13,23,36,59,49,77,65,29,40,30,40,27,33,42,16,22,20,37,61,56,79,73,64,43,76,56,37,26,31,25,14,35,16,60,57,97,75,114,91,54,73,55,41,48,53,23,24,58,27,50,96,76,70,93,84,77,58,79,29,74,49,41,17,47,45,78,74,115,94,90,79,69,83,71,50,59,38,36,15,72,34,56,95,92,85,91,90,86,73,77,65,51,44,43,42,43,20,30,44,55,78,72,87,78,61,46,54,37,30,20,16,53,25,41,37,44,59,54,81,66,76,57,54,37,18,39,11,35,33,31,57,42,82,72,80,47,58,55,21,22,26,38,22,53,25,23,38,70,60,51,36,55,26,34,23,27,14,9,7,34,32,28,39,49,75,30,52,48,40,52,28,18,17,9,5,45,21,34,64,56,50,49,45,31,19,12,15,10,7,6,3,48,23,20,39,36,35,53,21,16,23,13,10,6,1,4,2,16,15,17,27,25,20,29,11,17,12,16,8,1,1,0,1],T.t15HB=[7,12,18,53,47,76,124,108,89,123,108,119,107,81,122,63,13,5,16,27,46,36,61,51,42,70,52,83,65,41,59,36,19,17,15,24,41,34,59,48,40,64,50,78,62,80,56,33,29,28,25,43,39,63,55,93,76,59,93,72,54,75,50,29,52,22,42,40,67,57,95,79,72,57,89,69,49,66,46,27,77,37,35,66,58,52,91,74,62,48,79,63,90,62,40,38,125,32,60,56,50,92,78,65,55,87,71,51,73,51,70,30,109,53,49,94,88,75,66,122,91,73,56,42,64,44,21,25,90,43,41,77,73,63,56,92,77,66,47,67,48,53,36,20,71,34,67,60,58,49,88,76,67,106,71,54,38,39,23,15,109,53,51,47,90,82,58,57,48,72,57,41,23,27,62,9,86,42,40,37,70,64,52,43,70,55,42,25,29,18,11,11,118,68,30,55,50,46,74,65,49,39,24,16,22,13,14,7,91,44,39,38,34,63,52,45,31,52,28,19,14,8,9,3,123,60,58,53,47,43,32,22,37,24,17,12,15,10,2,1,71,37,34,30,28,20,17,26,21,16,10,6,8,6,2,0],T.t16HB=[1,5,14,44,74,63,110,93,172,149,138,242,225,195,376,17,3,4,12,20,35,62,53,47,83,75,68,119,201,107,207,9,15,13,23,38,67,58,103,90,161,72,127,117,110,209,206,16,45,21,39,69,64,114,99,87,158,140,252,212,199,387,365,26,75,36,68,65,115,101,179,164,155,264,246,226,395,382,362,9,66,30,59,56,102,185,173,265,142,253,232,400,388,378,445,16,111,54,52,100,184,178,160,133,257,244,228,217,385,366,715,10,98,48,91,88,165,157,148,261,248,407,397,372,380,889,884,8,85,84,81,159,156,143,260,249,427,401,392,383,727,713,708,7,154,76,73,141,131,256,245,426,406,394,384,735,359,710,352,11,139,129,67,125,247,233,229,219,393,743,737,720,885,882,439,4,243,120,118,115,227,223,396,746,742,736,721,712,706,223,436,6,202,224,222,218,216,389,386,381,364,888,443,707,440,437,1728,4,747,211,210,208,370,379,734,723,714,1735,883,877,876,3459,865,2,377,369,102,187,726,722,358,711,709,866,1734,871,3458,870,434,0,12,10,7,11,10,17,11,9,13,12,10,7,5,3,1,3],T.t24HB=[15,13,46,80,146,262,248,434,426,669,653,649,621,517,1032,88,14,12,21,38,71,130,122,216,209,198,327,345,319,297,279,42,47,22,41,74,68,128,120,221,207,194,182,340,315,295,541,18,81,39,75,70,134,125,116,220,204,190,178,325,311,293,271,16,147,72,69,135,127,118,112,210,200,188,352,323,306,285,540,14,263,66,129,126,119,114,214,202,192,180,341,317,301,281,262,12,249,123,121,117,113,215,206,195,185,347,330,308,291,272,520,10,435,115,111,109,211,203,196,187,353,332,313,298,283,531,381,17,427,212,208,205,201,193,186,177,169,320,303,286,268,514,377,16,335,199,197,191,189,181,174,333,321,305,289,275,521,379,371,11,668,184,183,179,175,344,331,314,304,290,277,530,383,373,366,10,652,346,171,168,164,318,309,299,287,276,263,513,375,368,362,6,648,322,316,312,307,302,292,284,269,261,512,376,370,364,359,4,620,300,296,294,288,282,273,266,515,380,374,369,365,361,357,2,1033,280,278,274,267,264,259,382,378,372,367,363,360,358,356,0,43,20,19,17,15,13,11,9,7,6,4,7,5,3,1,3],T.t32HB=[1,10,8,20,12,20,16,32,14,12,24,0,28,16,24,16],T.t33HB=[15,28,26,48,22,40,36,64,14,24,20,32,12,16,8,0],T.t1l=[1,4,3,5],T.t2l=[1,4,7,4,5,7,6,7,8],T.t3l=[2,3,7,4,4,7,6,7,8],T.t5l=[1,4,7,8,4,5,8,9,7,8,9,10,8,8,9,10],T.t6l=[3,4,6,8,4,4,6,7,5,6,7,8,7,7,8,9],T.t7l=[1,4,7,9,9,10,4,6,8,9,9,10,7,7,9,10,10,11,8,9,10,11,11,11,8,9,10,11,11,12,9,10,11,12,12,12],T.t8l=[2,4,7,9,9,10,4,4,6,10,10,10,7,6,8,10,10,11,9,10,10,11,11,12,9,9,10,11,12,12,10,10,11,11,13,13],T.t9l=[3,4,6,7,9,10,4,5,6,7,8,10,5,6,7,8,9,10,7,7,8,9,9,10,8,8,9,9,10,11,9,9,10,10,11,11],T.t10l=[1,4,7,9,10,10,10,11,4,6,8,9,10,11,10,10,7,8,9,10,11,12,11,11,8,9,10,11,12,12,11,12,9,10,11,12,12,12,12,12,10,11,12,12,13,13,12,13,9,10,11,12,12,12,13,13,10,10,11,12,12,13,13,13],T.t11l=[2,4,6,8,9,10,9,10,4,5,6,8,10,10,9,10,6,7,8,9,10,11,10,10,8,8,9,11,10,12,10,11,9,10,10,11,11,12,11,12,9,10,11,12,12,13,12,13,9,9,9,10,11,12,12,12,9,9,10,11,12,12,12,12],T.t12l=[4,4,6,8,9,10,10,10,4,5,6,7,9,9,10,10,6,6,7,8,9,10,9,10,7,7,8,8,9,10,10,10,8,8,9,9,10,10,10,11,9,9,10,10,10,11,10,11,9,9,9,10,10,11,11,12,10,10,10,11,11,11,11,12],T.t13l=[1,5,7,8,9,10,10,11,10,11,12,12,13,13,14,14,4,6,8,9,10,10,11,11,11,11,12,12,13,14,14,14,7,8,9,10,11,11,12,12,11,12,12,13,13,14,15,15,8,9,10,11,11,12,12,12,12,13,13,13,13,14,15,15,9,9,11,11,12,12,13,13,12,13,13,14,14,15,15,16,10,10,11,12,12,12,13,13,13,13,14,13,15,15,16,16,10,11,12,12,13,13,13,13,13,14,14,14,15,15,16,16,11,11,12,13,13,13,14,14,14,14,15,15,15,16,18,18,10,10,11,12,12,13,13,14,14,14,14,15,15,16,17,17,11,11,12,12,13,13,13,15,14,15,15,16,16,16,18,17,11,12,12,13,13,14,14,15,14,15,16,15,16,17,18,19,12,12,12,13,14,14,14,14,15,15,15,16,17,17,17,18,12,13,13,14,14,15,14,15,16,16,17,17,17,18,18,18,13,13,14,15,15,15,16,16,16,16,16,17,18,17,18,18,14,14,14,15,15,15,17,16,16,19,17,17,17,19,18,18,13,14,15,16,16,16,17,16,17,17,18,18,21,20,21,18],T.t15l=[3,5,6,8,8,9,10,10,10,11,11,12,12,12,13,14,5,5,7,8,9,9,10,10,10,11,11,12,12,12,13,13,6,7,7,8,9,9,10,10,10,11,11,12,12,13,13,13,7,8,8,9,9,10,10,11,11,11,12,12,12,13,13,13,8,8,9,9,10,10,11,11,11,11,12,12,12,13,13,13,9,9,9,10,10,10,11,11,11,11,12,12,13,13,13,14,10,9,10,10,10,11,11,11,11,12,12,12,13,13,14,14,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,14,10,10,10,11,11,11,11,12,12,12,12,13,13,14,14,14,10,10,11,11,11,11,12,12,12,13,13,13,13,14,14,14,11,11,11,11,12,12,12,12,12,13,13,13,13,14,15,14,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,12,12,11,12,12,12,13,13,13,13,13,13,14,14,15,15,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,13,13,13,13,13,13,13,13,14,14,14,14,15,15,14,15,13,13,13,13,13,13,13,14,14,14,14,14,15,15,15,15],T.t16_5l=[1,5,7,9,10,10,11,11,12,12,12,13,13,13,14,11,4,6,8,9,10,11,11,11,12,12,12,13,14,13,14,11,7,8,9,10,11,11,12,12,13,12,13,13,13,14,14,12,9,9,10,11,11,12,12,12,13,13,14,14,14,15,15,13,10,10,11,11,12,12,13,13,13,14,14,14,15,15,15,12,10,10,11,11,12,13,13,14,13,14,14,15,15,15,16,13,11,11,11,12,13,13,13,13,14,14,14,14,15,15,16,13,11,11,12,12,13,13,13,14,14,15,15,15,15,17,17,13,11,12,12,13,13,13,14,14,15,15,15,15,16,16,16,13,12,12,12,13,13,14,14,15,15,15,15,16,15,16,15,14,12,13,12,13,14,14,14,14,15,16,16,16,17,17,16,13,13,13,13,13,14,14,15,16,16,16,16,16,16,15,16,14,13,14,14,14,14,15,15,15,15,17,16,16,16,16,18,14,15,14,14,14,15,15,16,16,16,18,17,17,17,19,17,14,14,15,13,14,16,16,15,16,16,17,18,17,19,17,16,14,11,11,11,12,12,13,13,13,14,14,14,14,14,14,14,12],T.t16l=[1,5,7,9,10,10,11,11,12,12,12,13,13,13,14,10,4,6,8,9,10,11,11,11,12,12,12,13,14,13,14,10,7,8,9,10,11,11,12,12,13,12,13,13,13,14,14,11,9,9,10,11,11,12,12,12,13,13,14,14,14,15,15,12,10,10,11,11,12,12,13,13,13,14,14,14,15,15,15,11,10,10,11,11,12,13,13,14,13,14,14,15,15,15,16,12,11,11,11,12,13,13,13,13,14,14,14,14,15,15,16,12,11,11,12,12,13,13,13,14,14,15,15,15,15,17,17,12,11,12,12,13,13,13,14,14,15,15,15,15,16,16,16,12,12,12,12,13,13,14,14,15,15,15,15,16,15,16,15,13,12,13,12,13,14,14,14,14,15,16,16,16,17,17,16,12,13,13,13,13,14,14,15,16,16,16,16,16,16,15,16,13,13,14,14,14,14,15,15,15,15,17,16,16,16,16,18,13,15,14,14,14,15,15,16,16,16,18,17,17,17,19,17,13,14,15,13,14,16,16,15,16,16,17,18,17,19,17,16,13,10,10,10,11,11,12,12,12,13,13,13,13,13,13,13,10],T.t24l=[4,5,7,8,9,10,10,11,11,12,12,12,12,12,13,10,5,6,7,8,9,10,10,11,11,11,12,12,12,12,12,10,7,7,8,9,9,10,10,11,11,11,11,12,12,12,13,9,8,8,9,9,10,10,10,11,11,11,11,12,12,12,12,9,9,9,9,10,10,10,10,11,11,11,12,12,12,12,13,9,10,9,10,10,10,10,11,11,11,11,12,12,12,12,12,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,9,11,10,10,10,11,11,11,11,12,12,12,12,12,13,13,10,11,11,11,11,11,11,11,11,11,12,12,12,12,13,13,10,11,11,11,11,11,11,11,12,12,12,12,12,13,13,13,10,12,11,11,11,11,12,12,12,12,12,12,13,13,13,13,10,12,12,11,11,11,12,12,12,12,12,12,13,13,13,13,10,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,10,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,10,13,12,12,12,12,12,12,13,13,13,13,13,13,13,13,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,6],T.t32l=[1,5,5,7,5,8,7,9,5,7,7,9,7,9,9,10],T.t33l=[4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8],T.ht=[new M(0,0,null,null),new M(2,0,T.t1HB,T.t1l),new M(3,0,T.t2HB,T.t2l),new M(3,0,T.t3HB,T.t3l),new M(0,0,null,null),new M(4,0,T.t5HB,T.t5l),new M(4,0,T.t6HB,T.t6l),new M(6,0,T.t7HB,T.t7l),new M(6,0,T.t8HB,T.t8l),new M(6,0,T.t9HB,T.t9l),new M(8,0,T.t10HB,T.t10l),new M(8,0,T.t11HB,T.t11l),new M(8,0,T.t12HB,T.t12l),new M(16,0,T.t13HB,T.t13l),new M(0,0,null,T.t16_5l),new M(16,0,T.t15HB,T.t15l),new M(1,1,T.t16HB,T.t16l),new M(2,3,T.t16HB,T.t16l),new M(3,7,T.t16HB,T.t16l),new M(4,15,T.t16HB,T.t16l),new M(6,63,T.t16HB,T.t16l),new M(8,255,T.t16HB,T.t16l),new M(10,1023,T.t16HB,T.t16l),new M(13,8191,T.t16HB,T.t16l),new M(4,15,T.t24HB,T.t24l),new M(5,31,T.t24HB,T.t24l),new M(6,63,T.t24HB,T.t24l),new M(7,127,T.t24HB,T.t24l),new M(8,255,T.t24HB,T.t24l),new M(9,511,T.t24HB,T.t24l),new M(11,2047,T.t24HB,T.t24l),new M(13,8191,T.t24HB,T.t24l),new M(0,0,T.t32HB,T.t32l),new M(0,0,T.t33HB,T.t33l)],T.largetbl=[65540,327685,458759,589832,655369,655370,720906,720907,786443,786444,786444,851980,851980,851980,917517,655370,262149,393222,524295,589832,655369,720906,720906,720907,786443,786443,786444,851980,917516,851980,917516,655370,458759,524295,589832,655369,720905,720906,786442,786443,851979,786443,851979,851980,851980,917516,917517,720905,589832,589832,655369,720905,720906,786442,786442,786443,851979,851979,917515,917516,917516,983052,983052,786441,655369,655369,720905,720906,786442,786442,851978,851979,851979,917515,917516,917516,983052,983052,983053,720905,655370,655369,720906,720906,786442,851978,851979,917515,851979,917515,917516,983052,983052,983052,1048588,786441,720906,720906,720906,786442,851978,851979,851979,851979,917515,917516,917516,917516,983052,983052,1048589,786441,720907,720906,786442,786442,851979,851979,851979,917515,917516,983052,983052,983052,983052,1114125,1114125,786442,720907,786443,786443,851979,851979,851979,917515,917515,983051,983052,983052,983052,1048588,1048589,1048589,786442,786443,786443,786443,851979,851979,917515,917515,983052,983052,983052,983052,1048588,983053,1048589,983053,851978,786444,851979,786443,851979,917515,917516,917516,917516,983052,1048588,1048588,1048589,1114125,1114125,1048589,786442,851980,851980,851979,851979,917515,917516,983052,1048588,1048588,1048588,1048588,1048589,1048589,983053,1048589,851978,851980,917516,917516,917516,917516,983052,983052,983052,983052,1114124,1048589,1048589,1048589,1048589,1179661,851978,983052,917516,917516,917516,983052,983052,1048588,1048588,1048589,1179661,1114125,1114125,1114125,1245197,1114125,851978,917517,983052,851980,917516,1048588,1048588,983052,1048589,1048589,1114125,1179661,1114125,1245197,1114125,1048589,851978,655369,655369,655369,720905,720905,786441,786441,786441,851977,851977,851977,851978,851978,851978,851978,655366],T.table23=[65538,262147,458759,262148,327684,458759,393222,458759,524296],T.table56=[65539,262148,458758,524296,262148,327684,524294,589831,458757,524294,589831,655368,524295,524295,589832,655369],T.bitrate_table=[[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160,-1],[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],[0,8,16,24,32,40,48,56,64,-1,-1,-1,-1,-1,-1,-1]],T.samplerate_table=[[22050,24e3,16e3,-1],[44100,48e3,32e3,-1],[11025,12e3,8e3,-1]],T.scfsi_band=[0,6,11,16,21],$.Q_MAX=257,$.Q_MAX2=116,$.LARGE_BITS=1e5,$.IXMAX_VAL=8206;var H={};function j(){var e,t;this.rv=null,this.qupvt=null;var r,a=new E;function i(e){this.ordinal=e}function s(e){for(var t=0;t0?(o=r.over_SSD<=t.over_SSD,r.over_SSD==t.over_SSD&&(o=r.bits.2||r.max_noise<=0&&t.max_noise<0&&t.max_noise>r.max_noise-.2&&r.tot_noise0&&t.max_noise>r.max_noise-.2&&r.tot_noise0&&t.max_noise>-.05&&t.max_noise>r.max_noise-.1&&r.tot_noise+r.over_noise0&&t.max_noise>-.1&&t.max_noise>r.max_noise-.15&&r.tot_noise+r.over_noise+r.over_noise1?l=Math.pow(l,.5):l*=.95;break;case 0:default:l>1?l=1:l*=.95}var u=0;for(c=0;ct.xrpow_max&&(t.xrpow_max=a[u+p]);if(2==s.noise_shaping_amp)return}}}(e,a,i,o);var f=s(a);return!(f||(f=2==c.mode_gr?r.scale_bitcount(a):r.scale_bitcount_lsf(c,a))&&(c.noise_shaping>1&&(p.fill(c.pseudohalf,0),0==a.scalefac_scale?(function(e,n){for(var r=0,a=0;ae.xrpow_max&&(e.xrpow_max=n[r+s])}e.scalefac[a]=o>>1}e.preflag=0,e.scalefac_scale=1}(a,o),f=!1):a.block_type==z.SHORT_TYPE&&c.subblock_gain>0&&(f=function(e,n,r){var a,i=n.scalefac;for(a=0;a=16)return!0;for(var o=0;o<3;o++){var s=0,l=0;for(a=n.sfb_lmax+o;a=7)return!0;n.subblock_gain[o]++;var c=e.scalefac_band.l[n.sfb_lmax];for(a=n.sfb_lmax+o;a>n.scalefac_scale)>=0)i[a]=u,c+=3*f;else{i[a]=0;var p=210+(u<n.xrpow_max&&(n.xrpow_max=r[c+_]);c+=f*(3-o-1)}}var d=t.IPOW20(202);for(c+=n.width[a]*(o+1),_=-n.width[a];_<0;_++)r[c+_]*=d,r[c+_]>n.xrpow_max&&(n.xrpow_max=r[c+_])}}return!1}(c,a,o)||s(a))),f||(f=2==c.mode_gr?r.scale_bitcount(a):r.scale_bitcount_lsf(c,a)),f))}this.setModules=function(n,i,o,s){e=i,this.rv=i,t=o,this.qupvt=o,r=s,a.setModules(t,r)},this.init_xrpow=function(e,t,n){var r=0,a=0|t.max_nonzero_coeff;if(t.xrpow_max=0,p.fill(n,a,576,0),(r=function(e,t,n,r){r=0;for(var a=0;a<=n;++a){var i=Math.abs(e.xr[a]);r+=i,t[a]=Math.sqrt(i*Math.sqrt(i)),t[a]>e.xrpow_max&&(e.xrpow_max=t[a])}return r}(t,n,a,r))>1e-20){var i=0;0!=(2&e.substep_shaping)&&(i=1);for(var o=0;o=0&&!i;o--){var s=e.scalefac_band.psfb21[o],l=e.scalefac_band.psfb21[o+1],c=t.athAdjust(r.adjust,r.psfb21[o],r.floor);e.nsPsy.longfact[21]>1e-12&&(c*=e.nsPsy.longfact[21]);for(var f=l-1;f>=s;f--){if(!(Math.abs(a[f])=0&&!i;o--){l=(s=3*e.scalefac_band.s[12]+(e.scalefac_band.s[13]-e.scalefac_band.s[12])*u+(e.scalefac_band.psfb12[o]-e.scalefac_band.psfb12[0]))+(e.scalefac_band.psfb12[o+1]-e.scalefac_band.psfb12[o]);var p=t.athAdjust(r.adjust,r.psfb12[o],r.floor);for(e.nsPsy.shortfact[12]>1e-12&&(p*=e.nsPsy.shortfact[12]),f=l-1;f>=s;f--){if(!(Math.abs(a[f])a?(p==i.BINSEARCH_DOWN&&(f=!0),f&&(c/=2),p=i.BINSEARCH_UP,_=c):(p==i.BINSEARCH_UP&&(f=!0),f&&(c/=2),p=i.BINSEARCH_DOWN,_=-c),t.global_gain+=_,t.global_gain<0&&n(),t.global_gain>255&&n()}for(;l>a&&t.global_gain<255;)t.global_gain++,l=r.count_bits(e,s,t,null);e.CurrentStep[o]=u-t.global_gain>=4?4:2,e.OldValue[o]=t.global_gain,t.part2_3_length=l}(d,a,p,u,f),0==d.noise_shaping)return 100;t.calc_noise(a,s,b,g,y),g.bits=a.part2_3_length,h.assign(a);var x=0;for(_.arraycopy(f,0,v,0,576);!S;){do{var k,A=new C,M=255;if(k=0!=(2&d.substep_shaping)?20:3,d.sfb21_extra&&n(),!c(e,h,b,f))break;0!=h.scalefac_scale&&(M=254);var T=p-h.part2_length;if(T<=0)break;for(;(h.part2_3_length=r.count_bits(d,f,h,y))>T&&h.global_gain<=M;)h.global_gain++;if(h.global_gain>M)break;if(0==g.over_count){for(;(h.part2_3_length=r.count_bits(d,f,h,y))>w&&h.global_gain<=M;)h.global_gain++;if(h.global_gain>M)break}if(t.calc_noise(h,s,b,A,y),A.bits=h.part2_3_length,0!=(l(a.block_type!=z.SHORT_TYPE?e.quant_comp:e.quant_comp_short,g,A)?1:0))w=a.part2_3_length,g=A,a.assign(h),x=0,_.arraycopy(f,0,v,0,576);else if(0==d.full_outer_loop){if(++x>k&&0==g.over_count)break;d.noise_shaping_amp,d.noise_shaping_amp}}while(h.global_gain+h.scalefac_scale<255);3==d.noise_shaping_amp?n():S=!0}return e.VBR==m.vbr_rh||e.VBR==m.vbr_mtrh?_.arraycopy(v,0,f,0,576):0!=(1&d.substep_shaping)&&n(),g.over_count},this.iteration_finish_one=function(t,n,a){var i=t.l3_side,o=i.tt[n][a];r.best_scalefac_store(t,n,a,i),1==t.use_best_huffman&&r.best_huffman_divide(t,o),e.ResvAdjust(t,o)}}function F(){var e=[-.1482523854003001,32.308141959636465,296.40344946382766,883.1344870032432,11113.947376231741,1057.2713659324597,305.7402417275812,30.825928907280012,3.8533188138216365,59.42900443849514,709.5899960123345,5281.91112291017,-5829.66483675846,-817.6293103748613,-76.91656988279972,-4.594269939176596,.9063471690191471,.1960342806591213,-.15466694054279598,34.324387823855965,301.8067566458425,817.599602898885,11573.795901679885,1181.2520595540152,321.59731579894424,31.232021761053772,3.7107095756221318,53.650946155329365,684.167428119626,5224.56624370173,-6366.391851890084,-908.9766368219582,-89.83068876699639,-5.411397422890401,.8206787908286602,.3901806440322567,-.16070888947830023,36.147034243915876,304.11815768187864,732.7429163887613,11989.60988270091,1300.012278487897,335.28490093152146,31.48816102859945,3.373875931311736,47.232241542899175,652.7371796173471,5132.414255594984,-6909.087078780055,-1001.9990371107289,-103.62185754286375,-6.104916304710272,.7416505462720353,.5805693545089249,-.16636367662261495,37.751650073343995,303.01103387567713,627.9747488785183,12358.763425278165,1412.2779918482834,346.7496836825721,31.598286663170416,3.1598635433980946,40.57878626349686,616.1671130880391,5007.833007176154,-7454.040671756168,-1095.7960341867115,-118.24411666465777,-6.818469345853504,.6681786379192989,.7653668647301797,-.1716176790982088,39.11551877123304,298.3413246578966,503.5259106886539,12679.589408408976,1516.5821921214542,355.9850766329023,31.395241710249053,2.9164211881972335,33.79716964664243,574.8943997801362,4853.234992253242,-7997.57021486075,-1189.7624067269965,-133.6444792601766,-7.7202770609839915,.5993769336819237,.9427934736519954,-.17645823955292173,40.21879108166477,289.9982036694474,359.3226160751053,12950.259102786438,1612.1013903507662,362.85067106591504,31.045922092242872,2.822222032597987,26.988862316190684,529.8996541764288,4671.371946949588,-8535.899136645805,-1282.5898586244496,-149.58553632943463,-8.643494270763135,.5345111359507916,1.111140466039205,-.36174739330527045,41.04429910497807,277.5463268268618,195.6386023135583,13169.43812144731,1697.6433561479398,367.40983966190305,30.557037410382826,2.531473372857427,20.070154905927314,481.50208566532336,4464.970341588308,-9065.36882077239,-1373.62841526722,-166.1660487028118,-9.58289321133207,.4729647758913199,1.268786568327291,-.36970682634889585,41.393213350082036,261.2935935556502,12.935476055240873,13336.131683328815,1772.508612059496,369.76534388639965,29.751323653701338,2.4023193045459172,13.304795348228817,430.5615775526625,4237.0568611071185,-9581.931701634761,-1461.6913552409758,-183.12733958476446,-10.718010163869403,.41421356237309503,1.414213562373095,-.37677560326535325,41.619486213528496,241.05423794991074,-187.94665032361226,13450.063605744153,1836.153896465782,369.4908799925761,29.001847876923147,2.0714759319987186,6.779591200894186,377.7767837205709,3990.386575512536,-10081.709459700915,-1545.947424837898,-200.3762958015653,-11.864482073055006,.3578057213145241,1.546020906725474,-.3829366947518991,41.1516456456653,216.47684307105183,-406.1569483347166,13511.136535077321,1887.8076599260432,367.3025214564151,28.136213436723654,1.913880671464418,.3829366947518991,323.85365704338597,3728.1472257487526,-10561.233882199509,-1625.2025997821418,-217.62525175416,-13.015432208941645,.3033466836073424,1.66293922460509,-.5822628872992417,40.35639251440489,188.20071124269245,-640.2706748618148,13519.21490106562,1927.6022433578062,362.8197642637487,26.968821921868447,1.7463817695935329,-5.62650678237171,269.3016715297017,3453.386536448852,-11016.145278780888,-1698.6569643425091,-234.7658734267683,-14.16351421663124,.2504869601913055,1.76384252869671,-.5887180101749253,39.23429103868072,155.76096234403798,-889.2492977967378,13475.470561874661,1955.0535223723712,356.4450994756727,25.894952980042156,1.5695032905781554,-11.181939564328772,214.80884394039484,3169.1640829158237,-11443.321309975563,-1765.1588461316153,-251.68908574481912,-15.49755935939164,.198912367379658,1.847759065022573,-.7912582233652842,37.39369355329111,119.699486012458,-1151.0956593239027,13380.446257078214,1970.3952110853447,348.01959814116185,24.731487364283044,1.3850130831637748,-16.421408865300393,161.05030052864092,2878.3322807850063,-11838.991423510031,-1823.985884688674,-268.2854986386903,-16.81724543849939,.1483359875383474,1.913880671464418,-.7960642926861912,35.2322109610459,80.01928065061526,-1424.0212633405113,13235.794061869668,1973.804052543835,337.9908651258184,23.289159354463873,1.3934255946442087,-21.099669467133474,108.48348407242611,2583.700758091299,-12199.726194855148,-1874.2780658979746,-284.2467154529415,-18.11369784385905,.09849140335716425,1.961570560806461,-.998795456205172,32.56307803611191,36.958364584370486,-1706.075448829146,13043.287458812016,1965.3831106103316,326.43182772364605,22.175018750622293,1.198638339011324,-25.371248002043963,57.53505923036915,2288.41886619975,-12522.674544337233,-1914.8400385312243,-299.26241273417224,-19.37805630698734,.04912684976946725,1.990369453344394,.035780907*d.SQRT2*.5/2384e-9,.017876148*d.SQRT2*.5/2384e-9,.003134727*d.SQRT2*.5/2384e-9,.002457142*d.SQRT2*.5/2384e-9,971317e-9*d.SQRT2*.5/2384e-9,218868e-9*d.SQRT2*.5/2384e-9,101566e-9*d.SQRT2*.5/2384e-9,13828e-9*d.SQRT2*.5/2384e-9,12804.797818791945,1945.5515939597317,313.4244966442953,20.801593959731544,1995.1556208053692,9.000838926174497,-29.20218120805369],t=[[2382191739347913e-28,6423305872147834e-28,9400849094049688e-28,1122435026096556e-27,1183840321267481e-27,1122435026096556e-27,940084909404969e-27,6423305872147839e-28,2382191739347918e-28,5456116108943412e-27,4878985199565852e-27,4240448995017367e-27,3559909094758252e-27,2858043359288075e-27,2156177623817898e-27,1475637723558783e-27,8371015190102974e-28,2599706096327376e-28,-5456116108943412e-27,-4878985199565852e-27,-4240448995017367e-27,-3559909094758252e-27,-2858043359288076e-27,-2156177623817898e-27,-1475637723558783e-27,-8371015190102975e-28,-2599706096327376e-28,-2382191739347923e-28,-6423305872147843e-28,-9400849094049696e-28,-1122435026096556e-27,-1183840321267481e-27,-1122435026096556e-27,-9400849094049694e-28,-642330587214784e-27,-2382191739347918e-28],[2382191739347913e-28,6423305872147834e-28,9400849094049688e-28,1122435026096556e-27,1183840321267481e-27,1122435026096556e-27,9400849094049688e-28,6423305872147841e-28,2382191739347918e-28,5456116108943413e-27,4878985199565852e-27,4240448995017367e-27,3559909094758253e-27,2858043359288075e-27,2156177623817898e-27,1475637723558782e-27,8371015190102975e-28,2599706096327376e-28,-5461314069809755e-27,-4921085770524055e-27,-4343405037091838e-27,-3732668368707687e-27,-3093523840190885e-27,-2430835727329465e-27,-1734679010007751e-27,-974825365660928e-27,-2797435120168326e-28,0,0,0,0,0,0,-2283748241799531e-28,-4037858874020686e-28,-2146547464825323e-28],[.1316524975873958,.414213562373095,.7673269879789602,1.091308501069271,1.303225372841206,1.56968557711749,1.920982126971166,2.414213562373094,3.171594802363212,4.510708503662055,7.595754112725146,22.90376554843115,.984807753012208,.6427876096865394,.3420201433256688,.9396926207859084,-.1736481776669303,-.7660444431189779,.8660254037844387,.5,-.5144957554275265,-.4717319685649723,-.3133774542039019,-.1819131996109812,-.09457419252642064,-.04096558288530405,-.01419856857247115,-.003699974673760037,.8574929257125442,.8817419973177052,.9496286491027329,.9833145924917901,.9955178160675857,.9991605581781475,.999899195244447,.9999931550702802],[0,0,0,0,0,0,2283748241799531e-28,4037858874020686e-28,2146547464825323e-28,5461314069809755e-27,4921085770524055e-27,4343405037091838e-27,3732668368707687e-27,3093523840190885e-27,2430835727329466e-27,1734679010007751e-27,974825365660928e-27,2797435120168326e-28,-5456116108943413e-27,-4878985199565852e-27,-4240448995017367e-27,-3559909094758253e-27,-2858043359288075e-27,-2156177623817898e-27,-1475637723558782e-27,-8371015190102975e-28,-2599706096327376e-28,-2382191739347913e-28,-6423305872147834e-28,-9400849094049688e-28,-1122435026096556e-27,-1183840321267481e-27,-1122435026096556e-27,-9400849094049688e-28,-6423305872147841e-28,-2382191739347918e-28]],r=t[z.SHORT_TYPE],a=t[z.SHORT_TYPE],i=t[z.SHORT_TYPE],s=t[z.SHORT_TYPE],l=[0,1,16,17,8,9,24,25,4,5,20,21,12,13,28,29,2,3,18,19,10,11,26,27,6,7,22,23,14,15,30,31];function c(t,n,r){for(var a,i,o,s=10,l=n+238-14-286,c=-15;c<0;c++){var f,u,p;f=e[s+-10],u=t[l+-224]*f,p=t[n+224]*f,f=e[s+-9],u+=t[l+-160]*f,p+=t[n+160]*f,f=e[s+-8],u+=t[l+-96]*f,p+=t[n+96]*f,f=e[s+-7],u+=t[l+-32]*f,p+=t[n+32]*f,f=e[s+-6],u+=t[l+32]*f,p+=t[n+-32]*f,f=e[s+-5],u+=t[l+96]*f,p+=t[n+-96]*f,f=e[s+-4],u+=t[l+160]*f,p+=t[n+-160]*f,f=e[s+-3],u+=t[l+224]*f,p+=t[n+-224]*f,f=e[s+-2],u+=t[n+-256]*f,p-=t[l+256]*f,f=e[s+-1],u+=t[n+-192]*f,p-=t[l+192]*f,f=e[s+0],u+=t[n+-128]*f,p-=t[l+128]*f,f=e[s+1],u+=t[n+-64]*f,p-=t[l+64]*f,f=e[s+2],u+=t[n+0]*f,p-=t[l+0]*f,f=e[s+3],u+=t[n+64]*f,p-=t[l+-64]*f,f=e[s+4],u+=t[n+128]*f,p-=t[l+-128]*f,f=e[s+5],u+=t[n+192]*f,f=(p-=t[l+-192]*f)-(u*=e[s+6]),r[30+2*c]=p+u,r[31+2*c]=e[s+7]*f,s+=18,n--,l++}p=t[n+-16]*e[s+-10],u=t[n+-32]*e[s+-2],p+=(t[n+-48]-t[n+16])*e[s+-9],u+=t[n+-96]*e[s+-1],p+=(t[n+-80]+t[n+48])*e[s+-8],u+=t[n+-160]*e[s+0],p+=(t[n+-112]-t[n+80])*e[s+-7],u+=t[n+-224]*e[s+1],p+=(t[n+-144]+t[n+112])*e[s+-6],u-=t[n+32]*e[s+2],p+=(t[n+-176]-t[n+144])*e[s+-5],u-=t[n+96]*e[s+3],p+=(t[n+-208]+t[n+176])*e[s+-4],u-=t[n+160]*e[s+4],p+=(t[n+-240]-t[n+208])*e[s+-3],a=(u-=t[n+224])-p,i=u+p,p=r[14],u=r[15]-p,r[31]=i+p,r[30]=a+u,r[15]=a-u,r[14]=i-p,o=r[28]-r[0],r[0]+=r[28],r[28]=o*e[s+-36+7],o=r[29]-r[1],r[1]+=r[29],r[29]=o*e[s+-36+7],o=r[26]-r[2],r[2]+=r[26],r[26]=o*e[s+-72+7],o=r[27]-r[3],r[3]+=r[27],r[27]=o*e[s+-72+7],o=r[24]-r[4],r[4]+=r[24],r[24]=o*e[s+-108+7],o=r[25]-r[5],r[5]+=r[25],r[25]=o*e[s+-108+7],o=r[22]-r[6],r[6]+=r[22],r[22]=o*d.SQRT2,o=r[23]-r[7],r[7]+=r[23],r[23]=o*d.SQRT2-r[7],r[7]-=r[6],r[22]-=r[7],r[23]-=r[22],o=r[6],r[6]=r[31]-o,r[31]=r[31]+o,o=r[7],r[7]=r[30]-o,r[30]=r[30]+o,o=r[22],r[22]=r[15]-o,r[15]=r[15]+o,o=r[23],r[23]=r[14]-o,r[14]=r[14]+o,o=r[20]-r[8],r[8]+=r[20],r[20]=o*e[s+-180+7],o=r[21]-r[9],r[9]+=r[21],r[21]=o*e[s+-180+7],o=r[18]-r[10],r[10]+=r[18],r[18]=o*e[s+-216+7],o=r[19]-r[11],r[11]+=r[19],r[19]=o*e[s+-216+7],o=r[16]-r[12],r[12]+=r[16],r[16]=o*e[s+-252+7],o=r[17]-r[13],r[13]+=r[17],r[17]=o*e[s+-252+7],o=-r[20]+r[24],r[20]+=r[24],r[24]=o*e[s+-216+7],o=-r[21]+r[25],r[21]+=r[25],r[25]=o*e[s+-216+7],o=r[4]-r[8],r[4]+=r[8],r[8]=o*e[s+-216+7],o=r[5]-r[9],r[5]+=r[9],r[9]=o*e[s+-216+7],o=r[0]-r[12],r[0]+=r[12],r[12]=o*e[s+-72+7],o=r[1]-r[13],r[1]+=r[13],r[13]=o*e[s+-72+7],o=r[16]-r[28],r[16]+=r[28],r[28]=o*e[s+-72+7],o=-r[17]+r[29],r[17]+=r[29],r[29]=o*e[s+-72+7],o=d.SQRT2*(r[2]-r[10]),r[2]+=r[10],r[10]=o,o=d.SQRT2*(r[3]-r[11]),r[3]+=r[11],r[11]=o,o=d.SQRT2*(-r[18]+r[26]),r[18]+=r[26],r[26]=o-r[18],o=d.SQRT2*(-r[19]+r[27]),r[19]+=r[27],r[27]=o-r[19],o=r[2],r[19]-=r[3],r[3]-=o,r[2]=r[31]-o,r[31]+=o,o=r[3],r[11]-=r[19],r[18]-=o,r[3]=r[30]-o,r[30]+=o,o=r[18],r[27]-=r[11],r[19]-=o,r[18]=r[15]-o,r[15]+=o,o=r[19],r[10]-=o,r[19]=r[14]-o,r[14]+=o,o=r[10],r[11]-=o,r[10]=r[23]-o,r[23]+=o,o=r[11],r[26]-=o,r[11]=r[22]-o,r[22]+=o,o=r[26],r[27]-=o,r[26]=r[7]-o,r[7]+=o,o=r[27],r[27]=r[6]-o,r[6]+=o,o=d.SQRT2*(r[0]-r[4]),r[0]+=r[4],r[4]=o,o=d.SQRT2*(r[1]-r[5]),r[1]+=r[5],r[5]=o,o=d.SQRT2*(r[16]-r[20]),r[16]+=r[20],r[20]=o,o=d.SQRT2*(r[17]-r[21]),r[17]+=r[21],r[21]=o,o=-d.SQRT2*(r[8]-r[12]),r[8]+=r[12],r[12]=o-r[8],o=-d.SQRT2*(r[9]-r[13]),r[9]+=r[13],r[13]=o-r[9],o=-d.SQRT2*(r[25]-r[29]),r[25]+=r[29],r[29]=o-r[25],o=-d.SQRT2*(r[24]+r[28]),r[24]-=r[28],r[28]=o-r[24],o=r[24]-r[16],r[24]=o,o=r[20]-o,r[20]=o,o=r[28]-o,r[28]=o,o=r[25]-r[17],r[25]=o,o=r[21]-o,r[21]=o,o=r[29]-o,r[29]=o,o=r[17]-r[1],r[17]=o,o=r[9]-o,r[9]=o,o=r[25]-o,r[25]=o,o=r[5]-o,r[5]=o,o=r[21]-o,r[21]=o,o=r[13]-o,r[13]=o,o=r[29]-o,r[29]=o,o=r[1]-r[0],r[1]=o,o=r[16]-o,r[16]=o,o=r[17]-o,r[17]=o,o=r[8]-o,r[8]=o,o=r[9]-o,r[9]=o,o=r[24]-o,r[24]=o,o=r[25]-o,r[25]=o,o=r[4]-o,r[4]=o,o=r[5]-o,r[5]=o,o=r[20]-o,r[20]=o,o=r[21]-o,r[21]=o,o=r[12]-o,r[12]=o,o=r[13]-o,r[13]=o,o=r[28]-o,r[28]=o,o=r[29]-o,r[29]=o,o=r[0],r[0]+=r[31],r[31]-=o,o=r[1],r[1]+=r[30],r[30]-=o,o=r[16],r[16]+=r[15],r[15]-=o,o=r[17],r[17]+=r[14],r[14]-=o,o=r[8],r[8]+=r[23],r[23]-=o,o=r[9],r[9]+=r[22],r[22]-=o,o=r[24],r[24]+=r[7],r[7]-=o,o=r[25],r[25]+=r[6],r[6]-=o,o=r[4],r[4]+=r[27],r[27]-=o,o=r[5],r[5]+=r[26],r[26]-=o,o=r[20],r[20]+=r[11],r[11]-=o,o=r[21],r[21]+=r[10],r[10]-=o,o=r[12],r[12]+=r[19],r[19]-=o,o=r[13],r[13]+=r[18],r[18]-=o,o=r[28],r[28]+=r[3],r[3]-=o,o=r[29],r[29]+=r[2],r[2]-=o}function f(e,n){for(var r=0;r<3;r++){var a,i,o,s,l,c;i=(s=e[n+6]*t[z.SHORT_TYPE][0]-e[n+15])+(a=e[n+0]*t[z.SHORT_TYPE][2]-e[n+9]),o=s-a,l=(s=e[n+15]*t[z.SHORT_TYPE][0]+e[n+6])+(a=e[n+9]*t[z.SHORT_TYPE][2]+e[n+0]),c=-s+a,a=2069978111953089e-26*(e[n+3]*t[z.SHORT_TYPE][1]-e[n+12]),s=2069978111953089e-26*(e[n+12]*t[z.SHORT_TYPE][1]+e[n+3]),e[n+0]=190752519173728e-25*i+a,e[n+15]=190752519173728e-25*-l+s,o=.8660254037844387*o*1907525191737281e-26,l=.5*l*1907525191737281e-26+s,e[n+3]=o-l,e[n+6]=o+l,i=.5*i*1907525191737281e-26-a,c=.8660254037844387*c*1907525191737281e-26,e[n+9]=i+c,e[n+12]=i-c,n++}}this.mdct_sub48=function(e,u,d){for(var h,v,m,b,g,y,w,S,x,k,A,M,T,R,C,E,B,O,L,I,P,$=u,N=286,D=0;D=0;--Y){var te,ne;te=V[U+Y]*i[20+Y]+V[U+-1-Y]*s[28+Y],ne=V[U+Y]*s[28+Y]-V[U+-1-Y]*i[20+Y],V[U+-1-Y]=te,V[U+Y]=ne}}}if($=d,N=286,1==e.mode_gr)for(var re=0;re<18;re++)_.arraycopy(e.sb_sample[D][1][re],0,e.sb_sample[D][0][re],0,32)}}}function V(){this.thm=new q,this.en=new q}function z(){z.FFTOFFSET;var e=z.MPG_MD_MS_LR,t=null;this.psy=null;var r=null,a=null;this.setModules=function(e,n,i,o){t=e,this.psy=n,r=n,a=o};var s=new F;this.lame_encode_mp3_frame=function(c,f,p,_,d,h){var v,g=u([2,2]);g[0][0]=new V,g[0][1]=new V,g[1][0]=new V,g[1][1]=new V;var y,w=u([2,2]);w[0][0]=new V,w[0][1]=new V,w[1][0]=new V,w[1][1]=new V;var S,x,k,A=[null,null],M=c.internal_flags,T=l([2,4]),R=[[0,0],[0,0]],C=[[0,0],[0,0]];if(A[0]=f,A[1]=p,0==M.lame_encode_frame_init&&function(e,t){var n,r,a=e.internal_flags;if(0==a.lame_encode_frame_init){var i,l,c=o(2014),f=o(2014);for(a.lame_encode_frame_init=1,i=0,l=0;i<286+576*(1+a.mode_gr);++i)i<576*a.mode_gr?(c[i]=0,2==a.channels_out&&(f[i]=0)):(c[i]=t[0][l],2==a.channels_out&&(f[i]=t[1][l]),++l);for(r=0;r.03125)e.ATH.adjust>=1?e.ATH.adjust=1:e.ATH.adjust=a?(e.ATH.adjust*=.075*a+.925,e.ATH.adjust=a?e.ATH.adjust=a:e.ATH.adjust>1,h=(_=a<<1)+(p=a),a=_<<1,o=(i=t)+v;do{x=e[i+0]-e[i+p],S=e[i+0]+e[i+p],T=e[i+_]-e[i+h],A=e[i+_]+e[i+h],e[i+_]=S-A,e[i+0]=S+A,e[i+h]=x-T,e[i+p]=x+T,x=e[o+0]-e[o+p],S=e[o+0]+e[o+p],T=d.SQRT2*e[o+h],A=d.SQRT2*e[o+_],e[o+_]=S-A,e[o+0]=S+A,e[o+h]=x-T,e[o+p]=x+T,o+=a,i+=a}while(i=0);r(n[l],c,z.BLKSIZE_s/2)}},this.fft_long=function(t,n,i,o,s){var l=z.BLKSIZE/8-1,c=z.BLKSIZE/2;do{var f,u,p,_,d,h=255&a[l];u=(f=e[h]*o[i][s+h])-(d=e[h+512]*o[i][s+h+512]),f+=d,_=(p=e[h+256]*o[i][s+h+256])-(d=e[h+768]*o[i][s+h+768]),p+=d,n[0+(c-=4)]=f+p,n[c+2]=f-p,n[c+1]=u+_,n[c+3]=u-_,u=(f=e[h+1]*o[i][s+h+1])-(d=e[h+513]*o[i][s+h+513]),f+=d,_=(p=e[h+257]*o[i][s+h+257])-(d=e[h+769]*o[i][s+h+769]),p+=d,n[c+z.BLKSIZE/2+0]=f+p,n[c+z.BLKSIZE/2+2]=f-p,n[c+z.BLKSIZE/2+1]=u+_,n[c+z.BLKSIZE/2+3]=u-_}while(--l>=0);r(n,c,z.BLKSIZE/2)},this.init_fft=function(n){for(var r=0;r=0;--h){var v=o[s+0][z.BLKSIZE/2-h],m=o[s+0][z.BLKSIZE/2+h];a[z.BLKSIZE/2-h]=.5*(v*v+m*m)}for(var b=2;b>=0;--b)for(i[b][0]=l[c+0][b][0],i[b][0]*=i[b][0],h=z.BLKSIZE_s/2-1;h>=0;--h)v=l[c+0][b][z.BLKSIZE_s/2-h],m=l[c+0][b][z.BLKSIZE_s/2+h],i[b][z.BLKSIZE_s/2-h]=.5*(v*v+m*m);var g=0;for(h=11;he){if(!(t=t*c)return e+t;o=e/t}if(e+=t,r+3<=6){if(o>=s)return e;var p=0|d.FAST_LOG10_X(o,16);return e*g[p]}return p=0|d.FAST_LOG10_X(o,16),t=0!=i?a.ATH.cb_s[n]*a.ATH.adjust:a.ATH.cb_l[n]*a.ATH.adjust,et?(l=1,p<=13&&(l=y[p]),u=d.FAST_LOG10_X(e/t,10/15),e*((_[p]-l)*u+l)):p>13?e:e*y[p]:e*_[p]}function S(e,t,n,r,a){var i,o,s=0,l=0;for(i=o=0;i=f){++i;break}var p=e.PSY.bo_s_weight[i],_=1-p;s=p*t[o],l=p*n[o],e.en[r].s[i][a]+=s,e.thm[r].s[i][a]+=l,s=_*t[o],l=_*n[o]}for(;i=c){++a;break}var u=e.PSY.bo_l_weight[a],p=1-u;o=u*t[i],s=u*n[i],e.en[r].l[a]+=o,e.thm[r].l[a]+=s,o=p*t[i],s=p*n[i]}for(;a=1?e:n<=0?t:t>0?Math.pow(e/t,n)*t:0}var M=[11.8,13.6,17.2,32,46.5,51.3,57.5,67.1,71.5,84.6,97.6,130];function T(e,n){for(var r=309.07,a=0;a0){var s=o*n,l=e.en.s[a][i];l>s&&(r+=l>1e10*s?M[a]*(10*t):M[a]*d.FAST_LOG10(l/s))}}return r}var R=[6.8,5.8,5.8,6.4,6.5,9.9,12.1,14.4,15,18.9,21.6,26.9,34.2,40.2,46.8,56.5,60.7,73.9,85.7,93.4,126.1];function C(e,n){for(var r=281.0575,a=0;a0){var o=i*n,s=e.en.l[a];s>o&&(r+=s>1e10*o?R[a]*(10*t):R[a]*d.FAST_LOG10(s/o))}}return r}function E(e,t,n,r,a){var i,o;for(i=o=0;i0?((s=t[i])a&&(l=a),r[i]=l):r[i]=0,i=1;i0?((s=t[i-1])a&&(l=a),r[i]=l):r[i]=0}(o=n[i-1]+n[i])>0?((s=t[i-1])a&&(l=a),r[i]=l):r[i]=0}var O=[-1730326e-23,-.01703172,-1349528e-23,.0418072,-673278e-22,-.0876324,-30835e-21,.1863476,-1104424e-22,-.627638];function L(e){return e<0&&(e=0),e*=.001,13*Math.atan(.76*e)+3.5*Math.atan(e*e/56.25)}function I(e,t,n,r,a,s,l,c,f,u,p,_){var d,h=o(z.CBANDS+1),v=c/(_>15?1152:384),m=i(z.HBLKSIZE);c/=f;var b=0,g=0;for(d=0;df/2){b=f/2,++d;break}}h[d]=c*b;for(var w=0;w<_;w++){var S,x,k,A,M;k=u[w],A=u[w+1],(S=0|Math.floor(.5+p*(k-.5)))<0&&(S=0),(x=0|Math.floor(.5+p*(A-.5)))>f/2&&(x=f/2),n[w]=(m[S]+m[x])/2,t[w]=m[x];var T=v*A;l[w]=(T-h[t[w]])/(h[t[w]+1]-h[t[w]]),l[w]<0?l[w]=0:l[w]>1&&(l[w]=1),M=L(c*u[w]*p),M=Math.min(M,15.5)/15.5,s[w]=Math.pow(10,1.25*(1-Math.cos(Math.PI*M))-2.5)}b=0;for(var R=0;R=0?3:1.5)>=.5&&u<=2.5?8*((d=u-.5)*d-2*d):0,((_=15.811389+7.5*(u+=.474)-17.5*Math.sqrt(1+u*u))<=-60?0:(u=Math.exp(.2302585093*(p+_)),u/=.6609193))*a[c]);h[m][c]=b*i[m]}else n();for(m=0;m0);c++);for(e[m][0]=c,c=t-1;c>0&&!(h[m][c]>0);c--);e[m][1]=c,v+=e[m][1]-e[m][0]+1}var g=o(v),y=0;for(m=0;m2&&n()}for(M=0;Mne[L+3-2]?de/=ne[L+3-2]:de=ne[L+3-2]>10*de?ne[L+3-2]/(10*de):0,ae[L+3]=de}for(e.analysis&&n(),te=3==M?H.nsPsy.attackthre_s:H.nsPsy.attackthre,L=0;L<12;L++)0==le[L/3]&&ae[L]>te&&(le[L/3]=L%3+1);for(L=1;L<4;L++)(re[L-1]>re[L]?re[L-1]/re[L]:re[L]/re[L-1])<1.7&&(le[L]=0,1==L&&(le[0]=0));for(0!=le[0]&&0!=H.nsPsy.lastAttacks[M]&&(le[0]=0),3!=H.nsPsy.lastAttacks[M]&&le[0]+le[1]+le[2]+le[3]==0||(ie=0,0!=le[1]&&0!=le[0]&&(le[1]=0),0!=le[2]&&0!=le[1]&&(le[2]=0),0!=le[3]&&0!=le[2]&&(le[3]=0)),M<2?Y[M]=ie:n(),v[M]=H.tot_ener[M],a(e,ce,fe,j,1&M,F,1&M,s,M,t,r),E(H,ce,V,oe,se),B(H,oe,se,G),N=0;N<3;N++){var he,ve;for(k(e,fe,U,X,M,N),S(H,U,X,M,N),$=0;$=2||1==le[N+1]){var me=0!=N?N-1:2;de=A(H.thm[M].s[$][me],ve,.6*D),ve=Math.min(ve,de)}1==le[N]?(me=0!=N?N-1:2,de=A(H.thm[M].s[$][me],ve,.3*D),ve=Math.min(ve,de)):(0!=N&&3==le[N-1]||0==N&&3==H.nsPsy.lastAttacks[M])&&(me=2!=N?N+1:0,de=A(H.thm[M].s[$][me],ve,.3*D),ve=Math.min(ve,de)),he=ne[3*N+3]+ne[3*N+4]+ne[3*N+5],6*ne[3*N+5]1?n():(we=_,ke=0,Se=g[M],xe=c[s][M]),Se==z.SHORT_TYPE?we[ke+M]=T(xe,H.masking_lower):we[ke+M]=C(xe,H.masking_lower),e.analysis&&(H.pinfo.pe[s][M]=we[ke+M])}return 0},this.psymodel_init=function(n){var r,a,i=n.internal_flags,l=!0,u=13,p=0,_=0,d=-8.25,h=-4.5,b=o(z.CBANDS),g=o(z.CBANDS),y=o(z.CBANDS),w=n.out_samplerate;switch(n.experimentalZ){default:case 0:l=!0;break;case 1:l=n.VBR!=m.vbr_mtrh&&n.VBR!=m.vbr_mt;break;case 2:l=!1;break;case 3:u=8,p=-1.75,_=-.0125,d=-8.25,h=-2.25}for(i.ms_ener_ratio_old=.25,i.blocktype_old[0]=i.blocktype_old[1]=z.NORM_TYPE,r=0;r<4;++r){for(var S=0;S=u&&(k=_*(b[r]-u)/(24-u)+p*(24-b[r])/(24-u)),y[r]=Math.pow(10,k/10),i.numlines_l[r]>0?i.rnumlines_l[r]=1/i.numlines_l[r]:i.rnumlines_l[r]=0}for(i.s3_ll=P(i.s3ind,i.npart_l,b,g,y,l),S=0,r=0;r(R*=i.numlines_l[r])&&(T=R)}i.ATH.cb_l[r]=T,(T=20*b[r]/10-20)>6&&(T=100),T<-15&&(T=-15),T-=8,i.minval_l[r]=Math.pow(10,T/10)*i.numlines_l[r]}for(i.npart_s=I(i.numlines_s,i.bo_s,i.bm_s,b,g,i.mld_s,i.PSY.bo_s_weight,w,z.BLKSIZE_s,i.scalefac_band.s,z.BLKSIZE_s/384,z.SBMAX_s),S=0,r=0;r=u&&(k=h*(b[r]-u)/(24-u)+d*(24-b[r])/(24-u)),y[r]=Math.pow(10,k/10),T=v.MAX_VALUE,A=0;A(R*=i.numlines_s[r])&&(T=R)}i.ATH.cb_s[r]=T,T=7*b[r]/12-7,b[r]>12&&(T*=1+3.1*Math.log(1+T)),b[r]<12&&(T*=1+2.3*Math.log(1-T)),T<-15&&(T=-15),T-=8,i.minval_s[r]=Math.pow(10,T/10)*i.numlines_s[r]}i.s3_ss=P(i.s3ind_s,i.npart_s,b,g,y,l),s=Math.pow(10,9/16),c=Math.pow(10,1.5),f=Math.pow(10,1.5),e.init_fft(i),i.decay=Math.exp(-1*t/(.01*w/192)),a=3.5,0!=(2&n.exp_nspsytune)&&(a=1),Math.abs(n.msfix)>0&&(a=n.msfix),n.msfix=a;for(var C=0;Ci.npart_l-1&&(i.s3ind[C][1]=i.npart_l-1);var E=576*i.mode_gr/w;if(i.ATH.decay=Math.pow(10,-1.2*E),i.ATH.adjust=.01,i.ATH.adjustLimit=1,-1!=n.ATHtype){var B=n.out_samplerate/z.BLKSIZE,O=0;for(M=0,r=0;r=0;)i.ATH.eql_w[r]*=O}for(C=S=0;C1.0001)n();else{o.n_out=Math.min(e.framesize,i),o.n_in=o.n_out;for(var l=0;le-r?n:a},this.lame_init_params=function(e){var o=e.internal_flags;if(o.Class_ID=0,null==o.ATH&&(o.ATH=new B),null==o.PSY&&(o.PSY=new _),null==o.rgdata&&(o.rgdata=new I),o.channels_in=e.num_channels,1==o.channels_in&&(e.mode=b.MONO),o.channels_out=e.mode==b.MONO?1:2,o.mode_ext=z.MPG_MD_MS_LR,e.mode==b.MONO&&(e.force_ms=!1),e.VBR==m.vbr_off&&128!=e.VBR_mean_bitrate_kbps&&0==e.brate&&(e.brate=e.VBR_mean_bitrate_kbps),e.VBR==m.vbr_off||e.VBR==m.vbr_mtrh||e.VBR==m.vbr_mt||(e.free_format=!1),e.VBR==m.vbr_off&&0==e.brate&&n(),e.VBR==m.vbr_off&&e.compression_ratio>0&&n(),0!=e.out_samplerate&&(e.out_samplerate<16e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,64)):e.out_samplerate<32e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,160)):(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,32),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320))),0==e.lowpassfreq){var s=16e3;switch(e.VBR){case m.vbr_off:g(f=new d,e.brate),s=f.lowerlimit;break;case m.vbr_abr:var f;g(f=new d,e.VBR_mean_bitrate_kbps),s=f.lowerlimit;break;case m.vbr_rh:n();default:n()}e.mode!=b.MONO||e.VBR!=m.vbr_off&&e.VBR!=m.vbr_abr||(s*=1.5),e.lowpassfreq=0|s}switch(0==e.out_samplerate&&n(),e.lowpassfreq=Math.min(20500,e.lowpassfreq),e.lowpassfreq=Math.min(e.out_samplerate/2,e.lowpassfreq),e.VBR==m.vbr_off&&(e.compression_ratio=16*e.out_samplerate*o.channels_out/(1e3*e.brate)),e.VBR==m.vbr_abr&&n(),e.bWriteVbrTag||(e.findReplayGain=!1,e.decode_on_the_fly=!1,o.findPeakSample=!1),o.findReplayGain=e.findReplayGain,o.decode_on_the_fly=e.decode_on_the_fly,o.decode_on_the_fly&&(o.findPeakSample=!0),o.findReplayGain&&n(),o.decode_on_the_fly&&!e.decode_only&&n(),o.mode_gr=e.out_samplerate<=24e3?1:2,e.framesize=576*o.mode_gr,e.encoder_delay=z.ENCDELAY,o.resample_ratio=e.in_samplerate/e.out_samplerate,e.VBR){case m.vbr_mt:case m.vbr_rh:case m.vbr_mtrh:e.compression_ratio=[5.7,6.5,7.3,8.2,10,11.9,13,14,15,16.5][e.VBR_q];break;case m.vbr_abr:e.compression_ratio=16*e.out_samplerate*o.channels_out/(1e3*e.VBR_mean_bitrate_kbps);break;default:e.compression_ratio=16*e.out_samplerate*o.channels_out/(1e3*e.brate)}e.mode==b.NOT_SET&&(e.mode=b.JOINT_STEREO),e.highpassfreq>0?n():(o.highpass1=0,o.highpass2=0),e.lowpassfreq>0?(o.lowpass2=2*e.lowpassfreq,e.lowpasswidth>=0?n():o.lowpass1=2*e.lowpassfreq,o.lowpass1/=e.out_samplerate,o.lowpass2/=e.out_samplerate):n(),function(e){var t,r=e.internal_flags,a=32;if(r.lowpass1>0){for(var i=999,o=0;o<=31;o++)(c=o/31)>=r.lowpass2&&(a=Math.min(a,o)),r.lowpass10&&n(),r.highpass2>0&&n(),o=0;o<32;o++){var s,l,c=o/31;r.highpass2>r.highpass1?n():s=1,l=r.lowpass2>r.lowpass1?(t=(c-r.lowpass1)/(r.lowpass2-r.lowpass1+1e-20))>1?0:t<=0?1:Math.cos(Math.PI/2*t):1,r.amp_filter[o]=s*l}}(e),o.samplerate_index=function(e,t){switch(e){case 44100:return t.version=1,0;case 48e3:return t.version=1,1;case 32e3:return t.version=1,2;case 22050:return t.version=0,0;case 24e3:return t.version=0,1;case 16e3:return t.version=0,2;case 11025:return t.version=0,0;case 12e3:return t.version=0,1;case 8e3:return t.version=0,2;default:return t.version=0,-1}}(e.out_samplerate,e),o.samplerate_index<0&&n(),e.VBR==m.vbr_off?e.free_format?o.bitrate_index=0:(e.brate=function(e,t,n){n<16e3&&(t=2);for(var r=T.bitrate_table[t][1],a=2;a<=14;a++)T.bitrate_table[t][a]>0&&Math.abs(T.bitrate_table[t][a]-e)0&&T.bitrate_table[t][r]==e)return r;return-1}(e.brate,e.version,e.out_samplerate),o.bitrate_index<=0&&n()):o.bitrate_index=1,e.analysis&&(e.bWriteVbrTag=!1),null!=o.pinfo&&(e.bWriteVbrTag=!1),t.init_bit_stream_w(o);for(var v,y=o.samplerate_index+3*e.version+6*(e.out_samplerate<16e3?1:0),w=0;w5&&(e.quality=5),o.PSY.mask_adjust=e.maskingadjust,o.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?o.sfb21_extra=!1:o.sfb21_extra=e.out_samplerate>44e3,o.iteration_loop=new VBRNewIterationLoop(i);break;case m.vbr_rh:r.apply_preset(e,500-10*e.VBR_q,0),o.PSY.mask_adjust=e.maskingadjust,o.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?o.sfb21_extra=!1:o.sfb21_extra=e.out_samplerate>44e3,e.quality>6&&(e.quality=6),e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),o.iteration_loop=new VBROldIterationLoop(i);break;default:var k;o.sfb21_extra=!1,e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),(k=e.VBR)==m.vbr_off&&(e.VBR_mean_bitrate_kbps=e.brate),r.apply_preset(e,e.VBR_mean_bitrate_kbps,0),e.VBR=k,o.PSY.mask_adjust=e.maskingadjust,o.PSY.mask_adjust_short=e.maskingadjust_short,k==m.vbr_off?o.iteration_loop=new L(i):n()}return e.VBR!=m.vbr_off&&n(),e.tune&&n(),function(e){var t=e.internal_flags;switch(e.quality){default:case 9:t.psymodel=0,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 8:e.quality=7;case 7:t.psymodel=1,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 6:case 5:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=0,t.full_outer_loop=0;break;case 4:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 3:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 2:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 1:case 0:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=2,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0}}(e),e.athaa_type<0?o.ATH.useAdjust=3:o.ATH.useAdjust=e.athaa_type,o.ATH.aaSensitivityP=Math.pow(10,e.athaa_sensitivity/-10),null==e.short_blocks&&(e.short_blocks=h.short_block_allowed),e.short_blocks!=h.short_block_allowed||e.mode!=b.JOINT_STEREO&&e.mode!=b.STEREO||(e.short_blocks=h.short_block_coupled),e.quant_comp<0&&(e.quant_comp=1),e.quant_comp_short<0&&(e.quant_comp_short=0),e.msfix<0&&(e.msfix=0),e.exp_nspsytune=1|e.exp_nspsytune,e.internal_flags.nsPsy.attackthre<0&&(e.internal_flags.nsPsy.attackthre=K.NSATTACKTHRE),e.internal_flags.nsPsy.attackthre_s<0&&(e.internal_flags.nsPsy.attackthre_s=K.NSATTACKTHRE_S),e.scale<0&&(e.scale=1),e.ATHtype<0&&(e.ATHtype=4),e.ATHcurve<0&&(e.ATHcurve=4),e.athaa_loudapprox<0&&(e.athaa_loudapprox=2),e.interChRatio<0&&(e.interChRatio=0),null==e.useTemporal&&(e.useTemporal=!0),o.slot_lag=o.frac_SpF=0,e.VBR==m.vbr_off&&(o.slot_lag=o.frac_SpF=72e3*(e.version+1)*e.brate%e.out_samplerate|0),a.iteration_init(e),p.psymodel_init(e),0},this.lame_encode_flush=function(e,r,a,i){var o,s,l,c,u=e.internal_flags,p=f([2,1152]),_=0,d=u.mf_samples_to_encode-z.POSTDELAY,h=y(e);if(u.mf_samples_to_encode<1)return 0;for(o=0,e.in_samplerate!=e.out_samplerate&&n(),(l=e.framesize-d%e.framesize)<576&&(l+=e.framesize),e.encoder_padding=l,c=(d+l)/e.framesize;c>0&&_>=0;){var v=h-u.mf_size,m=e.frameNum;v*=e.in_samplerate,(v/=e.out_samplerate)>1152&&(v=1152),v<1&&(v=1),s=i-o,0==i&&(s=0),a+=_=this.lame_encode_buffer(e,p[0],p[1],v,r,a,s),o+=_,c-=m!=e.frameNum?1:0}return u.mf_samples_to_encode=0,_<0?_:(s=i-o,0==i&&(s=0),t.flush_bitstream(e),(_=t.copy_buffer(u,r,a,s,1))<0?_:(a+=_,s=i-(o+=_),0==i&&(s=0),e.write_id3tag_automatic&&n(),o))},this.lame_encode_buffer=function(r,a,i,s,l,c,f){var u=r.internal_flags,p=[null,null];if(4294479419!=u.Class_ID)return-3;if(0==s)return 0;!function(e,t){(null==e.in_buffer_0||e.in_buffer_nsamples1&&(p[1][_]=i[_]);return function(r,a,i,o,s,l,c){var f,u,p,_,d,h=r.internal_flags,v=0,m=[null,null],b=[null,null];if(4294479419!=h.Class_ID)return-3;if(0==o)return 0;if((d=t.copy_buffer(h,s,l,c,0))<0)return d;if(l+=d,v+=d,b[0]=a,b[1]=i,A.NEQ(r.scale,0)&&A.NEQ(r.scale,1))for(u=0;u0;){var M,T,R=[null,null];R[0]=b[0],R[1]=b[1];var C=new x;if(k(r,m,R,g,o,C),M=C.n_in,T=C.n_out,h.findReplayGain&&!h.decode_on_the_fly&&e.AnalyzeSamples(h.rgdata,m[0],h.mf_size,m[1],h.mf_size,T,h.channels_out)==w.GAIN_ANALYSIS_ERROR)return-6;if(o-=M,g+=M,h.channels_out,h.mf_size+=T,h.mf_samples_to_encode<1&&n(),h.mf_samples_to_encode+=T,h.mf_size>=_){var E=c-v;if(0==c&&(E=0),(f=S(r,m[0],m[1],s,l,E))<0)return f;for(l+=f,v+=f,h.mf_size-=r.framesize,h.mf_samples_to_encode-=r.framesize,p=0;pR&&(R=t.length,E=r(C=0|1.25*R+7200));var a=i.lame_encode_buffer(T,t,n,t.length,E,0,C);return new Int8Array(E.subarray(0,a))},this.flush=function(){var e=i.lame_encode_flush(T,E,0,C);return new Int8Array(E.subarray(0,e))}}}t(),e.lamejs=t}(("object"==("undefined"==typeof window?"undefined":r(window))&&window.document?window:Object).Recorder)},function(e,t,n){"use strict";var r,a,i,o,s,l,c,f,u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};l="object"==("undefined"==typeof window?"undefined":u(window))&&!!window.document,c=(l?window:Object).Recorder,f=c.i18n,r=c,a=f.$T,i=l,o=function(e){return new s(e)},(s=function(e){var t={scale:2,speed:9,phase:21.8,fps:20,keep:!0,lineWidth:3,linear1:[0,"rgba(150,96,238,1)",.2,"rgba(170,79,249,1)",1,"rgba(53,199,253,1)"],linear2:[0,"rgba(209,130,255,0.6)",1,"rgba(53,199,255,0.6)"],linearBg:[0,"rgba(255,255,255,0.2)",1,"rgba(54,197,252,0.2)"]};for(var n in e)t[n]=e[n];if(this.set=e=t,e.compatibleCanvas)var r=this.canvas=e.compatibleCanvas;else{if(!i)throw new Error(a.G("NonBrowser-1",["WaveView"]));var o=e.elem;o&&("string"==typeof o?o=document.querySelector(o):o.length&&(o=o[0])),o&&(e.width=o.offsetWidth,e.height=o.offsetHeight);var s=this.elem=document.createElement("div");s.style.fontSize=0,s.innerHTML='',r=this.canvas=s.querySelector("canvas"),o&&(o.innerHTML="",o.appendChild(s))}var l=e.scale,c=e.width*l,f=e.height*l;if(!c||!f)throw new Error(a.G("IllegalArgs-1",["WaveView width=0 height=0"]));r.width=c,r.height=f;var u=this.ctx=r.getContext("2d");this.linear1=this.genLinear(u,c,e.linear1),this.linear2=this.genLinear(u,c,e.linear2),this.linearBg=this.genLinear(u,f,e.linearBg,!0),this._phase=0}).prototype=o.prototype={genLinear:function(e,t,n,r){for(var a=e.createLinearGradient(0,0,r?0:t,r?t:0),i=0;i1300&&(clearInterval(e.timer),e.timer=0)}},draw:function(e){var t=this.set,n=this.ctx,r=t.scale,a=t.width*r,i=t.height*r,o=t.speed/t.fps,s=this._phase-=o,l=s+o*t.phase,c=e/100,f=this.genPath(2,c,s),u=this.genPath(1.8,c,l);n.clearRect(0,0,a,i),n.beginPath();for(var p=0,_=0;_<=a;p++,_+=r)0==_?n.moveTo(_,f[p]):n.lineTo(_,f[p]);for(p--,_=a-1;_>=0;p--,_-=r)n.lineTo(_,u[p]);n.closePath(),n.fillStyle=this.linearBg,n.fill(),this.drawPath(u,this.linear2),this.drawPath(f,this.linear1)},drawPath:function(e,t){var n=this.set,r=this.ctx,a=n.scale,i=n.width*a;r.beginPath();for(var o=0,s=0;s<=i;o++,s+=a)0==s?r.moveTo(s,e[o]):r.lineTo(s,e[o]);r.lineWidth=n.lineWidth*a,r.strokeStyle=t,r.stroke()}},r.WaveView=o},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var a=(o=r,s=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),l="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),"/*# ".concat(l," */")),i=r.sources.map((function(e){return"/*# sourceURL=".concat(r.sourceRoot).concat(e," */")}));return[n].concat(i).concat([a]).join("\n")}var o,s,l;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2],"{").concat(n,"}"):n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},a=0;a\n \n\n \n\n '});window.vue_vue=r.default,window.vue_root=o,window.vue_main=o.$refs.mainView,console.log("mainView",vue_main),console.log("Vue",r.default),console.log("Recorder",vue_main.Rec)},function(e,t,n){"use strict";n.r(t);var r=n(19),a=n(3);for(var i in a)"default"!==i&&function(e){n.d(t,e,(function(){return a[e]}))}(i);n(23);var o=n(1),s=Object(o.a)(a.default,r.a,r.b,!1,null,null,null);s.options.__file="component/recorder.vue",t.default=s.exports},function(e,t,n){"use strict";var r=n(5);n.n(r).a},function(e,t,n){(e.exports=n(17)(!1)).push([e.i,"\nbody{\r\n\tword-wrap: break-word;\r\n\tbackground:#f5f5f5 center top no-repeat;\r\n\tbackground-size: auto 680px;\n}\npre{\r\n\twhite-space:pre-wrap;\n}\na{\r\n\ttext-decoration: none;\r\n\tcolor:#06c;\n}\na:hover{\r\n\tcolor:#f00;\n}\n.main{\r\n\tmax-width:700px;\r\n\tmargin:0 auto;\r\n\tpadding-bottom:80px\n}\n.mainBox{\r\n\tmargin-top:12px;\r\n\tpadding: 12px;\r\n\tborder-radius: 6px;\r\n\tbackground: #fff;\r\n\t--border: 1px solid #0b1;\r\n\tbox-shadow: 2px 2px 3px #aaa;\n}\n.btns button{\r\n\tdisplay: inline-block;\r\n\tcursor: pointer;\r\n\tborder: none;\r\n\tborder-radius: 3px;\r\n\tbackground: #0b1;\r\n\tcolor:#fff;\r\n\tpadding: 0 15px;\r\n\tmargin:3px 20px 3px 0;\r\n\tline-height: 36px;\r\n\theight: 36px;\r\n\toverflow: hidden;\r\n\tvertical-align: middle;\n}\n.btns button:active{\r\n\tbackground: #0a1;\n}\n.pd{\r\n\tpadding:0 0 6px 0;\n}\n.lb{\r\n\tdisplay:inline-block;\r\n\tvertical-align: middle;\r\n\tbackground:#00940e;\r\n\tcolor:#fff;\r\n\tfont-size:14px;\r\n\tpadding:2px 8px;\r\n\tborder-radius: 99px;\n}\r\n",""])}]); \ No newline at end of file diff --git a/assets/demo-vue/dist/recordapp.js b/assets/demo-vue/dist/recordapp.js index c71af6c8..359871b4 100644 --- a/assets/demo-vue/dist/recordapp.js +++ b/assets/demo-vue/dist/recordapp.js @@ -1,6 +1,6 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=25)}([function(e,t,n){"use strict";var r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":o(window))&&(r=window)}e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r,o,i,a,s){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),i&&(l._scopeId="data-v-"+i),a?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=c):o&&(c=s?function(){o.call(this,this.$root.$options.shadowRoot)}:o),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,c):[c]}return{exports:e,options:l}}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},,,,function(e,t,n){"use strict";n.r(t);var r=n(7),o=n.n(r);for(var i in r)"default"!==i&&function(e){n.d(t,e,(function(){return r[e]}))}(i);t.default=o.a},function(e,t,n){"use strict";n(27),n(28);var r=i(n(29));n(30),n(31);var o=i(n(13));function i(e){return e&&e.__esModule?e:{default:e}}n(14),r.default.AlwaysUseWeixinJS=!!+localStorage.RecordApp_AlwaysUseWeixinJS,r.default.AlwaysAppUseJS=!!+localStorage.RecordApp_AlwaysAppUseJS,r.default.Install((function(){console.log("RecordApp.Install成功")}),(function(){var e="RecordApp.Install出错:"+err;console.log(e),alert(e)})),e.exports={data:function(){return{App:r.default,Rec:o.default,type:"mp3",bitRate:16,sampleRate:16e3,rec:!1,duration:0,powerLevel:0,recOpenDialogShow:0,logs:[]}},methods:{recReq:function(){var e=this;e.rec=!1,e.dialogInt=setTimeout((function(){e.showDialog()}),8e3),r.default.RequestPermission((function(){e.rec=!0,e.dialogCancel(),e.reclog("已打开录音,可以点击录制开始录音了",2)}),(function(t,n){e.dialogCancel(),e.reclog((n?"UserNotAllow,":"")+"打开录音失败:"+t,1)})),e.waitDialogClickFn=function(){e.dialogCancel(),e.reclog("打开失败:权限请求被忽略,用户主动点击的弹窗",1)}},recStart:function(){var e=this;if(e.rec&&r.default.Current){r.default.Current==r.default.Platforms.Weixin?e.reclog("正在使用微信JsSDK,录音过程中不会有任何回调,不要惊慌"):r.default.Current==r.default.Platforms.Native?e.reclog("正在使用Native录音,底层由App原生层提供支持"):e.reclog("正在使用H5录音,底层由Recorder直接提供支持");var t={type:e.type,bitRate:e.bitRate,sampleRate:e.sampleRate,onProcess:function(t,n,r,o){e.duration=r,e.powerLevel=n,e.wave.input(t[t.length-1],n,o)}};r.default.Start(t,(function(){e.reclog(r.default.Current.Key+"录制中:"+t.type+" "+t.bitRate+"kbps",2),e.wave=o.default.WaveView({elem:".ctrlProcessWave"})}),(function(t){e.reclog(r.default.Current.Key+"开始录音失败:"+t,1)}))}else e.reclog("未请求权限",1)},recStop:function(){var e=this,t=e.rec;e.rec=!1,t&&r.default.Current?r.default.Stop((function(t,n){e.reclog("已录制:","",{blob:t,duration:n,rec:r.default.GetStopUsedRec()})}),(function(t){e.reclog("录音失败:"+t,1)})):e.reclog("未请求权限",1)},reclog:function(e,t,n){this.logs.splice(0,0,{idx:this.logs.length,msg:e,color:t,res:n,playMsg:"",down:0,down64Val:""})},recplay:function(e){var t=this,n=this.logs[this.logs.length-e-1];n.play=(n.play||0)+1;var r=function(e){n.playMsg=''+n.play+" "+t.getTime()+" "+e};r("");var o=this.$refs.LogAudioPlayer;o.controls=!0,o.ended||o.paused||o.pause(),o.onerror=function(e){r('播放失败['+o.error.code+"]"+o.error.message+"")},o.src=(window.URL||webkitURL).createObjectURL(n.res.blob),o.play()},recdown:function(e){var t=this.logs[this.logs.length-e-1];t.down=(t.down||0)+1;var n="rec-"+(t=t.res).duration+"ms-"+(t.rec.set.bitRate||"-")+"kbps-"+(t.rec.set.sampleRate||"-")+"hz."+(t.rec.set.type||(/\w+$/.exec(t.blob.type)||[])[0]||"unknown"),r=document.createElement("A");r.href=(window.URL||webkitURL).createObjectURL(t.blob),r.download=n,r.click()},recdown64:function(e){var t=this.logs[this.logs.length-e-1],n=new FileReader;n.onloadend=function(){t.down64Val=n.result},n.readAsDataURL(t.res.blob)},getTime:function(){var e=new Date;return("0"+e.getHours()).substr(-2)+":"+("0"+e.getMinutes()).substr(-2)+":"+("0"+e.getSeconds()).substr(-2)},intp:function(e,t){return(e=null==e?"-":e+"").length>=t?e:("_______"+e).substr(-t)},showDialog:function(){/mobile/i.test(navigator.userAgent)&&(this.recOpenDialogShow=1)},dialogCancel:function(){clearTimeout(this.dialogInt),this.recOpenDialogShow=0},waitDialogClick:function(){this.dialogCancel(),this.waitDialogClickFn()},setClick:function(e,t){localStorage[e]=t.target.checked?1:0,location.reload()}}}},function(e,t,n){var r=n(33);"string"==typeof r&&(r=[[e.i,r,""]]);var o={insert:"head",singleton:!1};n(16)(r,o);r.locals&&(e.exports=r.locals)},function(e,t,n){"use strict";(function(e,n){Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=Object.freeze({}); +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=25)}([function(e,t,n){"use strict";var r,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":a(window))&&(r=window)}e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r,a,i,o,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),i&&(c._scopeId="data-v-"+i),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},c._ssrRegister=l):a&&(l=s?function(){a.call(this,this.$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,l):[l]}return{exports:e,options:c}}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},,,,function(e,t,n){"use strict";n.r(t);var r=n(7),a=n.n(r);for(var i in r)"default"!==i&&function(e){n.d(t,e,(function(){return r[e]}))}(i);t.default=a.a},function(e,t,n){"use strict";var r=i(n(13));n(14),n(15),n(16);var a=i(n(27));function i(e){return e&&e.__esModule?e:{default:e}}n(28),n(29),e.exports={data:function(){return{type:"mp3",bitRate:16,sampleRate:16e3,duration:0,durationTxt:"0",powerLevel:0,logs:[]}},created:function(){var e=this;this.App=a.default,this.Rec=r.default,a.default.Install((function(){e.reclog("Install成功,环境:"+a.default.Current.Key,2)}),(function(t){e.reclog("RecordApp.Install出错:"+t,1)}))},methods:{recReq:function(){var e=this;e.reclog("开始请求授权..."),a.default.RequestPermission((function(){e.reclog(a.default.Current.Key+"已授权",2)}),(function(t,n){e.reclog((a.default.Current&&a.default.Current.Key||"[?]")+(n?" UserNotAllow, ":"")+" 授权失败:"+t,1)}))},recStart:function(){var e=this;if(a.default.Current){a.default.Current==a.default.Platforms.Native?e.reclog("正在使用Native录音,底层由App原生层提供支持"):e.reclog("正在使用H5录音,底层由Recorder直接提供支持");var t={type:e.type,bitRate:+e.bitRate,sampleRate:+e.sampleRate,onProcess:function(t,n,r,a){e.duration=r,e.durationTxt=e.formatMs(r,1),e.powerLevel=n,e.wave.input(t[t.length-1],n,a)}};e.reclog(a.default.Current.Key+" 正在打开..."),a.default.Start(t,(function(){e.reclog(a.default.Current.Key+"录制中:"+t.type+" "+t.bitRate+"kbps",2),e.wave=r.default.WaveView({elem:".ctrlProcessWave"})}),(function(t){e.reclog(a.default.Current.Key+"开始录音失败:"+t,1)}))}else e.reclog("未请求权限",1)},recPause:function(){a.default.GetCurrentRecOrNull()&&(a.default.Pause(),this.reclog("已暂停"))},recResume:function(){a.default.GetCurrentRecOrNull()&&(a.default.Resume(),this.reclog("继续录音中..."))},recStop:function(){var e=this;a.default.Current?a.default.Stop((function(t,n,r){var i=new Blob([t],{type:r});e.reclog("已录制:","",{blob:i,duration:n,durationTxt:e.formatMs(n),rec:{set:a.default.GetCurrentRecOrNull().set}})}),(function(t){e.reclog("录音失败:"+t,1)})):e.reclog("未请求权限",1)},recStopX:function(){var e=this;a.default.Stop(null,(function(t){e.reclog("已清理,错误信息:"+t)}))},recPlayLast:function(){this.recLogLast?this.recplay(this.recLogLast.idx):this.reclog("请先录音,然后停止后再播放",1)},recUploadLast:function(){if(this.recLogLast){var e=this,t=this.recLogLast.res.blob,n="https://xx.xx/test_request",r=function(t){return function(){4==o.readyState&&(200==o.status?e.reclog(t+"上传成功",2):(e.reclog(t+"没有完成上传,演示上传地址无需关注上传结果,只要浏览器控制台内Network面板内看到的请求数据结构是预期的就ok了。","#d8c1a0"),console.error(t+"上传失败",o.status,o.responseText)))}};e.reclog("开始上传到"+n+",请求稍后...","#f60");var a=new FileReader;a.onloadend=function(){var e="";e+="mime="+encodeURIComponent(t.type),e+="&upfile_b64="+encodeURIComponent((/.+;\s*base64\s*,\s*(.+)$/i.exec(a.result)||[])[1]);var i=new XMLHttpRequest;i.open("POST",n),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.onreadystatechange=r("上传方式一【Base64】"),i.send(e)},a.readAsDataURL(t);var i=new FormData;i.append("upfile",t,"recorder.mp3");var o=new XMLHttpRequest;o.open("POST",n),o.onreadystatechange=r("上传方式二【FormData】"),o.send(i)}else this.reclog("请先录音,然后停止后再上传",1)},recDownLast:function(){this.recLogLast?this.recdown(this.recLogLast.idx):this.reclog("请先录音,然后停止后再下载",1)},reclog:function(e,t,n){var r={idx:this.logs.length,msg:e,color:t,res:n,playMsg:"",down:0,down64Val:""};n&&n.blob&&(this.recLogLast=r),this.logs.splice(0,0,r)},recplay:function(e){var t=this,n=this.logs[this.logs.length-e-1];n.play=(n.play||0)+1;var r=function(e){n.playMsg=''+n.play+" "+t.getTime()+" "+e};r("");var a=this.$refs.LogAudioPlayer;a.controls=!0,a.ended||a.paused||a.pause(),a.onerror=function(e){r('播放失败['+a.error.code+"]"+a.error.message+"")},a.src=(window.URL||webkitURL).createObjectURL(n.res.blob),a.play()},recdown:function(e){var t=this.logs[this.logs.length-e-1];t.down=(t.down||0)+1;var n="rec-"+(t=t.res).duration+"ms-"+(t.rec.set.bitRate||"-")+"kbps-"+(t.rec.set.sampleRate||"-")+"hz."+(t.rec.set.type||(/\w+$/.exec(t.blob.type)||[])[0]||"unknown"),r=document.createElement("A");r.href=(window.URL||webkitURL).createObjectURL(t.blob),r.download=n,r.click()},recdown64:function(e){var t=this.logs[this.logs.length-e-1],n=new FileReader;n.onloadend=function(){t.down64Val=n.result},n.readAsDataURL(t.res.blob)},getTime:function(){var e=new Date;return("0"+e.getHours()).substr(-2)+":"+("0"+e.getMinutes()).substr(-2)+":"+("0"+e.getSeconds()).substr(-2)},formatMs:function(e,t){var n=e%1e3,r=(e=(e-n)/1e3)%60,a=(e=(e-r)/60)%60,i=e=(e-a)/60;return(i?i+":":"")+(t||i+a?("0"+a).substr(-2)+":":"")+(t||i+a+r?("0"+r).substr(-2)+"″":"")+("00"+n).substr(-3)},intp:function(e,t){return(e=null==e?"-":e+"").length>=t?e:("_______"+e).substr(-t)},setAppUseH5:function(e){a.default.AlwaysAppUseH5=e.target.checked,a.default.Current=null,this.reclog("AppUseH5选项变更,已重置RecordApp,请先进行权限测试")}}}},function(e,t,n){var r=n(31);"string"==typeof r&&(r=[[e.i,r,""]]);var a={insert:"head",singleton:!1};n(18)(r,a);r.locals&&(e.exports=r.locals)},function(e,t,n){"use strict";(function(e,n){Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=Object.freeze({}); /*! * Vue.js v2.6.10 * (c) 2014-2019 Evan You * Released under the MIT License. - */function i(e){return null==e}function a(e){return null!=e}function s(e){return!0===e}function c(e){return"string"==typeof e||"number"==typeof e||"symbol"===(void 0===e?"undefined":r(e))||"boolean"==typeof e}function l(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))}var u=Object.prototype.toString;function f(e){return"[object Object]"===u.call(e)}function p(e){return"[object RegExp]"===u.call(e)}function d(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function v(e){return a(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function h(e){return null==e?"":Array.isArray(e)||f(e)&&e.toString===u?JSON.stringify(e,null,2):String(e)}function m(e){var t=parseFloat(e);return isNaN(t)?e:t}function g(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o-1)return e.splice(n,1)}}var w=Object.prototype.hasOwnProperty;function x(e,t){return w.call(e,t)}function S(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var C=/-(\w)/g,k=S((function(e){return e.replace(C,(function(e,t){return t?t.toUpperCase():""}))})),A=S((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),R=/\B([A-Z])/g,$=S((function(e){return e.replace(R,"-$1").toLowerCase()}));var T=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function O(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function M(e,t){for(var n in t)e[n]=t[n];return e}function I(e){for(var t={},n=0;n0,ee=Z&&Z.indexOf("edge/")>0,te=(Z&&Z.indexOf("android"),Z&&/iphone|ipad|ipod|ios/.test(Z)||"ios"===X),ne=(Z&&/chrome\/\d+/.test(Z),Z&&/phantomjs/.test(Z),Z&&Z.match(/firefox\/(\d+)/)),re={}.watch,oe=!1;if(K)try{var ie={};Object.defineProperty(ie,"passive",{get:function(){oe=!0}}),window.addEventListener("test-passive",null,ie)}catch(e){}var ae=function(){return void 0===V&&(V=!K&&!G&&void 0!==e&&(e.process&&"server"===e.process.env.VUE_ENV)),V},se=K&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ce(e){return"function"==typeof e&&/native code/.test(e.toString())}var le,ue="undefined"!=typeof Symbol&&ce(Symbol)&&"undefined"!=typeof Reflect&&ce(Reflect.ownKeys);le="undefined"!=typeof Set&&ce(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var fe=L,pe=0,de=function(){this.id=pe++,this.subs=[]};de.prototype.addSub=function(e){this.subs.push(e)},de.prototype.removeSub=function(e){b(this.subs,e)},de.prototype.depend=function(){de.target&&de.target.addDep(this)},de.prototype.notify=function(){var e=this.subs.slice();for(var t=0,n=e.length;t-1)if(i&&!x(o,"default"))a=!1;else if(""===a||a===$(e)){var c=Je(String,o.type);(c<0||s0&&(dt((o=e(o,(n||"")+"_"+r))[0])&&dt(u)&&(f[l]=be(u.text+o[0].text),o.shift()),f.push.apply(f,o)):c(o)?dt(u)?f[l]=be(u.text+o):""!==o&&f.push(be(o)):dt(o)&&dt(u)?f[l]=be(u.text+o.text):(s(t._isVList)&&a(o.tag)&&i(o.key)&&a(n)&&(o.key="__vlist"+n+"_"+r+"__"),f.push(o)));return f}(e):void 0}function dt(e){return a(e)&&a(e.text)&&!1===e.isComment}function vt(e,t){if(e){for(var n=Object.create(null),r=ue?Reflect.ownKeys(e):Object.keys(e),o=0;o0,a=e?!!e.$stable:!i,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(a&&n&&n!==o&&s===n.$key&&!i&&!n.$hasNormal)return n;for(var c in r={},e)e[c]&&"$"!==c[0]&&(r[c]=yt(t,c,e[c]))}else r={};for(var l in t)l in r||(r[l]=_t(t,l));return e&&Object.isExtensible(e)&&(e._normalized=r),J(r,"$stable",a),J(r,"$key",s),J(r,"$hasNormal",i),r}function yt(e,t,n){var o=function(){var e=arguments.length?n.apply(null,arguments):n({});return(e=e&&"object"===(void 0===e?"undefined":r(e))&&!Array.isArray(e)?[e]:pt(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:o,enumerable:!0,configurable:!0}),o}function _t(e,t){return function(){return e[t]}}function bt(e,t){var n,r,o,i,s;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,o=e.length;rdocument.createEvent("Event").timeStamp&&(fn=function(){return pn.now()})}function dn(){var e,t;for(un=fn(),cn=!0,rn.sort((function(e,t){return e.id-t.id})),ln=0;lnln&&rn[n].id>e.id;)n--;rn.splice(n+1,0,e)}else rn.push(e);sn||(sn=!0,ot(dn))}}(this)},hn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||l(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){He(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},hn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},hn.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},hn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||b(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var mn={enumerable:!0,configurable:!0,get:L,set:L};function gn(e,t,n){mn.get=function(){return this[t][n]},mn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,mn)}function yn(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},o=e.$options._propKeys=[];e.$parent&&Ae(!1);var i=function(i){o.push(i);var a=Ue(i,t,n,e);Te(r,i,a),i in e||gn(e,"_props",i)};for(var a in t)i(a);Ae(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]="function"!=typeof t[n]?L:T(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;f(t=e._data="function"==typeof t?function(e,t){he();try{return e.call(t,t)}catch(e){return He(e,t,"data()"),{}}finally{me()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,o=(e.$options.methods,n.length);for(;o--;){var i=n[o];0,r&&x(r,i)||z(i)||gn(e,"_data",i)}$e(t,!0)}(e):$e(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=ae();for(var o in t){var i=t[o],a="function"==typeof i?i:i.get;0,r||(n[o]=new hn(e,a||L,L,_n)),o in e||bn(e,o,i)}}(e,t.computed),t.watch&&t.watch!==re&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var o=0;o-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!p(e)&&e.test(t)}function On(e,t){var n=e.cache,r=e.keys,o=e._vnode;for(var i in n){var a=n[i];if(a){var s=$n(a.componentOptions);s&&!t(s)&&Mn(n,i,r,o)}}}function Mn(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,b(n,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=Cn++,t._isVue=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=Fe(kn(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Zt(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,r=n&&n.context;e.$slots=ht(t._renderChildren,r),e.$scopedSlots=o,e._c=function(t,n,r,o){return Wt(e,t,n,r,o,!1)},e.$createElement=function(t,n,r,o){return Wt(e,t,n,r,o,!0)};var i=n&&n.data;Te(e,"$attrs",i&&i.attrs||o,null,!0),Te(e,"$listeners",t._parentListeners||o,null,!0)}(t),nn(t,"beforeCreate"),function(e){var t=vt(e.$options.inject,e);t&&(Ae(!1),Object.keys(t).forEach((function(n){Te(e,n,t[n])})),Ae(!0))}(t),yn(t),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(t),nn(t,"created"),t.$options.el&&t.$mount(t.$options.el)}}(An),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=Oe,e.prototype.$delete=Me,e.prototype.$watch=function(e,t,n){if(f(t))return Sn(this,e,t,n);(n=n||{}).user=!0;var r=new hn(this,e,t,n);if(n.immediate)try{t.call(this,r.value)}catch(e){He(e,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(An),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){var r=this;if(Array.isArray(e))for(var o=0,i=e.length;o1?O(n):n;for(var r=O(arguments,1),o='event handler for "'+e+'"',i=0,a=n.length;iparseInt(this.max)&&Mn(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return U}};Object.defineProperty(e,"config",t),e.util={warn:fe,extend:M,mergeOptions:Fe,defineReactive:Te},e.set=Oe,e.delete=Me,e.nextTick=ot,e.observable=function(e){return $e(e),e},e.options=Object.create(null),F.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,M(e.options.components,Ln),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=O(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Fe(this.options,e),this}}(e),Rn(e),function(e){F.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&f(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(An),Object.defineProperty(An.prototype,"$isServer",{get:ae}),Object.defineProperty(An.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(An,"FunctionalRenderContext",{value:Pt}),An.version="2.6.10";var Dn=g("style,class"),Pn=g("input,textarea,option,select,progress"),En=function(e,t,n){return"value"===n&&Pn(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},jn=g("contenteditable,draggable,spellcheck"),Nn=g("events,caret,typing,plaintext-only"),Fn=g("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Bn="http://www.w3.org/1999/xlink",Un=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Wn=function(e){return Un(e)?e.slice(6,e.length):""},zn=function(e){return null==e||!1===e};function Jn(e){for(var t=e.data,n=e,r=e;a(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=Hn(r.data,t));for(;a(n=n.parent);)n&&n.data&&(t=Hn(t,n.data));return function(e,t){if(a(e)||a(t))return Vn(e,qn(t));return""}(t.staticClass,t.class)}function Hn(e,t){return{staticClass:Vn(e.staticClass,t.staticClass),class:a(e.class)?[e.class,t.class]:t.class}}function Vn(e,t){return e?t?e+" "+t:e:t||""}function qn(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,o=e.length;r-1?yr(e,t,n):Fn(t)?zn(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):jn(t)?e.setAttribute(t,function(e,t){return zn(t)||"false"===t?"false":"contenteditable"===e&&Nn(t)?t:"true"}(t,n)):Un(t)?zn(n)?e.removeAttributeNS(Bn,Wn(t)):e.setAttributeNS(Bn,t,n):yr(e,t,n)}function yr(e,t,n){if(zn(n))e.removeAttribute(t);else{if(Y&&!Q&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){e.addEventListener("input",(function t(n){n.stopImmediatePropagation(),e.removeEventListener("input",t)})),e.__ieph=!0}e.setAttribute(t,n)}}var _r={create:mr,update:mr};function br(e,t){var n=t.elm,r=t.data,o=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var s=Jn(t),c=n._transitionClasses;a(c)&&(s=Vn(s,qn(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var wr,xr,Sr,Cr,kr,Ar,Rr={create:br,update:br},$r=/[\w).+\-_$\]]/;function Tr(e){var t,n,r,o,i,a=!1,s=!1,c=!1,l=!1,u=0,f=0,p=0,d=0;for(r=0;r=0&&" "===(h=e.charAt(v));v--);h&&$r.test(h)||(l=!0)}}else void 0===o?(d=r+1,o=e.slice(0,r).trim()):m();function m(){(i||(i=[])).push(e.slice(d,r).trim()),d=r+1}if(void 0===o?o=e.slice(0,r).trim():0!==d&&m(),i)for(r=0;r-1?{exp:e.slice(0,Cr),key:'"'+e.slice(Cr+1)+'"'}:{exp:e,key:null};xr=e,Cr=kr=Ar=0;for(;!Vr();)qr(Sr=Hr())?Gr(Sr):91===Sr&&Kr(Sr);return{exp:e.slice(0,kr),key:e.slice(kr+1,Ar)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function Hr(){return xr.charCodeAt(++Cr)}function Vr(){return Cr>=wr}function qr(e){return 34===e||39===e}function Kr(e){var t=1;for(kr=Cr;!Vr();)if(qr(e=Hr()))Gr(e);else if(91===e&&t++,93===e&&t--,0===t){Ar=Cr;break}}function Gr(e){for(var t=e;!Vr()&&(e=Hr())!==t;);}var Xr;function Zr(e,t,n){var r=Xr;return function o(){var i=t.apply(null,arguments);null!==i&&eo(e,o,n,r)}}var Yr=Xe&&!(ne&&Number(ne[1])<=53);function Qr(e,t,n,r){if(Yr){var o=un,i=t;t=i._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=o||e.timeStamp<=0||e.target.ownerDocument!==document)return i.apply(this,arguments)}}Xr.addEventListener(e,t,oe?{capture:n,passive:r}:n)}function eo(e,t,n,r){(r||Xr).removeEventListener(e,t._wrapper||t,n)}function to(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};Xr=t.elm,function(e){if(a(e.__r)){var t=Y?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}a(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),lt(n,r,Qr,eo,Zr,t.context),Xr=void 0}}var no,ro={create:to,update:to};function oo(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,o=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};for(n in a(c.__ob__)&&(c=t.data.domProps=M({},c)),s)n in c||(o[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var l=i(r)?"":String(r);io(o,l)&&(o.value=l)}else if("innerHTML"===n&&Xn(o.tagName)&&i(o.innerHTML)){(no=no||document.createElement("div")).innerHTML=""+r+"";for(var u=no.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;u.firstChild;)o.appendChild(u.firstChild)}else if(r!==s[n])try{o[n]=r}catch(e){}}}}function io(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(a(r)){if(r.number)return m(n)!==m(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var ao={create:oo,update:oo},so=S((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function co(e){var t=lo(e.style);return e.staticStyle?M(e.staticStyle,t):t}function lo(e){return Array.isArray(e)?I(e):"string"==typeof e?so(e):e}var uo,fo=/^--/,po=/\s*!important$/,vo=function(e,t,n){if(fo.test(t))e.style.setProperty(t,n);else if(po.test(n))e.style.setProperty($(t),n.replace(po,""),"important");else{var r=mo(t);if(Array.isArray(n))for(var o=0,i=n.length;o-1?t.split(_o).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function wo(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(_o).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function xo(e){if(e){if("object"===(void 0===e?"undefined":r(e))){var t={};return!1!==e.css&&M(t,So(e.name||"v")),M(t,e),t}return"string"==typeof e?So(e):void 0}}var So=S((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),Co=K&&!Q,ko="transition",Ao="transitionend",Ro="animation",$o="animationend";Co&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ko="WebkitTransition",Ao="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ro="WebkitAnimation",$o="webkitAnimationEnd"));var To=K?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Oo(e){To((function(){To(e)}))}function Mo(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),bo(e,t))}function Io(e,t){e._transitionClasses&&b(e._transitionClasses,t),wo(e,t)}function Lo(e,t,n){var r=Po(e,t),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s="transition"===o?Ao:$o,c=0,l=function(){e.removeEventListener(s,u),n()},u=function(t){t.target===e&&++c>=a&&l()};setTimeout((function(){c0&&(n="transition",u=a,f=i.length):"animation"===t?l>0&&(n="animation",u=l,f=c.length):f=(n=(u=Math.max(a,l))>0?a>l?"transition":"animation":null)?"transition"===n?i.length:c.length:0,{type:n,timeout:u,propCount:f,hasTransform:"transition"===n&&Do.test(r[ko+"Property"])}}function Eo(e,t){for(;e.length1}function Wo(e,t){!0!==t.data.show&&No(t)}var zo=function(e){var t,n,r={},o=e.modules,l=e.nodeOps;for(t=0;tv?_(e,i(n[g+1])?null:n[g+1].elm,n,d,g,r):d>g&&w(0,t,p,v)}(p,m,g,n,u):a(g)?(a(e.text)&&l.setTextContent(p,""),_(p,null,g,0,g.length-1,n)):a(m)?w(0,m,0,m.length-1):a(e.text)&&l.setTextContent(p,""):e.text!==t.text&&l.setTextContent(p,t.text),a(v)&&a(d=v.hook)&&a(d=d.postpatch)&&d(e,t)}}}function k(e,t,n){if(s(n)&&a(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,a.selected!==i&&(a.selected=i);else if(E(Ko(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));o||(e.selectedIndex=-1)}}function qo(e,t){return t.every((function(t){return!E(t,e)}))}function Ko(e){return"_value"in e?e._value:e.value}function Go(e){e.target.composing=!0}function Xo(e){e.target.composing&&(e.target.composing=!1,Zo(e.target,"input"))}function Zo(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Yo(e){return!e.componentInstance||e.data&&e.data.transition?e:Yo(e.componentInstance._vnode)}var Qo={model:Jo,show:{bind:function(e,t,n){var r=t.value,o=(n=Yo(n)).data&&n.data.transition,i=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&o?(n.data.show=!0,No(n,(function(){e.style.display=i}))):e.style.display=r?i:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Yo(n)).data&&n.data.transition?(n.data.show=!0,r?No(n,(function(){e.style.display=e.__vOriginalDisplay})):Fo(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,o){o||(e.style.display=e.__vOriginalDisplay)}}},ei={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ti(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?ti(qt(t.children)):e}function ni(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var o=n._parentListeners;for(var i in o)t[k(i)]=o[i];return t}function ri(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var oi=function(e){return e.tag||Vt(e)},ii=function(e){return"show"===e.name},ai={name:"transition",props:ei,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(oi)).length){0;var r=this.mode;0;var o=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var i=ti(o);if(!i)return o;if(this._leaving)return ri(e,o);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:c(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=ni(this),l=this._vnode,u=ti(l);if(i.data.directives&&i.data.directives.some(ii)&&(i.data.show=!0),u&&u.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(i,u)&&!Vt(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var f=u.data.transition=M({},s);if("out-in"===r)return this._leaving=!0,ut(f,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),ri(e,o);if("in-out"===r){if(Vt(i))return l;var p,d=function(){p()};ut(s,"afterEnter",d),ut(s,"enterCancelled",d),ut(f,"delayLeave",(function(e){p=e}))}}return o}}},si=M({tag:String,moveClass:String},ei);function ci(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function li(e){e.data.newPos=e.elm.getBoundingClientRect()}function ui(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,o=t.top-n.top;if(r||o){e.data.moved=!0;var i=e.elm.style;i.transform=i.WebkitTransform="translate("+r+"px,"+o+"px)",i.transitionDuration="0s"}}delete si.mode;var fi={Transition:ai,TransitionGroup:{props:si,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var o=Qt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,o(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=ni(this),s=0;s-1?Qn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Qn[e]=/HTMLUnknownElement/.test(t.toString())},M(An.options.directives,Qo),M(An.options.components,fi),An.prototype.__patch__=K?zo:L,An.prototype.$mount=function(e,t){return function(e,t,n){var r;return e.$el=t,e.$options.render||(e.$options.render=_e),nn(e,"beforeMount"),r=function(){e._update(e._render(),n)},new hn(e,r,L,{before:function(){e._isMounted&&!e._isDestroyed&&nn(e,"beforeUpdate")}},!0),n=!1,null==e.$vnode&&(e._isMounted=!0,nn(e,"mounted")),e}(this,e=e&&K?tr(e):void 0,t)},K&&setTimeout((function(){U.devtools&&se&&se.emit("init",An)}),0);var pi=/\{\{((?:.|\r?\n)+?)\}\}/g,di=/[-.*+?^${}()|[\]\/\\]/g,vi=S((function(e){var t=e[0].replace(di,"\\$&"),n=e[1].replace(di,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")}));var hi={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=Br(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=Fr(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}};var mi,gi={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=Br(e,"style");n&&(e.staticStyle=JSON.stringify(so(n)));var r=Fr(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},yi=function(e){return(mi=mi||document.createElement("div")).innerHTML=e,mi.textContent},_i=g("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),bi=g("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),wi=g("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),xi=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Si=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Ci="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+W.source+"]*",ki="((?:"+Ci+"\\:)?"+Ci+")",Ai=new RegExp("^<"+ki),Ri=/^\s*(\/?)>/,$i=new RegExp("^<\\/"+ki+"[^>]*>"),Ti=/^]+>/i,Oi=/^",""":'"',"&":"&"," ":"\n"," ":"\t","'":"'"},Pi=/&(?:lt|gt|quot|amp|#39);/g,Ei=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,ji=g("pre,textarea",!0),Ni=function(e,t){return e&&ji(e)&&"\n"===t[0]};function Fi(e,t){var n=t?Ei:Pi;return e.replace(n,(function(e){return Di[e]}))}var Bi,Ui,Wi,zi,Ji,Hi,Vi,qi,Ki=/^@|^v-on:/,Gi=/^v-|^@|^:/,Xi=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Zi=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Yi=/^\(|\)$/g,Qi=/^\[.*\]$/,ea=/:(.*)$/,ta=/^:|^\.|^v-bind:/,na=/\.[^.\]]+(?=[^\]]*$)/g,ra=/^v-slot(:|$)|^#/,oa=/[\r\n]/,ia=/\s+/g,aa=S(yi);function sa(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:va(t),rawAttrsMap:{},parent:n,children:[]}}function ca(e,t){Bi=t.warn||Mr,Hi=t.isPreTag||D,Vi=t.mustUseProp||D,qi=t.getTagNamespace||D;var n=t.isReservedTag||D;(function(e){return!!e.component||!n(e.tag)}),Wi=Ir(t.modules,"transformNode"),zi=Ir(t.modules,"preTransformNode"),Ji=Ir(t.modules,"postTransformNode"),Ui=t.delimiters;var r,o,i=[],a=!1!==t.preserveWhitespace,s=t.whitespace,c=!1,l=!1;function u(e){if(f(e),c||e.processed||(e=la(e,t)),i.length||e===r||r.if&&(e.elseif||e.else)&&fa(r,{exp:e.elseif,block:e}),o&&!e.forbidden)if(e.elseif||e.else)a=e,(s=function(e){for(var t=e.length;t--;){if(1===e[t].type)return e[t];e.pop()}}(o.children))&&s.if&&fa(s,{exp:a.elseif,block:a});else{if(e.slotScope){var n=e.slotTarget||'"default"';(o.scopedSlots||(o.scopedSlots={}))[n]=e}o.children.push(e),e.parent=o}var a,s;e.children=e.children.filter((function(e){return!e.slotScope})),f(e),e.pre&&(c=!1),Hi(e.tag)&&(l=!1);for(var u=0;u]*>)","i")),p=e.replace(f,(function(e,n,r){return l=r.length,Ii(u)||"noscript"===u||(n=n.replace(//g,"$1").replace(//g,"$1")),Ni(u,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""}));c+=e.length-p.length,e=p,A(u,c-l,c)}else{var d=e.indexOf("<");if(0===d){if(Oi.test(e)){var v=e.indexOf("--\x3e");if(v>=0){t.shouldKeepComment&&t.comment(e.substring(4,v),c,c+v+3),S(v+3);continue}}if(Mi.test(e)){var h=e.indexOf("]>");if(h>=0){S(h+2);continue}}var m=e.match(Ti);if(m){S(m[0].length);continue}var g=e.match($i);if(g){var y=c;S(g[0].length),A(g[1],y,c);continue}var _=C();if(_){k(_),Ni(_.tagName,e)&&S(1);continue}}var b=void 0,w=void 0,x=void 0;if(d>=0){for(w=e.slice(d);!($i.test(w)||Ai.test(w)||Oi.test(w)||Mi.test(w)||(x=w.indexOf("<",1))<0);)d+=x,w=e.slice(d);b=e.substring(0,d)}d<0&&(b=e),b&&S(b.length),t.chars&&b&&t.chars(b,c-b.length,c)}if(e===n){t.chars&&t.chars(e);break}}function S(t){c+=t,e=e.substring(t)}function C(){var t=e.match(Ai);if(t){var n,r,o={tagName:t[1],attrs:[],start:c};for(S(t[0].length);!(n=e.match(Ri))&&(r=e.match(Si)||e.match(xi));)r.start=c,S(r[0].length),r.end=c,o.attrs.push(r);if(n)return o.unarySlash=n[1],S(n[0].length),o.end=c,o}}function k(e){var n=e.tagName,c=e.unarySlash;i&&("p"===r&&wi(n)&&A(r),s(n)&&r===n&&A(n));for(var l=a(n)||!!c,u=e.attrs.length,f=new Array(u),p=0;p=0&&o[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var l=o.length-1;l>=a;l--)t.end&&t.end(o[l].tag,n,i);o.length=a,r=a&&o[a-1].tag}else"br"===s?t.start&&t.start(e,[],!0,n,i):"p"===s&&(t.start&&t.start(e,[],!1,n,i),t.end&&t.end(e,n,i))}A()}(e,{warn:Bi,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,n,a,s,f){var p=o&&o.ns||qi(e);Y&&"svg"===p&&(n=function(e){for(var t=[],n=0;nc&&(s.push(i=e.slice(c,o)),a.push(JSON.stringify(i)));var l=Tr(r[1].trim());a.push("_s("+l+")"),s.push({"@binding":l}),c=o+r[0].length}return c-1"+("true"===i?":("+t+")":":_q("+t+","+i+")")),Nr(e,"change","var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+i+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+o+")":o)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Jr(t,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Jr(t,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Jr(t,"$$c")+"}",null,!0)}(e,r,o);else if("input"===i&&"radio"===a)!function(e,t,n){var r=n&&n.number,o=Fr(e,"value")||"null";Lr(e,"checked","_q("+t+","+(o=r?"_n("+o+")":o)+")"),Nr(e,"change",Jr(t,o),null,!0)}(e,r,o);else if("input"===i||"textarea"===i)!function(e,t,n){var r=e.attrsMap.type;0;var o=n||{},i=o.lazy,a=o.number,s=o.trim,c=!i&&"range"!==r,l=i?"change":"range"===r?"__r":"input",u="$event.target.value";s&&(u="$event.target.value.trim()");a&&(u="_n("+u+")");var f=Jr(t,u);c&&(f="if($event.target.composing)return;"+f);Lr(e,"value","("+t+")"),Nr(e,l,f,null,!0),(s||a)&&Nr(e,"blur","$forceUpdate()")}(e,r,o);else{if(!U.isReservedTag(i))return zr(e,r,o),!1}return!0},text:function(e,t){t.value&&Lr(e,"textContent","_s("+t.value+")",t)},html:function(e,t){t.value&&Lr(e,"innerHTML","_s("+t.value+")",t)}},isPreTag:function(e){return"pre"===e},isUnaryTag:_i,mustUseProp:En,canBeLeftOpenTag:bi,isReservedTag:Zn,getTagNamespace:Yn,staticKeys:function(e){return e.reduce((function(e,t){return e.concat(t.staticKeys||[])}),[]).join(",")}(ya)},xa=S((function(e){return g("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(e?","+e:""))}));function Sa(e,t){e&&(_a=xa(t.staticKeys||""),ba=t.isReservedTag||D,function e(t){if(t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||y(e.tag)||!ba(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(_a)))}(t),1===t.type){if(!ba(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n|^function\s*(?:[\w$]+)?\s*\(/,ka=/\([^)]*?\);*$/,Aa=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Ra={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},$a={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Ta=function(e){return"if("+e+")return null;"},Oa={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Ta("$event.target !== $event.currentTarget"),ctrl:Ta("!$event.ctrlKey"),shift:Ta("!$event.shiftKey"),alt:Ta("!$event.altKey"),meta:Ta("!$event.metaKey"),left:Ta("'button' in $event && $event.button !== 0"),middle:Ta("'button' in $event && $event.button !== 1"),right:Ta("'button' in $event && $event.button !== 2")};function Ma(e,t){var n=t?"nativeOn:":"on:",r="",o="";for(var i in e){var a=Ia(e[i]);e[i]&&e[i].dynamic?o+=i+","+a+",":r+='"'+i+'":'+a+","}return r="{"+r.slice(0,-1)+"}",o?n+"_d("+r+",["+o.slice(0,-1)+"])":n+r}function Ia(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map((function(e){return Ia(e)})).join(",")+"]";var t=Aa.test(e.value),n=Ca.test(e.value),r=Aa.test(e.value.replace(ka,""));if(e.modifiers){var o="",i="",a=[];for(var s in e.modifiers)if(Oa[s])i+=Oa[s],Ra[s]&&a.push(s);else if("exact"===s){var c=e.modifiers;i+=Ta(["ctrl","shift","alt","meta"].filter((function(e){return!c[e]})).map((function(e){return"$event."+e+"Key"})).join("||"))}else a.push(s);return a.length&&(o+=function(e){return"if(!$event.type.indexOf('key')&&"+e.map(La).join("&&")+")return null;"}(a)),i&&(o+=i),"function($event){"+o+(t?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value)+"}"}return t||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function La(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=Ra[e],r=$a[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var Da={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(e,t){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+t.value+","+(t.modifiers&&t.modifiers.prop?"true":"false")+(t.modifiers&&t.modifiers.sync?",true":"")+")"}},cloak:L},Pa=function(e){this.options=e,this.warn=e.warn||Mr,this.transforms=Ir(e.modules,"transformCode"),this.dataGenFns=Ir(e.modules,"genData"),this.directives=M(M({},Da),e.directives);var t=e.isReservedTag||D;this.maybeComponent=function(e){return!!e.component||!t(e.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function Ea(e,t){var n=new Pa(t);return{render:"with(this){return "+(e?ja(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function ja(e,t){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return Na(e,t);if(e.once&&!e.onceProcessed)return Fa(e,t);if(e.for&&!e.forProcessed)return Ua(e,t);if(e.if&&!e.ifProcessed)return Ba(e,t);if("template"!==e.tag||e.slotTarget||t.pre){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=Ha(e,t),o="_t("+n+(r?","+r:""),i=e.attrs||e.dynamicAttrs?Ka((e.attrs||[]).concat(e.dynamicAttrs||[]).map((function(e){return{name:k(e.name),value:e.value,dynamic:e.dynamic}}))):null,a=e.attrsMap["v-bind"];!i&&!a||r||(o+=",null");i&&(o+=","+i);a&&(o+=(i?"":",null")+","+a);return o+")"}(e,t);var n;if(e.component)n=function(e,t,n){var r=t.inlineTemplate?null:Ha(t,n,!0);return"_c("+e+","+Wa(t,n)+(r?","+r:"")+")"}(e.component,e,t);else{var r;(!e.plain||e.pre&&t.maybeComponent(e))&&(r=Wa(e,t));var o=e.inlineTemplate?null:Ha(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(o?","+o:"")+")"}for(var i=0;i>>0}(a):"")+")"}(e,e.scopedSlots,t)+","),e.model&&(n+="model:{value:"+e.model.value+",callback:"+e.model.callback+",expression:"+e.model.expression+"},"),e.inlineTemplate){var i=function(e,t){var n=e.children[0];0;if(n&&1===n.type){var r=Ea(n,t.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map((function(e){return"function(){"+e+"}"})).join(",")+"]}"}}(e,t);i&&(n+=i+",")}return n=n.replace(/,$/,"")+"}",e.dynamicAttrs&&(n="_b("+n+',"'+e.tag+'",'+Ka(e.dynamicAttrs)+")"),e.wrapData&&(n=e.wrapData(n)),e.wrapListeners&&(n=e.wrapListeners(n)),n}function za(e){return 1===e.type&&("slot"===e.tag||e.children.some(za))}function Ja(e,t){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return Ba(e,t,Ja,"null");if(e.for&&!e.forProcessed)return Ua(e,t,Ja);var r="_empty_"===e.slotScope?"":String(e.slotScope),o="function("+r+"){return "+("template"===e.tag?e.if&&n?"("+e.if+")?"+(Ha(e,t)||"undefined")+":undefined":Ha(e,t)||"undefined":ja(e,t))+"}",i=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+o+i+"}"}function Ha(e,t,n,r,o){var i=e.children;if(i.length){var a=i[0];if(1===i.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=n?t.maybeComponent(a)?",1":",0":"";return""+(r||ja)(a,t)+s}var c=n?function(e,t){for(var n=0,r=0;r':'
',Qa.innerHTML.indexOf(" ")>0}var rs=!!K&&ns(!1),os=!!K&&ns(!0),is=S((function(e){var t=tr(e);return t&&t.innerHTML})),as=An.prototype.$mount;An.prototype.$mount=function(e,t){if((e=e&&tr(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=is(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){if(e.outerHTML)return e.outerHTML;var t=document.createElement("div");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){0;var o=ts(r,{outputSourceRange:!1,shouldDecodeNewlines:rs,shouldDecodeNewlinesForHref:os,delimiters:n.delimiters,comments:n.comments},this),i=o.render,a=o.staticRenderFns;n.render=i,n.staticRenderFns=a}}return as.call(this,e,t)},An.compile=ts,t.default=An}).call(this,n(0),n(10).setImmediate)},function(e,t,n){"use strict";(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(11),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||void 0,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||void 0}).call(this,n(0))},function(e,t,n){"use strict";(function(e,t){!function(e,n){if(!e.setImmediate){var r,o,i,a,s,c=1,l={},u=!1,f=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){v(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){v(e.data)},r=function(e){i.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(o=f.documentElement,r=function(e){var t=f.createElement("script");t.onreadystatechange=function(){v(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):r=function(e){setTimeout(v,0,e)}:(a="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&v(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(a+t,"*")}),p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n3*t/4?0:r/2*3/4;l={fn:u?n.IIRFilter(!0,t,u):0}}l.sr=t;var p=l.fn,d=o.frameNext||[];i||(i={});var v=i.frameSize||1;i.frameType&&(v="mp3"==i.frameType?1152:1);var h=e.length;s>h+1&&f(a+"似乎传入了未重置chunk "+s+">"+h,3);for(var m=0,g=s;g1?m=Math.floor(m/y):(y=1,r=t),m+=d.length;var _=new Int16Array(m),b=0;for(g=0;g0){var P=2*(_.length-D);d=new Int16Array(_.buffer.slice(P)),_=new Int16Array(_.buffer.slice(0,P))}return{index:s,offset:c,filter:l,frameNext:d,sampleRate:r,data:_}},n.IIRFilter=function(e,t,n){var r=2*Math.PI*n/t,o=Math.sin(r),i=Math.cos(r),a=o/2,s=1+a,c=-2*i/s,l=(1-a)/s;if(e)var u=(1-i)/2/s,f=(1-i)/s;else u=(1+i)/2/s,f=-(1+i)/s;var p=0,d=0,v=0,h=0,m=0,g=function(e){return v=u*e+f*p+u*d-c*h-l*m,d=p,p=e,m=h,h=v,v};return g.Embed={x1:0,x2:0,y1:0,y2:0,b0:u,b1:f,a1:c,a2:l},g},n.PowerLevel=function(e,t){var n=e/t||0;return n<1251?Math.round(n/1250*10):Math.round(Math.min(100,Math.max(0,100*(1+Math.log(n/1e4)/Math.log(10)))))},n.PowerDBFS=function(e){var t=Math.max(.1,e||0);return t=Math.min(t,32767),t=20*Math.log(t/32767)/Math.log(10),Math.max(-100,Math.round(t))},n.CLog=function(t,n){var o=new Date,i=("0"+o.getMinutes()).substr(-2)+":"+("0"+o.getSeconds()).substr(-2)+"."+("00"+o.getMilliseconds()).substr(-3),a=this&&this.envIn&&this.envCheck&&this.id,s=["["+i+" "+r+(a?":"+a:"")+"]"+t],c=arguments,l=e.console||{},u=2,f=l.log;for("number"==typeof n?f=1==n?l.error:3==n?l.warn:f:u=1;u1?s:""):f.apply(l,s)};var f=function(){n.CLog.apply(this,arguments)},p=!0;try{p=!console.log.apply}catch(e){}var d=0;function v(e){this.id=++d,b();var n={type:"mp3",bitRate:16,sampleRate:16e3,onProcess:t};for(var r in e)n[r]=e[r];this.set=n,this._S=9,this.Sync={O:9,C:9}}n.Sync={O:9,C:9},n.prototype=v.prototype={CLog:f,_streamStore:function(){return this.set.sourceStream?this:n},_streamCtx:function(){var e=this._streamStore().Stream;return e&&e._c},open:function(r,o){var s=this,c=s.set,u=s._streamStore(),f=0;r=r||t;var p=function(e,t){t=!!t,s.CLog("录音open失败:"+e+",isUserNotAllow:"+t,1),f&&n.CloseNewCtx(f),o&&o(e,t)},d=function(){s.CLog("open ok id:"+s.id),r(),s._SO=0},v=u.Sync,h=++v.O,m=v.C;s._O=s._O_=h,s._SO=s._S;var g=s.envCheck({envName:"H5",canProcess:!0});if(g)p("不能录音:"+g);else if(c.sourceStream){if(!n.GetContext())return void p("不支持此浏览器从流中获取录音");l(u);var y=s.Stream=c.sourceStream;y._RC=c.runningContext,y._call={};try{a(u)}catch(e){return l(u),void p("从流中打开录音失败:"+e.message)}d()}else{var _=function(t,n){try{e.top.a}catch(e){return void p('无权录音(跨域,请尝试给iframe添加麦克风访问策略,如allow="camera;microphone")')}/Permission|Allow/i.test(t)?p("用户拒绝了录音权限",!0):!1===e.isSecureContext?p("浏览器禁止不安全页面录音,可开启https解决"):/Found/i.test(t)?p(n+",无可用麦克风"):p(n)};if(n.IsOpen())d();else if(n.Support()){var b=c.runningContext;b||(b=f=n.GetContext(!0));var w=function(e){setTimeout((function(){e._call={};var t=n.Stream;t&&(l(),e._call=t._call),n.Stream=e,e._c=b,e._RC=c.runningContext,function(){if(m!=v.C||!s._O){var e="open被取消";return h==v.O?s.close():e="open被中断",p(e),!0}}()||(n.IsOpen()?(t&&s.CLog("发现同时多次调用open",1),a(u,1),d()):p("录音功能无效:无音频流"))}),100)},x=function(e){var t=e.name||e.message||e.code+":"+e;s.CLog("请求录音权限错误",1,e),_(t,"无法录音:"+t)},S=c.audioTrackSet||{};S.sampleRate=b.sampleRate;var C={audio:S};try{var k=n.Scope.getUserMedia(C,w,x)}catch(e){s.CLog("getUserMedia",3,e),C={audio:!0},k=n.Scope.getUserMedia(C,w,x)}s.CLog("getUserMedia("+JSON.stringify(C)+") "+i(b)+",一般默认会降噪和回声消除,移动端可能会降低系统播放音量,请参阅文档中audioTrackSet配置"),k&&k.then&&k.then(w).catch(x)}else _("","此浏览器不支持录音")}},close:function(e){e=e||t;var n=this._streamStore();this._stop();var r=n.Sync;if(this._O=0,this._O_!=r.O)return this.CLog("close被忽略(因为同时open了多个rec,只有最后一个会真正close)",3),void e();r.C++,l(n),this.CLog("close"),e()},mock:function(e,t){return this._stop(),this.isMock=1,this.mockEnvInfo=null,this.buffers=[e],this.recSize=e.length,this.srcSampleRate=t,this},envCheck:function(t){var r,o=this.set,i="CPU_BE";if(r||n[i]||!e.Int8Array||new Int8Array(new Int32Array([1]).buffer)[0]||(b(i),r="不支持CPU_BE架构"),!r){var a=o.type;this[a+"_envCheck"]?r=this[a+"_envCheck"](t,o):o.takeoffEncodeChunk&&(r=a+"类型"+(this[a]?"":"(未加载编码器)")+"不支持设置takeoffEncodeChunk")}return r||""},envStart:function(e,t){var n=this.set;this.isMock=e?1:0,this.mockEnvInfo=e,this.buffers=[],this.recSize=0,this.envInLast=0,this.envInFirst=0,this.envInFix=0,this.envInFixTs=[];var r=n.sampleRate;if(r>t?n.sampleRate=t:r=0,this.srcSampleRate=t,this.CLog("srcSampleRate: "+t+" set.sampleRate: "+n.sampleRate+(r?" 忽略"+r:""),r?3:0),this.engineCtx=0,this[n.type+"_start"]){var o=this.engineCtx=this[n.type+"_start"](n);o&&(o.pcmDatas=[],o.pcmSize=0)}},envResume:function(){this.envInFixTs=[]},envIn:function(e,t){var r=this,o=r.set,i=r.engineCtx,a=r.srcSampleRate,s=e.length,c=n.PowerLevel(t,s),l=r.buffers,u=l.length;l.push(e);var f=l,p=u,d=Date.now(),v=Math.round(s/a*1e3);r.envInLast=d,1==r.buffers.length&&(r.envInFirst=d-v);var h=r.envInFixTs;h.splice(0,0,{t:d,d:v});for(var m=d,g=0,y=0;y3e3){h.length=y;break}m=_.t,g+=_.d}var b=h[1],w=d-m;if(w-g>w/3&&(b&&w>1e3||h.length>=6)){var x=d-b.t-v;if(x>v/5){var S=!o.disableEnvInFix;if(r.CLog("["+d+"]"+(S?"":"未")+"补偿"+x+"ms",3),r.envInFix+=x,S){var C=new Int16Array(x*a/1e3);s+=C.length,l.push(C)}}}var k=r.recSize,A=s,R=k+A;if(r.recSize=R,i){var $=n.SampleData(l,a,o.sampleRate,i.chunkInfo);i.chunkInfo=$,R=(k=i.pcmSize)+(A=$.data.length),i.pcmSize=R,l=i.pcmDatas,u=l.length,l.push($.data),a=$.sampleRate}var T=Math.round(R/a*1e3),O=l.length,M=f.length,I=function(){for(var e=L?0:-A,t=null==l[0],n=u;n10&&r.envInFirst-d>1e3&&r.CLog("rec.set.onProcess低性能,耗时"+D+"ms",3),!0===L){var P=0;for(y=u;y"+y.length+" 花:"+(Date.now()-o)+"ms"),setTimeout((function(){o=Date.now(),i[a.type](y,(function(e){f(e,m)}),(function(e){u(e)}))}))}else u("未加载"+a.type+"编码器");else u("音频buffers被释放");else u("未采集到录音")}},e[r]&&(f("重复引入"+r,3),e[r].Destroy()),e[r]=n;var h=function(e,t){t.pos||(t.pos=[0],t.tracks={},t.bytes=[]);var n=t.tracks,r=[t.pos[0]],o=function(){t.pos[0]=r[0]},i=t.bytes.length,a=new Uint8Array(i+e.length);if(a.set(t.bytes),a.set(e,i),t.bytes=a,!t._ht){if(y(a,r),_(a,r),!m(y(a,r),[24,83,128,103]))return;for(y(a,r);r[0]1){var E=[];for(k=0;k<$.length;)E.push($[k]),k+=T.channels;$=new Float32Array(E)}return $}}},m=function(e,t){if(!e||e.length!=t.length)return!1;if(1==e.length)return e[0]==t[0];for(var n=0;n=e.length)){var o=("0000000"+e[r].toString(2)).substr(-8),i=/^(0*1)(\d*)$/.exec(o);if(i){var a=i[1].length,s=[];if(!(r+a>e.length)){for(var c=0;ce.length)return;for(var a=0;a
';var l=this.canvas=s.querySelector("canvas"),u=this.ctx=l.getContext("2d");l.width=i,l.height=a,this.linear1=this.genLinear(u,i,e.linear1),this.linear2=this.genLinear(u,i,e.linear2),this.linearBg=this.genLinear(u,a,e.linearBg,!0),r&&(r.innerHTML="",r.appendChild(s)),this._phase=0}).prototype=r.prototype={genLinear:function(e,t,n,r){for(var o=e.createLinearGradient(0,0,r?0:t,r?t:0),i=0;i1300&&(clearInterval(e.timer),e.timer=0)}},draw:function(e){var t=this.set,n=this.ctx,r=t.scale,o=t.width*r,i=t.height*r,a=t.speed/t.fps,s=this._phase-=a,c=s+a*t.phase,l=e/100,u=this.genPath(2,l,s),f=this.genPath(1.8,l,c);n.clearRect(0,0,o,i),n.beginPath();for(var p=0,d=0;d=0;p--,d-=r)n.lineTo(d,f[p]);n.closePath(),n.fillStyle=this.linearBg,n.fill(),this.drawPath(f,this.linear2),this.drawPath(u,this.linear1)},drawPath:function(e,t){var n=this.set,r=this.ctx,o=n.scale,i=n.width*o;r.beginPath();for(var a=0,s=0;s\n \n\n \n\n '}),s=a.$refs.mainView;s.reclog('RecordApp[即将废弃] 除Recorder支持的外,支持Hybrid App,低版本IOS上支持微信网页和小程序web-view'+unescape("%uD83C%uDF89")+""),s.reclog('Recorder H5使用简单,功能丰富,支持PC、Android、IOS 14.3+'+unescape("%uD83D%uDCAA")+""),s.reclog('绿油油的一大片,真有食欲'+unescape("%uD83D%uDE02")+' 当前浏览器支持录音':'red">不支持录音')+"");var c=function(e,t){s.reclog(''+e+": "+t+"")};c("本页面修改时间(有可能修改了忘改)","2020-11-25 21:43:09"),c("Recorder库修改时间(有可能修改了忘改)",s.Rec.LM),c("RecordApp库修改时间(有可能修改了忘改)",s.App.LM),c("UA",navigator.userAgent),c("URL",location.href.replace(/#.*/g,"")),c("Vue",r.default.version),s.reclog("点击打开录音,然后再点击开始录音",2),window.vue_root=a,window.vue_main=s,console.log("Vue",r.default),console.log("Recorder",s.Rec),console.log("RecordApp",s.App)},function(e,t,n){"use strict";n.r(t);var r=n(18),o=n(6);for(var i in o)"default"!==i&&function(e){n.d(t,e,(function(){return o[e]}))}(i);n(32);var a=n(1),s=Object(a.a)(o.default,r.a,r.b,!1,null,null,null);s.options.__file="component/recordapp.vue",t.default=s.exports},function(e,t,n){"use strict";window.PageSet_RecordAppBaseFolder="https://cdn.jsdelivr.net/gh/xiangyuecn/Recorder@latest/dist/",window.RecordAppBaseFolder=window.PageSet_RecordAppBaseFolder||"https://xiangyuecn.gitee.io/recorder/src/",window.OnRecordAppInstalled=window.Native_RecordApp_Config=function(){window.Native_RecordApp_Config=null,window.IOS_Weixin_RecordApp_Config&&IOS_Weixin_RecordApp_Config();var e=RecordApp,t=e.CLog,n=e.Platforms.Native.Config;t("native-config init");var r,o="RecordAppJsBridge",i=window.AppJsBridgeRequest=function(e,n,r){var s=window.top,c=0;try{c=s.AppJsBridgeRequest}catch(e){t("检测到跨域iframe,AppJsBridgeRequest将由Native通过执行postMessage转发来兼容数据的返回",3)}if(c&&c!=i)return c(e,n,r);n||(n={});var l="";r&&(l=a.length+"",a.push(r));var u={status:"",message:"",callback:l,value:null},f=JSON.stringify({action:e,args:n,callback:l}),p="";return window[o]?p=window[o].request(f):((window.webkit||{}).messageHandlers||{})[o+"IsSet"]?p=prompt(f):u.message="非app,不能调用接口",p=p&&JSON.parse(p)||u},a=[""];i.Call=function(e){a[e.callback]&&(a[e.callback](e),a[e.callback]=null)},i.Record=function(e,t){NativeRecordReceivePCM(e,t)};try{window.top.AppJsBridgeRequest=i}catch(e){var s=function(){t("检测到跨域iframe,AppJsBridgeRequest无法注入到顶层,已监听postMessage,Native通过执行postMessage转发来兼容数据返回",3),window.parent!=window.top&&t("RecordApp Native Config示例不支持跨域iframe超过1层,因为没有处理中间的iframe的window的postMessage转发",1)};setTimeout(s,8e3),s(),addEventListener("message",(function(e){var n=e.data;if(n&&"AppJsBridgeRequest"==n.type){var r=n.action;n=n.data,"Call"==r?i.Call(n):"Record"==r?i.Record(n.pcmDataBase64,n.sampleRate):t("AppJsBridgeRequest未知postMessage:"+r,3)}}))}n.IsApp=function(e){window[o]||((window.webkit||{}).messageHandlers||{})[o+"IsSet"]?e(!0):e(!1)},n.JsBridgeRequestPermission=function(e,t){i("recordPermission",{},(function(n){"success"==n.status?1==n.value?e():3==n.value?t("用户拒绝了录音权限",!0):t("不支持录音"):t(n.message)}))},n.JsBridgeStart=function(e,t,n){i("recordStart",{param:e},(function(e){"success"==e.status?(t(),r=setInterval((function(){i("recordAlive")}),5e3)):n(e.message)}))},n.JsBridgeStop=function(e,t){clearInterval(r),i("recordStop",{},(function(n){"success"==n.status?e():t(n.message)}))}},window.RecordApp&&OnRecordAppInstalled(),console.error("【注意】本网站正在使用RecordApp的native-config.js测试用的配置例子,这个配置如果要使用到你的网站,需要自己重写或修改后才能使用"),/^file:|:\/\/[^\/]*(jiebian.life|git\w+.io)(\/|$)/.test(location.href)||localStorage.DisableAppSampleAlert||window.AppSampleAlert||(window.AppSampleAlert=1,alert("【注意】当前网站正在使用RecordApp测试用的配置例子*.config.js,需要自己重写或修改后才能使用"))},function(e,t,n){"use strict";window.PageSet_RecordAppBaseFolder="https://cdn.jsdelivr.net/gh/xiangyuecn/Recorder@latest/dist/",function(){window.RecordAppBaseFolder=window.PageSet_RecordAppBaseFolder||"https://xiangyuecn.gitee.io/recorder/src/";var e=window.PageSet_RecordAppWxApi||"https://jiebian.life/api/weixin/git_record";window.OnRecordAppInstalled=window.IOS_Weixin_RecordApp_Config=function(){window.IOS_Weixin_RecordApp_Config=null,window.Native_RecordApp_Config&&Native_RecordApp_Config();var t=RecordApp,n=t.CLog,r=t.Platforms.Weixin.Config;n("ios-weixin-config init");var o=window.top;if(/iphone/i.test(navigator.userAgent)){var i="Bad_WeixinIOSH5HistoryInitLocation";o[i]=o[i]||window[i]||location.href,setTimeout((function(){n("IOS内微信不认 history.pushState 产生的新地址,如果签名地址不是页面加载时的地址,可能会导致签名失败,当前签名使用的地址为:"+o[i],3)}),5e3)}r.Enable=function(e){e(!0)},r.WxReady=function(n){o.WxReady||o.eval("var InitJsSDK="+s.toString()+";InitJsSDK")(t,e,a),o.WxReady(n)},r.DownWxMedia=function(t,r,o){var i=function(e){n(e,1),o(e)};n("下载微信素材...",t),a(e,{action:"wxdown",mediaID:t.mediaId,transform_mediaIds:t.transform_mediaIds,transform_type:t.transform_type,transform_bitRate:t.transform_bitRate,transform_sampleRate:t.transform_sampleRate},(function(e,t){var o=e.mime,a=e.data;o&&a&&(a.length||1)%4==0?(n("成功下载微信音频素材"+o+" ≈"+a.length/4*3+"b"),r(e)):(n("下载错误",1,t),i("微信音频素材下载接口返回非预定义json数据"))}),(function(e){i("微信音频素材下载失败:"+e)}))};var a=function(e,t,n,r){var o=new XMLHttpRequest;o.timeout=2e4,o.open("POST",e),o.onreadystatechange=function(){if(4==o.readyState)if(200==o.status){try{var e=JSON.parse(o.responseText)}catch(e){}if(0!==e.c||!e.v)return void r(e.m||"接口返回非预定义json数据");n(e.v,e)}else r("请求失败["+o.status+"]")};var i=[];for(var a in t)i.push(a+"="+encodeURIComponent(t[a]));o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.send(i.join("&"))},s=function(e,t,n){var r=e.CLog,o=function(e){s?e(null,s):d((function(){e(wx)}),(function(t){e(wx,"请求微信接口失败: "+t)}))};window.WxReady=function(e){i?o(e):a.push(e)};var i=!1,a=[],s="",c=function(){i=!0;var e=a;a=[];for(var t=0;t1?i:""):f.apply(s,i)},l=!0;try{l=!console.log.apply}catch(e){}var u={LM:"2022-03-03 18:58:07",Current:0,CLog:c,IsWx:t,BaseFolder:n,UseLazyLoad:!0,AlwaysUseWeixinJS:!1,AlwaysAppUseJS:!1,Platforms:{Native:i,Weixin:a,Default:s},Js:function(t,n,r,o){var i=(o=o||e).document;!function e(o){if(o>=t.length)n();else{var a=t[o],s=a.url;if(!1!==a.check()){var c=i.createElement("script");c.setAttribute("type","text/javascript"),c.setAttribute("src",s),c.onload=function(){e(o+1)},c.onerror=function(e){r("请求失败:"+(e.message||"-")+","+s)},i.body.appendChild(c)}else e(o+1)}}(0)},Install:function(e,t){var n=u.__reqs||(u.__reqs=[]);n.push({s:e,f:t}),e=function(){r("s",arguments)},t=function(e,t){r("f",arguments)};var r=function(e,t){for(var r=0;r1)){var i=function(e,t,n){for(var r,o=e.Config.paths,i=[],a=0;a>16,l[f]=a,u+=Math.abs(a);i.envIn(l,u)}else t("未开始录音,但收到Native PCM数据",3)};try{window.top.NativeRecordReceivePCM=o}catch(e){var i=function(){t("检测到跨域iframe,NativeRecordReceivePCM无法注入到顶层,已监听postMessage转发兼容传输数据,请自行实现将top层接收到数据转发到本iframe(不限层),不然无法接收到录音数据",3)};setTimeout(i,8e3),i(),addEventListener("message",(function(e){var t=e.data;t&&"NativeRecordReceivePCM"==t.type&&(t=t.data,o(t.pcmDataBase64,t.sampleRate))}))}n.RequestPermission=function(e,t){r.JsBridgeRequestPermission(e,t)},n.Start=function(t,n,i){o.param=t;var a=Recorder(t);a.set.disableEnvInFix=!0,o.rec=a,e.__Rec=a,r.JsBridgeStart(t,n,i)},n.Stop=function(n,i){var a=function(t){i("录音失败[Native]:"+t),o.rec=null,e.__Rec=null};r.JsBridgeStop((function(){var r=o.rec;if(o.rec=null,r){t("rec encode start: pcm:"+r.recSize+" src:"+r.srcSampleRate+" set:"+JSON.stringify(o.param));var i=function(){for(var e in r.set)o.param[e]=r.set[e]};if(!n)return i(),void a("仅清理资源");r.stop((function(o,a){t("rec encode end"),i(),e._SRec=r,n(o,a),e.__Rec=null}),(function(e){i(),a(e)}))}else a("未开始录音")}),a)}}()},function(e,t,n){"use strict";!function(){var e=RecordApp,t=e.CLog,n=e.Platforms.Weixin,r=n.Config;n.IsInit=!0;var o,i={};n.RequestPermission=function(e,n){if(5!=o)if(u.push({t:e,f:n}),1!=o){o=1;var a=function(e,t){o=e?0:5;var n=u;u=[];for(var r=0;r2?i.chunkErr=o:(r++,t("尝试重启..."+r),d((function(){e(r)}),1))}}}):t("已停止wx录音,拒绝接续",3)}(0)}}})}else o("请先调用RequestPermission")},n.Stop=function(o,a){var u=i.wx;s=0;var f=!!l;l=null,t("开始停止录音");var d=function(e){a("录音失败[wx]:"+(e.errMsg||e))},v=i.start;if(v){var h=Date.now()-i.startTime;if(!f&&h>59100)return t("wx录音即将满1分钟,等待它录满,不然stop不可控...",3),void(l=function(){n.Stop(o,a)});i.start=null;var m={list:[]};v.DownWxMediaData=m;var g=function(){var n=m.list,r=n[0];if(r.duration){for(var i=atob(r.data),a=i.length,s=new Uint8Array(a);a--;)s[a]=i.charCodeAt(a);var c=new Blob([s.buffer],{type:r.mime});return e._SRec=null,t("微信素材服务器端已转码,不支持RecordApp.GetStopUsedRec方法",3),void o(c,r.duration)}var l=[],u=0,f=0,p=0;Recorder.AMR?function r(){if(p||(p=Date.now()),f>=n.length)return m.decodeTime=Date.now()-p,void function(){u||(u=Date.now());var n=[],r=v.sampleRate/8e3;r<=1?r=1:t("微信arm素材采样率为8000hz(语音音质勉强能听),已自动提升成设置的采样率"+v.sampleRate+"hz,但音质不可能会变好",3);for(var i=0,a=0,s=0;s=e.length)return m.uploadTime=Date.now()-l,t("开始下载微信素材..."),void function e(n){if(a||(a=Date.now()),i>=y.length)s();else{var o=y[i];r.DownWxMedia({mediaId:o,transform_mediaIds:y.join(","),transform_type:v.type,transform_bitRate:v.bitRate,transform_sampleRate:v.sampleRate},(function(t){m.list.push(t),t.duration?s():/amr/i.test(t.mime)?(i++,e()):d("微信服务器返回了未知音频类型:"+t.mime)}),(function(r){(n=n||0)>2?d("下载微信音频失败:"+r):(n++,t("DownWxMedia失败,重试..."+n,1,r),e(n))}))}}();var f=e[c];t("wx上传本地录音["+c+"] wx.playVoice({localId:'"+f+"'})"),u.uploadVoice({localId:f,isShowProgressTips:0,fail:function(e){(o=o||0)>2?d("微信uploadVoice失败["+c+"]:"+e.errMsg):(o++,t("uploadVoice失败,重试..."+o,1,e),n(o))},success:function(e){var r=e.serverId;t("上传OK serverId:"+r),y.push(r),c++,n()}})}()}else d("未获得任何录音")}else d("仅清理资源")},b=i.chunks;if(i.chunkErr)return t(i.chunkErr,1,b),void d("录制失败,已录制"+b.length+"分钟,但后面出错:"+i.chunkErr);if(f)_();else{if(b.length&&Date.now()-b[b.length-1].time<900)return t("丢弃结尾未停止太短录音",3),p(),void _();c=function(e,n){c=null;var r=Date.now();e.localId?b.push({res:e,duration:r-i.startTime,time:r,from:n}):t("已忽略"+n+"数据",3,e),i.chunks=null,_()},u.stopRecord({fail:function(e){c=null,b.length&&h<3e3?(t("停止录音出错,但后续录音太短,已忽略此错误:"+e.errMsg,3),_()):d(e)},success:function(e){c&&c(e,"stop")}})}}else d("未开始录音")}}()},function(e,t,n){"use strict";var r=n(8);n.n(r).a},function(e,t,n){(e.exports=n(15)(!1)).push([e.i,"\nbody{\r\n\tword-wrap: break-word;\r\n\tbackground:#f5f5f5 center top no-repeat;\r\n\tbackground-size: auto 680px;\n}\npre{\r\n\twhite-space:pre-wrap;\n}\na{\r\n\ttext-decoration: none;\r\n\tcolor:#06c;\n}\na:hover{\r\n\tcolor:#f00;\n}\n.main{\r\n\tmax-width:700px;\r\n\tmargin:0 auto;\r\n\tpadding-bottom:80px\n}\n.mainBox{\r\n\tmargin-top:12px;\r\n\tpadding: 12px;\r\n\tborder-radius: 6px;\r\n\tbackground: #fff;\r\n\t--border: 1px solid #0b1;\r\n\tbox-shadow: 2px 2px 3px #aaa;\n}\n.mainBtn{\r\n\tdisplay: inline-block;\r\n\tcursor: pointer;\r\n\tborder: none;\r\n\tborder-radius: 3px;\r\n\tbackground: #0b1;\r\n\tcolor:#fff;\r\n\tpadding: 0 15px;\r\n\tmargin-right:20px;\r\n\tline-height: 36px;\r\n\theight: 36px;\r\n\toverflow: hidden;\r\n\tvertical-align: middle;\n}\n.mainBtn:active{\r\n\tbackground: #0a1;\n}\n.ctrlBtn{\r\n\tmargin-top:10px;\n}\n.pd{\r\n\tpadding:0 0 6px 0;\n}\n.lb{\r\n\tdisplay:inline-block;\r\n\tvertical-align: middle;\r\n\tbackground:#00940e;\r\n\tcolor:#fff;\r\n\tfont-size:14px;\r\n\tpadding:2px 8px;\r\n\tborder-radius: 99px;\n}\r\n",""])}]); \ No newline at end of file + */function i(e){return null==e}function o(e){return null!=e}function s(e){return!0===e}function l(e){return"string"==typeof e||"number"==typeof e||"symbol"===(void 0===e?"undefined":r(e))||"boolean"==typeof e}function c(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))}var u=Object.prototype.toString;function f(e){return"[object Object]"===u.call(e)}function p(e){return"[object RegExp]"===u.call(e)}function _(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function d(e){return o(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function h(e){return null==e?"":Array.isArray(e)||f(e)&&e.toString===u?JSON.stringify(e,null,2):String(e)}function v(e){var t=parseFloat(e);return isNaN(t)?e:t}function m(e,t){for(var n=Object.create(null),r=e.split(","),a=0;a-1)return e.splice(n,1)}}var w=Object.prototype.hasOwnProperty;function S(e,t){return w.call(e,t)}function x(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var k=/-(\w)/g,A=x((function(e){return e.replace(k,(function(e,t){return t?t.toUpperCase():""}))})),M=x((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),R=/\B([A-Z])/g,T=x((function(e){return e.replace(R,"-$1").toLowerCase()}));var C=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function B(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function E(e,t){for(var n in t)e[n]=t[n];return e}function O(e){for(var t={},n=0;n0,ee=Z&&Z.indexOf("edge/")>0,te=(Z&&Z.indexOf("android"),Z&&/iphone|ipad|ipod|ios/.test(Z)||"ios"===G),ne=(Z&&/chrome\/\d+/.test(Z),Z&&/phantomjs/.test(Z),Z&&Z.match(/firefox\/(\d+)/)),re={}.watch,ae=!1;if(W)try{var ie={};Object.defineProperty(ie,"passive",{get:function(){ae=!0}}),window.addEventListener("test-passive",null,ie)}catch(e){}var oe=function(){return void 0===X&&(X=!W&&!K&&void 0!==e&&(e.process&&"server"===e.process.env.VUE_ENV)),X},se=W&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function le(e){return"function"==typeof e&&/native code/.test(e.toString())}var ce,ue="undefined"!=typeof Symbol&&le(Symbol)&&"undefined"!=typeof Reflect&&le(Reflect.ownKeys);ce="undefined"!=typeof Set&&le(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var fe=P,pe=0,_e=function(){this.id=pe++,this.subs=[]};_e.prototype.addSub=function(e){this.subs.push(e)},_e.prototype.removeSub=function(e){y(this.subs,e)},_e.prototype.depend=function(){_e.target&&_e.target.addDep(this)},_e.prototype.notify=function(){var e=this.subs.slice();for(var t=0,n=e.length;t-1)if(i&&!S(a,"default"))o=!1;else if(""===o||o===T(e)){var l=ze(String,a.type);(l<0||s0&&(_t((a=e(a,(n||"")+"_"+r))[0])&&_t(u)&&(f[c]=ye(u.text+a[0].text),a.shift()),f.push.apply(f,a)):l(a)?_t(u)?f[c]=ye(u.text+a):""!==a&&f.push(ye(a)):_t(a)&&_t(u)?f[c]=ye(u.text+a.text):(s(t._isVList)&&o(a.tag)&&i(a.key)&&o(n)&&(a.key="__vlist"+n+"_"+r+"__"),f.push(a)));return f}(e):void 0}function _t(e){return o(e)&&o(e.text)&&!1===e.isComment}function dt(e,t){if(e){for(var n=Object.create(null),r=ue?Reflect.ownKeys(e):Object.keys(e),a=0;a0,o=e?!!e.$stable:!i,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(o&&n&&n!==a&&s===n.$key&&!i&&!n.$hasNormal)return n;for(var l in r={},e)e[l]&&"$"!==l[0]&&(r[l]=bt(t,l,e[l]))}else r={};for(var c in t)c in r||(r[c]=gt(t,c));return e&&Object.isExtensible(e)&&(e._normalized=r),z(r,"$stable",o),z(r,"$key",s),z(r,"$hasNormal",i),r}function bt(e,t,n){var a=function(){var e=arguments.length?n.apply(null,arguments):n({});return(e=e&&"object"===(void 0===e?"undefined":r(e))&&!Array.isArray(e)?[e]:pt(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:a,enumerable:!0,configurable:!0}),a}function gt(e,t){return function(){return e[t]}}function yt(e,t){var n,r,a,i,s;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,a=e.length;rdocument.createEvent("Event").timeStamp&&(fn=function(){return pn.now()})}function _n(){var e,t;for(un=fn(),ln=!0,rn.sort((function(e,t){return e.id-t.id})),cn=0;cncn&&rn[n].id>e.id;)n--;rn.splice(n+1,0,e)}else rn.push(e);sn||(sn=!0,at(_n))}}(this)},hn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||c(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){qe(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},hn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},hn.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},hn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var vn={enumerable:!0,configurable:!0,get:P,set:P};function mn(e,t,n){vn.get=function(){return this[t][n]},vn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,vn)}function bn(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},a=e.$options._propKeys=[];e.$parent&&Me(!1);var i=function(i){a.push(i);var o=Fe(i,t,n,e);Ce(r,i,o),i in e||mn(e,"_props",i)};for(var o in t)i(o);Me(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]="function"!=typeof t[n]?P:C(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;f(t=e._data="function"==typeof t?function(e,t){he();try{return e.call(t,t)}catch(e){return qe(e,t,"data()"),{}}finally{ve()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,a=(e.$options.methods,n.length);for(;a--;){var i=n[a];0,r&&S(r,i)||U(i)||mn(e,"_data",i)}Te(t,!0)}(e):Te(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=oe();for(var a in t){var i=t[a],o="function"==typeof i?i:i.get;0,r||(n[a]=new hn(e,o||P,P,gn)),a in e||yn(e,a,i)}}(e,t.computed),t.watch&&t.watch!==re&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var a=0;a-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!p(e)&&e.test(t)}function Bn(e,t){var n=e.cache,r=e.keys,a=e._vnode;for(var i in n){var o=n[i];if(o){var s=Tn(o.componentOptions);s&&!t(s)&&En(n,i,r,a)}}}function En(e,t,n,r){var a=e[t];!a||r&&a.tag===r.tag||a.componentInstance.$destroy(),e[t]=null,y(n,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=kn++,t._isVue=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var a=r.componentOptions;n.propsData=a.propsData,n._parentListeners=a.listeners,n._renderChildren=a.children,n._componentTag=a.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=He(An(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Zt(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,r=n&&n.context;e.$slots=ht(t._renderChildren,r),e.$scopedSlots=a,e._c=function(t,n,r,a){return Vt(e,t,n,r,a,!1)},e.$createElement=function(t,n,r,a){return Vt(e,t,n,r,a,!0)};var i=n&&n.data;Ce(e,"$attrs",i&&i.attrs||a,null,!0),Ce(e,"$listeners",t._parentListeners||a,null,!0)}(t),nn(t,"beforeCreate"),function(e){var t=dt(e.$options.inject,e);t&&(Me(!1),Object.keys(t).forEach((function(n){Ce(e,n,t[n])})),Me(!0))}(t),bn(t),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(t),nn(t,"created"),t.$options.el&&t.$mount(t.$options.el)}}(Mn),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=Be,e.prototype.$delete=Ee,e.prototype.$watch=function(e,t,n){if(f(t))return xn(this,e,t,n);(n=n||{}).user=!0;var r=new hn(this,e,t,n);if(n.immediate)try{t.call(this,r.value)}catch(e){qe(e,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(Mn),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){var r=this;if(Array.isArray(e))for(var a=0,i=e.length;a1?B(n):n;for(var r=B(arguments,1),a='event handler for "'+e+'"',i=0,o=n.length;iparseInt(this.max)&&En(o,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return F}};Object.defineProperty(e,"config",t),e.util={warn:fe,extend:E,mergeOptions:He,defineReactive:Ce},e.set=Be,e.delete=Ee,e.nextTick=at,e.observable=function(e){return Te(e),e},e.options=Object.create(null),H.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,E(e.options.components,Pn),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=B(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=He(this.options,e),this}}(e),Rn(e),function(e){H.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&f(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(Mn),Object.defineProperty(Mn.prototype,"$isServer",{get:oe}),Object.defineProperty(Mn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Mn,"FunctionalRenderContext",{value:It}),Mn.version="2.6.10";var Ln=m("style,class"),In=m("input,textarea,option,select,progress"),Nn=function(e,t,n){return"value"===n&&In(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},$n=m("contenteditable,draggable,spellcheck"),Dn=m("events,caret,typing,plaintext-only"),Hn=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),jn="http://www.w3.org/1999/xlink",Fn=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Vn=function(e){return Fn(e)?e.slice(6,e.length):""},Un=function(e){return null==e||!1===e};function zn(e){for(var t=e.data,n=e,r=e;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=qn(r.data,t));for(;o(n=n.parent);)n&&n.data&&(t=qn(t,n.data));return function(e,t){if(o(e)||o(t))return Xn(e,Yn(t));return""}(t.staticClass,t.class)}function qn(e,t){return{staticClass:Xn(e.staticClass,t.staticClass),class:o(e.class)?[e.class,t.class]:t.class}}function Xn(e,t){return e?t?e+" "+t:e:t||""}function Yn(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,a=e.length;r-1?br(e,t,n):Hn(t)?Un(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):$n(t)?e.setAttribute(t,function(e,t){return Un(t)||"false"===t?"false":"contenteditable"===e&&Dn(t)?t:"true"}(t,n)):Fn(t)?Un(n)?e.removeAttributeNS(jn,Vn(t)):e.setAttributeNS(jn,t,n):br(e,t,n)}function br(e,t,n){if(Un(n))e.removeAttribute(t);else{if(J&&!Q&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){e.addEventListener("input",(function t(n){n.stopImmediatePropagation(),e.removeEventListener("input",t)})),e.__ieph=!0}e.setAttribute(t,n)}}var gr={create:vr,update:vr};function yr(e,t){var n=t.elm,r=t.data,a=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var s=zn(t),l=n._transitionClasses;o(l)&&(s=Xn(s,Yn(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var wr,Sr,xr,kr,Ar,Mr,Rr={create:yr,update:yr},Tr=/[\w).+\-_$\]]/;function Cr(e){var t,n,r,a,i,o=!1,s=!1,l=!1,c=!1,u=0,f=0,p=0,_=0;for(r=0;r=0&&" "===(h=e.charAt(d));d--);h&&Tr.test(h)||(c=!0)}}else void 0===a?(_=r+1,a=e.slice(0,r).trim()):v();function v(){(i||(i=[])).push(e.slice(_,r).trim()),_=r+1}if(void 0===a?a=e.slice(0,r).trim():0!==_&&v(),i)for(r=0;r-1?{exp:e.slice(0,kr),key:'"'+e.slice(kr+1)+'"'}:{exp:e,key:null};Sr=e,kr=Ar=Mr=0;for(;!Xr();)Yr(xr=qr())?Kr(xr):91===xr&&Wr(xr);return{exp:e.slice(0,Ar),key:e.slice(Ar+1,Mr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function qr(){return Sr.charCodeAt(++kr)}function Xr(){return kr>=wr}function Yr(e){return 34===e||39===e}function Wr(e){var t=1;for(Ar=kr;!Xr();)if(Yr(e=qr()))Kr(e);else if(91===e&&t++,93===e&&t--,0===t){Mr=kr;break}}function Kr(e){for(var t=e;!Xr()&&(e=qr())!==t;);}var Gr;function Zr(e,t,n){var r=Gr;return function a(){var i=t.apply(null,arguments);null!==i&&ea(e,a,n,r)}}var Jr=Ge&&!(ne&&Number(ne[1])<=53);function Qr(e,t,n,r){if(Jr){var a=un,i=t;t=i._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=a||e.timeStamp<=0||e.target.ownerDocument!==document)return i.apply(this,arguments)}}Gr.addEventListener(e,t,ae?{capture:n,passive:r}:n)}function ea(e,t,n,r){(r||Gr).removeEventListener(e,t._wrapper||t,n)}function ta(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};Gr=t.elm,function(e){if(o(e.__r)){var t=J?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}o(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),ct(n,r,Qr,ea,Zr,t.context),Gr=void 0}}var na,ra={create:ta,update:ta};function aa(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,a=t.elm,s=e.data.domProps||{},l=t.data.domProps||{};for(n in o(l.__ob__)&&(l=t.data.domProps=E({},l)),s)n in l||(a[n]="");for(n in l){if(r=l[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=r;var c=i(r)?"":String(r);ia(a,c)&&(a.value=c)}else if("innerHTML"===n&&Gn(a.tagName)&&i(a.innerHTML)){(na=na||document.createElement("div")).innerHTML=""+r+"";for(var u=na.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;u.firstChild;)a.appendChild(u.firstChild)}else if(r!==s[n])try{a[n]=r}catch(e){}}}}function ia(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(o(r)){if(r.number)return v(n)!==v(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var oa={create:aa,update:aa},sa=x((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function la(e){var t=ca(e.style);return e.staticStyle?E(e.staticStyle,t):t}function ca(e){return Array.isArray(e)?O(e):"string"==typeof e?sa(e):e}var ua,fa=/^--/,pa=/\s*!important$/,_a=function(e,t,n){if(fa.test(t))e.style.setProperty(t,n);else if(pa.test(n))e.style.setProperty(T(t),n.replace(pa,""),"important");else{var r=ha(t);if(Array.isArray(n))for(var a=0,i=n.length;a-1?t.split(ba).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function ya(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(ba).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function wa(e){if(e){if("object"===(void 0===e?"undefined":r(e))){var t={};return!1!==e.css&&E(t,Sa(e.name||"v")),E(t,e),t}return"string"==typeof e?Sa(e):void 0}}var Sa=x((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),xa=W&&!Q,ka="transition",Aa="transitionend",Ma="animation",Ra="animationend";xa&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ka="WebkitTransition",Aa="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ma="WebkitAnimation",Ra="webkitAnimationEnd"));var Ta=W?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ca(e){Ta((function(){Ta(e)}))}function Ba(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),ga(e,t))}function Ea(e,t){e._transitionClasses&&y(e._transitionClasses,t),ya(e,t)}function Oa(e,t,n){var r=La(e,t),a=r.type,i=r.timeout,o=r.propCount;if(!a)return n();var s="transition"===a?Aa:Ra,l=0,c=function(){e.removeEventListener(s,u),n()},u=function(t){t.target===e&&++l>=o&&c()};setTimeout((function(){l0&&(n="transition",u=o,f=i.length):"animation"===t?c>0&&(n="animation",u=c,f=l.length):f=(n=(u=Math.max(o,c))>0?o>c?"transition":"animation":null)?"transition"===n?i.length:l.length:0,{type:n,timeout:u,propCount:f,hasTransform:"transition"===n&&Pa.test(r[ka+"Property"])}}function Ia(e,t){for(;e.length1}function Fa(e,t){!0!==t.data.show&&$a(t)}var Va=function(e){var t,n,r={},a=e.modules,c=e.nodeOps;for(t=0;td?g(e,i(n[m+1])?null:n[m+1].elm,n,_,m,r):_>m&&w(0,t,p,d)}(p,v,m,n,u):o(m)?(o(e.text)&&c.setTextContent(p,""),g(p,null,m,0,m.length-1,n)):o(v)?w(0,v,0,v.length-1):o(e.text)&&c.setTextContent(p,""):e.text!==t.text&&c.setTextContent(p,t.text),o(d)&&o(_=d.hook)&&o(_=_.postpatch)&&_(e,t)}}}function A(e,t,n){if(s(n)&&o(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,o.selected!==i&&(o.selected=i);else if(N(Ya(o),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));a||(e.selectedIndex=-1)}}function Xa(e,t){return t.every((function(t){return!N(t,e)}))}function Ya(e){return"_value"in e?e._value:e.value}function Wa(e){e.target.composing=!0}function Ka(e){e.target.composing&&(e.target.composing=!1,Ga(e.target,"input"))}function Ga(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Za(e){return!e.componentInstance||e.data&&e.data.transition?e:Za(e.componentInstance._vnode)}var Ja={model:Ua,show:{bind:function(e,t,n){var r=t.value,a=(n=Za(n)).data&&n.data.transition,i=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&a?(n.data.show=!0,$a(n,(function(){e.style.display=i}))):e.style.display=r?i:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Za(n)).data&&n.data.transition?(n.data.show=!0,r?$a(n,(function(){e.style.display=e.__vOriginalDisplay})):Da(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,a){a||(e.style.display=e.__vOriginalDisplay)}}},Qa={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ei(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?ei(Yt(t.children)):e}function ti(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var a=n._parentListeners;for(var i in a)t[A(i)]=a[i];return t}function ni(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var ri=function(e){return e.tag||Xt(e)},ai=function(e){return"show"===e.name},ii={name:"transition",props:Qa,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(ri)).length){0;var r=this.mode;0;var a=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return a;var i=ei(a);if(!i)return a;if(this._leaving)return ni(e,a);var o="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?o+"comment":o+i.tag:l(i.key)?0===String(i.key).indexOf(o)?i.key:o+i.key:i.key;var s=(i.data||(i.data={})).transition=ti(this),c=this._vnode,u=ei(c);if(i.data.directives&&i.data.directives.some(ai)&&(i.data.show=!0),u&&u.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(i,u)&&!Xt(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var f=u.data.transition=E({},s);if("out-in"===r)return this._leaving=!0,ut(f,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),ni(e,a);if("in-out"===r){if(Xt(i))return c;var p,_=function(){p()};ut(s,"afterEnter",_),ut(s,"enterCancelled",_),ut(f,"delayLeave",(function(e){p=e}))}}return a}}},oi=E({tag:String,moveClass:String},Qa);function si(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function li(e){e.data.newPos=e.elm.getBoundingClientRect()}function ci(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,a=t.top-n.top;if(r||a){e.data.moved=!0;var i=e.elm.style;i.transform=i.WebkitTransform="translate("+r+"px,"+a+"px)",i.transitionDuration="0s"}}delete oi.mode;var ui={Transition:ii,TransitionGroup:{props:oi,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var a=Qt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,a(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,a=this.$slots.default||[],i=this.children=[],o=ti(this),s=0;s-1?Qn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Qn[e]=/HTMLUnknownElement/.test(t.toString())},E(Mn.options.directives,Ja),E(Mn.options.components,ui),Mn.prototype.__patch__=W?Va:P,Mn.prototype.$mount=function(e,t){return function(e,t,n){var r;return e.$el=t,e.$options.render||(e.$options.render=ge),nn(e,"beforeMount"),r=function(){e._update(e._render(),n)},new hn(e,r,P,{before:function(){e._isMounted&&!e._isDestroyed&&nn(e,"beforeUpdate")}},!0),n=!1,null==e.$vnode&&(e._isMounted=!0,nn(e,"mounted")),e}(this,e=e&&W?tr(e):void 0,t)},W&&setTimeout((function(){F.devtools&&se&&se.emit("init",Mn)}),0);var fi=/\{\{((?:.|\r?\n)+?)\}\}/g,pi=/[-.*+?^${}()|[\]\/\\]/g,_i=x((function(e){var t=e[0].replace(pi,"\\$&"),n=e[1].replace(pi,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")}));var di={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=jr(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=Hr(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}};var hi,vi={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=jr(e,"style");n&&(e.staticStyle=JSON.stringify(sa(n)));var r=Hr(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},mi=function(e){return(hi=hi||document.createElement("div")).innerHTML=e,hi.textContent},bi=m("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),gi=m("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),yi=m("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),wi=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Si=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,xi="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+V.source+"]*",ki="((?:"+xi+"\\:)?"+xi+")",Ai=new RegExp("^<"+ki),Mi=/^\s*(\/?)>/,Ri=new RegExp("^<\\/"+ki+"[^>]*>"),Ti=/^]+>/i,Ci=/^",""":'"',"&":"&"," ":"\n"," ":"\t","'":"'"},Li=/&(?:lt|gt|quot|amp|#39);/g,Ii=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Ni=m("pre,textarea",!0),$i=function(e,t){return e&&Ni(e)&&"\n"===t[0]};function Di(e,t){var n=t?Ii:Li;return e.replace(n,(function(e){return Pi[e]}))}var Hi,ji,Fi,Vi,Ui,zi,qi,Xi,Yi=/^@|^v-on:/,Wi=/^v-|^@|^:/,Ki=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Gi=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Zi=/^\(|\)$/g,Ji=/^\[.*\]$/,Qi=/:(.*)$/,eo=/^:|^\.|^v-bind:/,to=/\.[^.\]]+(?=[^\]]*$)/g,no=/^v-slot(:|$)|^#/,ro=/[\r\n]/,ao=/\s+/g,io=x(mi);function oo(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:_o(t),rawAttrsMap:{},parent:n,children:[]}}function so(e,t){Hi=t.warn||Er,zi=t.isPreTag||L,qi=t.mustUseProp||L,Xi=t.getTagNamespace||L;var n=t.isReservedTag||L;(function(e){return!!e.component||!n(e.tag)}),Fi=Or(t.modules,"transformNode"),Vi=Or(t.modules,"preTransformNode"),Ui=Or(t.modules,"postTransformNode"),ji=t.delimiters;var r,a,i=[],o=!1!==t.preserveWhitespace,s=t.whitespace,l=!1,c=!1;function u(e){if(f(e),l||e.processed||(e=lo(e,t)),i.length||e===r||r.if&&(e.elseif||e.else)&&uo(r,{exp:e.elseif,block:e}),a&&!e.forbidden)if(e.elseif||e.else)o=e,(s=function(e){for(var t=e.length;t--;){if(1===e[t].type)return e[t];e.pop()}}(a.children))&&s.if&&uo(s,{exp:o.elseif,block:o});else{if(e.slotScope){var n=e.slotTarget||'"default"';(a.scopedSlots||(a.scopedSlots={}))[n]=e}a.children.push(e),e.parent=a}var o,s;e.children=e.children.filter((function(e){return!e.slotScope})),f(e),e.pre&&(l=!1),zi(e.tag)&&(c=!1);for(var u=0;u]*>)","i")),p=e.replace(f,(function(e,n,r){return c=r.length,Ei(u)||"noscript"===u||(n=n.replace(//g,"$1").replace(//g,"$1")),$i(u,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""}));l+=e.length-p.length,e=p,M(u,l-c,l)}else{var _=e.indexOf("<");if(0===_){if(Ci.test(e)){var d=e.indexOf("--\x3e");if(d>=0){t.shouldKeepComment&&t.comment(e.substring(4,d),l,l+d+3),x(d+3);continue}}if(Bi.test(e)){var h=e.indexOf("]>");if(h>=0){x(h+2);continue}}var v=e.match(Ti);if(v){x(v[0].length);continue}var m=e.match(Ri);if(m){var b=l;x(m[0].length),M(m[1],b,l);continue}var g=k();if(g){A(g),$i(g.tagName,e)&&x(1);continue}}var y=void 0,w=void 0,S=void 0;if(_>=0){for(w=e.slice(_);!(Ri.test(w)||Ai.test(w)||Ci.test(w)||Bi.test(w)||(S=w.indexOf("<",1))<0);)_+=S,w=e.slice(_);y=e.substring(0,_)}_<0&&(y=e),y&&x(y.length),t.chars&&y&&t.chars(y,l-y.length,l)}if(e===n){t.chars&&t.chars(e);break}}function x(t){l+=t,e=e.substring(t)}function k(){var t=e.match(Ai);if(t){var n,r,a={tagName:t[1],attrs:[],start:l};for(x(t[0].length);!(n=e.match(Mi))&&(r=e.match(Si)||e.match(wi));)r.start=l,x(r[0].length),r.end=l,a.attrs.push(r);if(n)return a.unarySlash=n[1],x(n[0].length),a.end=l,a}}function A(e){var n=e.tagName,l=e.unarySlash;i&&("p"===r&&yi(n)&&M(r),s(n)&&r===n&&M(n));for(var c=o(n)||!!l,u=e.attrs.length,f=new Array(u),p=0;p=0&&a[o].lowerCasedTag!==s;o--);else o=0;if(o>=0){for(var c=a.length-1;c>=o;c--)t.end&&t.end(a[c].tag,n,i);a.length=o,r=o&&a[o-1].tag}else"br"===s?t.start&&t.start(e,[],!0,n,i):"p"===s&&(t.start&&t.start(e,[],!1,n,i),t.end&&t.end(e,n,i))}M()}(e,{warn:Hi,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,n,o,s,f){var p=a&&a.ns||Xi(e);J&&"svg"===p&&(n=function(e){for(var t=[],n=0;nl&&(s.push(i=e.slice(l,a)),o.push(JSON.stringify(i)));var c=Cr(r[1].trim());o.push("_s("+c+")"),s.push({"@binding":c}),l=a+r[0].length}return l-1"+("true"===i?":("+t+")":":_q("+t+","+i+")")),Dr(e,"change","var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+i+"):("+o+");if(Array.isArray($$a)){var $$v="+(r?"_n("+a+")":a)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+zr(t,"$$a.concat([$$v])")+")}else{$$i>-1&&("+zr(t,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+zr(t,"$$c")+"}",null,!0)}(e,r,a);else if("input"===i&&"radio"===o)!function(e,t,n){var r=n&&n.number,a=Hr(e,"value")||"null";Pr(e,"checked","_q("+t+","+(a=r?"_n("+a+")":a)+")"),Dr(e,"change",zr(t,a),null,!0)}(e,r,a);else if("input"===i||"textarea"===i)!function(e,t,n){var r=e.attrsMap.type;0;var a=n||{},i=a.lazy,o=a.number,s=a.trim,l=!i&&"range"!==r,c=i?"change":"range"===r?"__r":"input",u="$event.target.value";s&&(u="$event.target.value.trim()");o&&(u="_n("+u+")");var f=zr(t,u);l&&(f="if($event.target.composing)return;"+f);Pr(e,"value","("+t+")"),Dr(e,c,f,null,!0),(s||o)&&Dr(e,"blur","$forceUpdate()")}(e,r,a);else{if(!F.isReservedTag(i))return Ur(e,r,a),!1}return!0},text:function(e,t){t.value&&Pr(e,"textContent","_s("+t.value+")",t)},html:function(e,t){t.value&&Pr(e,"innerHTML","_s("+t.value+")",t)}},isPreTag:function(e){return"pre"===e},isUnaryTag:bi,mustUseProp:Nn,canBeLeftOpenTag:gi,isReservedTag:Zn,getTagNamespace:Jn,staticKeys:function(e){return e.reduce((function(e,t){return e.concat(t.staticKeys||[])}),[]).join(",")}(bo)},So=x((function(e){return m("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(e?","+e:""))}));function xo(e,t){e&&(go=So(t.staticKeys||""),yo=t.isReservedTag||L,function e(t){if(t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||b(e.tag)||!yo(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(go)))}(t),1===t.type){if(!yo(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n|^function\s*(?:[\w$]+)?\s*\(/,Ao=/\([^)]*?\);*$/,Mo=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Ro={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},To={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},Co=function(e){return"if("+e+")return null;"},Bo={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:Co("$event.target !== $event.currentTarget"),ctrl:Co("!$event.ctrlKey"),shift:Co("!$event.shiftKey"),alt:Co("!$event.altKey"),meta:Co("!$event.metaKey"),left:Co("'button' in $event && $event.button !== 0"),middle:Co("'button' in $event && $event.button !== 1"),right:Co("'button' in $event && $event.button !== 2")};function Eo(e,t){var n=t?"nativeOn:":"on:",r="",a="";for(var i in e){var o=Oo(e[i]);e[i]&&e[i].dynamic?a+=i+","+o+",":r+='"'+i+'":'+o+","}return r="{"+r.slice(0,-1)+"}",a?n+"_d("+r+",["+a.slice(0,-1)+"])":n+r}function Oo(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map((function(e){return Oo(e)})).join(",")+"]";var t=Mo.test(e.value),n=ko.test(e.value),r=Mo.test(e.value.replace(Ao,""));if(e.modifiers){var a="",i="",o=[];for(var s in e.modifiers)if(Bo[s])i+=Bo[s],Ro[s]&&o.push(s);else if("exact"===s){var l=e.modifiers;i+=Co(["ctrl","shift","alt","meta"].filter((function(e){return!l[e]})).map((function(e){return"$event."+e+"Key"})).join("||"))}else o.push(s);return o.length&&(a+=function(e){return"if(!$event.type.indexOf('key')&&"+e.map(Po).join("&&")+")return null;"}(o)),i&&(a+=i),"function($event){"+a+(t?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value)+"}"}return t||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function Po(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=Ro[e],r=To[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var Lo={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(e,t){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+t.value+","+(t.modifiers&&t.modifiers.prop?"true":"false")+(t.modifiers&&t.modifiers.sync?",true":"")+")"}},cloak:P},Io=function(e){this.options=e,this.warn=e.warn||Er,this.transforms=Or(e.modules,"transformCode"),this.dataGenFns=Or(e.modules,"genData"),this.directives=E(E({},Lo),e.directives);var t=e.isReservedTag||L;this.maybeComponent=function(e){return!!e.component||!t(e.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function No(e,t){var n=new Io(t);return{render:"with(this){return "+(e?$o(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function $o(e,t){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return Do(e,t);if(e.once&&!e.onceProcessed)return Ho(e,t);if(e.for&&!e.forProcessed)return Fo(e,t);if(e.if&&!e.ifProcessed)return jo(e,t);if("template"!==e.tag||e.slotTarget||t.pre){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=qo(e,t),a="_t("+n+(r?","+r:""),i=e.attrs||e.dynamicAttrs?Wo((e.attrs||[]).concat(e.dynamicAttrs||[]).map((function(e){return{name:A(e.name),value:e.value,dynamic:e.dynamic}}))):null,o=e.attrsMap["v-bind"];!i&&!o||r||(a+=",null");i&&(a+=","+i);o&&(a+=(i?"":",null")+","+o);return a+")"}(e,t);var n;if(e.component)n=function(e,t,n){var r=t.inlineTemplate?null:qo(t,n,!0);return"_c("+e+","+Vo(t,n)+(r?","+r:"")+")"}(e.component,e,t);else{var r;(!e.plain||e.pre&&t.maybeComponent(e))&&(r=Vo(e,t));var a=e.inlineTemplate?null:qo(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(a?","+a:"")+")"}for(var i=0;i>>0}(o):"")+")"}(e,e.scopedSlots,t)+","),e.model&&(n+="model:{value:"+e.model.value+",callback:"+e.model.callback+",expression:"+e.model.expression+"},"),e.inlineTemplate){var i=function(e,t){var n=e.children[0];0;if(n&&1===n.type){var r=No(n,t.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map((function(e){return"function(){"+e+"}"})).join(",")+"]}"}}(e,t);i&&(n+=i+",")}return n=n.replace(/,$/,"")+"}",e.dynamicAttrs&&(n="_b("+n+',"'+e.tag+'",'+Wo(e.dynamicAttrs)+")"),e.wrapData&&(n=e.wrapData(n)),e.wrapListeners&&(n=e.wrapListeners(n)),n}function Uo(e){return 1===e.type&&("slot"===e.tag||e.children.some(Uo))}function zo(e,t){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return jo(e,t,zo,"null");if(e.for&&!e.forProcessed)return Fo(e,t,zo);var r="_empty_"===e.slotScope?"":String(e.slotScope),a="function("+r+"){return "+("template"===e.tag?e.if&&n?"("+e.if+")?"+(qo(e,t)||"undefined")+":undefined":qo(e,t)||"undefined":$o(e,t))+"}",i=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+a+i+"}"}function qo(e,t,n,r,a){var i=e.children;if(i.length){var o=i[0];if(1===i.length&&o.for&&"template"!==o.tag&&"slot"!==o.tag){var s=n?t.maybeComponent(o)?",1":",0":"";return""+(r||$o)(o,t)+s}var l=n?function(e,t){for(var n=0,r=0;r':'
',Qo.innerHTML.indexOf(" ")>0}var rs=!!W&&ns(!1),as=!!W&&ns(!0),is=x((function(e){var t=tr(e);return t&&t.innerHTML})),os=Mn.prototype.$mount;Mn.prototype.$mount=function(e,t){if((e=e&&tr(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=is(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){if(e.outerHTML)return e.outerHTML;var t=document.createElement("div");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){0;var a=ts(r,{outputSourceRange:!1,shouldDecodeNewlines:rs,shouldDecodeNewlinesForHref:as,delimiters:n.delimiters,comments:n.comments},this),i=a.render,o=a.staticRenderFns;n.render=i,n.staticRenderFns=o}}return os.call(this,e,t)},Mn.compile=ts,t.default=Mn}).call(this,n(0),n(10).setImmediate)},function(e,t,n){"use strict";(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,a=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(a.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(a.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(11),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||void 0,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||void 0}).call(this,n(0))},function(e,t,n){"use strict";(function(e,t){!function(e,n){if(!e.setImmediate){var r,a,i,o,s,l=1,c={},u=!1,f=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){d(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){d(e.data)},r=function(e){i.port2.postMessage(e)}):f&&"onreadystatechange"in f.createElement("script")?(a=f.documentElement,r=function(e){var t=f.createElement("script");t.onreadystatechange=function(){d(e),t.onreadystatechange=null,a.removeChild(t),t=null},a.appendChild(t)}):r=function(e){setTimeout(d,0,e)}:(o="setImmediate$"+Math.random()+"$",s=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(o)&&d(+t.data.slice(o.length))},e.addEventListener?e.addEventListener("message",s,!1):e.attachEvent("onmessage",s),r=function(t){e.postMessage(o+t,"*")}),p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n3*t/4?0:n/2*3/4;c={fn:u?a.IIRFilter(!0,t,u):0}}c.sr=t;var f=c.fn,p=r.frameNext||[];i||(i={});var _=i.frameSize||1;i.frameType&&(_="mp3"==i.frameType?1152:1);var d=e.length;s>d+1&&m(M("tlbC::{1}似乎传入了未重置chunk {2}",0,o,s+">"+d),3);for(var h=0,v=s;v1?h=Math.floor(h/b):(b=1,n=t),h+=p.length;var g=new Int16Array(h),y=0;for(v=0;v0){var N=2*(g.length-I);p=new Int16Array(g.buffer.slice(N)),g=new Int16Array(g.buffer.slice(0,N))}return{index:s,offset:l,filter:c,frameNext:p,sampleRate:n,data:g}},a.IIRFilter=function(e,t,n){var r=2*Math.PI*n/t,a=Math.sin(r),i=Math.cos(r),o=a/2,s=1+o,l=-2*i/s,c=(1-o)/s;if(e)var u=(1-i)/2/s,f=(1-i)/s;else u=(1+i)/2/s,f=-(1+i)/s;var p=0,_=0,d=0,h=0,v=0,m=function(e){return d=u*e+f*p+u*_-l*h-c*v,_=p,p=e,v=h,h=d,d};return m.Embed={x1:0,x2:0,y1:0,y2:0,b0:u,b1:f,a1:l,a2:c},m},a.PowerLevel=function(e,t){var n=e/t||0;return n<1251?Math.round(n/1250*10):Math.round(Math.min(100,Math.max(0,100*(1+Math.log(n/1e4)/Math.log(10)))))},a.PowerDBFS=function(e){var t=Math.max(.1,e||0);return t=Math.min(t,32767),t=20*Math.log(t/32767)/Math.log(10),Math.max(-100,Math.round(t))},a.CLog=function(e,t){if("object"==("undefined"==typeof console?"undefined":o(console))){var n=new Date,i=("0"+n.getMinutes()).substr(-2)+":"+("0"+n.getSeconds()).substr(-2)+"."+("00"+n.getMilliseconds()).substr(-3),s=this&&this.envIn&&this.envCheck&&this.id,c=["["+i+" "+l+(s?":"+s:"")+"]"+e],u=arguments,f=a.CLog,p=2,_=f.log||console.log;for(r(t)?_=1==t?f.error||console.error:3==t?f.warn||console.warn:_:p=1;p1?c:""):_.apply(console,c)}};var m=function(){a.CLog.apply(this,arguments)},b=!0;try{b=!console.log.apply}catch(e){}var g=0;a.Sync={O:9,C:9},a.prototype=T.prototype={CLog:m,_streamStore:function(){return this.set.sourceStream?this:a},_streamCtx:function(){var e=this._streamStore().Stream;return e&&e._c},open:function(e,r){var o=this,l=o.set,c=o._streamStore(),u=0;e=e||n;var _=function(e,t){t=!!t,o.CLog(M("5tWi::录音open失败:")+e+",isUserNotAllow:"+t,1),u&&a.CloseNewCtx(u),r&&r(e,t)};o._streamTag="getUserMedia";var d=function(){o.CLog("open ok, id:"+o.id+" stream:"+o._streamTag),e(),o._SO=0},v=c.Sync,m=++v.O,b=v.C;if(o._O=o._O_=m,o._SO=o._S,t){var g=o.envCheck({envName:"H5",canProcess:!0});if(g)_(M("A5bm::不能录音:")+g);else if(l.sourceStream){if(o._streamTag="set.sourceStream",!a.GetContext())return void _(M("1iU7::不支持此浏览器从流中获取录音"));h(c);var y=o.Stream=l.sourceStream;y._RC=l.runningContext,y._call={};try{p(c)}catch(e){return h(c),void _(M("BTW2::从流中打开录音失败:")+e.message)}d()}else{var w=function(e,t){try{window.top.a}catch(e){return void _(M("Nclz::无权录音(跨域,请尝试给iframe添加麦克风访问策略,如{1})",0,'allow="camera;microphone"'))}/Permission|Allow/i.test(e)?_(M("gyO5::用户拒绝了录音权限"),!0):!1===window.isSecureContext?_(M("oWNo::浏览器禁止不安全页面录音,可开启https解决")):/Found/i.test(e)?_(t+M("jBa9::,无可用麦克风")):_(t)};if(a.IsOpen())d();else if(a.Support()){var S=l.runningContext;S||(S=u=a.GetContext(!0));var x=function(e){setTimeout((function(){e._call={};var t=a.Stream;t&&(h(),e._call=t._call),a.Stream=e,e._c=S,e._RC=l.runningContext,function(){if(b!=v.C||!o._O){var e=M("dFm8::open被取消");return m==v.O?o.close():e=M("VtJO::open被中断"),_(e),!0}}()||(a.IsOpen()?(t&&o.CLog(M("upb8::发现同时多次调用open"),1),p(c,1),d()):_(M("Q1GA::录音功能无效:无音频流")))}),100)},k=function(e){var t=e.name||e.message||e.code+":"+e;o.CLog(M("xEQR::请求录音权限错误"),1,e),w(t,M("bDOG::无法录音:")+t)},A=l.audioTrackSet||{};A.sampleRate=S.sampleRate;var R={audio:A};try{var T=a.Scope.getUserMedia(R,x,k)}catch(e){o.CLog("getUserMedia",3,e),R={audio:!0},T=a.Scope.getUserMedia(R,x,k)}o.CLog("getUserMedia("+JSON.stringify(R)+") "+f(S)+M("RiWe::,未配置noiseSuppression和echoCancellation时浏览器可能会自动打开降噪和回声消除,移动端可能会降低系统播放音量(关闭录音后可恢复),请参阅文档中audioTrackSet配置")+"("+s+") LM:"+i+" UA:"+navigator.userAgent),T&&T.then&&T.then(x).catch(k)}else w("",M("COxc::此浏览器不支持录音"))}}else _(M.G("NonBrowser-1",["open"])+M("EMJq::,可尝试使用RecordApp解决方案")+"("+s+"/tree/master/app-support-sample)")},close:function(e){e=e||n;var t=this._streamStore();this._stop();var r=" stream:"+this._streamTag,a=t.Sync;if(this._O=0,this._O_!=a.O)return this.CLog(M("hWVz::close被忽略(因为同时open了多个rec,只有最后一个会真正close)")+r,3),void e();a.C++,h(t),this.CLog("close,"+r),e()},mock:function(e,t){return this._stop(),this.isMock=1,this.mockEnvInfo=null,this.buffers=[e],this.recSize=e.length,this._setSrcSR(t),this._streamTag="mock",this},_setSrcSR:function(e){var t=this.set,n=t.sampleRate;n>e?t.sampleRate=e:n=0,this.srcSampleRate=e,this.CLog("srcSampleRate: "+e+" set.sampleRate: "+t.sampleRate+(n?" "+M("UHvm::忽略")+": "+n:""),n?3:0)},envCheck:function(e){var t,n=this.set,r="CPU_BE";if(t||a[r]||"function"!=typeof Int8Array||new Int8Array(new Int32Array([1]).buffer)[0]||(R(r),t=M("Essp::不支持{1}架构",0,r)),!t){var i=n.type,o=this[i+"_envCheck"];n.takeoffEncodeChunk&&(o?e.canProcess||(t=M("7uMV::{1}环境不支持实时处理",0,e.envName)):t=M("2XBl::{1}类型不支持设置takeoffEncodeChunk",0,i)+(this[i]?"":M("LG7e::(未加载编码器)"))),!t&&o&&(t=this[i+"_envCheck"](e,n))}return t||""},envStart:function(e,t){var n=this.set;if(this.isMock=e?1:0,this.mockEnvInfo=e,this.buffers=[],this.recSize=0,e&&(this._streamTag="env$"+e.envName),this.state=1,this.envInLast=0,this.envInFirst=0,this.envInFix=0,this.envInFixTs=[],this._setSrcSR(t),this.engineCtx=0,this[n.type+"_start"]){var r=this.engineCtx=this[n.type+"_start"](n);r&&(r.pcmDatas=[],r.pcmSize=0)}},envResume:function(){this.envInFixTs=[]},envIn:function(e,t){var n=this,r=n.set,i=n.engineCtx;if(1==n.state){var o=n.srcSampleRate,s=e.length,l=a.PowerLevel(t,s),c=n.buffers,u=c.length;c.push(e);var f=c,p=u,_=Date.now(),d=Math.round(s/o*1e3);n.envInLast=_,1==n.buffers.length&&(n.envInFirst=_-d);var h=n.envInFixTs;h.splice(0,0,{t:_,d:d});for(var v=_,m=0,b=0;b3e3){h.length=b;break}v=g.t,m+=g.d}var y=h[1],w=_-v;if(w-m>w/3&&(y&&w>1e3||h.length>=6)){var S=_-y.t-d;if(S>d/5){var x=!r.disableEnvInFix;if(n.CLog("["+_+"]"+A.get(M(x?"4Kfd::补偿{1}ms":"bM5i::未补偿{1}ms",1),[S]),3),n.envInFix+=S,x){var k=new Int16Array(S*o/1e3);s+=k.length,c.push(k)}}}var R=n.recSize,T=s,C=R+T;if(n.recSize=C,i){var B=a.SampleData(c,o,r.sampleRate,i.chunkInfo);i.chunkInfo=B,C=(R=i.pcmSize)+(T=B.data.length),i.pcmSize=C,c=i.pcmDatas,u=c.length,c.push(B.data),o=B.sampleRate}var E=Math.round(C/o*1e3),O=c.length,P=f.length,L=function(){for(var e=I?0:-T,t=null==c[0],a=u;a10&&n.envInFirst-_>1e3&&n.CLog("rec.set.onProcess"+M("2ghS::低性能,耗时{1}ms",0,N),3),!0===I){var $=0;for(b=u;b"+w.length,Date.now()-r)),setTimeout((function(){r=Date.now(),o[c.type](w,(function(e,t){d(e,t,g)}),(function(e){_(e)}))}))}else _(M("xkKd::音频buffers被释放"))}else _(M("xGuI::未加载{1}编码器,请尝试到{2}的src/engine内找到{1}的编码器并加载",0,c.type,l));else _(M("Ltz3::未采集到录音"))}};var y=function(e,t){t.pos||(t.pos=[0],t.tracks={},t.bytes=[]);var n=t.tracks,r=[t.pos[0]],a=function(){t.pos[0]=r[0]},i=t.bytes.length,o=new Uint8Array(i+e.length);if(o.set(t.bytes),o.set(e,i),t.bytes=o,!t._ht){if(x(o,r),k(o,r),!w(x(o,r),[24,83,128,103]))return;for(x(o,r);r[0]32 bit",3)),C.sampleRate!=t.sampleRate||32!=C.bitDepth||C.channels<1||!/(\b|_)PCM\b/i.test(C.codec))return t.bytes=[],t.bad||m("WebM Track Unexpected",3,t),t.bad=1,-1;for(var B=[],E=0;r[0]1){var N=[];for(A=0;A=e.length)){var a=("0000000"+e[r].toString(2)).substr(-8),i=/^(0*1)(\d*)$/.exec(a);if(i){var o=i[1].length,s=[];if(!(r+o>e.length)){for(var l=0;le.length)return;for(var o=0;ot.length)&&(n="{?}",m("i18n["+e+"] no {"+r+"}: "+a,3)),i?"":n}))):"en"==n?A.v_G(e,t,"zh"):A.v_G(e,t,"en")},$T:function(){return A.v_T.apply(null,arguments)},v_T:function(){for(var e,t=arguments,n="",a=[],i=0,o=l+".i18n.$T:",s=/^([\w\-]*):/,c=0;c0?n:A.v_G(n,a):""}},M=A.$T;M.G=A.get,M("NonBrowser-1::非浏览器环境,不支持{1}",1),M("IllegalArgs-1::参数错误:{1}",1),M("NeedImport-2::调用{1}需要先导入{2}",2),M("NotSupport-1::不支持:{1}",1),a.TrafficImgUrl="//ia.51.la/go1?id=20469973&pvFlag=1";var R=a.Traffic=function(e){if(t){e=e?"/"+l+"/Report/"+e:"";var n=a.TrafficImgUrl;if(n){var r=a.Traffic,i=/^(https?:..[^\/#]*\/?)[^#]*/i.exec(location.href)||[],o=i[1]||"http://file/",s=(i[0]||o)+e;0==n.indexOf("//")&&(n=/^https:/i.test(s)?"https:"+n:"http:"+n),e&&(n=n+"&cu="+encodeURIComponent(o+e)),r[s]||(r[s]=1,(new Image).src=n,m("Traffic Analysis Image: "+(e||l+".TrafficImgUrl="+a.TrafficImgUrl)))}}};c&&(m(M("8HO5::覆盖导入{1}",0,l),1),c.Destroy()),e[l]=a}function T(e){this.id=++g,R();var t={type:"mp3",onProcess:n};for(var a in e)t[a]=e[a];this.set=t;var i=t.bitRate,o=t.sampleRate;(i&&!r(i)||o&&!r(o))&&this.CLog(M.G("IllegalArgs-1",[M("VtS4::{1}和{2}必须是数值",0,"sampleRate","bitRate")]),1,e),t.bitRate=+i||16,t.sampleRate=+o||16e3,this.state=0,this._S=9,this.Sync={O:9,C:9}}}(i=a?window:Object,a),void 0===(r=function(){return i.Recorder}.call(t,n,t,e))||(e.exports=r),"object"==o(e)&&e.exports&&(e.exports=i.Recorder)}).call(this,n(2)(e))},function(e,t,n){"use strict";var r,a,i,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r="object"==("undefined"==typeof window?"undefined":o(window))&&!!window.document,a=(r?window:Object).Recorder,i=a.i18n,function(e,t,n,r){var a="48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000",i="8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256, 320";e.prototype.enc_mp3={stable:!0,takeEC:"full",getTestMsg:function(){return n("Zm7L::采样率范围:{1};比特率范围:{2}(不同比特率支持的采样率范围不同,小于32kbps时采样率需小于32000)",0,a,i)}};var o,s=function(t){var r=t.bitRate,o=t.sampleRate,s=o;if(-1==(" "+i+",").indexOf(" "+r+",")&&e.CLog(n("eGB9::{1}不在mp3支持的取值范围:{2}",0,"bitRate="+r,i),3),-1==(" "+a+",").indexOf(" "+o+",")){for(var l=a.split(", "),c=[],u=0;u0){if(d+s>f.length){var l=new Int8Array(f.length+Math.max(5e5,s));l.set(f.subarray(0,d)),f=l}f.set(o,d),d+=s}if(ho.memory.length){var n=new Int8Array(o.memory.length+Math.max(5e5,t));n.set(o.memory.subarray(0,o.mOffset)),o.memory=n}o.memory.set(e,o.mOffset),o.mOffset+=t};switch(t.action){case"stop":o.encObj=null,delete n[t.id];break;case"encode":o.pcmSize+=t.pcm.length;try{var l=o.encObj.encodeBuffer(t.pcm)}catch(e){o.err=e,console.error(e)}l&&l.length>0&&(o.takeoff?d.onmessage({action:"takeoff",id:t.id,chunk:l}):s(l));break;case"complete":try{l=o.encObj.flush()}catch(e){o.err=e,console.error(e)}if(l&&l.length>0&&(o.takeoff?d.onmessage({action:"takeoff",id:t.id,chunk:l}):s(l)),o.err){d.onmessage({action:t.action,id:t.id,err:"MP3 Encoder: "+o.err.message});break}var c=[o.memory.buffer.slice(0,o.mOffset)],u=a.fn(c,o.mOffset,o.pcmSize,o.sampleRate);d.onmessage({action:t.action,id:t.id,blob:c[0]||new ArrayBuffer(0),meta:u})}},f=function(e){d.onmessage=function(t){var n=t;e&&(n=t.data);var r=u[n.id];r&&("takeoff"==n.action?r.set.takeoffEncodeChunk(new Uint8Array(n.chunk.buffer)):(r.call&&r.call(n),r.call=null))}},_=function(){var e={worker:d,set:r};return r?(e.id=++u.id,u[e.id]=e,s(r),d.postMessage({action:"init",id:e.id,sampleRate:r.sampleRate,bitRate:r.bitRate,takeoff:!!r.takeoffEncodeChunk,x:new Int16Array(5)})):d.postMessage({x:new Int16Array(5)}),e},d=o;if(a||!c)return e.CLog(n("k9PT::当前环境不支持Web Worker,mp3实时编码器运行在主线程中"),3),d={postMessage:function(e){l({data:e})}},i={wkScope:{wk_ctxs:{},wk_lame:e.lamejs,wk_mp3TrimFix:p}},f(),_();try{if(!d){var h=(l+"").replace(/\w+\.onmessage/g,"self.postMessage"),v=");wk_lame();self.onmessage="+(h=h.replace(/\w+.wkScope/g,"wkScope"));v+=";var wkScope={ wk_ctxs:{},wk_lame:wk_lame",v+=",wk_mp3TrimFix:{rm:"+p.rm+",fn:"+p.fn+"} }";var m=e.lamejs.toString(),b=(window.URL||webkitURL).createObjectURL(new Blob(["var wk_lame=(",m,v],{type:"text/javascript"}));d=new Worker(b),setTimeout((function(){(window.URL||webkitURL).revokeObjectURL(b)}),1e4),f(1)}var g=_();return g.isW=1,o=d,g}catch(e){return d&&d.terminate(),console.error(e),t(r,1)}};e.prototype.mp3_stop=function(t){if(t&&t.worker){t.worker.postMessage({action:"stop",id:t.id}),t.worker=null,delete u[t.id];var r=-1;for(var a in u)r++;r&&e.CLog(n("fT6M::mp3 worker剩{1}个未stop",0,r),3)}},e.prototype.mp3_encode=function(e,t){e&&e.worker&&e.worker.postMessage({action:"encode",id:e.id,pcm:t})},e.prototype.mp3_complete=function(e,t,r,a){var i=this;e&&e.worker?(e.call=function(n){a&&i.mp3_stop(e),n.err?r(n.err):(_(n.meta,e.set),t(n.blob,"audio/mp3"))},e.worker.postMessage({action:"complete",id:e.id})):r(n("mPxH::mp3编码器未start"))},e.mp3ReadMeta=function(e,t){var n="undefined"!=typeof window&&window.parseInt||"undefined"!=typeof self&&self.parseInt||parseInt,r=new Uint8Array(e[0]||[]);if(r.length<4)return null;var a=function(e,t){return("0000000"+((t||r)[e]||0).toString(2)).substr(-8)},i=a(0)+a(1),o=a(2)+a(3);if(!/^1{11}/.test(i))return null;var s={"00":2.5,10:2,11:1}[i.substr(11,2)],l={"01":3}[i.substr(13,2)],c={1:[44100,48e3,32e3],2:[22050,24e3,16e3],2.5:[11025,12e3,8e3]}[s];c&&(c=c[n(o.substr(4,2),2)]);var u=[[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160],[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320]][1==s?1:0][n(o.substr(0,4),2)];if(!(s&&l&&u&&c))return null;for(var f=Math.round(8*t/u),p=1==l?384:2==l||1==s?1152:576,_=p/c*1e3,d=Math.floor(p*u/8/c*1e3),h=0,v=0,m=0;m=d+3){var g=new Uint8Array(b);h="1"==a(b.byteLength-(v-(d+3)+1),g).charAt(6);break}}return h&&d++,{version:s,layer:l,sampleRate:c,bitRate:u,duration:f,size:t,hasPadding:h,frameSize:d,frameDurationFloat:_}};var p={rm:e.mp3ReadMeta,fn:function(e,t,n,r){var a=this.rm(e,t);if(!a)return{err:"mp3 unknown format"};var i=Math.round(n/r*1e3),o=Math.floor((a.duration-i)/a.frameDurationFloat);if(o>0){var s=o*a.frameSize-(a.hasPadding?1:0);t-=s;for(var l=0,c=[],u=0;u=f.byteLength?(s-=f.byteLength,c.push(f),e.splice(u,1),u--):(e[u]=f.slice(s),l=f,s=0)}if(!this.rm(e,t)){for(l&&(e[0]=l),u=0;u "+i.duration+"ms",i.remove>2&&(t.err=(t.err?t.err+", ":"")+n("b9zm::移除帧数过多"))):a+=(t.duration||"-")+"ms",t.err?e.CLog(a,1,t.err,t):e.CLog(a,t)}}(a,0,i.$T,r)},function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(e){function t(){var e=function(e){return Math.log(e)/Math.log(10)},n=function(e){throw new Error("abort("+e+")")};function r(e){return new Int8Array(e)}function a(e){return new Int16Array(e)}function i(e){return new Int32Array(e)}function o(e){return new Float32Array(e)}function s(e){return new Float64Array(e)}function l(e){if(1==e.length)return o(e[0]);var t=e[0];e=e.slice(1);for(var n=[],r=0;r>=1;0!=e--;)a[i++]=o>n[r++]?0:1,a[i++]=o>n[r++]?0:1}function o(t,n,r,a,i,o){var s=(t>>=1)%2;for(t>>=1;0!=t--;){var l,c,u,f,p,_,d,h;l=r[a++]*n,c=r[a++]*n,p=0|l,u=r[a++]*n,_=0|c,f=r[a++]*n,d=0|u,l+=e.adj43[p],h=0|f,c+=e.adj43[_],i[o++]=0|l,u+=e.adj43[d],i[o++]=0|c,f+=e.adj43[h],i[o++]=0|u,i[o++]=0|f}0!=s&&(p=0|(l=r[a++]*n),_=0|(c=r[a++]*n),l+=e.adj43[p],c+=e.adj43[_],i[o++]=0|l,i[o++]=0|c)}var s=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function l(e,t,r,a){var i=function(e,t,n){var r=0,a=0;do{var i=e[t++],o=e[t++];r>=16)>i&&(s=i,r++),a.bits+=s,r}(e,t,r,s[i-1],a);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return function(e,t,n,r,a){var i=0,o=0,s=0,l=R.ht[r].xlen,c=R.ht[r].hlen,u=R.ht[r+1].hlen,f=R.ht[r+2].hlen;do{var p=e[t+0]*l+e[t+1];t+=2,i+=c[p],o+=u[p],s+=f[p]}while(to&&(i=o,_++),i>s&&(i=s,_=r+2),a.bits+=i,_}(e,t,r,s[i-1],a);default:var o,l;for(i>N.IXMAX_VAL&&n(),i-=15,o=24;o<32&&!(R.ht[o].linmax>=i);o++);for(l=o-8;l<24&&!(R.ht[l].linmax>=i);l++);return function(e,t,n,r,a,i){var o,s=65536*R.ht[r].xlen+R.ht[a].xlen,l=0;do{var c=e[t++],u=e[t++];0!=c&&(c>14&&(c=15,l+=s),c*=16),0!=u&&(u>14&&(u=15,l+=s),c+=u),l+=R.largetbl[c]}while(t>=16)>o&&(l=o,r=a),i.bits+=l,r}(e,t,r,l,o,a)}}function c(e,n,r,a,i,o,s,c){for(var u=n.big_values,f=2;f=u)break;var _=i[f-2]+n.count1bits;if(r.part2_3_length<=_)break;var d=new t(_),h=l(a,p,u,d);_=d.bits,r.part2_3_length<=_||(r.assign(n),r.part2_3_length=_,r.region0_count=o[f-2],r.region1_count=f-2-o[f-2],r.table_select[0]=s[f-2],r.table_select[1]=c[f-2],r.table_select[2]=h)}}this.noquant_count_bits=function(e,r,a){var i=r.l3_enc,o=Math.min(576,r.max_nonzero_coeff+2>>1<<1);for(null!=a&&(a.sfb_count1=0);o>1&&0==(i[o-1]|i[o-2]);o-=2);r.count1=o;for(var s=0,c=0;o>3;o-=4){var u;if((2147483647&(i[o-1]|i[o-2]|i[o-3]|i[o-4]))>1)break;u=2*(2*(2*i[o-4]+i[o-3])+i[o-2])+i[o-1],s+=R.t32l[u],c+=R.t33l[u]}var f=s;if(r.count1table_select=0,s>c&&(f=c,r.count1table_select=1),r.count1bits=f,r.big_values=o,0==o)return f;if(r.block_type==U.SHORT_TYPE)(s=3*e.scalefac_band.s[3])>r.big_values&&(s=r.big_values),c=r.big_values;else if(r.block_type==U.NORM_TYPE){if(s=r.region0_count=e.bv_scf[o-2],c=r.region1_count=e.bv_scf[o-1],c=e.scalefac_band.l[s+c+2],s=e.scalefac_band.l[s+1],c(c=o)&&(s=c);if(s=Math.min(s,o),c=Math.min(c,o),0c?N.LARGE_BITS:(function(t,r,i,s,l){var c,u,f,_=0,d=0,h=0,v=0,m=r,b=0,g=m,y=0,w=t,S=0;for(f=null!=l&&s.global_gain==l.global_gain,u=s.block_type==U.SHORT_TYPE?38:21,c=0;c<=u;c++){var x=-1;if((f||s.block_type==U.NORM_TYPE)&&(x=s.global_gain-(s.scalefac[c]+(0!=s.preflag?e.pretab[c]:0)<s.max_nonzero_coeff&&(k=s.max_nonzero_coeff-_+1,p.fill(r,s.max_nonzero_coeff,576,0),(A=k)<0&&(A=0),c=u+1),0==d&&0==h&&(g=m,y=b,w=t,S=v),null!=l&&l.sfb_count1>0&&c>=l.sfb_count1&&l.step[c]>0&&x>=l.step[c]?(0!=d&&(o(d,i,w,S,g,y),d=0,g=m,y=b,w=t,S=v),h+=A):(0!=h&&(a(h,i,w,S,g,y),h=0,g=m,y=b,w=t,S=v),d+=A),A<=0){0!=h&&n(),0!=d&&n();break}}c<=u&&(b+=s.width[c],v+=s.width[c],_+=s.width[c])}0!=d&&(o(d,i,w,S,g,y),d=0),0!=h&&n()}(r,l,e.IPOW20(i.global_gain),i,s),0!=(2&t.substep_shaping)&&n(),this.noquant_count_bits(t,i,s))},this.best_huffman_divide=function(e,n){var r=new D,a=n.l3_enc,o=i(23),s=i(23),u=i(23),f=i(23);if(n.block_type!=U.SHORT_TYPE||1!=e.mode_gr){r.assign(n),n.block_type==U.NORM_TYPE&&(function(e,n,r,a,i,o,s){for(var c=n.big_values,u=0;u<=22;u++)a[u]=N.LARGE_BITS;for(u=0;u<16;u++){var f=e.scalefac_band.l[u+1];if(f>=c)break;var p=0,_=new t(p),d=l(r,0,f,_);p=_.bits;for(var h=0;h<8;h++){var v=e.scalefac_band.l[u+h+2];if(v>=c)break;var m=p,b=l(r,f,v,_=new t(m));m=_.bits,a[u+h]>m&&(a[u+h]=m,i[u+h]=u,o[u+h]=d,s[u+h]=b)}}}(e,n,a,o,s,u,f),c(e,r,n,a,o,s,u,f));var p=r.big_values;if(!(0==p||(a[p-2]|a[p-1])>1||(p=n.count1+2)>576)){r.assign(n),r.count1=p;for(var _=0,d=0;p>r.big_values;p-=4){var h=2*(2*(2*a[p-4]+a[p-3])+a[p-2])+a[p-1];_+=R.t32l[h],d+=R.t33l[h]}if(r.big_values=p,r.count1table_select=0,_>d&&(_=d,r.count1table_select=1),r.count1bits=_,r.block_type==U.NORM_TYPE)c(e,r,n,a,o,s,u,f);else{if(r.part2_3_length=_,(_=e.scalefac_band.l[8])>p&&(_=p),_>0){var v=new t(r.part2_3_length);r.table_select[0]=l(a,0,_,v),r.part2_3_length=v.bits}p>_&&(v=new t(r.part2_3_length),r.table_select[1]=l(a,_,p,v),r.part2_3_length=v.bits),n.part2_3_length>r.part2_3_length&&n.assign(r)}}}};var u=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],f=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],_=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],d=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];y.slen1_tab=_,y.slen2_tab=d,this.best_scalefac_store=function(t,n,r,a){var i,o,s,l,c=a.tt[n][r],p=0;for(s=0,i=0;i0&&(v|=c.scalefac[i]);if(0==(1&v)&&0!=v){for(i=0;i0&&(c.scalefac[i]>>=1);c.scalefac_scale=p=1}}if(0==c.preflag&&c.block_type!=U.SHORT_TYPE&&2==t.mode_gr){for(i=11;i0&&(c.scalefac[i]-=e.pretab[i]);c.preflag=p=1}}for(o=0;o<4;o++)a.scfsi[r][o]=0;for(2==t.mode_gr&&1==n&&a.tt[0][r].block_type!=U.SHORT_TYPE&&a.tt[1][r].block_type!=U.SHORT_TYPE&&(function(e,t){for(var n,r=t.tt[1][e],a=t.tt[0][e],i=0;i=0);n++);if(n==R.scfsi_band[i+1]){for(n=R.scfsi_band[i];np&&(r.part2_length=p,r.scalefac_compress=i)}}(r,a),p=0),i=0;ia[n]&&(t.part2_length=a[n],t.scalefac_compress=n);return t.part2_length==N.LARGE_BITS};var b=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(t,r){var a,o,s,l,c,u,f,p,_=i(4),d=r.scalefac;for(a=0!=r.preflag?2:0,f=0;f<4;f++)_[f]=0;if(r.block_type==U.SHORT_TYPE){o=1;var h=e.nr_of_sfb_block[a][o];for(p=0,s=0;s<4;s++)for(l=h[s]/3,f=0;f_[s]&&(_[s]=d[3*p+c])}else for(o=0,h=e.nr_of_sfb_block[a][o],p=0,s=0;s<4;s++)for(l=h[s],f=0;f_[s]&&(_[s]=d[p]);for(u=!1,s=0;s<4;s++)_[s]>b[a][s]&&(u=!0);if(!u){var v,m,y,w;for(r.sfb_partition_table=e.nr_of_sfb_block[a][o],s=0;s<4;s++)r.slen[s]=g[_[s]];switch(v=r.slen[0],m=r.slen[1],y=r.slen[2],w=r.slen[3],a){case 0:r.scalefac_compress=(5*v+m<<4)+(y<<2)+w;break;case 1:r.scalefac_compress=400+(5*v+m<<2)+y;break;case 2:r.scalefac_compress=500+3*v+m;break;default:n()}}if(!u)for(r.part2_length=0,s=0;s<4;s++)r.part2_length+=r.slen[s]*r.sfb_partition_table[s];return u};var g=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){for(var n,a=0;e.scalefac_band.l[++a]t;)n--;for(n<0&&(n=r[a][0]),e.bv_scf[t-2]=n,n=r[a][1];e.scalefac_band.l[n+e.bv_scf[t-2]+2]>t;)n--;n<0&&(n=r[a][1]),e.bv_scf[t-1]=n}}}function w(){}function S(){function e(e,t,n,r,a,i,o,s,l,c,u,f,p,_){this.quant_comp=t,this.quant_comp_s=n,this.safejoint=r,this.nsmsfix=a,this.st_lrm=i,this.st_s=o,this.nsbass=s,this.scale=l,this.masking_adj=c,this.ath_lower=u,this.ath_curve=f,this.interch=p,this.sfscale=_}var t;function r(e,t,r){n()}this.setModules=function(e){t=e};var a=[new e(8,9,9,0,0,6.6,145,0,.95,0,-30,11,.0012,1),new e(16,9,9,0,0,6.6,145,0,.95,0,-25,11,.001,1),new e(24,9,9,0,0,6.6,145,0,.95,0,-20,11,.001,1),new e(32,9,9,0,0,6.6,145,0,.95,0,-15,11,.001,1),new e(40,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new e(48,9,9,0,0,6.6,145,0,.95,0,-10,11,9e-4,1),new e(56,9,9,0,0,6.6,145,0,.95,0,-6,11,8e-4,1),new e(64,9,9,0,0,6.6,145,0,.95,0,-2,11,8e-4,1),new e(80,9,9,0,0,6.6,145,0,.95,0,0,8,7e-4,1),new e(96,9,9,0,2.5,6.6,145,0,.95,0,1,5.5,6e-4,1),new e(112,9,9,0,2.25,6.6,145,0,.95,0,2,4.5,5e-4,1),new e(128,9,9,0,1.95,6.4,140,0,.95,0,3,4,2e-4,1),new e(160,9,9,1,1.79,6,135,0,.95,-2,5,3.5,0,1),new e(192,9,9,1,1.49,5.6,125,0,.97,-4,7,3,0,0),new e(224,9,9,1,1.25,5.2,125,0,.98,-6,9,2,0,0),new e(256,9,9,1,.97,5.2,125,0,1,-8,10,1,0,0),new e(320,9,9,1,.9,5.2,125,0,1,-10,12,0,0,0)];function i(e,n,r){var i=n,o=t.nearestBitrateFullIndex(n);if(e.VBR=m.vbr_abr,e.VBR_mean_bitrate_kbps=i,e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320),e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.brate=e.VBR_mean_bitrate_kbps,e.VBR_mean_bitrate_kbps>320&&(e.disable_reservoir=!0),a[o].safejoint>0&&(e.exp_nspsytune=2|e.exp_nspsytune),a[o].sfscale>0&&(e.internal_flags.noise_shaping=2),Math.abs(a[o].nsbass)>0){var s=int(4*a[o].nsbass);s<0&&(s+=64),e.exp_nspsytune=e.exp_nspsytune|s<<2}return 0!=r?e.quant_comp=a[o].quant_comp:Math.abs(e.quant_comp- -1)>0||(e.quant_comp=a[o].quant_comp),0!=r?e.quant_comp_short=a[o].quant_comp_s:Math.abs(e.quant_comp_short- -1)>0||(e.quant_comp_short=a[o].quant_comp_s),0!=r?e.msfix=a[o].nsmsfix:Math.abs(e.msfix- -1)>0||(e.msfix=a[o].nsmsfix),0!=r?e.internal_flags.nsPsy.attackthre=a[o].st_lrm:Math.abs(e.internal_flags.nsPsy.attackthre- -1)>0||(e.internal_flags.nsPsy.attackthre=a[o].st_lrm),0!=r?e.internal_flags.nsPsy.attackthre_s=a[o].st_s:Math.abs(e.internal_flags.nsPsy.attackthre_s- -1)>0||(e.internal_flags.nsPsy.attackthre_s=a[o].st_s),0!=r?e.scale=a[o].scale:Math.abs(e.scale- -1)>0||(e.scale=a[o].scale),0!=r?e.maskingadjust=a[o].masking_adj:Math.abs(e.maskingadjust-0)>0||(e.maskingadjust=a[o].masking_adj),a[o].masking_adj>0?0!=r?e.maskingadjust_short=.9*a[o].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=.9*a[o].masking_adj):0!=r?e.maskingadjust_short=1.1*a[o].masking_adj:Math.abs(e.maskingadjust_short-0)>0||(e.maskingadjust_short=1.1*a[o].masking_adj),0!=r?e.ATHlower=-a[o].ath_lower/10:Math.abs(10*-e.ATHlower-0)>0||(e.ATHlower=-a[o].ath_lower/10),0!=r?e.ATHcurve=a[o].ath_curve:Math.abs(e.ATHcurve- -1)>0||(e.ATHcurve=a[o].ath_curve),0!=r?e.interChRatio=a[o].interch:Math.abs(e.interChRatio- -1)>0||(e.interChRatio=a[o].interch),n}this.apply_preset=function(e,t,n){switch(t){case Z.R3MIX:t=Z.V3,e.VBR=m.vbr_mtrh;break;case Z.MEDIUM:t=Z.V4,e.VBR=m.vbr_rh;break;case Z.MEDIUM_FAST:t=Z.V4,e.VBR=m.vbr_mtrh;break;case Z.STANDARD:t=Z.V2,e.VBR=m.vbr_rh;break;case Z.STANDARD_FAST:t=Z.V2,e.VBR=m.vbr_mtrh;break;case Z.EXTREME:t=Z.V0,e.VBR=m.vbr_rh;break;case Z.EXTREME_FAST:t=Z.V0,e.VBR=m.vbr_mtrh;break;case Z.INSANE:return t=320,e.preset=t,i(e,t,n),e.VBR=m.vbr_off,t}switch(e.preset=t,t){case Z.V9:case Z.V8:case Z.V7:case Z.V6:case Z.V5:case Z.V4:case Z.V3:case Z.V2:case Z.V1:case Z.V0:return r(),t}return 8<=t&&t<=320?i(e,t,n):(e.preset=0,t)}}function x(){var e;this.setModules=function(t){e=t},this.ResvFrameBegin=function(t,r){var a,i=t.internal_flags,o=i.l3_side,s=e.getframebits(t);r.bits=(s-8*i.sideinfo_len)/i.mode_gr;var l=2048*i.mode_gr-8;t.brate>320?n():(a=11520,t.strict_ISO&&n()),i.ResvMax=a-s,i.ResvMax>l&&(i.ResvMax=l),(i.ResvMax<0||t.disable_reservoir)&&(i.ResvMax=0);var c=r.bits*i.mode_gr+Math.min(i.ResvSize,i.ResvMax);return c>a&&(c=a),o.resvDrain_pre=0,null!=i.pinfo&&n(),c},this.ResvMaxBits=function(e,t,n,r){var a,i=e.internal_flags,o=i.ResvSize,s=i.ResvMax;0!=r&&(o+=t),0!=(1&i.substep_shaping)&&(s*=.9),n.bits=t,10*o>9*s?(a=o-9*s/10,n.bits+=a,i.substep_shaping|=128):(a=0,i.substep_shaping&=127,e.disable_reservoir||0!=(1&i.substep_shaping)||(n.bits-=.1*t));var l=o<6*i.ResvMax/10?o:6*i.ResvMax/10;return(l-=a)<0&&(l=0),l},this.ResvAdjust=function(e,t){e.ResvSize-=t.part2_3_length+t.part2_length},this.ResvFrameEnd=function(e,t){var n,r=e.l3_side;e.ResvSize+=t*e.mode_gr;var a=0;r.resvDrain_post=0,r.resvDrain_pre=0,0!=(n=e.ResvSize%8)&&(a+=n),(n=e.ResvSize-a-e.ResvMax)>0&&(a+=n);var i=Math.min(8*r.main_data_begin,a)/8;r.resvDrain_pre+=8*i,a-=8*i,e.ResvSize-=8*i,r.main_data_begin-=i,r.resvDrain_post+=a,e.ResvSize-=a}}function k(){this.setModules=function(e,t,n){};var e=[0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8e3,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16e3,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32e3,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448];function t(t,n){return n=n>>8^e[255&(n^t)]}this.updateMusicCRC=function(e,n,r,a){for(var i=0;i0;){var r;0==c&&(c=8,l++,e.header[e.w_ptr].write_timing==s&&u(e),o[l]=0),n-=r=Math.min(n,c),c-=r,o[l]|=t>>n<=8&&(f(a,76,8),n-=8),n>=8&&(f(a,65,8),n-=8),n>=8&&(f(a,77,8),n-=8),n>=8&&(f(a,69,8),n-=8),n>=32){var i=t.getLameShortVersion();if(n>=32)for(r=0;r=8;++r)n-=8,f(a,i.charCodeAt(r),8)}for(;n>=1;n-=1)f(a,a.ancillary_flag,1),a.ancillary_flag^=e.disable_reservoir?0:1}function h(e,t,n){for(var r=e.header[e.h_ptr].ptr;n>0;){var a=Math.min(n,8-(7&r));n-=a,e.header[e.h_ptr].buf[r>>3]|=t>>n<<8-(7&r)-a,r+=a}e.header[e.h_ptr].ptr=r}function v(e,t){var n,r=R.ht[t.count1table_select+32],a=0,i=t.big_values,o=t.big_values;for(n=(t.count1-t.big_values)/4;n>0;--n){var s=0,l=0;0!=t.l3_enc[i+0]&&(l+=8,t.xr[o+0]<0&&s++),0!=t.l3_enc[i+1]&&(l+=4,s*=2,t.xr[o+1]<0&&s++),0!=t.l3_enc[i+2]&&(l+=2,s*=2,t.xr[o+2]<0&&s++),0!=t.l3_enc[i+3]&&(l++,s*=2,t.xr[o+3]<0&&s++),i+=4,o+=4,f(e,s+r.table[l],r.hlen[l]),a+=r.hlen[l]}return a}function m(e,t,n,r,a){var i=R.ht[t],o=0;if(0==t)return o;for(var s=n;s15&&(d>14&&(_|=d-15<<1,c=u,d=15),h>14&&(_<<=u,_|=h-15,c+=u,h=15),p=16),0!=h&&(_<<=1,a.xr[s+1]<0&&_++,l--),d=d*p+h,c-=l,l+=i.hlen[d],f(e,i.table[d],l),f(e,_,c),o+=l+c}return o}function b(e,t){var n=3*e.scalefac_band.s[3];n>t.big_values&&(n=t.big_values);var r=m(e,t.table_select[0],0,n,t);return r+=m(e,t.table_select[1],n,t.big_values,t)}function g(e,t){var n,r,a,i;n=t.big_values;var o=t.region0_count+1;return a=e.scalefac_band.l[o],o+=t.region1_count+1,a>n&&(a=n),(i=e.scalefac_band.l[o])>n&&(i=n),r=m(e,t.table_select[0],0,a,t),r+=m(e,t.table_select[1],a,i,t),r+=m(e,t.table_select[2],i,n,t)}function w(){this.total=0}function S(t,r){var a,i,o,c=t.internal_flags;return c.w_ptr,-1==(o=c.h_ptr-1)&&(o=W.MAX_HEADER_BUF-1),a=c.header[o].write_timing-s,r.total=a,a>=0&&n(),a+=i=e.getframebits(t),r.total+=i,r.total%8!=0?r.total=1+r.total/8:r.total=r.total/8,r.total+=l+1,a<0&&n(),a}this.getframebits=function(e){var t,n=e.internal_flags;return t=0!=n.bitrate_index?R.bitrate_table[e.version][n.bitrate_index]:e.brate,8*(0|72e3*(e.version+1)*t/e.out_samplerate+n.padding)},this.flush_bitstream=function(e){var t,r,a=e.internal_flags,i=a.h_ptr-1;-1==i&&(i=W.MAX_HEADER_BUF-1),t=a.l3_side,(r=S(e,new w))<0||(d(e,r),a.ResvSize=0,t.main_data_begin=0,a.findReplayGain&&n(),a.findPeakSample&&n())},this.format_bitstream=function(e){var t,r=e.internal_flags;t=r.l3_side;var a=this.getframebits(e);d(e,t.resvDrain_pre),function(e,t){var r,a,i,o=e.internal_flags;if(r=o.l3_side,o.header[o.h_ptr].ptr=0,p.fill(o.header[o.h_ptr].buf,0,o.sideinfo_len,0),e.out_samplerate<16e3?h(o,4094,12):h(o,4095,12),h(o,e.version,1),h(o,1,2),h(o,e.error_protection?0:1,1),h(o,o.bitrate_index,4),h(o,o.samplerate_index,2),h(o,o.padding,1),h(o,e.extension,1),h(o,e.mode.ordinal(),2),h(o,o.mode_ext,2),h(o,e.copyright,1),h(o,e.original,1),h(o,e.emphasis,2),e.error_protection&&h(o,0,16),1==e.version){for(h(o,r.main_data_begin,9),2==o.channels_out?h(o,r.private_bits,3):h(o,r.private_bits,5),i=0;i1e9&&n(),0},this.copy_buffer=function(e,t,r,s,u){var f=l+1;if(f<=0)return 0;if(0!=s&&f>s)return-1;if(_.arraycopy(o,0,t,r,f),l=-1,c=0,0!=u){var p=i(1);p[0]=e.nMusicCRC,a.updateMusicCRC(p,t,r,f),e.nMusicCRC=p[0],f>0&&(e.VBR_seek_table.nBytesWritten+=f),e.decode_on_the_fly&&n()}return f},this.init_bit_stream_w=function(e){o=r(Z.LAME_MAXMP3BUFFER),e.h_ptr=e.w_ptr=0,e.header[e.h_ptr].write_timing=0,l=-1,c=0,s=0}}function M(e,t,n,r){this.xlen=e,this.linmax=t,this.table=n,this.hlen=r}v.MAX_VALUE=34028235e31,m.vbr_off=new m(0),m.vbr_mt=new m(1),m.vbr_rh=new m(2),m.vbr_abr=new m(3),m.vbr_mtrh=new m(4),m.vbr_default=m.vbr_mtrh,b.STEREO=new b(0),b.JOINT_STEREO=new b(1),b.DUAL_CHANNEL=new b(2),b.MONO=new b(3),b.NOT_SET=new b(4),w.STEPS_per_dB=100,w.MAX_dB=120,w.GAIN_NOT_ENOUGH_SAMPLES=-24601,w.GAIN_ANALYSIS_ERROR=0,w.GAIN_ANALYSIS_OK=1,w.INIT_GAIN_ANALYSIS_ERROR=0,w.INIT_GAIN_ANALYSIS_OK=1,w.YULE_ORDER=10,w.MAX_ORDER=w.YULE_ORDER,w.MAX_SAMP_FREQ=48e3,w.RMS_WINDOW_TIME_NUMERATOR=1,w.RMS_WINDOW_TIME_DENOMINATOR=20,w.MAX_SAMPLES_PER_WINDOW=w.MAX_SAMP_FREQ*w.RMS_WINDOW_TIME_NUMERATOR/w.RMS_WINDOW_TIME_DENOMINATOR+1,k.NUMTOCENTRIES=100,k.MAXFRAMESIZE=2880,A.EQ=function(e,t){return Math.abs(e)>Math.abs(t)?Math.abs(e-t)<=1e-6*Math.abs(e):Math.abs(e-t)<=1e-6*Math.abs(t)},A.NEQ=function(e,t){return!A.EQ(e,t)};var R={};function T(e){this.bits=e}function C(){this.over_noise=0,this.tot_noise=0,this.max_noise=0,this.over_count=0,this.over_SSD=0,this.bits=0}function B(){this.setModules=function(e,t){}}function E(){this.useAdjust=0,this.aaSensitivityP=0,this.adjust=0,this.adjustLimit=0,this.decay=0,this.floor=0,this.l=o(U.SBMAX_l),this.s=o(U.SBMAX_s),this.psfb21=o(U.PSFB21),this.psfb12=o(U.PSFB12),this.cb_l=o(U.CBANDS),this.cb_s=o(U.CBANDS),this.eql_w=o(U.BLKSIZE/2)}function O(){this.class_id=0,this.num_samples=0,this.num_channels=0,this.in_samplerate=0,this.out_samplerate=0,this.scale=0,this.scale_left=0,this.scale_right=0,this.analysis=!1,this.bWriteVbrTag=!1,this.decode_only=!1,this.quality=0,this.mode=b.STEREO,this.force_ms=!1,this.free_format=!1,this.findReplayGain=!1,this.decode_on_the_fly=!1,this.write_id3tag_automatic=!1,this.brate=0,this.compression_ratio=0,this.copyright=0,this.original=0,this.extension=0,this.emphasis=0,this.error_protection=0,this.strict_ISO=!1,this.disable_reservoir=!1,this.quant_comp=0,this.quant_comp_short=0,this.experimentalY=!1,this.experimentalZ=0,this.exp_nspsytune=0,this.preset=0,this.VBR=null,this.VBR_q_frac=0,this.VBR_q=0,this.VBR_mean_bitrate_kbps=0,this.VBR_min_bitrate_kbps=0,this.VBR_max_bitrate_kbps=0,this.VBR_hard_min=0,this.lowpassfreq=0,this.highpassfreq=0,this.lowpasswidth=0,this.highpasswidth=0,this.maskingadjust=0,this.maskingadjust_short=0,this.ATHonly=!1,this.ATHshort=!1,this.noATH=!1,this.ATHtype=0,this.ATHcurve=0,this.ATHlower=0,this.athaa_type=0,this.athaa_loudapprox=0,this.athaa_sensitivity=0,this.short_blocks=null,this.useTemporal=!1,this.interChRatio=0,this.msfix=0,this.tune=!1,this.tune_value_a=0,this.version=0,this.encoder_delay=0,this.encoder_padding=0,this.framesize=0,this.frameNum=0,this.lame_allocated_gfp=0,this.internal_flags=null}function P(e){var t=e;this.quantize=t,this.iteration_loop=function(e,t,r,a){var s=e.internal_flags,l=o(H.SFBMAX),c=o(576),u=i(2),f=0,p=s.l3_side,_=new T(f);this.quantize.rv.ResvFrameBegin(e,_),f=_.bits;for(var d=0;d>2&63)>=32&&(a-=64),u=Math.pow(10,a/4/10),(a=r.exp_nspsytune>>8&63)>=32&&(a-=64),d=Math.pow(10,a/4/10),(a=r.exp_nspsytune>>14&63)>=32&&(a-=64),m=Math.pow(10,a/4/10),(a=r.exp_nspsytune>>20&63)>=32&&(a-=64),g=m*Math.pow(10,a/4/10),a=0;aW.MAX_BITS_PER_GRANULE&&(v=W.MAX_BITS_PER_GRANULE),c=0,u=0;u3*o/4&&(_[u]=3*o/4),_[u]<0&&(_[u]=0),_[u]+a[u]>W.MAX_BITS_PER_CHANNEL&&(_[u]=Math.max(0,W.MAX_BITS_PER_CHANNEL-a[u])),c+=_[u];if(c>h)for(u=0;uW.MAX_BITS_PER_GRANULE&&n(),v},this.athAdjust=function(e,t,n){var r=90.30873362,a=d.FAST_LOG10_X(t,10),i=e*e,o=0;return a-=n,i>1e-20&&(o=1+d.FAST_LOG10_X(i,10/r)),o<0&&(o=0),a*=o,a+=n+r-94.82444863,Math.pow(10,.1*a)},this.calc_xmin=function(e,t,r,a){var i,o=0,s=e.internal_flags,l=0,c=0,u=s.ATH,f=r.xr,p=e.VBR==m.vbr_mtrh?1:0,_=s.masking_lower;for(e.VBR!=m.vbr_mtrh&&e.VBR!=m.vbr_mt||(_=1),i=0;i>1,R=0;do{R+=C=f[l]*f[l],x+=C0);R>w&&c++,i==U.SBPSY_l&&n(),0!=p&&(w=x),e.ATHonly||(k=t.en.l[i])>0&&(M=R*t.thm.l[i]*_/k,0!=p&&(M*=s.nsPsy.longfact[i]),w>1;S=y/b,x=2220446049250313e-31;do{var C,B;R+=C=f[l]*f[l],x+=C0);R>y&&c++,v==U.SBPSY_s&&n(),w=0!=p?x:y,e.ATHonly||e.ATHshort||(k=t.en.s[v][g])>0&&(M=R*t.thm.s[v][g]*_/k,0!=p&&(M*=s.nsPsy.shortfact[v]),wa[o-3+1]&&(a[o-3+1]+=(a[o-3]-a[o-3+1])*s.decay),a[o-3+1]>a[o-3+2]&&(a[o-3+2]+=(a[o-3+1]-a[o-3+2])*s.decay))}return c},this.calc_noise_core=function(e,t,n,r){var a=0,i=t.s,s=e.l3_enc;if(i>e.count1)for(;0!=n--;)c=e.xr[i],i++,a+=c*c,c=e.xr[i],i++,a+=c*c;else if(i>e.big_values){var l=o(2);for(l[0]=0,l[1]=r;0!=n--;)c=Math.abs(e.xr[i])-l[s[i]],i++,a+=c*c,c=Math.abs(e.xr[i])-l[s[i]],i++,a+=c*c}else for(;0!=n--;){var c;c=Math.abs(e.xr[i])-_[s[i]]*r,i++,a+=c*c,c=Math.abs(e.xr[i])-_[s[i]]*r,i++,a+=c*c}return t.s=i,a},this.calc_noise=function(e,t,n,r,a){var i,o,s=0,l=0,c=0,p=0,_=0,h=-20,v=0,m=e.scalefac,b=0;for(r.over_SSD=0,i=0;i>1,v+e.width[i]>e.max_nonzero_coeff&&(o=(x=e.max_nonzero_coeff-v+1)>0?x>>1:0);var A=new g(v);S=this.calc_noise_core(e,A,o,k),v=A.s,null!=a&&(a.step[i]=w,a.noise[i]=S),S=n[s++]=S/t[l++],S=d.FAST_LOG10(Math.max(S,1e-20)),null!=a&&(a.noise_log[i]=S)}null!=a&&(a.global_gain=e.global_gain),_+=S,S>0&&(y=Math.max(0|10*S+.5,1),r.over_SSD+=y*y,c++,p+=S),h=Math.max(h,S)}return r.over_count=c,r.tot_noise=_,r.over_noise=p,r.max_noise=h,c}}function $(){this.global_gain=0,this.sfb_count1=0,this.step=i(39),this.noise=o(39),this.noise_log=o(39)}function D(){this.xr=o(576),this.l3_enc=i(576),this.scalefac=i(H.SFBMAX),this.xrpow_max=0,this.part2_3_length=0,this.big_values=0,this.count1=0,this.global_gain=0,this.scalefac_compress=0,this.block_type=0,this.mixed_block_flag=0,this.table_select=i(3),this.subblock_gain=i(4),this.region0_count=0,this.region1_count=0,this.preflag=0,this.scalefac_scale=0,this.count1table_select=0,this.part2_length=0,this.sfb_lmax=0,this.sfb_smin=0,this.psy_lmax=0,this.sfbmax=0,this.psymax=0,this.sfbdivide=0,this.width=i(H.SFBMAX),this.window=i(H.SFBMAX),this.count1bits=0,this.sfb_partition_table=null,this.slen=i(4),this.max_nonzero_coeff=0;var e=this;function t(e){return new Int32Array(e)}this.assign=function(n){var r;e.xr=(r=n.xr,new Float32Array(r)),e.l3_enc=t(n.l3_enc),e.scalefac=t(n.scalefac),e.xrpow_max=n.xrpow_max,e.part2_3_length=n.part2_3_length,e.big_values=n.big_values,e.count1=n.count1,e.global_gain=n.global_gain,e.scalefac_compress=n.scalefac_compress,e.block_type=n.block_type,e.mixed_block_flag=n.mixed_block_flag,e.table_select=t(n.table_select),e.subblock_gain=t(n.subblock_gain),e.region0_count=n.region0_count,e.region1_count=n.region1_count,e.preflag=n.preflag,e.scalefac_scale=n.scalefac_scale,e.count1table_select=n.count1table_select,e.part2_length=n.part2_length,e.sfb_lmax=n.sfb_lmax,e.sfb_smin=n.sfb_smin,e.psy_lmax=n.psy_lmax,e.sfbmax=n.sfbmax,e.psymax=n.psymax,e.sfbdivide=n.sfbdivide,e.width=t(n.width),e.window=t(n.window),e.count1bits=n.count1bits,e.sfb_partition_table=n.sfb_partition_table.slice(0),e.slen=t(n.slen),e.max_nonzero_coeff=n.max_nonzero_coeff}}R.t1HB=[1,1,1,0],R.t2HB=[1,2,1,3,1,1,3,2,0],R.t3HB=[3,2,1,1,1,1,3,2,0],R.t5HB=[1,2,6,5,3,1,4,4,7,5,7,1,6,1,1,0],R.t6HB=[7,3,5,1,6,2,3,2,5,4,4,1,3,3,2,0],R.t7HB=[1,2,10,19,16,10,3,3,7,10,5,3,11,4,13,17,8,4,12,11,18,15,11,2,7,6,9,14,3,1,6,4,5,3,2,0],R.t8HB=[3,4,6,18,12,5,5,1,2,16,9,3,7,3,5,14,7,3,19,17,15,13,10,4,13,5,8,11,5,1,12,4,4,1,1,0],R.t9HB=[7,5,9,14,15,7,6,4,5,5,6,7,7,6,8,8,8,5,15,6,9,10,5,1,11,7,9,6,4,1,14,4,6,2,6,0],R.t10HB=[1,2,10,23,35,30,12,17,3,3,8,12,18,21,12,7,11,9,15,21,32,40,19,6,14,13,22,34,46,23,18,7,20,19,33,47,27,22,9,3,31,22,41,26,21,20,5,3,14,13,10,11,16,6,5,1,9,8,7,8,4,4,2,0],R.t11HB=[3,4,10,24,34,33,21,15,5,3,4,10,32,17,11,10,11,7,13,18,30,31,20,5,25,11,19,59,27,18,12,5,35,33,31,58,30,16,7,5,28,26,32,19,17,15,8,14,14,12,9,13,14,9,4,1,11,4,6,6,6,3,2,0],R.t12HB=[9,6,16,33,41,39,38,26,7,5,6,9,23,16,26,11,17,7,11,14,21,30,10,7,17,10,15,12,18,28,14,5,32,13,22,19,18,16,9,5,40,17,31,29,17,13,4,2,27,12,11,15,10,7,4,1,27,12,8,12,6,3,1,0],R.t13HB=[1,5,14,21,34,51,46,71,42,52,68,52,67,44,43,19,3,4,12,19,31,26,44,33,31,24,32,24,31,35,22,14,15,13,23,36,59,49,77,65,29,40,30,40,27,33,42,16,22,20,37,61,56,79,73,64,43,76,56,37,26,31,25,14,35,16,60,57,97,75,114,91,54,73,55,41,48,53,23,24,58,27,50,96,76,70,93,84,77,58,79,29,74,49,41,17,47,45,78,74,115,94,90,79,69,83,71,50,59,38,36,15,72,34,56,95,92,85,91,90,86,73,77,65,51,44,43,42,43,20,30,44,55,78,72,87,78,61,46,54,37,30,20,16,53,25,41,37,44,59,54,81,66,76,57,54,37,18,39,11,35,33,31,57,42,82,72,80,47,58,55,21,22,26,38,22,53,25,23,38,70,60,51,36,55,26,34,23,27,14,9,7,34,32,28,39,49,75,30,52,48,40,52,28,18,17,9,5,45,21,34,64,56,50,49,45,31,19,12,15,10,7,6,3,48,23,20,39,36,35,53,21,16,23,13,10,6,1,4,2,16,15,17,27,25,20,29,11,17,12,16,8,1,1,0,1],R.t15HB=[7,12,18,53,47,76,124,108,89,123,108,119,107,81,122,63,13,5,16,27,46,36,61,51,42,70,52,83,65,41,59,36,19,17,15,24,41,34,59,48,40,64,50,78,62,80,56,33,29,28,25,43,39,63,55,93,76,59,93,72,54,75,50,29,52,22,42,40,67,57,95,79,72,57,89,69,49,66,46,27,77,37,35,66,58,52,91,74,62,48,79,63,90,62,40,38,125,32,60,56,50,92,78,65,55,87,71,51,73,51,70,30,109,53,49,94,88,75,66,122,91,73,56,42,64,44,21,25,90,43,41,77,73,63,56,92,77,66,47,67,48,53,36,20,71,34,67,60,58,49,88,76,67,106,71,54,38,39,23,15,109,53,51,47,90,82,58,57,48,72,57,41,23,27,62,9,86,42,40,37,70,64,52,43,70,55,42,25,29,18,11,11,118,68,30,55,50,46,74,65,49,39,24,16,22,13,14,7,91,44,39,38,34,63,52,45,31,52,28,19,14,8,9,3,123,60,58,53,47,43,32,22,37,24,17,12,15,10,2,1,71,37,34,30,28,20,17,26,21,16,10,6,8,6,2,0],R.t16HB=[1,5,14,44,74,63,110,93,172,149,138,242,225,195,376,17,3,4,12,20,35,62,53,47,83,75,68,119,201,107,207,9,15,13,23,38,67,58,103,90,161,72,127,117,110,209,206,16,45,21,39,69,64,114,99,87,158,140,252,212,199,387,365,26,75,36,68,65,115,101,179,164,155,264,246,226,395,382,362,9,66,30,59,56,102,185,173,265,142,253,232,400,388,378,445,16,111,54,52,100,184,178,160,133,257,244,228,217,385,366,715,10,98,48,91,88,165,157,148,261,248,407,397,372,380,889,884,8,85,84,81,159,156,143,260,249,427,401,392,383,727,713,708,7,154,76,73,141,131,256,245,426,406,394,384,735,359,710,352,11,139,129,67,125,247,233,229,219,393,743,737,720,885,882,439,4,243,120,118,115,227,223,396,746,742,736,721,712,706,223,436,6,202,224,222,218,216,389,386,381,364,888,443,707,440,437,1728,4,747,211,210,208,370,379,734,723,714,1735,883,877,876,3459,865,2,377,369,102,187,726,722,358,711,709,866,1734,871,3458,870,434,0,12,10,7,11,10,17,11,9,13,12,10,7,5,3,1,3],R.t24HB=[15,13,46,80,146,262,248,434,426,669,653,649,621,517,1032,88,14,12,21,38,71,130,122,216,209,198,327,345,319,297,279,42,47,22,41,74,68,128,120,221,207,194,182,340,315,295,541,18,81,39,75,70,134,125,116,220,204,190,178,325,311,293,271,16,147,72,69,135,127,118,112,210,200,188,352,323,306,285,540,14,263,66,129,126,119,114,214,202,192,180,341,317,301,281,262,12,249,123,121,117,113,215,206,195,185,347,330,308,291,272,520,10,435,115,111,109,211,203,196,187,353,332,313,298,283,531,381,17,427,212,208,205,201,193,186,177,169,320,303,286,268,514,377,16,335,199,197,191,189,181,174,333,321,305,289,275,521,379,371,11,668,184,183,179,175,344,331,314,304,290,277,530,383,373,366,10,652,346,171,168,164,318,309,299,287,276,263,513,375,368,362,6,648,322,316,312,307,302,292,284,269,261,512,376,370,364,359,4,620,300,296,294,288,282,273,266,515,380,374,369,365,361,357,2,1033,280,278,274,267,264,259,382,378,372,367,363,360,358,356,0,43,20,19,17,15,13,11,9,7,6,4,7,5,3,1,3],R.t32HB=[1,10,8,20,12,20,16,32,14,12,24,0,28,16,24,16],R.t33HB=[15,28,26,48,22,40,36,64,14,24,20,32,12,16,8,0],R.t1l=[1,4,3,5],R.t2l=[1,4,7,4,5,7,6,7,8],R.t3l=[2,3,7,4,4,7,6,7,8],R.t5l=[1,4,7,8,4,5,8,9,7,8,9,10,8,8,9,10],R.t6l=[3,4,6,8,4,4,6,7,5,6,7,8,7,7,8,9],R.t7l=[1,4,7,9,9,10,4,6,8,9,9,10,7,7,9,10,10,11,8,9,10,11,11,11,8,9,10,11,11,12,9,10,11,12,12,12],R.t8l=[2,4,7,9,9,10,4,4,6,10,10,10,7,6,8,10,10,11,9,10,10,11,11,12,9,9,10,11,12,12,10,10,11,11,13,13],R.t9l=[3,4,6,7,9,10,4,5,6,7,8,10,5,6,7,8,9,10,7,7,8,9,9,10,8,8,9,9,10,11,9,9,10,10,11,11],R.t10l=[1,4,7,9,10,10,10,11,4,6,8,9,10,11,10,10,7,8,9,10,11,12,11,11,8,9,10,11,12,12,11,12,9,10,11,12,12,12,12,12,10,11,12,12,13,13,12,13,9,10,11,12,12,12,13,13,10,10,11,12,12,13,13,13],R.t11l=[2,4,6,8,9,10,9,10,4,5,6,8,10,10,9,10,6,7,8,9,10,11,10,10,8,8,9,11,10,12,10,11,9,10,10,11,11,12,11,12,9,10,11,12,12,13,12,13,9,9,9,10,11,12,12,12,9,9,10,11,12,12,12,12],R.t12l=[4,4,6,8,9,10,10,10,4,5,6,7,9,9,10,10,6,6,7,8,9,10,9,10,7,7,8,8,9,10,10,10,8,8,9,9,10,10,10,11,9,9,10,10,10,11,10,11,9,9,9,10,10,11,11,12,10,10,10,11,11,11,11,12],R.t13l=[1,5,7,8,9,10,10,11,10,11,12,12,13,13,14,14,4,6,8,9,10,10,11,11,11,11,12,12,13,14,14,14,7,8,9,10,11,11,12,12,11,12,12,13,13,14,15,15,8,9,10,11,11,12,12,12,12,13,13,13,13,14,15,15,9,9,11,11,12,12,13,13,12,13,13,14,14,15,15,16,10,10,11,12,12,12,13,13,13,13,14,13,15,15,16,16,10,11,12,12,13,13,13,13,13,14,14,14,15,15,16,16,11,11,12,13,13,13,14,14,14,14,15,15,15,16,18,18,10,10,11,12,12,13,13,14,14,14,14,15,15,16,17,17,11,11,12,12,13,13,13,15,14,15,15,16,16,16,18,17,11,12,12,13,13,14,14,15,14,15,16,15,16,17,18,19,12,12,12,13,14,14,14,14,15,15,15,16,17,17,17,18,12,13,13,14,14,15,14,15,16,16,17,17,17,18,18,18,13,13,14,15,15,15,16,16,16,16,16,17,18,17,18,18,14,14,14,15,15,15,17,16,16,19,17,17,17,19,18,18,13,14,15,16,16,16,17,16,17,17,18,18,21,20,21,18],R.t15l=[3,5,6,8,8,9,10,10,10,11,11,12,12,12,13,14,5,5,7,8,9,9,10,10,10,11,11,12,12,12,13,13,6,7,7,8,9,9,10,10,10,11,11,12,12,13,13,13,7,8,8,9,9,10,10,11,11,11,12,12,12,13,13,13,8,8,9,9,10,10,11,11,11,11,12,12,12,13,13,13,9,9,9,10,10,10,11,11,11,11,12,12,13,13,13,14,10,9,10,10,10,11,11,11,11,12,12,12,13,13,14,14,10,10,10,11,11,11,11,12,12,12,12,12,13,13,13,14,10,10,10,11,11,11,11,12,12,12,12,13,13,14,14,14,10,10,11,11,11,11,12,12,12,13,13,13,13,14,14,14,11,11,11,11,12,12,12,12,12,13,13,13,13,14,15,14,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,15,12,12,11,12,12,12,13,13,13,13,13,13,14,14,15,15,12,12,12,12,12,13,13,13,13,14,14,14,14,14,15,15,13,13,13,13,13,13,13,13,14,14,14,14,15,15,14,15,13,13,13,13,13,13,13,14,14,14,14,14,15,15,15,15],R.t16_5l=[1,5,7,9,10,10,11,11,12,12,12,13,13,13,14,11,4,6,8,9,10,11,11,11,12,12,12,13,14,13,14,11,7,8,9,10,11,11,12,12,13,12,13,13,13,14,14,12,9,9,10,11,11,12,12,12,13,13,14,14,14,15,15,13,10,10,11,11,12,12,13,13,13,14,14,14,15,15,15,12,10,10,11,11,12,13,13,14,13,14,14,15,15,15,16,13,11,11,11,12,13,13,13,13,14,14,14,14,15,15,16,13,11,11,12,12,13,13,13,14,14,15,15,15,15,17,17,13,11,12,12,13,13,13,14,14,15,15,15,15,16,16,16,13,12,12,12,13,13,14,14,15,15,15,15,16,15,16,15,14,12,13,12,13,14,14,14,14,15,16,16,16,17,17,16,13,13,13,13,13,14,14,15,16,16,16,16,16,16,15,16,14,13,14,14,14,14,15,15,15,15,17,16,16,16,16,18,14,15,14,14,14,15,15,16,16,16,18,17,17,17,19,17,14,14,15,13,14,16,16,15,16,16,17,18,17,19,17,16,14,11,11,11,12,12,13,13,13,14,14,14,14,14,14,14,12],R.t16l=[1,5,7,9,10,10,11,11,12,12,12,13,13,13,14,10,4,6,8,9,10,11,11,11,12,12,12,13,14,13,14,10,7,8,9,10,11,11,12,12,13,12,13,13,13,14,14,11,9,9,10,11,11,12,12,12,13,13,14,14,14,15,15,12,10,10,11,11,12,12,13,13,13,14,14,14,15,15,15,11,10,10,11,11,12,13,13,14,13,14,14,15,15,15,16,12,11,11,11,12,13,13,13,13,14,14,14,14,15,15,16,12,11,11,12,12,13,13,13,14,14,15,15,15,15,17,17,12,11,12,12,13,13,13,14,14,15,15,15,15,16,16,16,12,12,12,12,13,13,14,14,15,15,15,15,16,15,16,15,13,12,13,12,13,14,14,14,14,15,16,16,16,17,17,16,12,13,13,13,13,14,14,15,16,16,16,16,16,16,15,16,13,13,14,14,14,14,15,15,15,15,17,16,16,16,16,18,13,15,14,14,14,15,15,16,16,16,18,17,17,17,19,17,13,14,15,13,14,16,16,15,16,16,17,18,17,19,17,16,13,10,10,10,11,11,12,12,12,13,13,13,13,13,13,13,10],R.t24l=[4,5,7,8,9,10,10,11,11,12,12,12,12,12,13,10,5,6,7,8,9,10,10,11,11,11,12,12,12,12,12,10,7,7,8,9,9,10,10,11,11,11,11,12,12,12,13,9,8,8,9,9,10,10,10,11,11,11,11,12,12,12,12,9,9,9,9,10,10,10,10,11,11,11,12,12,12,12,13,9,10,9,10,10,10,10,11,11,11,11,12,12,12,12,12,9,10,10,10,10,10,11,11,11,11,12,12,12,12,12,13,9,11,10,10,10,11,11,11,11,12,12,12,12,12,13,13,10,11,11,11,11,11,11,11,11,11,12,12,12,12,13,13,10,11,11,11,11,11,11,11,12,12,12,12,12,13,13,13,10,12,11,11,11,11,12,12,12,12,12,12,13,13,13,13,10,12,12,11,11,11,12,12,12,12,12,12,13,13,13,13,10,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,10,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,10,13,12,12,12,12,12,12,13,13,13,13,13,13,13,13,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,6],R.t32l=[1,5,5,7,5,8,7,9,5,7,7,9,7,9,9,10],R.t33l=[4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8],R.ht=[new M(0,0,null,null),new M(2,0,R.t1HB,R.t1l),new M(3,0,R.t2HB,R.t2l),new M(3,0,R.t3HB,R.t3l),new M(0,0,null,null),new M(4,0,R.t5HB,R.t5l),new M(4,0,R.t6HB,R.t6l),new M(6,0,R.t7HB,R.t7l),new M(6,0,R.t8HB,R.t8l),new M(6,0,R.t9HB,R.t9l),new M(8,0,R.t10HB,R.t10l),new M(8,0,R.t11HB,R.t11l),new M(8,0,R.t12HB,R.t12l),new M(16,0,R.t13HB,R.t13l),new M(0,0,null,R.t16_5l),new M(16,0,R.t15HB,R.t15l),new M(1,1,R.t16HB,R.t16l),new M(2,3,R.t16HB,R.t16l),new M(3,7,R.t16HB,R.t16l),new M(4,15,R.t16HB,R.t16l),new M(6,63,R.t16HB,R.t16l),new M(8,255,R.t16HB,R.t16l),new M(10,1023,R.t16HB,R.t16l),new M(13,8191,R.t16HB,R.t16l),new M(4,15,R.t24HB,R.t24l),new M(5,31,R.t24HB,R.t24l),new M(6,63,R.t24HB,R.t24l),new M(7,127,R.t24HB,R.t24l),new M(8,255,R.t24HB,R.t24l),new M(9,511,R.t24HB,R.t24l),new M(11,2047,R.t24HB,R.t24l),new M(13,8191,R.t24HB,R.t24l),new M(0,0,R.t32HB,R.t32l),new M(0,0,R.t33HB,R.t33l)],R.largetbl=[65540,327685,458759,589832,655369,655370,720906,720907,786443,786444,786444,851980,851980,851980,917517,655370,262149,393222,524295,589832,655369,720906,720906,720907,786443,786443,786444,851980,917516,851980,917516,655370,458759,524295,589832,655369,720905,720906,786442,786443,851979,786443,851979,851980,851980,917516,917517,720905,589832,589832,655369,720905,720906,786442,786442,786443,851979,851979,917515,917516,917516,983052,983052,786441,655369,655369,720905,720906,786442,786442,851978,851979,851979,917515,917516,917516,983052,983052,983053,720905,655370,655369,720906,720906,786442,851978,851979,917515,851979,917515,917516,983052,983052,983052,1048588,786441,720906,720906,720906,786442,851978,851979,851979,851979,917515,917516,917516,917516,983052,983052,1048589,786441,720907,720906,786442,786442,851979,851979,851979,917515,917516,983052,983052,983052,983052,1114125,1114125,786442,720907,786443,786443,851979,851979,851979,917515,917515,983051,983052,983052,983052,1048588,1048589,1048589,786442,786443,786443,786443,851979,851979,917515,917515,983052,983052,983052,983052,1048588,983053,1048589,983053,851978,786444,851979,786443,851979,917515,917516,917516,917516,983052,1048588,1048588,1048589,1114125,1114125,1048589,786442,851980,851980,851979,851979,917515,917516,983052,1048588,1048588,1048588,1048588,1048589,1048589,983053,1048589,851978,851980,917516,917516,917516,917516,983052,983052,983052,983052,1114124,1048589,1048589,1048589,1048589,1179661,851978,983052,917516,917516,917516,983052,983052,1048588,1048588,1048589,1179661,1114125,1114125,1114125,1245197,1114125,851978,917517,983052,851980,917516,1048588,1048588,983052,1048589,1048589,1114125,1179661,1114125,1245197,1114125,1048589,851978,655369,655369,655369,720905,720905,786441,786441,786441,851977,851977,851977,851978,851978,851978,851978,655366],R.table23=[65538,262147,458759,262148,327684,458759,393222,458759,524296],R.table56=[65539,262148,458758,524296,262148,327684,524294,589831,458757,524294,589831,655368,524295,524295,589832,655369],R.bitrate_table=[[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160,-1],[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],[0,8,16,24,32,40,48,56,64,-1,-1,-1,-1,-1,-1,-1]],R.samplerate_table=[[22050,24e3,16e3,-1],[44100,48e3,32e3,-1],[11025,12e3,8e3,-1]],R.scfsi_band=[0,6,11,16,21],N.Q_MAX=257,N.Q_MAX2=116,N.LARGE_BITS=1e5,N.IXMAX_VAL=8206;var H={};function j(){var e,t;this.rv=null,this.qupvt=null;var r,a=new B;function i(e){this.ordinal=e}function s(e){for(var t=0;t0?(o=r.over_SSD<=t.over_SSD,r.over_SSD==t.over_SSD&&(o=r.bits.2||r.max_noise<=0&&t.max_noise<0&&t.max_noise>r.max_noise-.2&&r.tot_noise0&&t.max_noise>r.max_noise-.2&&r.tot_noise0&&t.max_noise>-.05&&t.max_noise>r.max_noise-.1&&r.tot_noise+r.over_noise0&&t.max_noise>-.1&&t.max_noise>r.max_noise-.15&&r.tot_noise+r.over_noise+r.over_noise1?l=Math.pow(l,.5):l*=.95;break;case 0:default:l>1?l=1:l*=.95}var f=0;for(c=0;ct.xrpow_max&&(t.xrpow_max=a[f+p]);if(2==s.noise_shaping_amp)return}}}(e,a,i,o);var u=s(a);return!(u||(u=2==c.mode_gr?r.scale_bitcount(a):r.scale_bitcount_lsf(c,a))&&(c.noise_shaping>1&&(p.fill(c.pseudohalf,0),0==a.scalefac_scale?(function(e,n){for(var r=0,a=0;ae.xrpow_max&&(e.xrpow_max=n[r+s])}e.scalefac[a]=o>>1}e.preflag=0,e.scalefac_scale=1}(a,o),u=!1):a.block_type==U.SHORT_TYPE&&c.subblock_gain>0&&(u=function(e,n,r){var a,i=n.scalefac;for(a=0;a=16)return!0;for(var o=0;o<3;o++){var s=0,l=0;for(a=n.sfb_lmax+o;a=7)return!0;n.subblock_gain[o]++;var c=e.scalefac_band.l[n.sfb_lmax];for(a=n.sfb_lmax+o;a>n.scalefac_scale)>=0)i[a]=f,c+=3*u;else{i[a]=0;var p=210+(f<n.xrpow_max&&(n.xrpow_max=r[c+_]);c+=u*(3-o-1)}}var d=t.IPOW20(202);for(c+=n.width[a]*(o+1),_=-n.width[a];_<0;_++)r[c+_]*=d,r[c+_]>n.xrpow_max&&(n.xrpow_max=r[c+_])}}return!1}(c,a,o)||s(a))),u||(u=2==c.mode_gr?r.scale_bitcount(a):r.scale_bitcount_lsf(c,a)),u))}this.setModules=function(n,i,o,s){e=i,this.rv=i,t=o,this.qupvt=o,r=s,a.setModules(t,r)},this.init_xrpow=function(e,t,n){var r=0,a=0|t.max_nonzero_coeff;if(t.xrpow_max=0,p.fill(n,a,576,0),(r=function(e,t,n,r){r=0;for(var a=0;a<=n;++a){var i=Math.abs(e.xr[a]);r+=i,t[a]=Math.sqrt(i*Math.sqrt(i)),t[a]>e.xrpow_max&&(e.xrpow_max=t[a])}return r}(t,n,a,r))>1e-20){var i=0;0!=(2&e.substep_shaping)&&(i=1);for(var o=0;o=0&&!i;o--){var s=e.scalefac_band.psfb21[o],l=e.scalefac_band.psfb21[o+1],c=t.athAdjust(r.adjust,r.psfb21[o],r.floor);e.nsPsy.longfact[21]>1e-12&&(c*=e.nsPsy.longfact[21]);for(var u=l-1;u>=s;u--){if(!(Math.abs(a[u])=0&&!i;o--){l=(s=3*e.scalefac_band.s[12]+(e.scalefac_band.s[13]-e.scalefac_band.s[12])*f+(e.scalefac_band.psfb12[o]-e.scalefac_band.psfb12[0]))+(e.scalefac_band.psfb12[o+1]-e.scalefac_band.psfb12[o]);var p=t.athAdjust(r.adjust,r.psfb12[o],r.floor);for(e.nsPsy.shortfact[12]>1e-12&&(p*=e.nsPsy.shortfact[12]),u=l-1;u>=s;u--){if(!(Math.abs(a[u])a?(p==i.BINSEARCH_DOWN&&(u=!0),u&&(c/=2),p=i.BINSEARCH_UP,_=c):(p==i.BINSEARCH_UP&&(u=!0),u&&(c/=2),p=i.BINSEARCH_DOWN,_=-c),t.global_gain+=_,t.global_gain<0&&n(),t.global_gain>255&&n()}for(;l>a&&t.global_gain<255;)t.global_gain++,l=r.count_bits(e,s,t,null);e.CurrentStep[o]=f-t.global_gain>=4?4:2,e.OldValue[o]=t.global_gain,t.part2_3_length=l}(d,a,p,f,u),0==d.noise_shaping)return 100;t.calc_noise(a,s,b,g,y),g.bits=a.part2_3_length,h.assign(a);var x=0;for(_.arraycopy(u,0,v,0,576);!S;){do{var k,A=new C,M=255;if(k=0!=(2&d.substep_shaping)?20:3,d.sfb21_extra&&n(),!c(e,h,b,u))break;0!=h.scalefac_scale&&(M=254);var R=p-h.part2_length;if(R<=0)break;for(;(h.part2_3_length=r.count_bits(d,u,h,y))>R&&h.global_gain<=M;)h.global_gain++;if(h.global_gain>M)break;if(0==g.over_count){for(;(h.part2_3_length=r.count_bits(d,u,h,y))>w&&h.global_gain<=M;)h.global_gain++;if(h.global_gain>M)break}if(t.calc_noise(h,s,b,A,y),A.bits=h.part2_3_length,0!=(l(a.block_type!=U.SHORT_TYPE?e.quant_comp:e.quant_comp_short,g,A)?1:0))w=a.part2_3_length,g=A,a.assign(h),x=0,_.arraycopy(u,0,v,0,576);else if(0==d.full_outer_loop){if(++x>k&&0==g.over_count)break;d.noise_shaping_amp,d.noise_shaping_amp}}while(h.global_gain+h.scalefac_scale<255);3==d.noise_shaping_amp?n():S=!0}return e.VBR==m.vbr_rh||e.VBR==m.vbr_mtrh?_.arraycopy(v,0,u,0,576):0!=(1&d.substep_shaping)&&n(),g.over_count},this.iteration_finish_one=function(t,n,a){var i=t.l3_side,o=i.tt[n][a];r.best_scalefac_store(t,n,a,i),1==t.use_best_huffman&&r.best_huffman_divide(t,o),e.ResvAdjust(t,o)}}function F(){var e=[-.1482523854003001,32.308141959636465,296.40344946382766,883.1344870032432,11113.947376231741,1057.2713659324597,305.7402417275812,30.825928907280012,3.8533188138216365,59.42900443849514,709.5899960123345,5281.91112291017,-5829.66483675846,-817.6293103748613,-76.91656988279972,-4.594269939176596,.9063471690191471,.1960342806591213,-.15466694054279598,34.324387823855965,301.8067566458425,817.599602898885,11573.795901679885,1181.2520595540152,321.59731579894424,31.232021761053772,3.7107095756221318,53.650946155329365,684.167428119626,5224.56624370173,-6366.391851890084,-908.9766368219582,-89.83068876699639,-5.411397422890401,.8206787908286602,.3901806440322567,-.16070888947830023,36.147034243915876,304.11815768187864,732.7429163887613,11989.60988270091,1300.012278487897,335.28490093152146,31.48816102859945,3.373875931311736,47.232241542899175,652.7371796173471,5132.414255594984,-6909.087078780055,-1001.9990371107289,-103.62185754286375,-6.104916304710272,.7416505462720353,.5805693545089249,-.16636367662261495,37.751650073343995,303.01103387567713,627.9747488785183,12358.763425278165,1412.2779918482834,346.7496836825721,31.598286663170416,3.1598635433980946,40.57878626349686,616.1671130880391,5007.833007176154,-7454.040671756168,-1095.7960341867115,-118.24411666465777,-6.818469345853504,.6681786379192989,.7653668647301797,-.1716176790982088,39.11551877123304,298.3413246578966,503.5259106886539,12679.589408408976,1516.5821921214542,355.9850766329023,31.395241710249053,2.9164211881972335,33.79716964664243,574.8943997801362,4853.234992253242,-7997.57021486075,-1189.7624067269965,-133.6444792601766,-7.7202770609839915,.5993769336819237,.9427934736519954,-.17645823955292173,40.21879108166477,289.9982036694474,359.3226160751053,12950.259102786438,1612.1013903507662,362.85067106591504,31.045922092242872,2.822222032597987,26.988862316190684,529.8996541764288,4671.371946949588,-8535.899136645805,-1282.5898586244496,-149.58553632943463,-8.643494270763135,.5345111359507916,1.111140466039205,-.36174739330527045,41.04429910497807,277.5463268268618,195.6386023135583,13169.43812144731,1697.6433561479398,367.40983966190305,30.557037410382826,2.531473372857427,20.070154905927314,481.50208566532336,4464.970341588308,-9065.36882077239,-1373.62841526722,-166.1660487028118,-9.58289321133207,.4729647758913199,1.268786568327291,-.36970682634889585,41.393213350082036,261.2935935556502,12.935476055240873,13336.131683328815,1772.508612059496,369.76534388639965,29.751323653701338,2.4023193045459172,13.304795348228817,430.5615775526625,4237.0568611071185,-9581.931701634761,-1461.6913552409758,-183.12733958476446,-10.718010163869403,.41421356237309503,1.414213562373095,-.37677560326535325,41.619486213528496,241.05423794991074,-187.94665032361226,13450.063605744153,1836.153896465782,369.4908799925761,29.001847876923147,2.0714759319987186,6.779591200894186,377.7767837205709,3990.386575512536,-10081.709459700915,-1545.947424837898,-200.3762958015653,-11.864482073055006,.3578057213145241,1.546020906725474,-.3829366947518991,41.1516456456653,216.47684307105183,-406.1569483347166,13511.136535077321,1887.8076599260432,367.3025214564151,28.136213436723654,1.913880671464418,.3829366947518991,323.85365704338597,3728.1472257487526,-10561.233882199509,-1625.2025997821418,-217.62525175416,-13.015432208941645,.3033466836073424,1.66293922460509,-.5822628872992417,40.35639251440489,188.20071124269245,-640.2706748618148,13519.21490106562,1927.6022433578062,362.8197642637487,26.968821921868447,1.7463817695935329,-5.62650678237171,269.3016715297017,3453.386536448852,-11016.145278780888,-1698.6569643425091,-234.7658734267683,-14.16351421663124,.2504869601913055,1.76384252869671,-.5887180101749253,39.23429103868072,155.76096234403798,-889.2492977967378,13475.470561874661,1955.0535223723712,356.4450994756727,25.894952980042156,1.5695032905781554,-11.181939564328772,214.80884394039484,3169.1640829158237,-11443.321309975563,-1765.1588461316153,-251.68908574481912,-15.49755935939164,.198912367379658,1.847759065022573,-.7912582233652842,37.39369355329111,119.699486012458,-1151.0956593239027,13380.446257078214,1970.3952110853447,348.01959814116185,24.731487364283044,1.3850130831637748,-16.421408865300393,161.05030052864092,2878.3322807850063,-11838.991423510031,-1823.985884688674,-268.2854986386903,-16.81724543849939,.1483359875383474,1.913880671464418,-.7960642926861912,35.2322109610459,80.01928065061526,-1424.0212633405113,13235.794061869668,1973.804052543835,337.9908651258184,23.289159354463873,1.3934255946442087,-21.099669467133474,108.48348407242611,2583.700758091299,-12199.726194855148,-1874.2780658979746,-284.2467154529415,-18.11369784385905,.09849140335716425,1.961570560806461,-.998795456205172,32.56307803611191,36.958364584370486,-1706.075448829146,13043.287458812016,1965.3831106103316,326.43182772364605,22.175018750622293,1.198638339011324,-25.371248002043963,57.53505923036915,2288.41886619975,-12522.674544337233,-1914.8400385312243,-299.26241273417224,-19.37805630698734,.04912684976946725,1.990369453344394,.035780907*d.SQRT2*.5/2384e-9,.017876148*d.SQRT2*.5/2384e-9,.003134727*d.SQRT2*.5/2384e-9,.002457142*d.SQRT2*.5/2384e-9,971317e-9*d.SQRT2*.5/2384e-9,218868e-9*d.SQRT2*.5/2384e-9,101566e-9*d.SQRT2*.5/2384e-9,13828e-9*d.SQRT2*.5/2384e-9,12804.797818791945,1945.5515939597317,313.4244966442953,20.801593959731544,1995.1556208053692,9.000838926174497,-29.20218120805369],t=[[2382191739347913e-28,6423305872147834e-28,9400849094049688e-28,1122435026096556e-27,1183840321267481e-27,1122435026096556e-27,940084909404969e-27,6423305872147839e-28,2382191739347918e-28,5456116108943412e-27,4878985199565852e-27,4240448995017367e-27,3559909094758252e-27,2858043359288075e-27,2156177623817898e-27,1475637723558783e-27,8371015190102974e-28,2599706096327376e-28,-5456116108943412e-27,-4878985199565852e-27,-4240448995017367e-27,-3559909094758252e-27,-2858043359288076e-27,-2156177623817898e-27,-1475637723558783e-27,-8371015190102975e-28,-2599706096327376e-28,-2382191739347923e-28,-6423305872147843e-28,-9400849094049696e-28,-1122435026096556e-27,-1183840321267481e-27,-1122435026096556e-27,-9400849094049694e-28,-642330587214784e-27,-2382191739347918e-28],[2382191739347913e-28,6423305872147834e-28,9400849094049688e-28,1122435026096556e-27,1183840321267481e-27,1122435026096556e-27,9400849094049688e-28,6423305872147841e-28,2382191739347918e-28,5456116108943413e-27,4878985199565852e-27,4240448995017367e-27,3559909094758253e-27,2858043359288075e-27,2156177623817898e-27,1475637723558782e-27,8371015190102975e-28,2599706096327376e-28,-5461314069809755e-27,-4921085770524055e-27,-4343405037091838e-27,-3732668368707687e-27,-3093523840190885e-27,-2430835727329465e-27,-1734679010007751e-27,-974825365660928e-27,-2797435120168326e-28,0,0,0,0,0,0,-2283748241799531e-28,-4037858874020686e-28,-2146547464825323e-28],[.1316524975873958,.414213562373095,.7673269879789602,1.091308501069271,1.303225372841206,1.56968557711749,1.920982126971166,2.414213562373094,3.171594802363212,4.510708503662055,7.595754112725146,22.90376554843115,.984807753012208,.6427876096865394,.3420201433256688,.9396926207859084,-.1736481776669303,-.7660444431189779,.8660254037844387,.5,-.5144957554275265,-.4717319685649723,-.3133774542039019,-.1819131996109812,-.09457419252642064,-.04096558288530405,-.01419856857247115,-.003699974673760037,.8574929257125442,.8817419973177052,.9496286491027329,.9833145924917901,.9955178160675857,.9991605581781475,.999899195244447,.9999931550702802],[0,0,0,0,0,0,2283748241799531e-28,4037858874020686e-28,2146547464825323e-28,5461314069809755e-27,4921085770524055e-27,4343405037091838e-27,3732668368707687e-27,3093523840190885e-27,2430835727329466e-27,1734679010007751e-27,974825365660928e-27,2797435120168326e-28,-5456116108943413e-27,-4878985199565852e-27,-4240448995017367e-27,-3559909094758253e-27,-2858043359288075e-27,-2156177623817898e-27,-1475637723558782e-27,-8371015190102975e-28,-2599706096327376e-28,-2382191739347913e-28,-6423305872147834e-28,-9400849094049688e-28,-1122435026096556e-27,-1183840321267481e-27,-1122435026096556e-27,-9400849094049688e-28,-6423305872147841e-28,-2382191739347918e-28]],r=t[U.SHORT_TYPE],a=t[U.SHORT_TYPE],i=t[U.SHORT_TYPE],s=t[U.SHORT_TYPE],l=[0,1,16,17,8,9,24,25,4,5,20,21,12,13,28,29,2,3,18,19,10,11,26,27,6,7,22,23,14,15,30,31];function c(t,n,r){for(var a,i,o,s=10,l=n+238-14-286,c=-15;c<0;c++){var u,f,p;u=e[s+-10],f=t[l+-224]*u,p=t[n+224]*u,u=e[s+-9],f+=t[l+-160]*u,p+=t[n+160]*u,u=e[s+-8],f+=t[l+-96]*u,p+=t[n+96]*u,u=e[s+-7],f+=t[l+-32]*u,p+=t[n+32]*u,u=e[s+-6],f+=t[l+32]*u,p+=t[n+-32]*u,u=e[s+-5],f+=t[l+96]*u,p+=t[n+-96]*u,u=e[s+-4],f+=t[l+160]*u,p+=t[n+-160]*u,u=e[s+-3],f+=t[l+224]*u,p+=t[n+-224]*u,u=e[s+-2],f+=t[n+-256]*u,p-=t[l+256]*u,u=e[s+-1],f+=t[n+-192]*u,p-=t[l+192]*u,u=e[s+0],f+=t[n+-128]*u,p-=t[l+128]*u,u=e[s+1],f+=t[n+-64]*u,p-=t[l+64]*u,u=e[s+2],f+=t[n+0]*u,p-=t[l+0]*u,u=e[s+3],f+=t[n+64]*u,p-=t[l+-64]*u,u=e[s+4],f+=t[n+128]*u,p-=t[l+-128]*u,u=e[s+5],f+=t[n+192]*u,u=(p-=t[l+-192]*u)-(f*=e[s+6]),r[30+2*c]=p+f,r[31+2*c]=e[s+7]*u,s+=18,n--,l++}p=t[n+-16]*e[s+-10],f=t[n+-32]*e[s+-2],p+=(t[n+-48]-t[n+16])*e[s+-9],f+=t[n+-96]*e[s+-1],p+=(t[n+-80]+t[n+48])*e[s+-8],f+=t[n+-160]*e[s+0],p+=(t[n+-112]-t[n+80])*e[s+-7],f+=t[n+-224]*e[s+1],p+=(t[n+-144]+t[n+112])*e[s+-6],f-=t[n+32]*e[s+2],p+=(t[n+-176]-t[n+144])*e[s+-5],f-=t[n+96]*e[s+3],p+=(t[n+-208]+t[n+176])*e[s+-4],f-=t[n+160]*e[s+4],p+=(t[n+-240]-t[n+208])*e[s+-3],a=(f-=t[n+224])-p,i=f+p,p=r[14],f=r[15]-p,r[31]=i+p,r[30]=a+f,r[15]=a-f,r[14]=i-p,o=r[28]-r[0],r[0]+=r[28],r[28]=o*e[s+-36+7],o=r[29]-r[1],r[1]+=r[29],r[29]=o*e[s+-36+7],o=r[26]-r[2],r[2]+=r[26],r[26]=o*e[s+-72+7],o=r[27]-r[3],r[3]+=r[27],r[27]=o*e[s+-72+7],o=r[24]-r[4],r[4]+=r[24],r[24]=o*e[s+-108+7],o=r[25]-r[5],r[5]+=r[25],r[25]=o*e[s+-108+7],o=r[22]-r[6],r[6]+=r[22],r[22]=o*d.SQRT2,o=r[23]-r[7],r[7]+=r[23],r[23]=o*d.SQRT2-r[7],r[7]-=r[6],r[22]-=r[7],r[23]-=r[22],o=r[6],r[6]=r[31]-o,r[31]=r[31]+o,o=r[7],r[7]=r[30]-o,r[30]=r[30]+o,o=r[22],r[22]=r[15]-o,r[15]=r[15]+o,o=r[23],r[23]=r[14]-o,r[14]=r[14]+o,o=r[20]-r[8],r[8]+=r[20],r[20]=o*e[s+-180+7],o=r[21]-r[9],r[9]+=r[21],r[21]=o*e[s+-180+7],o=r[18]-r[10],r[10]+=r[18],r[18]=o*e[s+-216+7],o=r[19]-r[11],r[11]+=r[19],r[19]=o*e[s+-216+7],o=r[16]-r[12],r[12]+=r[16],r[16]=o*e[s+-252+7],o=r[17]-r[13],r[13]+=r[17],r[17]=o*e[s+-252+7],o=-r[20]+r[24],r[20]+=r[24],r[24]=o*e[s+-216+7],o=-r[21]+r[25],r[21]+=r[25],r[25]=o*e[s+-216+7],o=r[4]-r[8],r[4]+=r[8],r[8]=o*e[s+-216+7],o=r[5]-r[9],r[5]+=r[9],r[9]=o*e[s+-216+7],o=r[0]-r[12],r[0]+=r[12],r[12]=o*e[s+-72+7],o=r[1]-r[13],r[1]+=r[13],r[13]=o*e[s+-72+7],o=r[16]-r[28],r[16]+=r[28],r[28]=o*e[s+-72+7],o=-r[17]+r[29],r[17]+=r[29],r[29]=o*e[s+-72+7],o=d.SQRT2*(r[2]-r[10]),r[2]+=r[10],r[10]=o,o=d.SQRT2*(r[3]-r[11]),r[3]+=r[11],r[11]=o,o=d.SQRT2*(-r[18]+r[26]),r[18]+=r[26],r[26]=o-r[18],o=d.SQRT2*(-r[19]+r[27]),r[19]+=r[27],r[27]=o-r[19],o=r[2],r[19]-=r[3],r[3]-=o,r[2]=r[31]-o,r[31]+=o,o=r[3],r[11]-=r[19],r[18]-=o,r[3]=r[30]-o,r[30]+=o,o=r[18],r[27]-=r[11],r[19]-=o,r[18]=r[15]-o,r[15]+=o,o=r[19],r[10]-=o,r[19]=r[14]-o,r[14]+=o,o=r[10],r[11]-=o,r[10]=r[23]-o,r[23]+=o,o=r[11],r[26]-=o,r[11]=r[22]-o,r[22]+=o,o=r[26],r[27]-=o,r[26]=r[7]-o,r[7]+=o,o=r[27],r[27]=r[6]-o,r[6]+=o,o=d.SQRT2*(r[0]-r[4]),r[0]+=r[4],r[4]=o,o=d.SQRT2*(r[1]-r[5]),r[1]+=r[5],r[5]=o,o=d.SQRT2*(r[16]-r[20]),r[16]+=r[20],r[20]=o,o=d.SQRT2*(r[17]-r[21]),r[17]+=r[21],r[21]=o,o=-d.SQRT2*(r[8]-r[12]),r[8]+=r[12],r[12]=o-r[8],o=-d.SQRT2*(r[9]-r[13]),r[9]+=r[13],r[13]=o-r[9],o=-d.SQRT2*(r[25]-r[29]),r[25]+=r[29],r[29]=o-r[25],o=-d.SQRT2*(r[24]+r[28]),r[24]-=r[28],r[28]=o-r[24],o=r[24]-r[16],r[24]=o,o=r[20]-o,r[20]=o,o=r[28]-o,r[28]=o,o=r[25]-r[17],r[25]=o,o=r[21]-o,r[21]=o,o=r[29]-o,r[29]=o,o=r[17]-r[1],r[17]=o,o=r[9]-o,r[9]=o,o=r[25]-o,r[25]=o,o=r[5]-o,r[5]=o,o=r[21]-o,r[21]=o,o=r[13]-o,r[13]=o,o=r[29]-o,r[29]=o,o=r[1]-r[0],r[1]=o,o=r[16]-o,r[16]=o,o=r[17]-o,r[17]=o,o=r[8]-o,r[8]=o,o=r[9]-o,r[9]=o,o=r[24]-o,r[24]=o,o=r[25]-o,r[25]=o,o=r[4]-o,r[4]=o,o=r[5]-o,r[5]=o,o=r[20]-o,r[20]=o,o=r[21]-o,r[21]=o,o=r[12]-o,r[12]=o,o=r[13]-o,r[13]=o,o=r[28]-o,r[28]=o,o=r[29]-o,r[29]=o,o=r[0],r[0]+=r[31],r[31]-=o,o=r[1],r[1]+=r[30],r[30]-=o,o=r[16],r[16]+=r[15],r[15]-=o,o=r[17],r[17]+=r[14],r[14]-=o,o=r[8],r[8]+=r[23],r[23]-=o,o=r[9],r[9]+=r[22],r[22]-=o,o=r[24],r[24]+=r[7],r[7]-=o,o=r[25],r[25]+=r[6],r[6]-=o,o=r[4],r[4]+=r[27],r[27]-=o,o=r[5],r[5]+=r[26],r[26]-=o,o=r[20],r[20]+=r[11],r[11]-=o,o=r[21],r[21]+=r[10],r[10]-=o,o=r[12],r[12]+=r[19],r[19]-=o,o=r[13],r[13]+=r[18],r[18]-=o,o=r[28],r[28]+=r[3],r[3]-=o,o=r[29],r[29]+=r[2],r[2]-=o}function u(e,n){for(var r=0;r<3;r++){var a,i,o,s,l,c;i=(s=e[n+6]*t[U.SHORT_TYPE][0]-e[n+15])+(a=e[n+0]*t[U.SHORT_TYPE][2]-e[n+9]),o=s-a,l=(s=e[n+15]*t[U.SHORT_TYPE][0]+e[n+6])+(a=e[n+9]*t[U.SHORT_TYPE][2]+e[n+0]),c=-s+a,a=2069978111953089e-26*(e[n+3]*t[U.SHORT_TYPE][1]-e[n+12]),s=2069978111953089e-26*(e[n+12]*t[U.SHORT_TYPE][1]+e[n+3]),e[n+0]=190752519173728e-25*i+a,e[n+15]=190752519173728e-25*-l+s,o=.8660254037844387*o*1907525191737281e-26,l=.5*l*1907525191737281e-26+s,e[n+3]=o-l,e[n+6]=o+l,i=.5*i*1907525191737281e-26-a,c=.8660254037844387*c*1907525191737281e-26,e[n+9]=i+c,e[n+12]=i-c,n++}}this.mdct_sub48=function(e,f,d){for(var h,v,m,b,g,y,w,S,x,k,A,M,R,T,C,B,E,O,P,L,I,N=f,$=286,D=0;D=0;--Y){var te,ne;te=V[z+Y]*i[20+Y]+V[z+-1-Y]*s[28+Y],ne=V[z+Y]*s[28+Y]-V[z+-1-Y]*i[20+Y],V[z+-1-Y]=te,V[z+Y]=ne}}}if(N=d,$=286,1==e.mode_gr)for(var re=0;re<18;re++)_.arraycopy(e.sb_sample[D][1][re],0,e.sb_sample[D][0][re],0,32)}}}function V(){this.thm=new X,this.en=new X}function U(){U.FFTOFFSET;var e=U.MPG_MD_MS_LR,t=null;this.psy=null;var r=null,a=null;this.setModules=function(e,n,i,o){t=e,this.psy=n,r=n,a=o};var s=new F;this.lame_encode_mp3_frame=function(c,u,p,_,d,h){var v,g=f([2,2]);g[0][0]=new V,g[0][1]=new V,g[1][0]=new V,g[1][1]=new V;var y,w=f([2,2]);w[0][0]=new V,w[0][1]=new V,w[1][0]=new V,w[1][1]=new V;var S,x,k,A=[null,null],M=c.internal_flags,R=l([2,4]),T=[[0,0],[0,0]],C=[[0,0],[0,0]];if(A[0]=u,A[1]=p,0==M.lame_encode_frame_init&&function(e,t){var n,r,a=e.internal_flags;if(0==a.lame_encode_frame_init){var i,l,c=o(2014),u=o(2014);for(a.lame_encode_frame_init=1,i=0,l=0;i<286+576*(1+a.mode_gr);++i)i<576*a.mode_gr?(c[i]=0,2==a.channels_out&&(u[i]=0)):(c[i]=t[0][l],2==a.channels_out&&(u[i]=t[1][l]),++l);for(r=0;r.03125)e.ATH.adjust>=1?e.ATH.adjust=1:e.ATH.adjust=a?(e.ATH.adjust*=.075*a+.925,e.ATH.adjust=a?e.ATH.adjust=a:e.ATH.adjust>1,h=(_=a<<1)+(p=a),a=_<<1,o=(i=t)+v;do{x=e[i+0]-e[i+p],S=e[i+0]+e[i+p],R=e[i+_]-e[i+h],A=e[i+_]+e[i+h],e[i+_]=S-A,e[i+0]=S+A,e[i+h]=x-R,e[i+p]=x+R,x=e[o+0]-e[o+p],S=e[o+0]+e[o+p],R=d.SQRT2*e[o+h],A=d.SQRT2*e[o+_],e[o+_]=S-A,e[o+0]=S+A,e[o+h]=x-R,e[o+p]=x+R,o+=a,i+=a}while(i=0);r(n[l],c,U.BLKSIZE_s/2)}},this.fft_long=function(t,n,i,o,s){var l=U.BLKSIZE/8-1,c=U.BLKSIZE/2;do{var u,f,p,_,d,h=255&a[l];f=(u=e[h]*o[i][s+h])-(d=e[h+512]*o[i][s+h+512]),u+=d,_=(p=e[h+256]*o[i][s+h+256])-(d=e[h+768]*o[i][s+h+768]),p+=d,n[0+(c-=4)]=u+p,n[c+2]=u-p,n[c+1]=f+_,n[c+3]=f-_,f=(u=e[h+1]*o[i][s+h+1])-(d=e[h+513]*o[i][s+h+513]),u+=d,_=(p=e[h+257]*o[i][s+h+257])-(d=e[h+769]*o[i][s+h+769]),p+=d,n[c+U.BLKSIZE/2+0]=u+p,n[c+U.BLKSIZE/2+2]=u-p,n[c+U.BLKSIZE/2+1]=f+_,n[c+U.BLKSIZE/2+3]=f-_}while(--l>=0);r(n,c,U.BLKSIZE/2)},this.init_fft=function(n){for(var r=0;r=0;--h){var v=o[s+0][U.BLKSIZE/2-h],m=o[s+0][U.BLKSIZE/2+h];a[U.BLKSIZE/2-h]=.5*(v*v+m*m)}for(var b=2;b>=0;--b)for(i[b][0]=l[c+0][b][0],i[b][0]*=i[b][0],h=U.BLKSIZE_s/2-1;h>=0;--h)v=l[c+0][b][U.BLKSIZE_s/2-h],m=l[c+0][b][U.BLKSIZE_s/2+h],i[b][U.BLKSIZE_s/2-h]=.5*(v*v+m*m);var g=0;for(h=11;he){if(!(t=t*c)return e+t;o=e/t}if(e+=t,r+3<=6){if(o>=s)return e;var p=0|d.FAST_LOG10_X(o,16);return e*g[p]}return p=0|d.FAST_LOG10_X(o,16),t=0!=i?a.ATH.cb_s[n]*a.ATH.adjust:a.ATH.cb_l[n]*a.ATH.adjust,et?(l=1,p<=13&&(l=y[p]),f=d.FAST_LOG10_X(e/t,10/15),e*((_[p]-l)*f+l)):p>13?e:e*y[p]:e*_[p]}function S(e,t,n,r,a){var i,o,s=0,l=0;for(i=o=0;i=u){++i;break}var p=e.PSY.bo_s_weight[i],_=1-p;s=p*t[o],l=p*n[o],e.en[r].s[i][a]+=s,e.thm[r].s[i][a]+=l,s=_*t[o],l=_*n[o]}for(;i=c){++a;break}var f=e.PSY.bo_l_weight[a],p=1-f;o=f*t[i],s=f*n[i],e.en[r].l[a]+=o,e.thm[r].l[a]+=s,o=p*t[i],s=p*n[i]}for(;a=1?e:n<=0?t:t>0?Math.pow(e/t,n)*t:0}var M=[11.8,13.6,17.2,32,46.5,51.3,57.5,67.1,71.5,84.6,97.6,130];function R(e,n){for(var r=309.07,a=0;a0){var s=o*n,l=e.en.s[a][i];l>s&&(r+=l>1e10*s?M[a]*(10*t):M[a]*d.FAST_LOG10(l/s))}}return r}var T=[6.8,5.8,5.8,6.4,6.5,9.9,12.1,14.4,15,18.9,21.6,26.9,34.2,40.2,46.8,56.5,60.7,73.9,85.7,93.4,126.1];function C(e,n){for(var r=281.0575,a=0;a0){var o=i*n,s=e.en.l[a];s>o&&(r+=s>1e10*o?T[a]*(10*t):T[a]*d.FAST_LOG10(s/o))}}return r}function B(e,t,n,r,a){var i,o;for(i=o=0;i0?((s=t[i])a&&(l=a),r[i]=l):r[i]=0,i=1;i0?((s=t[i-1])a&&(l=a),r[i]=l):r[i]=0}(o=n[i-1]+n[i])>0?((s=t[i-1])a&&(l=a),r[i]=l):r[i]=0}var O=[-1730326e-23,-.01703172,-1349528e-23,.0418072,-673278e-22,-.0876324,-30835e-21,.1863476,-1104424e-22,-.627638];function P(e){return e<0&&(e=0),e*=.001,13*Math.atan(.76*e)+3.5*Math.atan(e*e/56.25)}function L(e,t,n,r,a,s,l,c,u,f,p,_){var d,h=o(U.CBANDS+1),v=c/(_>15?1152:384),m=i(U.HBLKSIZE);c/=u;var b=0,g=0;for(d=0;du/2){b=u/2,++d;break}}h[d]=c*b;for(var w=0;w<_;w++){var S,x,k,A,M;k=f[w],A=f[w+1],(S=0|Math.floor(.5+p*(k-.5)))<0&&(S=0),(x=0|Math.floor(.5+p*(A-.5)))>u/2&&(x=u/2),n[w]=(m[S]+m[x])/2,t[w]=m[x];var R=v*A;l[w]=(R-h[t[w]])/(h[t[w]+1]-h[t[w]]),l[w]<0?l[w]=0:l[w]>1&&(l[w]=1),M=P(c*f[w]*p),M=Math.min(M,15.5)/15.5,s[w]=Math.pow(10,1.25*(1-Math.cos(Math.PI*M))-2.5)}b=0;for(var T=0;T=0?3:1.5)>=.5&&f<=2.5?8*((d=f-.5)*d-2*d):0,((_=15.811389+7.5*(f+=.474)-17.5*Math.sqrt(1+f*f))<=-60?0:(f=Math.exp(.2302585093*(p+_)),f/=.6609193))*a[c]);h[m][c]=b*i[m]}else n();for(m=0;m0);c++);for(e[m][0]=c,c=t-1;c>0&&!(h[m][c]>0);c--);e[m][1]=c,v+=e[m][1]-e[m][0]+1}var g=o(v),y=0;for(m=0;m2&&n()}for(M=0;Mne[P+3-2]?de/=ne[P+3-2]:de=ne[P+3-2]>10*de?ne[P+3-2]/(10*de):0,ae[P+3]=de}for(e.analysis&&n(),te=3==M?H.nsPsy.attackthre_s:H.nsPsy.attackthre,P=0;P<12;P++)0==le[P/3]&&ae[P]>te&&(le[P/3]=P%3+1);for(P=1;P<4;P++)(re[P-1]>re[P]?re[P-1]/re[P]:re[P]/re[P-1])<1.7&&(le[P]=0,1==P&&(le[0]=0));for(0!=le[0]&&0!=H.nsPsy.lastAttacks[M]&&(le[0]=0),3!=H.nsPsy.lastAttacks[M]&&le[0]+le[1]+le[2]+le[3]==0||(ie=0,0!=le[1]&&0!=le[0]&&(le[1]=0),0!=le[2]&&0!=le[1]&&(le[2]=0),0!=le[3]&&0!=le[2]&&(le[3]=0)),M<2?Y[M]=ie:n(),v[M]=H.tot_ener[M],a(e,ce,ue,j,1&M,F,1&M,s,M,t,r),B(H,ce,V,oe,se),E(H,oe,se,K),$=0;$<3;$++){var he,ve;for(k(e,ue,z,q,M,$),S(H,z,q,M,$),N=0;N=2||1==le[$+1]){var me=0!=$?$-1:2;de=A(H.thm[M].s[N][me],ve,.6*D),ve=Math.min(ve,de)}1==le[$]?(me=0!=$?$-1:2,de=A(H.thm[M].s[N][me],ve,.3*D),ve=Math.min(ve,de)):(0!=$&&3==le[$-1]||0==$&&3==H.nsPsy.lastAttacks[M])&&(me=2!=$?$+1:0,de=A(H.thm[M].s[N][me],ve,.3*D),ve=Math.min(ve,de)),he=ne[3*$+3]+ne[3*$+4]+ne[3*$+5],6*ne[3*$+5]1?n():(we=_,ke=0,Se=g[M],xe=c[s][M]),Se==U.SHORT_TYPE?we[ke+M]=R(xe,H.masking_lower):we[ke+M]=C(xe,H.masking_lower),e.analysis&&(H.pinfo.pe[s][M]=we[ke+M])}return 0},this.psymodel_init=function(n){var r,a,i=n.internal_flags,l=!0,f=13,p=0,_=0,d=-8.25,h=-4.5,b=o(U.CBANDS),g=o(U.CBANDS),y=o(U.CBANDS),w=n.out_samplerate;switch(n.experimentalZ){default:case 0:l=!0;break;case 1:l=n.VBR!=m.vbr_mtrh&&n.VBR!=m.vbr_mt;break;case 2:l=!1;break;case 3:f=8,p=-1.75,_=-.0125,d=-8.25,h=-2.25}for(i.ms_ener_ratio_old=.25,i.blocktype_old[0]=i.blocktype_old[1]=U.NORM_TYPE,r=0;r<4;++r){for(var S=0;S=f&&(k=_*(b[r]-f)/(24-f)+p*(24-b[r])/(24-f)),y[r]=Math.pow(10,k/10),i.numlines_l[r]>0?i.rnumlines_l[r]=1/i.numlines_l[r]:i.rnumlines_l[r]=0}for(i.s3_ll=I(i.s3ind,i.npart_l,b,g,y,l),S=0,r=0;r(T*=i.numlines_l[r])&&(R=T)}i.ATH.cb_l[r]=R,(R=20*b[r]/10-20)>6&&(R=100),R<-15&&(R=-15),R-=8,i.minval_l[r]=Math.pow(10,R/10)*i.numlines_l[r]}for(i.npart_s=L(i.numlines_s,i.bo_s,i.bm_s,b,g,i.mld_s,i.PSY.bo_s_weight,w,U.BLKSIZE_s,i.scalefac_band.s,U.BLKSIZE_s/384,U.SBMAX_s),S=0,r=0;r=f&&(k=h*(b[r]-f)/(24-f)+d*(24-b[r])/(24-f)),y[r]=Math.pow(10,k/10),R=v.MAX_VALUE,A=0;A(T*=i.numlines_s[r])&&(R=T)}i.ATH.cb_s[r]=R,R=7*b[r]/12-7,b[r]>12&&(R*=1+3.1*Math.log(1+R)),b[r]<12&&(R*=1+2.3*Math.log(1-R)),R<-15&&(R=-15),R-=8,i.minval_s[r]=Math.pow(10,R/10)*i.numlines_s[r]}i.s3_ss=I(i.s3ind_s,i.npart_s,b,g,y,l),s=Math.pow(10,9/16),c=Math.pow(10,1.5),u=Math.pow(10,1.5),e.init_fft(i),i.decay=Math.exp(-1*t/(.01*w/192)),a=3.5,0!=(2&n.exp_nspsytune)&&(a=1),Math.abs(n.msfix)>0&&(a=n.msfix),n.msfix=a;for(var C=0;Ci.npart_l-1&&(i.s3ind[C][1]=i.npart_l-1);var B=576*i.mode_gr/w;if(i.ATH.decay=Math.pow(10,-1.2*B),i.ATH.adjust=.01,i.ATH.adjustLimit=1,-1!=n.ATHtype){var E=n.out_samplerate/U.BLKSIZE,O=0;for(M=0,r=0;r=0;)i.ATH.eql_w[r]*=O}for(C=S=0;C1.0001)n();else{o.n_out=Math.min(e.framesize,i),o.n_in=o.n_out;for(var l=0;le-r?n:a},this.lame_init_params=function(e){var o=e.internal_flags;if(o.Class_ID=0,null==o.ATH&&(o.ATH=new E),null==o.PSY&&(o.PSY=new _),null==o.rgdata&&(o.rgdata=new L),o.channels_in=e.num_channels,1==o.channels_in&&(e.mode=b.MONO),o.channels_out=e.mode==b.MONO?1:2,o.mode_ext=U.MPG_MD_MS_LR,e.mode==b.MONO&&(e.force_ms=!1),e.VBR==m.vbr_off&&128!=e.VBR_mean_bitrate_kbps&&0==e.brate&&(e.brate=e.VBR_mean_bitrate_kbps),e.VBR==m.vbr_off||e.VBR==m.vbr_mtrh||e.VBR==m.vbr_mt||(e.free_format=!1),e.VBR==m.vbr_off&&0==e.brate&&n(),e.VBR==m.vbr_off&&e.compression_ratio>0&&n(),0!=e.out_samplerate&&(e.out_samplerate<16e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,64)):e.out_samplerate<32e3?(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,8),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,160)):(e.VBR_mean_bitrate_kbps=Math.max(e.VBR_mean_bitrate_kbps,32),e.VBR_mean_bitrate_kbps=Math.min(e.VBR_mean_bitrate_kbps,320))),0==e.lowpassfreq){var s=16e3;switch(e.VBR){case m.vbr_off:g(u=new d,e.brate),s=u.lowerlimit;break;case m.vbr_abr:var u;g(u=new d,e.VBR_mean_bitrate_kbps),s=u.lowerlimit;break;case m.vbr_rh:n();default:n()}e.mode!=b.MONO||e.VBR!=m.vbr_off&&e.VBR!=m.vbr_abr||(s*=1.5),e.lowpassfreq=0|s}switch(0==e.out_samplerate&&n(),e.lowpassfreq=Math.min(20500,e.lowpassfreq),e.lowpassfreq=Math.min(e.out_samplerate/2,e.lowpassfreq),e.VBR==m.vbr_off&&(e.compression_ratio=16*e.out_samplerate*o.channels_out/(1e3*e.brate)),e.VBR==m.vbr_abr&&n(),e.bWriteVbrTag||(e.findReplayGain=!1,e.decode_on_the_fly=!1,o.findPeakSample=!1),o.findReplayGain=e.findReplayGain,o.decode_on_the_fly=e.decode_on_the_fly,o.decode_on_the_fly&&(o.findPeakSample=!0),o.findReplayGain&&n(),o.decode_on_the_fly&&!e.decode_only&&n(),o.mode_gr=e.out_samplerate<=24e3?1:2,e.framesize=576*o.mode_gr,e.encoder_delay=U.ENCDELAY,o.resample_ratio=e.in_samplerate/e.out_samplerate,e.VBR){case m.vbr_mt:case m.vbr_rh:case m.vbr_mtrh:e.compression_ratio=[5.7,6.5,7.3,8.2,10,11.9,13,14,15,16.5][e.VBR_q];break;case m.vbr_abr:e.compression_ratio=16*e.out_samplerate*o.channels_out/(1e3*e.VBR_mean_bitrate_kbps);break;default:e.compression_ratio=16*e.out_samplerate*o.channels_out/(1e3*e.brate)}e.mode==b.NOT_SET&&(e.mode=b.JOINT_STEREO),e.highpassfreq>0?n():(o.highpass1=0,o.highpass2=0),e.lowpassfreq>0?(o.lowpass2=2*e.lowpassfreq,e.lowpasswidth>=0?n():o.lowpass1=2*e.lowpassfreq,o.lowpass1/=e.out_samplerate,o.lowpass2/=e.out_samplerate):n(),function(e){var t,r=e.internal_flags,a=32;if(r.lowpass1>0){for(var i=999,o=0;o<=31;o++)(c=o/31)>=r.lowpass2&&(a=Math.min(a,o)),r.lowpass10&&n(),r.highpass2>0&&n(),o=0;o<32;o++){var s,l,c=o/31;r.highpass2>r.highpass1?n():s=1,l=r.lowpass2>r.lowpass1?(t=(c-r.lowpass1)/(r.lowpass2-r.lowpass1+1e-20))>1?0:t<=0?1:Math.cos(Math.PI/2*t):1,r.amp_filter[o]=s*l}}(e),o.samplerate_index=function(e,t){switch(e){case 44100:return t.version=1,0;case 48e3:return t.version=1,1;case 32e3:return t.version=1,2;case 22050:return t.version=0,0;case 24e3:return t.version=0,1;case 16e3:return t.version=0,2;case 11025:return t.version=0,0;case 12e3:return t.version=0,1;case 8e3:return t.version=0,2;default:return t.version=0,-1}}(e.out_samplerate,e),o.samplerate_index<0&&n(),e.VBR==m.vbr_off?e.free_format?o.bitrate_index=0:(e.brate=function(e,t,n){n<16e3&&(t=2);for(var r=R.bitrate_table[t][1],a=2;a<=14;a++)R.bitrate_table[t][a]>0&&Math.abs(R.bitrate_table[t][a]-e)0&&R.bitrate_table[t][r]==e)return r;return-1}(e.brate,e.version,e.out_samplerate),o.bitrate_index<=0&&n()):o.bitrate_index=1,e.analysis&&(e.bWriteVbrTag=!1),null!=o.pinfo&&(e.bWriteVbrTag=!1),t.init_bit_stream_w(o);for(var v,y=o.samplerate_index+3*e.version+6*(e.out_samplerate<16e3?1:0),w=0;w5&&(e.quality=5),o.PSY.mask_adjust=e.maskingadjust,o.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?o.sfb21_extra=!1:o.sfb21_extra=e.out_samplerate>44e3,o.iteration_loop=new VBRNewIterationLoop(i);break;case m.vbr_rh:r.apply_preset(e,500-10*e.VBR_q,0),o.PSY.mask_adjust=e.maskingadjust,o.PSY.mask_adjust_short=e.maskingadjust_short,e.experimentalY?o.sfb21_extra=!1:o.sfb21_extra=e.out_samplerate>44e3,e.quality>6&&(e.quality=6),e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),o.iteration_loop=new VBROldIterationLoop(i);break;default:var k;o.sfb21_extra=!1,e.quality<0&&(e.quality=LAME_DEFAULT_QUALITY),(k=e.VBR)==m.vbr_off&&(e.VBR_mean_bitrate_kbps=e.brate),r.apply_preset(e,e.VBR_mean_bitrate_kbps,0),e.VBR=k,o.PSY.mask_adjust=e.maskingadjust,o.PSY.mask_adjust_short=e.maskingadjust_short,k==m.vbr_off?o.iteration_loop=new P(i):n()}return e.VBR!=m.vbr_off&&n(),e.tune&&n(),function(e){var t=e.internal_flags;switch(e.quality){default:case 9:t.psymodel=0,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 8:e.quality=7;case 7:t.psymodel=1,t.noise_shaping=0,t.noise_shaping_amp=0,t.noise_shaping_stop=0,t.use_best_huffman=0,t.full_outer_loop=0;break;case 6:case 5:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=0,t.full_outer_loop=0;break;case 4:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=0,t.noise_shaping_stop=0,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 3:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 2:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=1,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0;break;case 1:case 0:t.psymodel=1,0==t.noise_shaping&&(t.noise_shaping=1),0==t.substep_shaping&&(t.substep_shaping=2),t.noise_shaping_amp=2,t.noise_shaping_stop=1,-1==t.subblock_gain&&(t.subblock_gain=1),t.use_best_huffman=1,t.full_outer_loop=0}}(e),e.athaa_type<0?o.ATH.useAdjust=3:o.ATH.useAdjust=e.athaa_type,o.ATH.aaSensitivityP=Math.pow(10,e.athaa_sensitivity/-10),null==e.short_blocks&&(e.short_blocks=h.short_block_allowed),e.short_blocks!=h.short_block_allowed||e.mode!=b.JOINT_STEREO&&e.mode!=b.STEREO||(e.short_blocks=h.short_block_coupled),e.quant_comp<0&&(e.quant_comp=1),e.quant_comp_short<0&&(e.quant_comp_short=0),e.msfix<0&&(e.msfix=0),e.exp_nspsytune=1|e.exp_nspsytune,e.internal_flags.nsPsy.attackthre<0&&(e.internal_flags.nsPsy.attackthre=G.NSATTACKTHRE),e.internal_flags.nsPsy.attackthre_s<0&&(e.internal_flags.nsPsy.attackthre_s=G.NSATTACKTHRE_S),e.scale<0&&(e.scale=1),e.ATHtype<0&&(e.ATHtype=4),e.ATHcurve<0&&(e.ATHcurve=4),e.athaa_loudapprox<0&&(e.athaa_loudapprox=2),e.interChRatio<0&&(e.interChRatio=0),null==e.useTemporal&&(e.useTemporal=!0),o.slot_lag=o.frac_SpF=0,e.VBR==m.vbr_off&&(o.slot_lag=o.frac_SpF=72e3*(e.version+1)*e.brate%e.out_samplerate|0),a.iteration_init(e),p.psymodel_init(e),0},this.lame_encode_flush=function(e,r,a,i){var o,s,l,c,f=e.internal_flags,p=u([2,1152]),_=0,d=f.mf_samples_to_encode-U.POSTDELAY,h=y(e);if(f.mf_samples_to_encode<1)return 0;for(o=0,e.in_samplerate!=e.out_samplerate&&n(),(l=e.framesize-d%e.framesize)<576&&(l+=e.framesize),e.encoder_padding=l,c=(d+l)/e.framesize;c>0&&_>=0;){var v=h-f.mf_size,m=e.frameNum;v*=e.in_samplerate,(v/=e.out_samplerate)>1152&&(v=1152),v<1&&(v=1),s=i-o,0==i&&(s=0),a+=_=this.lame_encode_buffer(e,p[0],p[1],v,r,a,s),o+=_,c-=m!=e.frameNum?1:0}return f.mf_samples_to_encode=0,_<0?_:(s=i-o,0==i&&(s=0),t.flush_bitstream(e),(_=t.copy_buffer(f,r,a,s,1))<0?_:(a+=_,s=i-(o+=_),0==i&&(s=0),e.write_id3tag_automatic&&n(),o))},this.lame_encode_buffer=function(r,a,i,s,l,c,u){var f=r.internal_flags,p=[null,null];if(4294479419!=f.Class_ID)return-3;if(0==s)return 0;!function(e,t){(null==e.in_buffer_0||e.in_buffer_nsamples1&&(p[1][_]=i[_]);return function(r,a,i,o,s,l,c){var u,f,p,_,d,h=r.internal_flags,v=0,m=[null,null],b=[null,null];if(4294479419!=h.Class_ID)return-3;if(0==o)return 0;if((d=t.copy_buffer(h,s,l,c,0))<0)return d;if(l+=d,v+=d,b[0]=a,b[1]=i,A.NEQ(r.scale,0)&&A.NEQ(r.scale,1))for(f=0;f0;){var M,R,T=[null,null];T[0]=b[0],T[1]=b[1];var C=new x;if(k(r,m,T,g,o,C),M=C.n_in,R=C.n_out,h.findReplayGain&&!h.decode_on_the_fly&&e.AnalyzeSamples(h.rgdata,m[0],h.mf_size,m[1],h.mf_size,R,h.channels_out)==w.GAIN_ANALYSIS_ERROR)return-6;if(o-=M,g+=M,h.channels_out,h.mf_size+=R,h.mf_samples_to_encode<1&&n(),h.mf_samples_to_encode+=R,h.mf_size>=_){var B=c-v;if(0==c&&(B=0),(u=S(r,m[0],m[1],s,l,B))<0)return u;for(l+=u,v+=u,h.mf_size-=r.framesize,h.mf_samples_to_encode-=r.framesize,p=0;pT&&(T=t.length,B=r(C=0|1.25*T+7200));var a=i.lame_encode_buffer(R,t,n,t.length,B,0,C);return new Int8Array(B.subarray(0,a))},this.flush=function(){var e=i.lame_encode_flush(R,B,0,C);return new Int8Array(B.subarray(0,e))}}}t(),e.lamejs=t}(("object"==("undefined"==typeof window?"undefined":r(window))&&window.document?window:Object).Recorder)},function(e,t,n){"use strict";var r,a,i,o,s,l,c,u,f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};l="object"==("undefined"==typeof window?"undefined":f(window))&&!!window.document,c=(l?window:Object).Recorder,u=c.i18n,r=c,a=u.$T,i=l,o=function(e){return new s(e)},(s=function(e){var t={scale:2,speed:9,phase:21.8,fps:20,keep:!0,lineWidth:3,linear1:[0,"rgba(150,96,238,1)",.2,"rgba(170,79,249,1)",1,"rgba(53,199,253,1)"],linear2:[0,"rgba(209,130,255,0.6)",1,"rgba(53,199,255,0.6)"],linearBg:[0,"rgba(255,255,255,0.2)",1,"rgba(54,197,252,0.2)"]};for(var n in e)t[n]=e[n];if(this.set=e=t,e.compatibleCanvas)var r=this.canvas=e.compatibleCanvas;else{if(!i)throw new Error(a.G("NonBrowser-1",["WaveView"]));var o=e.elem;o&&("string"==typeof o?o=document.querySelector(o):o.length&&(o=o[0])),o&&(e.width=o.offsetWidth,e.height=o.offsetHeight);var s=this.elem=document.createElement("div");s.style.fontSize=0,s.innerHTML='',r=this.canvas=s.querySelector("canvas"),o&&(o.innerHTML="",o.appendChild(s))}var l=e.scale,c=e.width*l,u=e.height*l;if(!c||!u)throw new Error(a.G("IllegalArgs-1",["WaveView width=0 height=0"]));r.width=c,r.height=u;var f=this.ctx=r.getContext("2d");this.linear1=this.genLinear(f,c,e.linear1),this.linear2=this.genLinear(f,c,e.linear2),this.linearBg=this.genLinear(f,u,e.linearBg,!0),this._phase=0}).prototype=o.prototype={genLinear:function(e,t,n,r){for(var a=e.createLinearGradient(0,0,r?0:t,r?t:0),i=0;i1300&&(clearInterval(e.timer),e.timer=0)}},draw:function(e){var t=this.set,n=this.ctx,r=t.scale,a=t.width*r,i=t.height*r,o=t.speed/t.fps,s=this._phase-=o,l=s+o*t.phase,c=e/100,u=this.genPath(2,c,s),f=this.genPath(1.8,c,l);n.clearRect(0,0,a,i),n.beginPath();for(var p=0,_=0;_<=a;p++,_+=r)0==_?n.moveTo(_,u[p]):n.lineTo(_,u[p]);for(p--,_=a-1;_>=0;p--,_-=r)n.lineTo(_,f[p]);n.closePath(),n.fillStyle=this.linearBg,n.fill(),this.drawPath(f,this.linear2),this.drawPath(u,this.linear1)},drawPath:function(e,t){var n=this.set,r=this.ctx,a=n.scale,i=n.width*a;r.beginPath();for(var o=0,s=0;s<=i;o++,s+=a)0==s?r.moveTo(s,e[o]):r.lineTo(s,e[o]);r.lineWidth=n.lineWidth*a,r.strokeStyle=t,r.stroke()}},r.WaveView=o},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var a=(o=r,s=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),l="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),"/*# ".concat(l," */")),i=r.sources.map((function(e){return"/*# sourceURL=".concat(r.sourceRoot).concat(e," */")}));return[n].concat(i).concat([a]).join("\n")}var o,s,l;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2],"{").concat(n,"}"):n})).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},a=0;a\n \n\n \n\n '});window.vue_vue=r.default,window.vue_root=o,window.vue_main=o.$refs.mainView,console.log("mainView",vue_main),console.log("Vue",r.default),console.log("Recorder",vue_main.Rec),console.log("RecordApp",vue_main.App)},function(e,t,n){"use strict";n.r(t);var r=n(20),a=n(6);for(var i in a)"default"!==i&&function(e){n.d(t,e,(function(){return a[e]}))}(i);n(30);var o=n(1),s=Object(o.a)(a.default,r.a,r.b,!1,null,null,null);s.options.__file="component/recordapp.vue",t.default=s.exports},function(e,t,n){"use strict";(function(e){var r,a,i,o,s,l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};a="object"==("undefined"==typeof window?"undefined":l(window))&&!!window.document,i=a?window:Object,o=i.Recorder,s=o.i18n,function(e,t,n,r,a){var i={LM:"2023-12-01 20:18",Current:0,Platforms:{}},o=i.Platforms,s="RecordApp",l="RequestPermission",c="RegisterPlatform",u=e[s];if(u&&u.LM==i.LM)u.CLog(r("uXtA::重复导入{1}",0,s),3);else{e[s]=i,t[s]=i,i.__SID_=0;var f=i.__SID=function(){return++i.__SID_},p=i.__Sync=function(e,t,n){return i.__SID_==e||(t&&_(r("kIBu::同时多次调用:{1},旧的回调被丢弃",0,t)+(n?", error: "+n:""),3),!1)},_=function e(){var n=arguments;n[0]="["+(e.Tag||s)+"]["+(i.Current&&i.Current.Key||"?")+"]"+n[0],t.CLog.apply(null,n)};i.CLog=_,i[c]=function(e,t){t.Key=e,o[e]&&_(r("ha2K::重复注册{1}",0,e),3),o[e]=t},i.__StopOnlyClearMsg=function(){return r("wpTL::仅清理资源")};var d,h="Default-H5";d={Support:function(e){e(!0)},CanProcess:function(){return!0}},i[c](h,d),d[l]=function(e,n,r){var a=i.__Rec;a&&(a.close(),i.__Rec=null),t().open((function(){n()}),r)},d.Start=function(e,n,r,a){var o=i.__Rec;null!=o&&o.stop(),i.__Rec=o=t(n),o.appSet=n,o.dataType="arraybuffer",o.open((function(){p(e)&&o.start(),r()}),a)},d.Stop=function(e,n,a){var o=i.__Rec,s=n?"":i.__StopOnlyClearMsg();if(!o)return t.IsOpen()&&((o=t()).open(),o.close()),void a(r("bpvP::未开始录音")+(s?" ("+s+")":""));var l=function(){if(p(e))for(var t in o.close(),o.set)o.appSet[t]=o.set[t]},c=function(e){l(),a(e)};n?o.stop((function(e,t,r){l(),n(e,t,r)}),c):c(s)},i.GetCurrentRecOrNull=function(){return i.__Rec||null},i.Pause=function(){var e=i.Current;if(!e||!e.Pause||!1===e.Pause()){var t=i.__Rec;t&&v("Pause")&&t.pause()}},i.Resume=function(){var e=i.Current,t="Resume";if(!e||!e[t]||!1===e[t]()){var n=i.__Rec;n&&v(t)&&n.resume()}};var v=function(e){var t=i.Current;if(t&&t.CanProcess())return 1;_(r("fLJD::当前环境不支持实时回调,无法进行{1}",0,e),3)};i.Install=function(e,t){var n=i.Current;if(n)e&&e();else{var r=i.__reqs||(i.__reqs=[]);r.push({s:e,f:t}),e=function(){a("s",arguments)},t=function(){a("f",arguments)};var a=function(e,t){var n=[].concat(r);r.length=0;for(var a=0;a1)){var s,l=[h];for(var c in o)c!=h&&l.push(c);l.reverse();var u=function(){i.Current=n,_("Install platform: "+s),e()};!function e(r){s=l[r],(n=o[s]).Support((function(a){if(!a)return e(r+1);n.Install?n.Install(u,t):u()}))}(0)}}},i[l]=function(e,t){var n=f(),a=s+"."+l,o=function(e,i){var o=e+", isUserNotAllow:"+(i=!!i);p(n,a,o)&&(_(r("YnzX::录音权限请求失败:")+o,1),t&&t(e,i))};_(l+"..."),i.Install((function(){if(p(n,a)){var t=b();t?o(t):i.Current[l](n,(function(){p(n,a)&&(_(l+" Success"),e&&e())}),o)}}),o)};var m=function(){return r("nwKR::需先调用{1}",0,l)},b=function(){var e="";return i.Current.Key!=h||a||(e=r("citA::当前不是浏览器环境,需引入针对此平台的支持文件({1}),或调用{2}自行实现接入",0,"src/app-support/app-xxx-support.js",s+"."+c)),e};i.Start=function(e,n,a){var l=f(),c=s+".Start",u=function(e){p(l,c,e)&&(_(r("ecp9::开始录音失败:")+e,1),a&&a(e))};_("Start...");var d=i.Current;if(d){e||(e={});var h={type:"mp3",sampleRate:16e3,bitRate:16,onProcess:function(){}};for(var v in h)e[v]||(e[v]=h[v]);for(var v in o){var g=o[v];g.AllStart_Clean&&g.AllStart_Clean(e)}var y=!1;d.Start_Check&&(y=d.Start_Check(e)),!1===y&&((y=t(e).envCheck({envName:d.Key,canProcess:d.CanProcess()}))||(y=b())),y?u(r("EKmS::不能录音:")+y):(i._SRec=0,d.Start(l,e,(function(){p(l,c)&&(_(r("k7Qo::已开始录音"),e),i._STime=Date.now(),n&&n())}),u))}else u(m())},i.Stop=function(e,n){var a=f(),o=s+".Stop",l=function(t){if(p(a,o,t)){_(r("Douz::结束录音失败:")+t,e?1:0);try{n&&n(t)}finally{c()}}},c=function(){i._SRec=i.__Rec,i.__Rec=null};_("Stop... "+r("wqSH::和Start时差:{1}ms",0,i._STime?Date.now()-i._STime:-1)+" Recorder.LM:"+t.LM+" "+s+".LM:"+i.LM);var u=Date.now(),d=i.Current;d?d.Stop(a,e?function(t,n,i){if(p(a,o)){_(r("g3VX::结束录音 耗时{1}ms 音频时长{2}ms 文件大小{3}b {4}",0,Date.now()-u,n,t.byteLength,i));try{e(t,n,i)}finally{c()}}}:null,l):l(m())}}}(i,o,0,s.$T,a),void 0===(r=function(){return i.RecordApp}.call(t,n,t,e))||(e.exports=r),"object"==l(e)&&e.exports&&(e.exports=i.RecordApp)}).call(this,n(2)(e))},function(e,t,n){"use strict";var r,a,i,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r="object"==("undefined"==typeof window?"undefined":o(window))&&!!window.document,a=(r?window:Object).Recorder,i=a.i18n,function(e,t,n,r){var a=e.RecordApp,i=a.CLog,o={Support:function(e){a.AlwaysAppUseH5?e(!1):s.IsApp(e)},CanProcess:function(){return!0},Config:{IsApp:function(e){l("IsApp"),e(!1)},JsBridgeRequestPermission:function(e,t){t(l("JsBridgeRequestPermission"))},JsBridgeStart:function(e,t,n){n(l("JsBridgeStart"))},JsBridgeStop:function(e,t){t(l("JsBridgeStop"))}}};a.RegisterPlatform("Native",o);var s=o.Config,l=function(e){var t=n("WWoj::{1}中的{2}方法未实现,请在{3}文件中或配置文件中实现此方法",0,"RecordApp.Platforms.Native.Config",e,"app-native-support.js");return i(t,3),t},c=function e(t,r){var a=e.rec;if(a){a._appStart||a.envStart({envName:o.Key,canProcess:o.CanProcess()},r),a._appStart=1;var s=0;if(t instanceof Int16Array)for(var l=new Int16Array(t),c=0;c>16,l[_]=u,s+=Math.abs(u)}a.envIn(l,s)}else i(n("rCAM::未开始录音,但收到Native PCM数据"),3)};if(r||(a.NativeRecordReceivePCM=c),r){window.NativeRecordReceivePCM=c;try{window.top.NativeRecordReceivePCM=c}catch(e){var u=function(){i(n("t2OF::检测到跨域iframe,NativeRecordReceivePCM无法注入到顶层,已监听postMessage转发兼容传输数据,请自行实现将top层接收到数据转发到本iframe(不限层),不然无法接收到录音数据"),3)};setTimeout(u,8e3),u(),addEventListener("message",(function(e){var t=e.data;t&&"NativeRecordReceivePCM"==t.type&&(t=t.data,c(t.pcmDataBase64,t.sampleRate))}))}}o.RequestPermission=function(e,t,n){s.JsBridgeRequestPermission(t,n)},o.Start=function(t,n,r,i){c.param=n;var o=e(n);o.set.disableEnvInFix=!0,o.dataType="arraybuffer",c.rec=o,a.__Rec=o,s.JsBridgeStart(n,r,i)},o.Stop=function(e,t,r){var o=function(t){a.__Sync(e)&&(c.rec=null),r(t)};s.JsBridgeStop((function(){if(a.__Sync(e)){var r=c.rec;c.rec=null;var s=t?"":a.__StopOnlyClearMsg();if(r){i("rec encode: pcm:"+r.recSize+" srcSR:"+r.srcSampleRate+" set:"+JSON.stringify(c.param));var l=function(){if(a.__Sync(e))for(var t in r.set)c.param[t]=r.set[t]};if(!t)return l(),void o(s);r.stop((function(e,n,r){l(),t(e,n,r)}),(function(e){l(),o(e)}))}else o(n("Z2y2::未开始录音")+(s?" ("+s+")":""))}else o("Incorrect sync status")}),o)}}(a,0,i.$T,r)},function(e,t,n){"use strict";var r,a,i,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};r="object"==("undefined"==typeof window?"undefined":o(window))&&!!window.document,a=(r?window:Object).Recorder,i=a.i18n,function(e,t,n,r){var a,i=e.RecordApp,o=i.CLog,s=i.Platforms.Native.Config;if(o("[Hybrid App] native-config init"),r){var l="RecordAppJsBridge",c=window.AppJsBridgeRequest=function(e,t,r){var a=window.top,i=0;try{i=a.AppJsBridgeRequest}catch(e){o(n("qkwO::检测到跨域iframe,AppJsBridgeRequest将由Native通过执行postMessage转发来兼容数据的返回",":When a cross-domain iframe is detected, AppJsBridgeRequest will be returned by Native by performing postMessage forwarding."),3)}if(i&&i!=c)return i(e,t,r);t||(t={});var s="";r&&(s=u.length+"",u.push(r));var f={status:"",message:"",callback:s,value:null},p=JSON.stringify({action:e,args:t,callback:s}),_="";return window[l]?_=window[l].request(p):((window.webkit||{}).messageHandlers||{})[l+"IsSet"]?_=prompt(p):f.message=n("jXZB::非app,不能调用接口",":Non-app, cannot call the interface"),_=_&&JSON.parse(_)||f},u=[""];c.Call=function(e){u[e.callback]&&(u[e.callback](e),u[e.callback]=null)},c.Record=function(e,t){NativeRecordReceivePCM(e,t)};try{window.top.AppJsBridgeRequest=c}catch(e){var f=function(){o(n("bFcE::检测到跨域iframe,AppJsBridgeRequest无法注入到顶层,已监听postMessage,Native通过执行postMessage转发来兼容数据返回",":Cross-domain iframe detected, AppJsBridgeRequest cannot be injected into the top level, postMessage has been listened to, and Native performs postMessage forwarding to support data return."),3),window.parent!=window.top&&o(n("9cSl::RecordApp Native Config示例不支持跨域iframe超过1层,因为没有处理中间的iframe的window的postMessage转发",":The RecordApp Native Config example does not support cross-domain iframes with more than 1 layer, because the postMessage forwarding of the window of the intermediate iframe is not processed."),1)};setTimeout(f,8e3),f(),addEventListener("message",(function(e){var t=e.data;if(t&&"AppJsBridgeRequest"==t.type){var r=t.action;t=t.data,"Call"==r?c.Call(t):"Record"==r?c.Record(t.pcmDataBase64,t.sampleRate):o(n("jDCI::AppJsBridgeRequest未知postMessage:",":AppJsBridgeRequest unknown postMessage: ")+r,3)}}))}}s.IsApp=function(e){if(!r)return o(n("pvEs::测试用的配置文件native-config.js未适配非浏览器环境,无法进行App原生录音调用",":The configuration file native-config.js used for testing is not adapted to non-browser environments. Unable to make App native recording call"),3),void e(!1);window[l]||((window.webkit||{}).messageHandlers||{})[l+"IsSet"]?e(!0):e(!1)},s.JsBridgeRequestPermission=function(e,t){c("recordPermission",{},(function(r){"success"==r.status?1==r.value?e():3==r.value?t(n("wMEz::用户拒绝了录音权限",":User denied recording permission"),!0):t(n("G7zU::不支持录音",":Does not support recording")):t(r.message)}))},s.JsBridgeStart=function(e,t,n){c("recordStart",{param:e},(function(e){"success"==e.status?(t(),clearInterval(a),a=setInterval((function(){c("recordAlive")}),5e3)):n(e.message)}))},s.JsBridgeStop=function(e,t){clearInterval(a),c("recordStop",{},(function(n){"success"==n.status?e():t(n.message)}))}}(a,0,i.$T,r)},function(e,t,n){"use strict";var r=n(8);n.n(r).a},function(e,t,n){(e.exports=n(17)(!1)).push([e.i,"\nbody{\r\n\tword-wrap: break-word;\r\n\tbackground:#f5f5f5 center top no-repeat;\r\n\tbackground-size: auto 680px;\n}\npre{\r\n\twhite-space:pre-wrap;\n}\na{\r\n\ttext-decoration: none;\r\n\tcolor:#06c;\n}\na:hover{\r\n\tcolor:#f00;\n}\n.main{\r\n\tmax-width:700px;\r\n\tmargin:0 auto;\r\n\tpadding-bottom:80px\n}\n.mainBox{\r\n\tmargin-top:12px;\r\n\tpadding: 12px;\r\n\tborder-radius: 6px;\r\n\tbackground: #fff;\r\n\t--border: 1px solid #0b1;\r\n\tbox-shadow: 2px 2px 3px #aaa;\n}\n.btns button{\r\n\tdisplay: inline-block;\r\n\tcursor: pointer;\r\n\tborder: none;\r\n\tborder-radius: 3px;\r\n\tbackground: #0b1;\r\n\tcolor:#fff;\r\n\tpadding: 0 15px;\r\n\tmargin:3px 20px 3px 0;\r\n\tline-height: 36px;\r\n\theight: 36px;\r\n\toverflow: hidden;\r\n\tvertical-align: middle;\n}\n.btns button:active{\r\n\tbackground: #0a1;\n}\n.pd{\r\n\tpadding:0 0 6px 0;\n}\n.lb{\r\n\tdisplay:inline-block;\r\n\tvertical-align: middle;\r\n\tbackground:#00940e;\r\n\tcolor:#fff;\r\n\tfont-size:14px;\r\n\tpadding:2px 8px;\r\n\tborder-radius: 99px;\n}\r\n",""])}]); \ No newline at end of file diff --git a/assets/demo-vue/index.html b/assets/demo-vue/index.html index 9e5b9e94..96e6ea76 100644 --- a/assets/demo-vue/index.html +++ b/assets/demo-vue/index.html @@ -24,26 +24,41 @@
+ - - - + + + + + + + + + + + + + - - - - +}; + +window.onerror=function(message, url, lineNo, columnNo, error){ + //https://www.cnblogs.com/xianyulaodi/p/6201829.html + vue_main.reclog('【Uncaught Error】'+message+'
'+"at:"+lineNo+":"+columnNo+" url:"+url+"\n"+(error&&error.stack||"不能获得错误堆栈")+'
'); +}; + + + + + + \ No newline at end of file diff --git a/assets/demo-vue/recordapp.js b/assets/demo-vue/recordapp.js index 219b6ef8..dc07df3f 100644 --- a/assets/demo-vue/recordapp.js +++ b/assets/demo-vue/recordapp.js @@ -11,61 +11,21 @@ var root=new Vue({ ,template:` ` }); - - - -//皮一下,这种难看调用逻辑验证 -var mainRef=root.$refs.mainView; -mainRef.reclog('RecordApp[即将废弃] 除Recorder支持的外,支持Hybrid App,低版本IOS上支持微信网页和小程序web-view'+unescape("%uD83C%uDF89")+""); -mainRef.reclog('Recorder H5使用简单,功能丰富,支持PC、Android、IOS 14.3+'+unescape("%uD83D%uDCAA")+""); - -mainRef.reclog(`绿油油的一大片,真有食欲${unescape('%uD83D%uDE02')} 当前浏览器支持录音':'red">不支持录音'}`); - -var logMeta=function(n,v){ - mainRef.reclog(''+n+": "+v+""); -}; -logMeta(`本页面修改时间(有可能修改了忘改)`,'2020-11-25 21:43:09'); -logMeta(`Recorder库修改时间(有可能修改了忘改)`,mainRef.Rec.LM); -logMeta(`RecordApp库修改时间(有可能修改了忘改)`,mainRef.App.LM); -logMeta(`UA`,navigator.userAgent); -logMeta(`URL`,location.href.replace(/#.*/g,"")); -logMeta(`Vue`,Vue.version); -mainRef.reclog("点击打开录音,然后再点击开始录音",2); - - +window.vue_vue=Vue; window.vue_root=root; -window.vue_main=mainRef; +window.vue_main=root.$refs.mainView; +console.log("mainView",vue_main); console.log("Vue",Vue); -console.log("Recorder",mainRef.Rec); -console.log("RecordApp",mainRef.App); \ No newline at end of file +console.log("Recorder",vue_main.Rec); +console.log("RecordApp",vue_main.App); \ No newline at end of file diff --git a/assets/donate-alipay.png b/assets/donate-alipay.png index b36f7205..4fe2fc68 100644 Binary files a/assets/donate-alipay.png and b/assets/donate-alipay.png differ diff --git a/assets/donate-liberapay.png b/assets/donate-liberapay.png new file mode 100644 index 00000000..9540860c Binary files /dev/null and b/assets/donate-liberapay.png differ diff --git a/assets/donate-paypal.png b/assets/donate-paypal.png new file mode 100644 index 00000000..4073062e Binary files /dev/null and b/assets/donate-paypal.png differ diff --git a/assets/donate-weixin.png b/assets/donate-weixin.png index 8abfb374..4217368e 100644 Binary files a/assets/donate-weixin.png and b/assets/donate-weixin.png differ diff --git a/assets/header-leg__diygod.me.jpg b/assets/header-leg__diygod.me.jpg deleted file mode 100644 index 441577b6..00000000 Binary files a/assets/header-leg__diygod.me.jpg and /dev/null differ diff --git a/assets/jiebian.life-web.png b/assets/jiebian.life-web.png deleted file mode 100644 index ccc24725..00000000 Binary files a/assets/jiebian.life-web.png and /dev/null differ diff --git a/assets/jiebian.life-xcx.png b/assets/jiebian.life-xcx.png deleted file mode 100644 index 9e422eec..00000000 Binary files a/assets/jiebian.life-xcx.png and /dev/null differ diff --git a/assets/node-codes/-global-.js b/assets/node-codes/-global-.js new file mode 100644 index 00000000..908c13cd --- /dev/null +++ b/assets/node-codes/-global-.js @@ -0,0 +1,71 @@ +if(typeof global!="object" || typeof process!="object"){ + throw new Error("非nodejs环境"); +}; + +global.TempDir="./temp/"; +global.RootDir="../../"; +global.SrcDir=RootDir+"src/"; + +var fs=require("fs"); +var Path=require('path'); +var Recorder=require(SrcDir+"recorder-core.js"); + +//更改默认返回值类型,node没有Blob +Recorder.DefaultDataType="arraybuffer"; + +global.Log=function(msg,err){ + var now=new Date(); + var t=("0"+now.getHours()).substr(-2) + +":"+("0"+now.getMinutes()).substr(-2) + +":"+("0"+now.getSeconds()).substr(-2) + +"."+("00"+now.getMilliseconds()).substr(-3); + var arr=["["+t+" Log]"+msg]; + var a=arguments; + var i=2,fn=console.log; + if(typeof(err)=="number"){ + fn=err==1?console.error:err==3?console.warn:fn; + var color=err==1?"31":err==2?"32":err==3?"33":err; + var tag="["+t+" "+(err==1?"Err":err==2?"Log":err==3?"Warn":"Log")+"]"; + if(+color){ + arr[0]="\x1B["+color+"m"+tag+msg+"\x1B[0m"; + } + }else{ + i=1; + }; + for(;i{ + var type=process.argv[2]; + var calls={ + createFunc:{ + desc:"仅生成统计函数调用次数的js文件,使用此文件覆盖原始文件进行调用后即可得出统计数据" + ,exec:createCount + } + ,func:{ + desc:"调用test-all-type-min.js运行并进行函数调用统计,得到结果后手工去除未调用的函数" + ,exec:callTest + } + ,ifel:{ + desc:"调用test-all-type-min.js运行并进行if else统计,得到结果后手工去除未调用的分支" + ,exec:async function(){ + IF_EL=true; + await callTest(); + } + } + }; + var call=calls[type]; + if(!call){ + Log("请在脚本后面提供要调用的命令,支持的命令:",1); + console.log(calls); + return; + } + + Log(call.desc,2); + await call.exec(); + Log("================="); + Log("函数调用统计命令"+type+"执行完成",2); +}); + +require("./-global-.js"); +var fs = require("fs"); +var Path = require('path'); +var IF_EL=false; + +var callTest=async function(){ + await createCount(); + + global.UseClearCount=true; + require("./test-all-type.js"); +}; + +var createCount=async function(){ + await createCountExec(SrcDir+"engine/mp3-engine.js"); + await createCountExec(SrcDir+"engine/beta-amr-engine.js"); + await createCountExec(SrcDir+"engine/beta-ogg-engine.js"); +}; +var createCountExec=async function(file){ + var fileName=Path.basename(file); + Log("===== 开始处理: "+file+" ====="); + var srcTxt=fs.readFileSync(file,"utf-8"); + + //屏蔽字符串干扰 + var strArr=[]; + srcTxt=srcTxt.replace(/"(\\"|[^"\r\n])*"/g,function(a){ + strArr.push(a); return "__STR__:"+(strArr.length-1)+":" + }); + srcTxt=srcTxt.replace(/'(\\'|[^'\r\n])*'/g,function(a){ + strArr.push(a); return "__STR__:"+(strArr.length-1)+":" + }); + //去掉注释 + srcTxt=srcTxt.replace(/\/\*[\S\s]*?\*\//g,function(t){ + var t3="",t2=t.replace(/\n+/g,""),n=t.length-t2.length; + for(var i=0;i{return a.val-b.val || a.line-b.line}); + + //没有调用的提取前100个大的排前面 + zeroArr.sort((a,b)=>{return b.body-a.body || a.line-b.line}); + var zeroArr1=[],zeroArr2=[],z100=Math.min(100,~~(zeroArr.length/2)); + var bodyMax1=0,bodyMax2=0; + for(var i=0;i{return a.line-b.line}); + zeroArr2.sort((a,b)=>{return a.line-b.line}); + + var txts=[]; + var add=function(vals){ + for(var i=0;i{ + await run("./temp/emcc-zip-amr-engine.js"); + await run("./temp/emcc-zip-engine-ogg.js"); + Log("================="); + Log("压缩完成,请打开生成的js,复制代码到相应源文件中进行替换",2); +}); + +require("./-global-.js"); +var fs = require("fs"); +var run=async function(file){ + Log("===== 开始处理: "+file+" ====="); + var srcTxt=fs.readFileSync(file,"utf-8"); + var allocateList=[],listSize=0,srcLen=0,useZipCount=0; + var exp=/^[\r\n]*((?:\s*|\s*\/\*.*?\*\/\s*)allocate\()(\[[^\]]+\])(.+;\s*)[\r\n]*$/mg,m; + while(m=exp.exec(srcTxt)){ + var bytes=eval(m[2]); + for(var i=0;i255){ + throw new Error("第"+(allocateList.length+1)+"个allocate,数字"+v+"无效"); + } + } + srcLen+=m[0].length; + + var useZip=!(m[2].length<100 || m[2].lengthm[2].length){ + b64=m[2];//base64之后更大了,保持原样 + } + codes.push(m[1]+b64+m[3]); + } + return Text2Bytes(codes.join("\n")); +}; +var warpZip=function(list,zip){ +var codes=[`Module.b64Zip="${zip.b64}"; +Module.b64Dic=${JSON.stringify(zip.dic)}; +Module.b64Bytes=0; +//本代码由assets/node-codes/emcc-memory-zip.js生成,强力压缩Emscripten编译出来的静态内存初始化数据 +//低版本Worker里面没有atob https://developer.mozilla.org/en-US/docs/Web/API/atob +Module.b64UnZip=${UnZip.toString()}; +if(!Module.b64Bytes)Module.b64Bytes=Module.b64UnZip(Module.b64Zip,Module.b64Dic); +Module.b64Val=function(offset,size){ + if(offset+size>Module.b64Bytes.length)throw "b64Val OB"; + return Module.b64Bytes.subarray(offset,offset+size); +};`]; + for(var i0=0;i0=MaxDeep)deepStack.shift(); + for(var j=0;j=0;j--){ + var node=link[j]; + if(node.isEnd)break;//子级节点全部丢弃 + if(node.cpHit>1 && node.deep>2 && node.cpNum>maxCpNum){ + maxCpNum=node.cpNum; + maxNode=node; + maxLink=link; + } + } + } + if(!maxCpNum)break; + topNode.push(maxNode); + maxNode.isEnd=1; + + //减掉上级路径元素的权重 + var link=maxLink; + for(var j=link.length-1;j>=0;j--){ + var node=link[j]; + if(node.isEnd)break; + node.cpHit=node.cpHit-maxNode.cpHit; + node.cpNum=node.cpHit*(node.deep-2); + } + + if(topNode.length>mask*2)break;//够数了 + }; + //将这些字节串存入字典,分配编号 + dic.bs=[]; + for(var i=0;ib2){ + if(prevIsB0) outBuf[outOffset++]=b0Node.cpIdx+b2+1; + outBuf[outOffset++]=dic.b0; + outBuf[outOffset++]=b0Node.cpIdx+b2+1; + prevIsB0=false; + continue; + } + } + prevIsB0=v==dic.b0; + outBuf[outOffset++]=v; + }; + + //统计字节串使用次数 + var bsInfo=[]; + for(var i=0;ib2){//查找字典替换 + var iD=v2&mask,vD=dic.bs[iD]; + for(var j=0;j{return 1262390400000}; Recorder.OggVorbisEncoder.Module&&(Recorder.OggVorbisEncoder.Module.StaticSeed=true);} + }else{ + var dur=90; + if(/^([\d\.]+)s_(\w+)/.test(hash)){ + dur=+RegExp.$1; hash=RegExp.$2; + } + var sampleRate=hashSr||16000,bitRate=hashBr||16; + } + if(type=="amr")sampleRate=8000; + var pcm=new Int16Array(sampleRate*dur); + for(var i=0;i=pcm.length && Recorder.OggVorbisEncoder.Module){ idx2--; }//老版本bug:少一个采样数据 + } + var chunk=pcm.slice(idx,idx2); + idx=endIdx; + rec.envIn(chunk,0); + }; + rec.stop(function(blob){ + if(!isWeb){ + var val=require('crypto').createHash("sha1").update(new Uint8Array(blob)).digest('hex').substr(0,8); + if(val.toLowerCase()==hash.toLowerCase()){ + var msg="OK "+type+" "+sampleRate+" "+bitRate+" "+dur+"s hash:"+val; + Log(msg,2); + }else{ + var msg="Err "+type+" "+sampleRate+" "+bitRate+" "+dur+"s hash:"+val+" != "+hash; + errMsgs.push("testEncode: "+msg); Log(msg,1); + } + if(!Recorder[type+"2wav"]){ + resolve(); return; + } + var toWavSet=blob; + if(type=="pcm"){ + toWavSet={blob:blob,sampleRate:sampleRate,bitRate:bitRate}; + } + Recorder[type+"2wav"](toWavSet,function(aBuf,duration){ + if(Math.abs(duration-dur*1000)>100){ + var msg="Err "+type+" "+sampleRate+" "+bitRate+" "+dur+"s 转码成wav时长错误:"+duration+"ms"; + errMsgs.push("testEncode: "+msg); Log(msg,1); + }else{ + Log("已转码成wav:"+duration+"ms",2); + } + resolve(); + },function(msg){ throw msg }); + return; + } + console.log(URL.createObjectURL(blob)); + blob.arrayBuffer().then(buf=>{ + var bytes=new Uint8Array(buf),b0Len=0; + for(var i=bytes.length-1;i>=0;i--){ if(bytes[i]==0)b0Len++;else break; } + if(type=="amr" && b0Len>3){//老版本bug:去掉amr结尾错误的0 + buf=buf.slice(0,bytes.length-b0Len); + } + crypto.subtle.digest("sha-1",buf).then(v=>{ + var val=Array.from(new Uint8Array(v)) + .map(v=>("0"+v.toString(16)).substr(-2)) + .join(""); + console.log(type+" "+sampleRate+" "+bitRate+" "+dur+"s: "+val.substr(0,8)); + }); + }); + },function(msg){ throw msg }); + //copy到这为止 +}); + if(hashSr)return; + + //====编码文件保存==== +await new Promise(function(resolve,reject){ + var t1=Date.now(); + var rec=Recorder({type:type,bitRate:16,sampleRate:16000}); + rec.mock(testPcm,sampleRate); + rec.stop(function(blob,duration){ + var t2=Date.now(); + var path=ArrayBufferSaveTempFile("test-type-encode-"+type+"."+type, blob); + var msg="OK "+type+" "+path+" "+duration+"ms "+blob.byteLength+"字节 耗时"+(t2-t1)+"ms"; + okMsgs.push("testEncode: "+msg); Log(msg,2); + + if(!Recorder[type+"2wav"]){ + resolve(); return; + } + t1=Date.now(); + Recorder[type+"2wav"](blob,function(blob,duration){ + t2=Date.now(); + var path=ArrayBufferSaveTempFile("test-type-encode-"+type+"2wav.wav", blob); + var msg="OK "+type+"2wav "+path+" "+duration+"ms "+blob.byteLength+"字节 耗时"+(t2-t1)+"ms"; + okMsgs.push("testEncode: "+msg); Log(msg,2); + resolve(); + },function(err){ + var msg="Err "+type+"2wav:"+err; + errMsgs.push("testEncode: "+msg); Log(msg,1); + resolve(); + }); + },function(err){ + if(notSupport){ + var msg="OK "+type+" 符合预期不支持:"+err; + okMsgs.push("testEncode: "+msg); Log(msg,2); + }else{ + var msg="Err "+type+":"+err; + errMsgs.push("testEncode: "+msg); Log(msg,1); + } + resolve(); + }); +})}; + + +/*************实时处理测试******************/ +var testWebProcess=function(){ return new Promise(function(resolve,reject){ + Log("----------- testWebProcess -----------"); + var rec=Recorder(); + rec.open(function(){ + var msg="Err open成功,不符合预期"; + errMsgs.push("testWebProcess: "+msg); Log(msg,1); + resolve(); + },function(err){ + var msg="OK 符合预期不能open:"+err; + okMsgs.push("testWebProcess: "+msg); Log(msg,2); + resolve(); + }); +})}; +var testProcess=function(){ return new Promise(function(resolve,reject){ + Log("----------- testProcess -----------"); + var nextRun=function(run){ + nextCalls.push(run); + clearTimeout(nextInt); + nextInt=setTimeout(function(){ + var arr=nextCalls; nextCalls=[]; + for(var i=0;i=pcm.length){ + recStop(); + return; + }; + var endIdx=~~(idx+sampleRate/10); + var chunk=pcm.slice(idx,endIdx); + idx=endIdx; + rec.envIn(chunk,0); + + nextRun(run); + }; + run(); +}; + + +/*************插件测试******************/ +var testBufferStreamPlayer=function(){ return new Promise(function(resolve,reject){ + Log("----------- testBufferStreamPlayer -----------"); + var stream=Recorder.BufferStreamPlayer(); + stream.start(function(){ + var msg="Err start成功,不符合预期"; + errMsgs.push("testBufferStreamPlayer: "+msg); Log(msg,1); + resolve(); + },function(err){ + var msg="OK 符合预期不能start:"+err; + okMsgs.push("testBufferStreamPlayer: "+msg); Log(msg,2); + resolve(); + }); +})}; +var testSonic=function(){ return new Promise(function(resolve,reject){ + Log("----------- testSonic -----------"); + var sonic=Recorder.Sonic.Async({sampleRate:sampleRate}); + if(sonic!=null){ + var msg="Err Sonic.Async创建成功,不符合预期"; + errMsgs.push("testSonic: "+msg); Log(msg,1); + }else{ + var msg="OK Sonic.Async符合预期不能创建"; + okMsgs.push("testSonic: "+msg); Log(msg,2); + } + + var t1=Date.now(); + var sonic=Recorder.Sonic({sampleRate:sampleRate}); + sonic.setPitch(0.5); + var pcm1=sonic.input(testPcm); + var pcm2=sonic.flush(); + var t2=Date.now(); + var pcm=new Int16Array(pcm1.length+pcm2.length); + pcm.set(pcm1); + pcm.set(pcm2,pcm1.length); + if(pcm.length!=testPcm.length){ + var msg="Err 处理结果数据长度错误:"+pcm.length+"!="+testPcm.length; + errMsgs.push("testSonic: "+msg); Log(msg,1); + } + + var rec=Recorder({type:"wav",bitRate:16,sampleRate:16000}); + rec.mock(pcm,sampleRate); + rec.stop(function(blob,duration){ + var path=ArrayBufferSaveTempFile("test-type-sonic.wav", blob); + var msg="OK Sonic "+path+" "+duration+"ms "+blob.byteLength+"字节 耗时"+(t2-t1)+"ms"; + okMsgs.push("testSonic: "+msg); Log(msg,2); + resolve(); + }); +})}; + + +//执行测试 +if(1){ + await testEncode("mp3","b209dc67"); + await testEncode("mp3","530584d4",8000,8); + await testEncode("mp3","d61d1d18",8000,96); + await testEncode("mp3","444fb268",16000,32); + await testEncode("mp3","ca9f1435",16000,56); + await testEncode("mp3","9ace82c4",32000,64); + await testEncode("mp3","d8c2b12a",48000,96); + await testEncode("mp3","eeee6f23",48000,56); + await testEncode("mp3","acd13450",48000,16); + await testEncode("mp3","0.1s_b18a6d3b",16000,16); + await testEncode("mp3","0.1s_a5c69708",48000,56); + await testEncode("mp3","0.1s_49b8934b",48000,96); + await testEncode("mp3","0.5s_66c6230b",8000,8); + await testEncode("mp3","0.5s_4a70d3e7",16000,56); + await testEncode("mp3","0.5s_ed740b5e",48000,96); + + await testEncode("wav","7564b0e1"); + await testEncode("wav","e3351f37",8000,8); + await testEncode("pcm","68734486"); + await testEncode("pcm","e89ff730",8000,8); + + await testEncode("g711a","bacdc0ef"); + await testEncode("g711u","83298d81"); + await testEncode("webm","",0,0,1); + + await testEncode("amr","3da0ed48"); + await testEncode("amr","3da0ed48",8000,12.2); + await testEncode("amr","52eb6b77",8000,10.2); + await testEncode("amr","112c06c1",8000,7.95); + await testEncode("amr","e33dfccb",8000,7.4); + await testEncode("amr","5c4ed9f8",8000,6.7); + await testEncode("amr","81525d55",8000,5.9); + await testEncode("amr","ba2b9a84",8000,5.15); + await testEncode("amr","b9dd66ed",8000,4.75); + await testEncode("amr","0.1s_b47ef795",16000,16); + await testEncode("amr","0.5s_5266e677",16000,16); + + await testEncode("ogg","e3616938"); + await testEncode("ogg","4447adc3",8000,8); + await testEncode("ogg","b625c073",8000,96); + await testEncode("ogg","5fec9a43",16000,32); + await testEncode("ogg","fe1e4f30",16000,56); + await testEncode("ogg","dd92dbed",32000,64); + await testEncode("ogg","dd338501",48000,96); + await testEncode("ogg","2f6952f4",48000,56); + await testEncode("ogg","e0ac22e5",48000,16); + await testEncode("ogg","0.1s_92622d8b",16000,16); + await testEncode("ogg","0.1s_fb886b30",48000,56); + await testEncode("ogg","0.1s_cbca8923",48000,96); + await testEncode("ogg","0.5s_f1a670a2",8000,8); + await testEncode("ogg","0.5s_2c7e3b3e",16000,56); + await testEncode("ogg","0.5s_fc5e890d",48000,96); +} +if(1){ + await testWebProcess(); + await testProcess(); +} +if(1){ + await testBufferStreamPlayer(); + await testSonic(); +} + + + +//========测试结束=========== +console.log(""); +console.log("---------------------"); +Log("Recorder.LM:"+Recorder.LM+" 测试结果:"); +Log("\n"+okMsgs.join("\n"),2); +console.log("-----"); +if(errMsgs.length) Log("\n"+errMsgs.join("\n"),1); + + +//调用的代码中存在函数调用次数统计,保存统计结果 +if(global.ClearFunc$Call){ + console.log(""); + console.log("-------函数调用次数统计-------"); + ClearFunc$Call.Save(); +} + +})(); \ No newline at end of file diff --git a/assets/node-codes/test-engine.js b/assets/node-codes/test-engine.js new file mode 100644 index 00000000..3d007e2c --- /dev/null +++ b/assets/node-codes/test-engine.js @@ -0,0 +1,300 @@ +/****************** +《测试几个带engine的编码器》 +作者:高坚果 +时间:2023-09-25 20:51:06 + +运行: node test-engine.js [type=mp3] [br=16] [dist] [full][fast][save] [loop] + type=mp3|ogg|amr + br=16 只测试这个比特率 + dist 使用压缩版js进行测试 + full 进行完整测试,会测试时长为1小时的音频编码,测试会很慢 + fast 进行快速测试,最长测试1秒的音频编码,测试会很快 + loop 循环进行测试,不结束 + oggFullFast ogg全采样率测试 + save 保存一个文件,然后退出,用于检查音频内容 +******************/ +(async function(){ +require("./-global-.js"); +var argv=" "+process.argv.join(" "); +var FastTest=global.FastTest||process.argv.indexOf("fast")!=-1; +if(FastTest) Log("FastTest",3); + +var FullTest=global.FullTest||process.argv.indexOf("full")!=-1; +if(FullTest) Log("FullTest",3); + +var TestLoop=process.argv.indexOf("loop")!=-1; +if(TestLoop) Log("TestLoop",3); +var TestSave=process.argv.indexOf("save")!=-1; +if(TestSave) Log("TestSave",3); +var OggFullFast=process.argv.indexOf("oggFullFast")!=-1; +if(OggFullFast) Log("OggFullFast",3); + +var TestType=""; if(/ type=(\w+)/.test(argv))TestType=RegExp.$1; +if(TestType) Log("TestType="+TestType,3); + +var TestBitRate=0; if(/ br=([\d\.]+)/.test(argv))TestBitRate=+RegExp.$1; +if(TestBitRate) Log("TestBitRate="+TestBitRate,3); + +var UseDistJs=global.UseDistJs||process.argv.indexOf("dist")!=-1; +if(UseDistJs) Log("UseDistJs",3); +var jsDir=RootDir+(UseDistJs?"dist/":"src/"); + +var Recorder=require(jsDir+"recorder-core.js"); +require(jsDir+"engine/wav.js"); +require(jsDir+"engine/mp3.js"); +if(!UseDistJs)require(jsDir+"engine/mp3-engine.js"); +require(jsDir+"engine/beta-amr.js"); +if(!UseDistJs)require(jsDir+"engine/beta-amr-engine.js"); +require(jsDir+"engine/beta-ogg.js"); +if(!UseDistJs)require(jsDir+"engine/beta-ogg-engine.js"); + Recorder.OggVorbisEncoder.Module.StaticSeed=true;//让ogg每次生成文件相同 + +require(jsDir+"extensions/create-audio.nmn2pcm.js"); + +var fs=require("fs"); +var sampleRate=48000,testPcmFile=[],testPcm=[],noisePcm=[]; +(function(){ +var file="temp/test-engine-48k.wav"; +if(fs.existsSync(file)){ + var buf=fs.readFileSync(file).buffer; + testPcmFile=new Int16Array(buf).subarray(44/2); + + testPcm=new Int16Array(testPcmFile.length); + var bLen=~~(testPcmFile.length/2); + testPcm.set(testPcmFile.subarray(bLen),0); + testPcm.set(testPcmFile.subarray(0,bLen),testPcmFile.length-bLen); + Log("已读取PCM:"+file+" "+FormatMs(~~(testPcm.length/sampleRate*1000)),2); +}else{ + Log("正在生成测试PCM(未找到"+file+")..."); + var addPcm=function(item){ + var obj=item.get(sampleRate); + var pcm=new Int16Array(testPcm.length+obj.pcm.length); + pcm.set(testPcm); + pcm.set(obj.pcm,testPcm.length); + testPcm=pcm; + Log("已生成PCM:"+item.name,2); + }; + var pcms=Recorder.NMN2PCM.GetExamples(); + addPcm(pcms.ForElise); + addPcm(pcms.DFH); + addPcm(pcms.Canon); +}; + +noisePcm=new Int16Array(testPcm.length); +for(var i=0;i1000?dur+123:dur+3; + var pcm=getPcm(srcPcm,dur); + + var testMock=function(next){ + var rec=Recorder({type:type,sampleRate:sr,bitRate:br}); + rec.mock(pcm,sampleRate); + rec.stop(function(blob){ + if(TestSave && dur==60123){ + var path=ArrayBufferSaveTempFile("test-engine-save-"+(srcPcm==noisePcm?"noisePcm":"testPcm")+"."+type,blob); + Log("文件已保存在:"+path,2); + if(srcPcm==noisePcm){ + process.exit(0); + } + }; + var val=require('crypto').createHash("sha1").update(new Uint8Array(blob)).digest('hex'); + if(!Recorder[type+"2wav"]){ + next(blob,val); return; + } + Recorder[type+"2wav"](blob,function(b,duration){ + if(Math.abs(duration-dur)>100){ + var msg="转码成wav时长错误:"+FormatMs(duration); + errMsgs.push("Err "+Tag+" "+msg); Log("Err "+msg,1); + }else{ + Log("已转码成wav:"+FormatMs(duration)); + } + next(blob,val); return; + },function(msg){ throw msg }); + },function(msg){ throw msg }); + }; + var testEnvIn=function(next){ + if(fast){ next();return} + pcm=Recorder.SampleData([pcm],sampleRate,sr).data;//和mock一样一次性进行采样率转换,避免分段转换有差异 + var rec=Recorder({type:type,sampleRate:sr,bitRate:br}); + rec.envStart({ envName:"nodejs",canProcess:true },sr); + + var idx=0; + while(idx - - - - -``` - -或者在需要录音功能的页面引入压缩好的recorder.xxx.min.js文件减小代码体积 -``` html - -``` - -## 【3】调用录音 -@@Ref README.Codes@@ - - -## WaveView的调用方式 -引入`src/extensions/waveview.js`,再通过Recorder.WaveView调用即可,录音时动态显示波形,详细的使用请参考下面详细的README。 - -@@Ref README.WaveView.Codes@@ - -【附】部分扩展使用效果图([在线运行观看](https://xiangyuecn.gitee.io/recorder/assets/工具-代码运行和静态分发Runtime.html?jsname=test.extensions.visualization)): - -![](assets/use_wave.gif) - - -## WaveSurferView的调用方式 -引入`src/extensions/wavesurfer.view.js`,再通过Recorder.WaveSurferView调用即可,录音时动态显示波形,详细的使用请参考下面详细的README。 - - -## FrequencyHistogramView的调用方式 -引入`src/extensions/frequency.histogram.view.js`+`lib.fft.js`,再通过Recorder.FrequencyHistogramView调用即可,音频可视化频率直方图显示,详细的使用请参考下面详细的README。 - - -## BufferStreamPlayer的调用方式 -引入`src/extensions/buffer_stream.player.js`,在通过Recorder.BufferStreamPlayer调用即可,用于实时播放录音片段文件、把片段文件转换成MediaStream流,详细的使用请参考下面详细的README。 - - -## Sonic的调用方式 -引入`src/extensions/sonic.js`,再通过Recorder.Sonic调用即可,音频变速变调转换,详细的使用请参考下面详细的README。 - - -## DTMF的调用方式 -引入`src/extensions/dtmf.decode.js`+`lib.fft.js`:DTMF(电话拨号按键信号)解码器,解码得到按键值;`src/extensions/dtmf.encode.js`:编码生成器,生成按键对应的音频PCM信号;详细的使用请参考下面详细的README。 - - -## RecordApp的调用方式 -**方式一**:通过import/require引入 - +## 引入Recorder库 @@Ref RecordApp.README.ImportCode@@ -**方式二**:使用script标签引入 - -这种方式和GitHub上的代码使用没有差别,请阅读[GitHub仓库内RecordApp](https://github.com/xiangyuecn/Recorder/tree/master/app-support-sample)获得更详细的使用文档。 -``` html - - - - - - - - - -``` +## Recorder调用录音 +@@Ref README.Codes@@ -### 调用录音 +## RecordApp调用录音 @@Ref RecordApp.README.Codes@@ --------- -> 以下文档为GitHub仓库内的README原文,可能更新不及时,请到[GitHub仓库](https://github.com/xiangyuecn/Recorder)内查看最新文档 - -@@Ref README.Raw@@ @@Remove Start@@ diff --git a/assets/npm-home/hash-history.txt b/assets/npm-home/hash-history.txt index 150fe663..72c01eeb 100644 --- a/assets/npm-home/hash-history.txt +++ b/assets/npm-home/hash-history.txt @@ -1,4 +1,8 @@ [ + { + "sha1": "7015c239e5e7c9d14c0b94500302e4fdf0b0df8b", + "time": "2023/12/1 21:39:18" + }, { "sha1": "e23c1caa0e37bb7ffdf8097f91c22400064173be", "time": "2023/7/1 22:14:28" @@ -14,9 +18,5 @@ { "sha1": "4fa1d9dd106f8d959a505168088d935f98fc620d", "time": "2023/6/10 22:27:40" - }, - { - "sha1": "ef550552c34f40aebd27d186d8608540be998a02", - "time": "2023/2/1 23:06:25" } ] \ No newline at end of file diff --git a/assets/npm-home/package.json b/assets/npm-home/package.json index 6f7694b3..35516e5a 100644 --- a/assets/npm-home/package.json +++ b/assets/npm-home/package.json @@ -1,6 +1,6 @@ { "name": "recorder-core", - "version": "1.2.123456.9999", + "version": "1.3.123456.9999", "description": "Recorder库: html5 js 录音 mp3 wav ogg webm amr g711a g711u 格式,支持pc和Android、iOS部分浏览器、Hybrid App(提供Android iOS App源码)、微信,提供ASR语音识别转文字 H5版语音通话聊天示例 DTMF编码解码", "homepage": "https://github.com/xiangyuecn/Recorder", "main": "src/recorder-core.js", diff --git a/assets/page-i18n/QuickStart_html/en-US.js b/assets/page-i18n/QuickStart_html/en-US.js new file mode 100644 index 00000000..f3d38185 --- /dev/null +++ b/assets/page-i18n/QuickStart_html/en-US.js @@ -0,0 +1,278 @@ +/* +Recorder ../assets/page-i18n/QuickStart_html/en-US.js +https://github.com/xiangyuecn/Recorder + +Usage: Recorder.i18n.lang="en-US" or "en" + +Desc: English, 英语。The translation of the /QuickStart.html page, this translation mainly comes from: google translation + Baidu translation, translated from Chinese to English. 页面/QuickStart.html的翻译,此翻译主要来自:google翻译+百度翻译,由中文翻译成英文。 + +注意:请勿修改//@@打头的文本行;以下代码结构由/src/package-i18n.js自动生成,只允许在字符串中填写翻译后的文本,请勿改变代码结构;翻译的文本如果需要明确的空值,请填写"=Empty";文本中的变量用{n}表示(n代表第几个变量),所有变量必须都出现至少一次,如果不要某变量用{n!}表示 + +Note: Do not modify the text lines starting with //@@; The following code structure is automatically generated by /src/package-i18n.js, only the translated text is allowed to be filled in the string, please do not change the code structure; If the translated text requires an explicit empty value, please fill in "=Empty"; Variables in the text are represented by {n} (n represents the number of variables), all variables must appear at least once, if a variable is not required, it is represented by {n!} +*/ +(function(factory){ + var browser=typeof window=="object" && !!window.document; + var win=browser?window:Object; //非浏览器环境,Recorder挂载在Object下面 + factory(win.Recorder,browser); +}(function(Recorder,isBrowser){ +"use strict"; +var i18n=Recorder.i18n; + +//@@User Code-1 Begin 手写代码放这里 Put the handwritten code here @@ + +//@@User Code-1 End @@ + +//@@Exec i18n.lang="en-US"; +Recorder.CLog('Import Page[QuickStart_html] lang="en-US"'); + +//@@Exec i18n.alias["en-US"]="en"; + +var putSet={lang:"en"}; + +//@@Exec i18n.data["rtl$en"]=false; +i18n.data["desc-page-QuickStart_html$en"]="English, 英语。The translation of the /QuickStart.html page, this translation mainly comes from: google translation + Baidu translation, translated from Chinese to English. 页面/QuickStart.html的翻译,此翻译主要来自:google翻译+百度翻译,由中文翻译成英文。"; +//@@Exec i18n.GenerateDisplayEnglish=false; + + + +//*************** Begin srcFile=../QuickStart.html *************** +i18n.put(putSet, +[ //@@PutList + +//@@zh="Recorder H5 QuickStart: 快速入门" +//@@Put0 + "XvFp:"+ //no args + "Recorder H5 QuickStart: simple and easy to learn" + +//@@zh="Recorder H5 QuickStart: 快速入门" +,"JM2s:"+ //no args + "Recorder H5 QuickStart" + +//@@zh="更多Demo:" +,"FxZ3:"+ //no args + "More Demos: " + +//@@zh="切换到老版本测试" +,"UGOA:"+ //no args + "Switch to old version" + +//@@zh="打开录音,请求权限" +,"2KqN:"+ //no args + "Open recording, request permission" + +//@@zh="关闭录音,释放资源" +,"E0NB:"+ //no args + "Close recording, release resources" + +//@@zh="录制" +,"nlQN:"+ //no args + "Start recording" + +//@@zh="停止" +,"cEa1:"+ //no args + "Stop recording" + +//@@zh="暂停" +,"wQFS:"+ //no args + "Pause" + +//@@zh="继续" +,"hHDO:"+ //no args + "Resume" + +//@@zh="播放" +,"0TJm:"+ //no args + "Play" + +//@@zh="上传" +,"DOAp:"+ //no args + "Upload" + +//@@zh="本地下载" +,"GTE7:"+ //no args + "Local download" + +//@@zh="已打开录音,可以点击录制开始录音了" +,"GVCa:"+ //no args + "Recording has been opened, you can click the Start recording" + +//@@zh="打开录音失败:" +,"TOOV:"+ //no args + "Open the recording failed: " + +//@@zh="已关闭" +,"jqOs:"+ //no args + "Closed" + +//@@zh="未打开录音" +,"VOOw:"+ //no args + "Recording not open" + +//@@zh="已开始录音..." +,"CGdy:"+ //no args + "Started recording..." + +//@@zh="未打开录音" +,"ajKR:"+ //no args + "Recording not open" + +//@@zh="已暂停" +,"GvCy:"+ //no args + "Paused" + +//@@zh="未打开录音" +,"gCAR:"+ //no args + "Recording not open" + +//@@zh="继续录音中..." +,"5q1K:"+ //no args + "Resuming recording..." + +//@@zh="未打开录音" +,"Ob6S:"+ //no args + "Recording not open" + +//@@zh="未打开录音" +,"5JuL:"+ //no args + "Recording not open" + +//@@zh="时长:{1}ms" +,"gOix:"+ //args: {1} + "duration: {1}ms" + +//@@zh="已录制mp3:{1}ms {2}字节,可以点击播放、上传、本地下载了" +,"0LHf:"+ //args: {1}-{2} + "mp3 has been recorded: {1}ms {2}bytes, you can click on Play, Upload, Local download" + +//@@zh="录音失败:" +,"kGZO:"+ //no args + "Recording failed: " + +//@@zh="请先录音,然后停止后再播放" +,"tIke:"+ //no args + "Please record first, then stop and play" + +//@@zh="播放中: " +,"GlWb:"+ //no args + "Playing: " + +//@@zh="请先录音,然后停止后再上传" +,"DUTn:"+ //no args + "Please record first, then stop before uploading" + +//@@zh="上传成功" +,"G2MU:"+ //no args + "Successfully upload" + +//@@zh="没有完成上传,演示上传地址无需关注上传结果,只要浏览器控制台内Network面板内看到的请求数据结构是预期的就ok了。" +,"TUdi:"+ //no args + "If the upload is not completed, the demo upload address does not need to pay attention to the upload result. As long as the request data structure seen in the Network panel in the browser console is expected, it is ok." + +//@@zh="上传失败" +,"HjDi:"+ //no args + "Upload failed" + +//@@zh="开始上传到{1},请求稍后..." +,"QnSI:"+ //args: {1} + "Starting upload to {1}, requesting later..." + +//@@zh="上传方式一【Base64】" +,"gG1f:"+ //no args + "Upload method 1 [Base64] " + +//@@zh="上传方式二【FormData】" +,"vDzB:"+ //no args + "Upload method 2 [FormData] " + +//@@zh="请先录音,然后停止后再下载" +,"M86h:"+ //no args + "Please record first, then stop before downloading" + +//@@zh="点击 " +,"vJPl:"+ //no args + "Click " + +//@@zh=" 下载,或复制文本" +,"Whtc:"+ //no args + " download, or copy text" + +//@@zh="生成Base64文本" +,"XK4l:"+ //no args + "Generate Base64 text" + +//@@zh="下载 " +,"g8Fy:"+ //no args + "Download " + +//@@zh="因移动端绝大部分国产浏览器未适配Blob Url的下载,所以本demo代码在移动端未调用downA.click()。请尝试点击日志中显示的下载链接下载" +,"DIEK:"+ //no args + "Because the mobile browser may not be suitable for downloading Blob Url, this demo code does not call downA.click() on the mobile terminal. Please try to click the download link displayed in the log to download" + +//@@zh="老的数据没有保存,只支持最新的一条" +,"eKKx:"+ //no args + "Old data is not saved, only the latest one is supported" + +//@@zh="不能获得错误堆栈" +,"kBaF:"+ //no args + "can't get error stack" + +//@@zh="如需录音功能定制开发,网站、App、小程序、前端后端开发等需求,请加QQ群:①群 781036591、②群 748359095,口令recorder,联系群主(即作者),谢谢~" +,"Hzox:"+ //no args + "If you need custom development of recording functions, websites, apps, miniProgram, front-end and back-end development, etc., please join the Tencent QQ group: ①group 781036591、②group 748359095, password recorder, contact the group owner (ie the author), thank you~" + +//@@zh="Recorder App基于Recorder H5的跨平台录音,支持在浏览器环境中使用(H5)、各种使用js来构建的程序中使用(App、小程序、UniApp、Electron、NodeJs)" +,"m0EU:"+ //no args + "Recorder App is based on Recorder H5's cross-platform recording and supports use in browser environments (H5) and various programs built using js (App, MiniProgram, UniApp, Electron, NodeJs)" + +//@@zh="Recorder H5使用简单,功能丰富,支持PC、Android、iOS 14.3+" +,"v17f:"+ //no args + "Recorder H5 is easy to use, rich in functions, and supports PC, Android, iOS 14.3+" + +//@@zh="本页面修改时间(有可能修改了忘改):" +,"EfeX:"+ //no args + "Modification time of this page (it may be modified and forgotten): " + +//@@zh="Recorder库修改时间(有可能修改了忘改):" +,"9Jy2:"+ //no args + "Modification time of the Recorder library (it may be modified and forgotten): " + +//@@zh="你可以直接将 " +,"7gIC:"+ //no args + "You can directly copy the " + +//@@zh=" 文件copy到你的(https)网站中,无需其他文件,就能正常开始测试了;相比 Recorder H5 (/index.html) 这个大而全(杂乱)的demo,本文件更适合入门学习" +,"s731:"+ //no args + " file to your (https) website, and you can start testing normally without other files; compared to the large and complete (messy) demo of Recorder H5 (/index.html), this file is more suitable for introductory learning" + +//@@zh="当前浏览器" +,"ERsK:"+ //no args + "Current browser " + +//@@zh="支持录音" +,"7tuo:"+ //no args + "supports audio recording" + +//@@zh="不支持录音" +,"8Z8O:"+ //no args + "does not support audio recording" + +//@@zh="本页面的js资源采用的CDN不稳定,已切换到:" +,"1YEb:"+ //no args + "The CDN used by the js resources on this page is unstable and has been switched to: " + +//@@zh="页面已准备好,请先点击打开录音,然后点击录制" +,"BL9u:"+ //no args + "The page is ready, please click to open the recording first, then click the Start recording" + +//@@zh="js文件加载失败,请刷新重试!" +,"YzPd:"+ //no args + "js file failed to load, please refresh and try again!" + +]); +//*************** End srcFile=../QuickStart.html *************** + +//@@User Code-2 Begin 手写代码放这里 Put the handwritten code here @@ + +//@@User Code-2 End @@ + +})); \ No newline at end of file diff --git a/assets/page-i18n/app_QuickStart_html/en-US.js b/assets/page-i18n/app_QuickStart_html/en-US.js new file mode 100644 index 00000000..d311fffc --- /dev/null +++ b/assets/page-i18n/app_QuickStart_html/en-US.js @@ -0,0 +1,286 @@ +/* +Recorder ../assets/page-i18n/app_QuickStart_html/en-US.js +https://github.com/xiangyuecn/Recorder + +Usage: Recorder.i18n.lang="en-US" or "en" + +Desc: English, 英语。The translation of the /app-support-sample/QuickStart.html page, this translation mainly comes from: google translation + Baidu translation, translated from Chinese to English. 页面/app-support-sample/QuickStart.html的翻译,此翻译主要来自:google翻译+百度翻译,由中文翻译成英文。 + +注意:请勿修改//@@打头的文本行;以下代码结构由/src/package-i18n.js自动生成,只允许在字符串中填写翻译后的文本,请勿改变代码结构;翻译的文本如果需要明确的空值,请填写"=Empty";文本中的变量用{n}表示(n代表第几个变量),所有变量必须都出现至少一次,如果不要某变量用{n!}表示 + +Note: Do not modify the text lines starting with //@@; The following code structure is automatically generated by /src/package-i18n.js, only the translated text is allowed to be filled in the string, please do not change the code structure; If the translated text requires an explicit empty value, please fill in "=Empty"; Variables in the text are represented by {n} (n represents the number of variables), all variables must appear at least once, if a variable is not required, it is represented by {n!} +*/ +(function(factory){ + var browser=typeof window=="object" && !!window.document; + var win=browser?window:Object; //非浏览器环境,Recorder挂载在Object下面 + factory(win.Recorder,browser); +}(function(Recorder,isBrowser){ +"use strict"; +var i18n=Recorder.i18n; + +//@@User Code-1 Begin 手写代码放这里 Put the handwritten code here @@ + +//@@User Code-1 End @@ + +//@@Exec i18n.lang="en-US"; +Recorder.CLog('Import Page[app_QuickStart_html] lang="en-US"'); + +//@@Exec i18n.alias["en-US"]="en"; + +var putSet={lang:"en"}; + +//@@Exec i18n.data["rtl$en"]=false; +i18n.data["desc-page-app_QuickStart_html$en"]="English, 英语。The translation of the /app-support-sample/QuickStart.html page, this translation mainly comes from: google translation + Baidu translation, translated from Chinese to English. 页面/app-support-sample/QuickStart.html的翻译,此翻译主要来自:google翻译+百度翻译,由中文翻译成英文。"; +//@@Exec i18n.GenerateDisplayEnglish=false; + + + +//*************** Begin srcFile=../app-support-sample/QuickStart.html *************** +i18n.put(putSet, +[ //@@PutList + +//@@zh="RecordApp QuickStart: 快速入门" +//@@Put0 + "CS4l:"+ //no args + "Recorder App QuickStart: simple and easy to learn" + +//@@zh="Recorder App QuickStart: 快速入门" +,"47ME:"+ //no args + "Recorder App QuickStart" + +//@@zh="更多Demo:" +,"0KbD:"+ //no args + "More Demos: " + +//@@zh="请求权限" +,"65pE:"+ //no args + "Request permission" + +//@@zh="录制" +,"B3ly:"+ //no args + "Start recording" + +//@@zh="停止" +,"qpRJ:"+ //no args + "Stop recording" + +//@@zh="暂停" +,"hQ6r:"+ //no args + "Pause" + +//@@zh="继续" +,"ncRU:"+ //no args + "Resume" + +//@@zh="停止(仅清理)" +,"V0wV:"+ //no args + "Stop recording (clean only)" + +//@@zh="播放" +,"uwNo:"+ //no args + "Play" + +//@@zh="上传" +,"ziQt:"+ //no args + "Upload" + +//@@zh="本地下载" +,"HsFg:"+ //no args + "Local download" + +//@@zh="App里面总是使用Recorder H5录音" +,"iIYH:"+ //no args + "Always use Recorder H5 in the App to record" + +//@@zh="开始请求授权..." +,"Dy0d:"+ //no args + "Start requesting permissions..." + +//@@zh="已授权" +,"crXf:"+ //no args + "Permission granted" + +//@@zh="授权失败:" +,"z8Lp:"+ //no args + "Requesting permission failed: " + +//@@zh="未请求权限" +,"38jY:"+ //no args + "Permission not requested" + +//@@zh="正在使用Native录音,底层由App原生层提供支持" +,"oZxa:"+ //no args + "Native recording is being used, supported by the App native layer" + +//@@zh="正在使用H5录音,底层由Recorder直接提供支持" +,"l9Th:"+ //no args + "Currently using H5 recording, directly supported by Recorder" + +//@@zh="正在打开..." +,"ULVy:"+ //no args + "Opening..." + +//@@zh="录制中:" +,"qUcx:"+ //no args + "Recording: " + +//@@zh="开始录音失败:" +,"0Rxw:"+ //no args + "Failed to start recording: " + +//@@zh="已暂停" +,"S27N:"+ //no args + "Paused" + +//@@zh="继续录音中..." +,"ChUt:"+ //no args + "Resuming recording..." + +//@@zh="未请求权限" +,"eHzv:"+ //no args + "Recording permission not requested" + +//@@zh="已录制mp3:{1}ms {2}字节,可以点击播放、上传、本地下载了" +,"YcB5:"+ //args: {1}-{2} + "mp3 has been recorded: {1}ms {2}bytes, you can click on Play, Upload, Local download" + +//@@zh="录音失败:" +,"nIFF:"+ //no args + "Recording failed: " + +//@@zh="已清理,错误信息:" +,"vHlR:"+ //no args + "Cleaned, error message: " + +//@@zh="请先录音,然后停止后再播放" +,"kWpA:"+ //no args + "Please record first, then stop and play" + +//@@zh="播放中: " +,"XCKe:"+ //no args + "Playing: " + +//@@zh="请先录音,然后停止后再上传" +,"SLaX:"+ //no args + "Please record first, then stop before uploading" + +//@@zh="上传成功" +,"DHfL:"+ //no args + "Successfully upload" + +//@@zh="没有完成上传,演示上传地址无需关注上传结果,只要浏览器控制台内Network面板内看到的请求数据结构是预期的就ok了。" +,"K1x7:"+ //no args + "If the upload is not completed, the demo upload address does not need to pay attention to the upload result. As long as the request data structure seen in the Network panel in the browser console is expected, it is ok." + +//@@zh="上传失败" +,"UKGO:"+ //no args + "Upload failed" + +//@@zh="开始上传到{1},请求稍后..." +,"JIr4:"+ //args: {1} + "Starting upload to {1}, requesting later..." + +//@@zh="上传方式一【Base64】" +,"XVmd:"+ //no args + "Upload method 1 [Base64] " + +//@@zh="上传方式二【FormData】" +,"6rhE:"+ //no args + "Upload method 2 [FormData] " + +//@@zh="请先录音,然后停止后再下载" +,"hFmL:"+ //no args + "Please record first, then stop before downloading" + +//@@zh="点击 " +,"UrgF:"+ //no args + "Click " + +//@@zh=" 下载,或复制文本" +,"c7b7:"+ //no args + " download, or copy text" + +//@@zh="生成Base64文本" +,"6Bln:"+ //no args + "Generate Base64 text" + +//@@zh="下载 " +,"ROdY:"+ //no args + "Download " + +//@@zh="因移动端绝大部分国产浏览器未适配Blob Url的下载,所以本demo代码在移动端未调用downA.click()。请尝试点击日志中显示的下载链接下载" +,"3rPj:"+ //no args + "Because the mobile browser may not be suitable for downloading Blob Url, this demo code does not call downA.click() on the mobile terminal. Please try to click the download link displayed in the log to download" + +//@@zh="老的数据没有保存,只支持最新的一条" +,"weWp:"+ //no args + "Old data is not saved, only the latest one is supported" + +//@@zh="不能获得错误堆栈" +,"L6RO:"+ //no args + "can't get error stack" + +//@@zh="如需录音功能定制开发,网站、App、小程序、前端后端开发等需求,请加QQ群:①群 781036591、②群 748359095,口令recorder,联系群主(即作者),谢谢~" +,"FaWz:"+ //no args + "If you need custom development of recording functions, websites, apps, miniProgram, front-end and back-end development, etc., please join the Tencent QQ group: ①group 781036591、②group 748359095, password recorder, contact the group owner (ie the author), thank you~" + +//@@zh="Recorder App基于Recorder H5的跨平台录音,支持在浏览器环境中使用(H5)、各种使用js来构建的程序中使用(App、小程序、UniApp、Electron、NodeJs)" +,"98Ry:"+ //no args + "Recorder App is based on Recorder H5's cross-platform recording and supports use in browser environments (H5) and various programs built using js (App, MiniProgram, UniApp, Electron, NodeJs)" + +//@@zh="Recorder H5使用简单,功能丰富,支持PC、Android、iOS 14.3+" +,"p71N:"+ //no args + "Recorder H5 is easy to use, rich in functions, and supports PC, Android, iOS 14.3+" + +//@@zh="本页面修改时间(有可能修改了忘改):" +,"5hyY:"+ //no args + "Modification time of this page (it may be modified and forgotten): " + +//@@zh="RecordApp库修改时间(有可能修改了忘改):" +,"7GKB:"+ //no args + "Modification time of the RecordApp library (it may be modified and forgotten): " + +//@@zh="Recorder库修改时间(有可能修改了忘改):" +,"or9l:"+ //no args + "Modification time of the Recorder library (it may be modified and forgotten): " + +//@@zh="你可以直接将 " +,"veMB:"+ //no args + "You can directly copy the " + +//@@zh=" 文件copy到你的(https)网站中,无需其他文件,就能正常开始测试了,本文件更适合入门学习" +,"EA2M:"+ //no args + " file to your (https) website, and you can start testing normally without other files; this file is more suitable for introductory learning" + +//@@zh="本页面的js资源采用的CDN不稳定,已切换到:" +,"LiG4:"+ //no args + "The CDN used by the js resources on this page is unstable and has been switched to: " + +//@@zh="AppUseH5选项变更,已重置RecordApp,请先进行权限测试" +,"Xvin:"+ //no args + "AppUseH5 option changed, RecordApp has been reset, please test permissions first" + +//@@zh="Install成功,环境:" +,"1GmN:"+ //no args + "Install successfully, environment: " + +//@@zh="页面已准备好,请先点击请求权限,然后点击录制" +,"1ffD:"+ //no args + "The page is ready, please click Request permission first, then click the Start recording" + +//@@zh="RecordApp.Install出错:" +,"Y5vJ:"+ //no args + "RecordApp.Install error: " + +//@@zh="js文件加载失败,请刷新重试!" +,"1ISU:"+ //no args + "js file failed to load, please refresh and try again!" + +]); +//*************** End srcFile=../app-support-sample/QuickStart.html *************** + +//@@User Code-2 Begin 手写代码放这里 Put the handwritten code here @@ + +//@@User Code-2 End @@ + +})); \ No newline at end of file diff --git a/assets/page-i18n/app_index_html/en-US.js b/assets/page-i18n/app_index_html/en-US.js new file mode 100644 index 00000000..af4918dc --- /dev/null +++ b/assets/page-i18n/app_index_html/en-US.js @@ -0,0 +1,590 @@ +/* +Recorder ../assets/page-i18n/app_index_html/en-US.js +https://github.com/xiangyuecn/Recorder + +Usage: Recorder.i18n.lang="en-US" or "en" + +Desc: English, 英语。The translation of the /app-support-sample/index.html page, this translation mainly comes from: google translation + Baidu translation, translated from Chinese to English. 页面/app-support-sample/index.html的翻译,此翻译主要来自:google翻译+百度翻译,由中文翻译成英文。 + +注意:请勿修改//@@打头的文本行;以下代码结构由/src/package-i18n.js自动生成,只允许在字符串中填写翻译后的文本,请勿改变代码结构;翻译的文本如果需要明确的空值,请填写"=Empty";文本中的变量用{n}表示(n代表第几个变量),所有变量必须都出现至少一次,如果不要某变量用{n!}表示 + +Note: Do not modify the text lines starting with //@@; The following code structure is automatically generated by /src/package-i18n.js, only the translated text is allowed to be filled in the string, please do not change the code structure; If the translated text requires an explicit empty value, please fill in "=Empty"; Variables in the text are represented by {n} (n represents the number of variables), all variables must appear at least once, if a variable is not required, it is represented by {n!} +*/ +(function(factory){ + var browser=typeof window=="object" && !!window.document; + var win=browser?window:Object; //非浏览器环境,Recorder挂载在Object下面 + factory(win.Recorder,browser); +}(function(Recorder,isBrowser){ +"use strict"; +var i18n=Recorder.i18n; + +//@@User Code-1 Begin 手写代码放这里 Put the handwritten code here @@ + +//@@User Code-1 End @@ + +//@@Exec i18n.lang="en-US"; +Recorder.CLog('Import Page[app_index_html] lang="en-US"'); + +//@@Exec i18n.alias["en-US"]="en"; + +var putSet={lang:"en"}; + +//@@Exec i18n.data["rtl$en"]=false; +i18n.data["desc-page-app_index_html$en"]="English, 英语。The translation of the /app-support-sample/index.html page, this translation mainly comes from: google translation + Baidu translation, translated from Chinese to English. 页面/app-support-sample/index.html的翻译,此翻译主要来自:google翻译+百度翻译,由中文翻译成英文。"; +//@@Exec i18n.GenerateDisplayEnglish=false; + + + +//*************** Begin srcFile=../app-support-sample/index.html *************** +i18n.put(putSet, +[ //@@PutList + +//@@zh="RecordApp测试" +//@@Put0 + "PZM5:"+ //no args + "RecordApp Test" + +//@@zh="Recorder H5使用简单,功能丰富,支持PC、Android、iOS 14.3+" +,"a2Uc:"+ //no args + "Recorder H5 is easy to use and rich in functions, supporting PC, Android, iOS 14.3+" + +//@@zh="支持:浏览器WebView(H5)、各种使用js来构建的程序(App、小程序、UniApp、Electron、NodeJs)" +,"ptyK:"+ //no args + "Support: browser WebView (H5), various programs built using js (App, miniProgram, UniApp, Electron, NodeJs)" + +//@@zh="RecordApp:基于Recorder的跨平台录音解决方案" +,"v1fx:"+ //no args + "RecordApp: Cross-platform recording solution based on Recorder" + +//@@zh="- 支持H5页面录音(即本页面支持):" +,"kYvU:"+ //no args + "- Support H5 page recording (that is, supported by this page): " + +//@@zh="在浏览器中(含App WebView)默认使用Recorder H5进行录音" +,"Roj2:"+ //no args + "Recorder H5 is used by default in the browser (including App WebView) for recording" + +//@@zh="在开启了原生支持的App WebView中使用原生录音,App Demo:" +,"c7mM:"+ //no args + "Using native recording in App WebView with native support enabled, App Demo:" + +//@@zh="- 支持微信小程序录音,微信小程序Demo:" +,"up8g:"+ //no args + "- Support WeChat miniProgram recording, WeChat miniProgram Demo:" + +//@@zh="- 支持uni-app录音:H5、Android iOS App、微信小程序,含组件示例:" +,"K3sX:"+ //no args + "- Supports uni-app recording: H5, Android iOS App, WeChat miniProgram, including component examples:" + +//@@zh="- 支持自行适配到各种js运行环境中录音,比如:Electron、NodeJs、各种小程序" +,"sjDM:"+ //no args + "- Supports self-adaptation to recording in various js running environments, such as: Electron, NodeJs, various miniPrograms" + +//@@zh="- 以上环境中均可使用大部分的: 录音格式、实时处理、和可视化等扩展功能" +,"5agh:"+ //no args + "- Most recording formats, real-time processing, and visualization extensions can be used in the above environments" + +//@@zh="源码仓库 :" +,"lIPR:"+ //no args + "Open Source :" + +//@@zh="更多Demo :" +,"ZNjk:"+ //no args + "More Demos :" + +//@@zh="Demo列表(可编辑)" +,"Hkoo:"+ //no args + "Demo List (editable)" + +//@@zh="(Copy即用,更适合入门学习)" +,"paWp:"+ //no args + "(Simple and easy to learn)" + +//@@zh="类型 :" +,"5lOo:"+ //no args + "Type :" + +//@@zh="提示 :" +,"dsAF:"+ //no args + "Hint :" + +//@@zh="比特率 :" +,"u4jV:"+ //no args + "bitRate :" + +//@@zh="kbps,越大音质越好" +,"06ha:"+ //no args + "kbps, The larger the value, the better the sound quality" + +//@@zh="采样率 :" +,"4PRA:"+ //no args + "sampleRate :" + +//@@zh="hz,越大细节越丰富" +,"e0ec:"+ //no args + "hz, The larger the value, the richer the details" + +//@@zh="App里面总是使用Recorder H5录音" +,"Wpwv:"+ //no args + "Always use Recorder H5 to record in the app" + +//@@zh="请求权限" +,"aoOU:"+ //no args + "Request permission" + +//@@zh="录制" +,"3MeL:"+ //no args + "Start recording" + +//@@zh="停止" +,"9vcY:"+ //no args + "Stop recording" + +//@@zh="录制+定时停止" +,"6CdW:"+ //no args + "Recording + timed stop" + +//@@zh="暂停" +,"hxxb:"+ //no args + "Pause" + +//@@zh="继续" +,"Orkm:"+ //no args + "Resume" + +//@@zh="停止(仅清理)" +,"Yna5:"+ //no args + "Stop (clean only)" + +//@@zh="播放" +,"Wahr:"+ //no args + "Play" + +//@@zh="上传" +,"6Rqg:"+ //no args + "Upload" + +//@@zh="本地下载" +,"gXBH:"+ //no args + "Local download" + +//@@zh="批量编码" +,"wFvj:"+ //no args + "Batch encoding" + +//@@zh="kbps 测试音质用的,除比特率外其他参数可调整" +,"ozCS:"+ //no args + "kbps, for testing sound quality, other parameters except bit rate can be adjusted" + +//@@zh="接管编码器输出(takeoffEncodeChunk)" +,"Hyuy:"+ //no args + "Take over the encoder output (takeoffEncodeChunk)" + +//@@zh="模拟实时编码传输(H5版语音通话聊天),发送间隔" +,"zb16:"+ //no args + "(Chinese) Simulate real-time encoding transmission (H5 version voice call chat), sending interval" + +//@@zh="实时语音识别、音频文件转文字,ASR" +,"jCKC:"+ //no args + "(Chinese) Real-time speech recognition, audio file to text, ASR" + +//@@zh="测试App :" +,"QFFW:"+ //no args + "Test App :" + +//@@zh="下载源码" +,"WUY9:"+ //no args + "Download source code" + +//@@zh="自行编译" +,"AeNc:"+ //no args + "Compile yourself" + +//@@zh="下载APK" +,"Uf5q:"+ //no args + "Download APK" + +//@@zh="40kb,删除.zip后缀," +,"5zSj:"+ //no args + "40kb, delete .zip suffix, " + +//@@zh="源码" +,"G0HC:"+ //no args + "Source code" + +//@@zh="如需录音功能定制开发,网站、App、小程序、前端后端开发等需求,请加QQ群:①群 781036591、②群 748359095,口令recorder,联系群主(即作者),谢谢~" +,"Pea3:"+ //no args + "If you need custom development of recording functions, websites, apps, miniProgram, front-end and back-end development, etc., please join the Tencent QQ group: ①group 781036591、②group 748359095, password recorder, contact the group owner (ie the author), thank you~" + +//@@zh="浏览器环境情况 :" +,"IClu:"+ //no args + "Browser environment :" + +//@@zh="RecordApp库修改时间(有可能修改了忘改):" +,"mt71:"+ //no args + "Modification time of the RecordApp library (it may be modified and forgotten): " + +//@@zh="Recorder库修改时间(有可能修改了忘改):" +,"ySaK:"+ //no args + "Modification time of the Recorder library (it may be modified and forgotten): " + +//@@zh="本页面修改时间(有可能修改了忘改):" +,"Ls9o:"+ //no args + "Modification time of this page (it may be modified and forgotten): " + +//@@zh="不能获得错误堆栈" +,"jwqb:"+ //no args + "can't get error stack" + +//@@zh="AppUseH5选项变更,已重置RecordApp,请先进行权限测试" +,"T6A6:"+ //no args + "AppUseH5 option changed, RecordApp has been reset, please test permissions first" + +//@@zh="开始请求授权..." +,"LnQj:"+ //no args + "Start requesting permissions..." + +//@@zh="已授权" +,"wnd4:"+ //no args + "Permission granted" + +//@@zh="授权失败:" +,"oFqf:"+ //no args + "Failed to obtain permission: " + +//@@zh="定时不能小于100ms" +,"9ZjY:"+ //no args + "Timing cannot be less than 100ms" + +//@@zh="定时{1}ms后自动停止录音" +,"7Jp4:"+ //args: {1} + "Automatically stop recording after {1}ms" + +//@@zh="定时时间到,开始自动调用停止..." +,"MHeo:"+ //no args + "When the time is up, start to call automatically to stop..." + +//@@zh="已取消定时停止" +,"K57T:"+ //no args + "Timed stop canceled" + +//@@zh="需先调用RequestPermission" +,"dejy:"+ //no args + "Need to call RequestPermission first" + +//@@zh="正在使用Native录音,底层由App原生层提供支持" +,"Knhl:"+ //no args + "Native recording is being used, and the bottom layer is supported by the App native layer" + +//@@zh="正在使用H5录音,底层由Recorder直接提供支持" +,"mHN7:"+ //no args + "H5 recording is being used, and the underlying layer is directly supported by Recorder" + +//@@zh="当前环境{1}不支持实时回调,不能模拟实时编码传输" +,"GM5h:"+ //args: {1} + "The current environment {1} does not support real-time callback and cannot simulate real-time encoding transmission" + +//@@zh="当前环境{1}不支持实时回调,不能进行实时语音识别" +,"Vee6:"+ //args: {1} + "The current environment {1} does not support real-time callback and cannot perform real-time speech recognition" + +//@@zh="正在打开..." +,"wFnI:"+ //no args + "Starting..." + +//@@zh="录制中:" +,"bYp4:"+ //no args + "Recording:" + +//@@zh="开始录音失败:" +,"EBjo:"+ //no args + "Failed to start recording: " + +//@@zh="已暂停" +,"z2B2:"+ //no args + "Paused" + +//@@zh="继续录音中..." +,"sTFX:"+ //no args + "Resuming recording..." + +//@@zh="已清理,错误信息:" +,"C7au:"+ //no args + "Cleaned, error message: " + +//@@zh="启用takeoffEncodeChunk后Stop返回的blob长度为0不提供音频数据" +,"aS2G:"+ //no args + "After enabling takeoffEncodeChunk, the length of the blob returned by Stop is 0 and no audio data is provided" + +//@@zh="takeoffEncodeChunk接收到{1}片音频片段,正在合并成一个音频文件..." +,"Vsr4:"+ //args: {1} + "takeoffEncodeChunk received {1} audio chunks, merging into one audio file..." + +//@@zh="合并" +,"NcRr:"+ //no args + "merge" + +//@@zh="已录制" +,"SS8P:"+ //no args + "Recorded" + +//@@zh="失败:" +,"Xnib:"+ //no args + "Fail: " + +//@@zh="正在结束" +,"s99V:"+ //no args + "Stopping" + +//@@zh="已录制" +,"jpEQ:"+ //no args + "Recorded" + +//@@zh="失败:" +,"lenm:"+ //no args + "Fail: " + +//@@zh="花{1}ms编码{2}B" +,"aZ4T:"+ //args: {1}-{2} + ", it took {1}ms to encode {2}B, " + +//@@zh="下载" +,"9aiF:"+ //no args + "Download" + +//@@zh="播放" +,"56g1:"+ //no args + "Play" + +//@@zh="使用RecordApp.GetCurrentRecOrNull()方法,我们可以在停止录音时,得到RecordApp编码用的rec对象,因此可以进行二次编码。" +,"LZkZ:"+ //no args + "Using the RecordApp.GetCurrentRecOrNull() method, we can get the rec object used for RecordApp encoding when we stop recording, so we can perform secondary encoding." + +//@@zh="需先录个音" +,"qKJ9:"+ //no args + "Need to record a sound first" + +//@@zh="码率列表有误,需要? to ? step ?结构" +,"J1wQ:"+ //no args + "The bitRate list is wrong, the ? to ? step ? structure is required" + +//@@zh="开始批量编码,请勿进行其他操作~" +,"OQV2:"+ //no args + "Start batch encoding, do not perform other operations~" + +//@@zh="批量编码完成" +,"nUq7:"+ //no args + "Batch encoding complete" + +//@@zh="已编码" +,"A7H4:"+ //no args + "Encoded" + +//@@zh="失败:" +,"mFBf:"+ //no args + "Fail: " + +//@@zh="播放失败" +,"kj0b:"+ //no args + "Play failed" + +//@@zh="正在转码成wav..." +,"Jysa:"+ //no args + "transcoding to wav..." + +//@@zh="已转码成wav播放" +,"zbUk:"+ //no args + "Transcoded into wav playback" + +//@@zh="转码成wav失败:" +,"v8S9:"+ //no args + "Transcoding to wav failed: " + +//@@zh="请先录音,然后停止后再播放" +,"U3nx:"+ //no args + "Please record first, then stop and play" + +//@@zh="请先录音,然后停止后再上传" +,"8y8L:"+ //no args + "Please record first, then stop before uploading" + +//@@zh="上传成功" +,"ebkz:"+ //no args + "Successfully upload" + +//@@zh="没有完成上传,演示上传地址无需关注上传结果,只要浏览器控制台内Network面板内看到的请求数据结构是预期的就ok了。" +,"p3cq:"+ //no args + "If the upload is not completed, the demo upload address does not need to pay attention to the upload result. As long as the request data structure seen in the Network panel in the browser console is expected, it is ok." + +//@@zh="上传失败" +,"rscd:"+ //no args + "Upload failed" + +//@@zh="开始上传到{1},请求稍后..." +,"t0Vr:"+ //args: {1} + "Starting upload to {1}, requesting later..." + +//@@zh="上传方式一【Base64】" +,"3Auy:"+ //no args + "Upload method 1 [Base64] " + +//@@zh="上传方式二【FormData】" +,"GEBC:"+ //no args + "Upload method 2 [FormData] " + +//@@zh="请先录音,然后停止后再下载" +,"g1CD:"+ //no args + "Please record first, then stop before downloading" + +//@@zh="点击{1}" +,"Lw0c:"+ //args: {1} + "Click {1}" + +//@@zh="下载,或复制文本" +,"cs8P:"+ //no args + "to download, or copy the text" + +//@@zh="生成Base64文本" +,"hziK:"+ //no args + "Generate Base64 text" + +//@@zh="下载 " +,"rxa0:"+ //no args + "download " + +//@@zh="因移动端绝大部分国产浏览器未适配Blob Url的下载,所以本demo代码在移动端未调用downA.click()。请尝试点击日志中显示的下载链接下载,无法下载就复制Base64" +,"V48u:"+ //no args + "Because the mobile browser may not be suitable for downloading Blob Url, this demo code does not call downA.click() on the mobile terminal. Please try to click the download link displayed in the log to download, if you cannot download, copy Base64" + +//@@zh="动态波形" +,"RDIF:"+ //no args + "Dynamic Waveform" + +//@@zh="音频可视化波形" +,"08jd:"+ //no args + "Visualization Waveform" + +//@@zh="音频可视化频率直方图" +,"JrUV:"+ //no args + "Visualize Spectrum" + +//@@zh="已切换波形显示为:" +,"GGPu:"+ //no args + "The switched waveforms are displayed as: " + +//@@zh="点击录制开始哦" +,"x6fO:"+ //no args + "Click the Start Recording button to start" + +//@@zh="、" +,"U67F:"+ //no args + ", " + +//@@zh="已启用Extensions:" +,"4DQX:"+ //no args + "Extensions enabled: " + +//@@zh="当前页面处在在iframe中,但故意未进行任何处理," +,"m96f:"+ //no args + "The current page is in an iframe, but no processing is done on purpose, " + +//@@zh="当前是同域" +,"9ywI:"+ //no args + "Currently in the same domain" + +//@@zh="并且已发生跨域,未设置相应策略H5录音权限永远是拒绝的,Native使用了postMessage转发兼容方案" +,"fLAB:"+ //no args + "And cross-domain has occurred, and the corresponding policy permission is not set and the permission will always be denied, native uses a postMessage forwarding compatibility solution" + +//@@zh="正在加载{1} ..." +,"bzvb:"+ //args: {1} + "Loading {1} ..." + +//@@zh="正在加载{1} ..." +,"pmQM:"+ //args: {1} + "Loading {1} ..." + +//@@zh="这个编码器无提示信息" +,"QNa8:"+ //no args + "This encoder has no prompt information" + +//@@zh="{1}编码器稳定版," +,"JcTD:"+ //args: {1} + "{1} encoder stable version, " + +//@@zh="{1}编码器beta版," +,"V3bs:"+ //args: {1} + "{1} encoder beta version, " + +//@@zh="{1}转码超快" +,"WKT6:"+ //args: {1} + "{1} encoding is super fast" + +//@@zh="支持边录边转码(Worker)" +,"Dnkb:"+ //no args + "Support encoding while recording (Worker)" + +//@@zh="仅支持标准UI线程转码" +,"YQGp:"+ //no args + "Only standard UI thread encoding is supported" + +//@@zh="(环境相应的支持文件,部分还需要配置文件)" +,"DPhZ:"+ //no args + " (Corresponding support files for the environment, some also require configuration files) " + +//@@zh="使用{1}录音需要加载的js:" +,"mirC:"+ //args: {1} + "The js that needs to be loaded when using {1} recording: " + +//@@zh="【压缩版】:" +,"GHsx:"+ //no args + "[Distribution File]: " + +//@@zh="【源文件】:" +,"XCXI:"+ //no args + "[Source File]: " + +//@@zh="{1}已加载,可以录音了" +,"lZEO:"+ //args: {1} + "{1} is loaded and ready to record" + +//@@zh="{1}编码器压缩版" +,"FBTi:"+ //args: {1} + "{1} encoder distribution version" + +//@@zh="{1}编码器源码版" +,"c5BM:"+ //args: {1} + "{1} encoder source version" + +//@@zh="正在加载{1}" +,"IzN2:"+ //args: {1} + "Loading {1}" + +//@@zh=",请勿操作..." +,"m196:"+ //no args + ", do not operate..." + +//@@zh="js加载失败:" +,"iXrp:"+ //no args + "js failed to load: " + +//@@zh="正在执行Install,请勿操作..." +,"xEpa:"+ //no args + "Install is in progress, please do not operate..." + +//@@zh="Install成功,环境:" +,"J58f:"+ //no args + "Install successfully, environment: " + +//@@zh="RecordApp.Install出错:" +,"zLUe:"+ //no args + "RecordApp.Install error: " + +]); +//*************** End srcFile=../app-support-sample/index.html *************** + +//@@User Code-2 Begin 手写代码放这里 Put the handwritten code here @@ + +//@@User Code-2 End @@ + +})); \ No newline at end of file diff --git a/assets/page-i18n/index_html/en-US.js b/assets/page-i18n/index_html/en-US.js new file mode 100644 index 00000000..bfe65202 --- /dev/null +++ b/assets/page-i18n/index_html/en-US.js @@ -0,0 +1,1042 @@ +/* +Recorder ../assets/page-i18n/index_html/en-US.js +https://github.com/xiangyuecn/Recorder + +Usage: Recorder.i18n.lang="en-US" or "en" + +Desc: English, 英语。The translation of the /index.html page, this translation mainly comes from: google translation + Baidu translation, translated from Chinese to English. 页面/index.html的翻译,此翻译主要来自:google翻译+百度翻译,由中文翻译成英文。 + +注意:请勿修改//@@打头的文本行;以下代码结构由/src/package-i18n.js自动生成,只允许在字符串中填写翻译后的文本,请勿改变代码结构;翻译的文本如果需要明确的空值,请填写"=Empty";文本中的变量用{n}表示(n代表第几个变量),所有变量必须都出现至少一次,如果不要某变量用{n!}表示 + +Note: Do not modify the text lines starting with //@@; The following code structure is automatically generated by /src/package-i18n.js, only the translated text is allowed to be filled in the string, please do not change the code structure; If the translated text requires an explicit empty value, please fill in "=Empty"; Variables in the text are represented by {n} (n represents the number of variables), all variables must appear at least once, if a variable is not required, it is represented by {n!} +*/ +(function(factory){ + var browser=typeof window=="object" && !!window.document; + var win=browser?window:Object; //非浏览器环境,Recorder挂载在Object下面 + factory(win.Recorder,browser); +}(function(Recorder,isBrowser){ +"use strict"; +var i18n=Recorder.i18n; + +//@@User Code-1 Begin 手写代码放这里 Put the handwritten code here @@ + +//@@User Code-1 End @@ + +//@@Exec i18n.lang="en-US"; +Recorder.CLog('Import Page[index_html] lang="en-US"'); + +//@@Exec i18n.alias["en-US"]="en"; + +var putSet={lang:"en"}; + +//@@Exec i18n.data["rtl$en"]=false; +i18n.data["desc-page-index_html$en"]="English, 英语。The translation of the /index.html page, this translation mainly comes from: google translation + Baidu translation, translated from Chinese to English. 页面/index.html的翻译,此翻译主要来自:google翻译+百度翻译,由中文翻译成英文。"; +//@@Exec i18n.GenerateDisplayEnglish=false; + + + +//*************** Begin srcFile=../index.html *************** +i18n.put(putSet, +[ //@@PutList + +//@@zh="Recorder H5: 用于html5网页中的前端录音解决方案,此录音插件支持mp3 wav pcm g711a g711u amr ogg webm格式,支持实时上传 语音识别 音频可视化 实时处理,可在PC端 移动端 Android iOS 原生App中跨平台使用" +//@@Put0 + "HQYi:"+ //no args + "Recorder H5: For front-end recording solutions in html5 web pages, this recording plug-in supports mp3 wav pcm g711a g711u amr ogg webm format; supports real-time upload, speech recognition, audio visualization, and real-time processing; it can be used on PC, mobile, and Android , iOS, native App cross-platform use" + +//@@zh="Recorder H5使用简单,功能丰富,支持PC、Android、iOS 14.3+" +,"K23n:"+ //no args + "Recorder H5 is easy to use and rich in functions, supporting PC, Android, iOS 14.3+" + +//@@zh="支持:浏览器WebView(H5)、各种使用js来构建的程序(App、小程序、UniApp、Electron、NodeJs)" +,"50II:"+ //no args + "Support: browser WebView (H5), various programs built using js (App, miniProgram, UniApp, Electron, NodeJs)" + +//@@zh="源码仓库 :" +,"3LzK:"+ //no args + "Open Source :" + +//@@zh="更多Demo :" +,"IzbQ:"+ //no args + "More Demos :" + +//@@zh="Demo列表(可编辑)" +,"Oy5V:"+ //no args + "Demo List (editable)" + +//@@zh="(Copy即用,更适合入门学习)" +,"XTmp:"+ //no args + "(Simple and easy to learn)" + +//@@zh="老版本 :" +,"Ajm0:"+ //no args + "Old Version :" + +//@@zh="切换到老版本测试" +,"dGDv:"+ //no args + "Switch to old version" + +//@@zh="类型 :" +,"Fwsy:"+ //no args + "Type :" + +//@@zh="请求压缩版(*.min.js、dist/*)" +,"b9LX:"+ //no args + "Request distribution files (*.min.js、dist/*)" + +//@@zh="提示 :" +,"ArEi:"+ //no args + "Hint :" + +//@@zh="比特率 :" +,"hSjb:"+ //no args + "bitRate :" + +//@@zh="kbps,越大音质越好" +,"oNuF:"+ //no args + "kbps, The larger the value, the better the sound quality" + +//@@zh="采样率 :" +,"2oPC:"+ //no args + "sampleRate :" + +//@@zh="hz,越大细节越丰富" +,"ldVn:"+ //no args + "hz, The larger the value, the richer the details" + +//@@zh="打开录音,请求权限" +,"fFtC:"+ //no args + "Open recording, request permission" + +//@@zh="关闭录音,释放资源" +,"p3Kq:"+ //no args + "Close recording, release resources" + +//@@zh="录制" +,"FIoV:"+ //no args + "Start recording" + +//@@zh="停止" +,"5bwK:"+ //no args + "Stop recording" + +//@@zh="暂停" +,"abgd:"+ //no args + "Pause" + +//@@zh="继续" +,"SWBS:"+ //no args + "Resume" + +//@@zh="播放" +,"WNdh:"+ //no args + "Play" + +//@@zh="上传" +,"xDbj:"+ //no args + "Upload" + +//@@zh="本地下载" +,"shLM:"+ //no args + "Local download" + +//@@zh="批量编码" +,"uuZ6:"+ //no args + "Batch encoding" + +//@@zh="kbps 测试音质用的,除比特率外其他参数可调整" +,"dLMM:"+ //no args + "kbps, for testing sound quality, other parameters except bit rate can be adjusted" + +//@@zh="开始录制后定时" +,"hoh3:"+ //no args + "Automatically stop recording at " + +//@@zh="ms自动停止录音,定时录音" +,"CX5p:"+ //no args + "ms after start recording, timed recording" + +//@@zh="接管编码器输出(takeoffEncodeChunk),切换后新打开录音生效" +,"AWXs:"+ //no args + "Take over the encoder output (takeoffEncodeChunk), and the newly opened recording takes effect after switching" + +//@@zh="模拟实时编码传输(H5版语音通话聊天),发送间隔" +,"SUfw:"+ //no args + "(Chinese) Simulate real-time encoding transmission (H5 version voice call chat), sending interval" + +//@@zh="实时语音识别、音频文件转文字,ASR" +,"lvN7:"+ //no args + "(Chinese) Real-time speech recognition, audio file to text, ASR" + +//@@zh="切换麦克风 :" +,"QDzU:"+ //no args + "Switch microphone :" + +//@@zh="从未请求过录音权限时,可能无法正常拉取设备列表,打开一次录音后可尝试" +,"hYD7:"+ //no args + "When the recording permission has never been requested, the device list may not be pulled normally, you can try after opening the recording once" + +//@@zh="重新拉取设备" +,"gNwv:"+ //no args + "Re-pull the device" + +//@@zh="不设置" +,"3K14:"+ //no args + "Not Set" + +//@@zh="降噪(ANS)配置开关" +,"Q0lg:"+ //no args + "Noise Cancellation (ANS) configuration switch" + +//@@zh="不设置" +,"d6UL:"+ //no args + "Not Set" + +//@@zh="回声消除(AEC)配置开关" +,"ujUi:"+ //no args + "Echo Cancellation (AEC) configuration switch" + +//@@zh="不设置" +,"K3dr:"+ //no args + "Not Set" + +//@@zh="自动增益(AGC)配置开关" +,"gjGg:"+ //no args + "Auto Gain Control (AGC) configuration switch" + +//@@zh="以上参数设置后需重新打开录音" +,"fP77:"+ //no args + "After setting the above parameters, you need to reopen the recording" + +//@@zh=";均为set中的audioTrackSet高级配置,会直接传递给浏览器的getUserMedia方法,不同浏览器的支持程度不同,并不一定会生效;这些参数不设置时浏览器给的默认状态是打开还是关闭将不确定;" +,"7ots:"+ //no args + "; Both are advanced configurations of audioTrackSet in the set, which will be directly passed to the getUserMedia method of the browser. Different browsers have different support levels and may not take effect; when these parameters are not set, the default state given by the browser will be open or closed uncertain; " + +//@@zh="移动端打开降噪、回声消除可能会表现的很怪异(包括系统播放音量变小),但iOS上如果关闭又可能导致录音没有声音,如需更改配置请Android和iOS分别配置,并测试好" +,"40Wa:"+ //no args + "Turning on the noiseSuppression and echoCancellation on the mobile terminal may behave strangely (including the system playback volume becomes lower), but if it is turned off on iOS, the recording may have no sound. If you need to change the configuration, please configure Android and iOS separately, and test it" + +//@@zh="启用MediaRecorder :" +,"HmBe:"+ //no args + "Enable MediaRecorder :" + +//@@zh="启用" +,"WJse:"+ //no args + "Enable" + +//@@zh="设置后需重新打开录音" +,"DIXY:"+ //no args + "After setting, you need to reopen the recording" + +//@@zh="音频采集连接方式:启用时尝试使用MediaRecorder.WebM.PCM,默认启用,未启用或者不支持时使用AudioWorklet或ScriptProcessor;通过设置Recorder.ConnectEnableWebM=false禁用。" +,"w1aV:"+ //no args + "Audio capture connect method: try to use MediaRecorder.WebM.PCM when enabled, enabled by default, use AudioWorklet or ScriptProcessor when not enabled or not supported; disable by setting Recorder.ConnectEnableWebM=false. " + +//@@zh="使用MediaRecorder采集到的音频数据比其他方式更好,几乎不存在丢帧现象,所以音质明显会好很多,建议保持开启;" +,"sdaw:"+ //no args + "The audio data capture by using MediaRecorder is better than other methods, and there is almost no frame loss phenomenon, so the sound quality will be much better, it is recommended to keep it turned on; " + +//@@zh="有些浏览器不支持录制PCM编码的WebM,如FireFox、低版本的Chrome,将依旧使用AudioWorklet或ScriptProcessor来连接采集。" +,"rAmm:"+ //no args + "Some browsers do not support recording PCM-encoded WebM, such as FireFox and lower versions of Chrome, they will still use AudioWorklet or ScriptProcessor to connect and capture. " + +//@@zh="启用AudioWorklet :" +,"C0vI:"+ //no args + "Enable AudioWorklet :" + +//@@zh="启用" +,"AW2s:"+ //no args + "Enable" + +//@@zh="设置后需重新打开录音,ConnectEnableWebM如果启用并且有效时,本参数将不起作用" +,"5Ve2:"+ //no args + "After setting, you need to reopen the recording. If ConnectEnableWebM is enabled and valid, this parameter will not work" + +//@@zh="音频采集连接方式:启用时尝试使用AudioWorklet,默认禁用,未启用或者不支持时使用ScriptProcessor;通过设置Recorder.ConnectEnableWorklet=true启用。" +,"o3Pt:"+ //no args + "Audio capture connect method: try to use AudioWorklet when enabled, disabled by default, use ScriptProcessor when not enabled or not supported; enable by setting Recorder.ConnectEnableWorklet=true. " + +//@@zh="已知:AudioWorklet在一定条件下会导致某些浏览器崩溃" +,"R0N9:"+ //no args + "Known: AudioWorklet will cause some browsers to crash under certain conditions" + +//@@zh="测试" +,"GQ6V:"+ //no args + "Test" + +//@@zh="(坑已填好)。" +,"8Nn9:"+ //no args + "(The pit has been filled). " + +//@@zh="如需录音功能定制开发,网站、App、小程序、前端后端开发等需求,请加QQ群:①群 781036591、②群 748359095,口令recorder,联系群主(即作者),谢谢~" +,"ERHy:"+ //no args + "If you need custom development of recording functions, websites, apps, miniProgram, front-end and back-end development, etc., please join the Tencent QQ group: ①group 781036591、②group 748359095, password recorder, contact the group owner (ie the author), thank you~" + +//@@zh="变速变调 :" +,"HW4d:"+ //no args + "Variable speed and pitch :" + +//@@zh="重置变速变调" +,"4yy4:"+ //no args + "Reset variable" + +//@@zh="实时变速变调控制选项(Sonic 插件),可以边录边修改,同一时间应该只控制一个,否则叠加作用;请填写0.1-2.0的数字,1.0为不调整,当然超过2.0也是可以的(需手动输入)" +,"BJNh:"+ //no args + "Real-time variable speed and pitch control option (Sonic plug-in), which can be modified while recording. Only one should be controlled at the same time, otherwise the superimposed effect; please fill in the number of 0.1-2.0, 1.0 means no adjustment, of course, it is also possible to exceed 2.0 (manual input is required) " + +//@@zh="男声" +,"1KYh:"+ //no args + "Male" + +//@@zh="女声,变调不变速(会说话的汤姆猫)" +,"p8QU:"+ //no args + "Female, Change the pitch without changing the speed (Talking Tom Cat)" + +//@@zh="慢放" +,"67pP:"+ //no args + "Slow" + +//@@zh="快放,变速不变调(快放慢放)" +,"MkST:"+ //no args + "Fast, Variable speed without changing the pitch (fast slow down)" + +//@@zh="缓重" +,"s3VS:"+ //no args + "Heavy" + +//@@zh="尖锐,变速变调" +,"ey5s:"+ //no args + "Sharp, Variable speed and pitch" + +//@@zh="调低" +,"Zm38:"+ //no args + "Turn Down" + +//@@zh="调高,调整音量" +,"K4GQ:"+ //no args + "Turn Up, adjust the volume" + +//@@zh="处理缓冲:" +,"ErMk:"+ //no args + "Process Buffer:" + +//@@zh=",控制缓冲大小减少转换引入的杂音,0不缓冲" +,"YU35:"+ //no args + ", control the buffer size to reduce the noise introduced by the conversion, 0 does not buffer" + +//@@zh="播放反馈:" +,"zgh0:"+ //no args + "Play Feedback:" + +//@@zh="不播放" +,"wBFG:"+ //no args + "Don't Play" + +//@@zh="实时播放反馈" +,"a85k:"+ //no args + "Real-time playback feedback" + +//@@zh="重新转换当前录音" +,"7RJF:"+ //no args + "Reconvert the current recording" + +//@@zh="挡住!防止滑块被误触" +,"GUOu:"+ //no args + "Cover up! Prevent the slider from being accidentally touched" + +//@@zh="打开编辑" +,"bpmu:"+ //no args + "Open Edit" + +//@@zh="丢失补偿 :" +,"OOHq:"+ //no args + "Lost Compensation :" + +//@@zh="禁用设备卡顿时音频输入丢失补偿功能(通过别的程序大量占用CPU来模拟设备卡顿);" +,"Ft0s:"+ //no args + "Disable the audio input loss compensation function when the device freezes (simulate device freezes by using a large amount of CPU by other programs); " + +//@@zh="设置后需重新打开录音" +,"EE7G:"+ //no args + "After setting, you need to reopen the recording" + +//@@zh=";为set中disableEnvInFix配置值" +,"LqWd:"+ //no args + "; Configure value for disableEnvInFix in set." + +//@@zh="如果没有进行补偿,录音时设备偶尔出现很卡的情况下(CPU被其他程序大量占用),浏览器采集到的音频是断断续续的,导致10秒的录音可能就只返回了5秒的数据量,这个时候最终编码得到的音频时长明显变短,播放时的效果就像快放一样。未禁用时会在卡顿时自动补偿静默音频,消除了快放效果,但由于丢失的音频已被静默数据代替,听起来就是数据本身的断断续续的效果。在设备不卡时录音没有此问题。" +,"mpX0:"+ //no args + "If there is no compensation, when the device occasionally freezes during recording (the CPU is heavily occupied by other programs), the audio collected by the browser is intermittent, resulting in a 10-second recording that may only return 5 seconds of data. At this time, the duration of the final encoded audio is significantly shorter, and the effect is like fast playback during playback. When it is not disabled, it will automatically compensate the silent audio when it freezes, eliminating the fast forward effect, but since the lost audio has been replaced by silent data, it sounds like the intermittent effect of the data itself. Recording does not have this problem when the device is not stuck. " + +//@@zh="调用Recorder.Destroy()" +,"qTKw:"+ //no args + "Call Recorder.Destroy()" + +//@@zh="Destroy会关闭所有的全局资源,包括AudioContext,当录音出现问题时,可尝试Destroy一下重试" +,"4xCn:"+ //no args + "Destroy will close all global resources, including AudioContext, when there is a problem with recording, try Destroy and try again." + +//@@zh="阻止自动锁屏 :" +,"fbxW:"+ //no args + "Prevent automatic screen lock :" + +//@@zh="调用navigator.wakeLock 或 静音循环播放视频" +,"y0Vx:"+ //no args + "Call navigator.wakeLock or mute to loop video" + +//@@zh="手机锁屏后是否能录音不可控,直接简单粗暴的调用wakeLock接口 或 静音+循环播放视频来阻止锁屏,就是有点费电" +,"5Fgu:"+ //no args + "It is uncontrollable whether the recording can be performed after the mobile phone is locked. Simply call the wakeLock interface or mute + loop the video to prevent the lock screen, which is a bit of a waste of electricity." + +//@@zh="暴力测试 :" +,"JbX0:"+ //no args + "Brute force test :" + +//@@zh="开始注入" +,"KPAW:"+ //no args + "Start injecting" + +//@@zh="小时的录音数据,测试长时间录音编码和内存泄露" +,"ioLq:"+ //no args + "hours of recording data, testing long-term recording encoding and memory leaks" + +//@@zh="暴力测试 :" +,"4pBN:"+ //no args + "Brute force test :" + +//@@zh="同时打开5个录音(并发调用open)" +,"KwYR:"+ //no args + "Open 5 recordings at the same time (call open concurrently)" + +//@@zh=",每个会录5秒,打开浏览器控制台查看日志" +,"X9aU:"+ //no args + ", each will be recorded for 5 seconds, open the browser console to view the log." + +//@@zh="DTMF电话按键信号 :" +,"SNMe:"+ //no args + "DTMF phone key signal :" + +//@@zh="DTMF解码、编码插件,可以方便的处理电话拨号按键信号,用于:电话录音软解,软电话实时提取DTMF按键信号、实时发送DTMF按键信号等。下面拨号盘可在录音时往录音文件中添加按键信息:" +,"nVlV:"+ //no args + "DTMF decoding and encoding plug-ins can easily process telephone dialing key signals, used for: soft phone recording soft solution, soft phone real-time extraction of DTMF key signals, real-time sending of DTMF key signals, etc. The following dial pad can add key information to the recording file during recording: " + +//@@zh="识别当前录音中的DTMF按键信息" +,"HsEb:"+ //no args + "Identify the DTMF key information in the current recording" + +//@@zh="发送*#1234567890#*" +,"nWea:"+ //no args + "Send *#1234567890#*" + +//@@zh="测试App :" +,"CEEq:"+ //no args + "Test App :" + +//@@zh="下载源码" +,"w49F:"+ //no args + "Download source code" + +//@@zh="自行编译" +,"7kBy:"+ //no args + "self compile" + +//@@zh="下载APK" +,"o9ad:"+ //no args + "Download APK" + +//@@zh="40kb,删除.zip后缀," +,"EUXZ:"+ //no args + "40kb, remove the .zip suffix, " + +//@@zh="源码" +,"kiFv:"+ //no args + "Source code" + +//@@zh="iframe兼容性 :" +,"z5Tl:"+ //no args + "iframe compatibility :" + +//@@zh="把页面放到IFrame里面测试权限请求" +,"pALQ:"+ //no args + "Put the page in an IFrame to test the permission request" + +//@@zh="测试在iframe里面请求录音权限的兼容性。最佳实践应该是让window.top(不适用于跨域)去加载Recorder,iframe里面使用top.Recorder;此测试未遵照此最佳实践,以模拟跨域iframe和同域下的复杂真实情况,H5录音在跨域时未设置相应策略权限永远是拒绝的" +,"B227:"+ //no args + "Test the compatibility of requesting recording permission in iframe. The best practice should be to let window.top (not applicable to cross-domain) load the Recorder, and use top.Recorder in the iframe; this test does not follow this best practice to simulate the complex real situation of cross-domain iframe and the same domain, H5 recording is always denied if the corresponding policy permission is not set when cross-domain." + +//@@zh="音乐播放测试 :" +,"gqjM:"+ //no args + "Music playback test :" + +//@@zh="Audio对录音的影响测试" +,"XHIP:"+ //no args + "Audio's influence test on recording" + +//@@zh=";低版本iOS Safari如果未开始过录音并且播放了音乐,然后后续录音可能会有问题;再现方法" +,"LfbN:"+ //no args + "; If the lower version of iOS Safari has not started recording and played music, then there may be problems with subsequent recordings; reproduction method" + +//@@zh="刷新页面后首先先播放音乐,然后开始测试录音,会发现波形显示掉帧或者保持直线。另测试浏览器对音频的支持情况。" +,"T3B7:"+ //no args + "After refreshing the page, first play the music first, and then start the test recording, and you will find that the waveform shows frame drop or keeps a straight line. Also test the browser's support for audio. " + +//@@zh="视频播放测试 :" +,"HH7Z:"+ //no args + "Video playback test :" + +//@@zh="播放mp4" +,"9q2V:"+ //no args + "Play mp4" + +//@@zh="Video对录音的影响测试" +,"WQXo:"+ //no args + "Test of the influence of Video on recording" + +//@@zh=";iOS Safari可能出现先播放视频,然后再开始录音,会自动播放视频的声音,但并未再现。" +,"skOH:"+ //no args + "; iOS Safari may appear to play the video first, and then start recording, and the sound of the video will be played automatically, but it is not reproduced. " + +//@@zh="显示video" +,"M5YG:"+ //no args + "Display Video" + +//@@zh="隐藏video" +,"uagh:"+ //no args + "Hide Video" + +//@@zh="移除video" +,"W1Vo:"+ //no args + "Remove Video" + +//@@zh="循环播放" +,"LrV6:"+ //no args + "Loop Playback" + +//@@zh="静音循环播放" +,"6IaJ:"+ //no args + "Mute Loop" + +//@@zh="浏览器环境情况 :" +,"0Wqg:"+ //no args + "Browser environment :" + +//@@zh="Recorder库修改时间(有可能修改了忘改):" +,"qfGt:"+ //no args + "Modification time of the Recorder library (it may be modified and forgotten): " + +//@@zh="本页面修改时间(有可能修改了忘改):" +,"VXCO:"+ //no args + "Modification time of this page (it may be modified and forgotten): " + +//@@zh="问题自检 :" +,"z6w4:"+ //no args + "Problem self-test :" + +//@@zh="录音时注意观察灰色区域是否有绿色音量跳动,没有绿色跳动说明Recorder没有获取到声音数据。如果测试发现mp3没有声音,可以试一下wav格式,如果wav格式有声音,说明内置lamejs mp3编码器有问题。如果都没有,下载下来播放看看有没有。下载下来也没有声音可以反馈一下。" +,"6TKY:"+ //no args + "When recording, pay attention to whether there is a green volume jump in the gray area. If there is no green jump, it means that the Recorder has not obtained the sound data. If the test finds that the mp3 has no sound, you can try the wav format. If there is sound in the wav format, it means that there is a problem with the built-in lamejs mp3 encoder. If not, download and play to see if there is any. There is no sound after downloading and you can give feedback." + +//@@zh="如果浏览器不能正常录音,并且不确定是不是这个库的问题,可以到" +,"SaFm:"+ //no args + "If the browser cannot record normally, and you are not sure whether it is a problem with this library, you can go to: " + +//@@zh="试一下。" +,"Ma2G:"+ //no args + "try it." + +//@@zh="不能获得错误堆栈" +,"T13G:"+ //no args + "can't get error stack" + +//@@zh="已禁用设备卡顿时音频输入丢失补偿,可以通过别的程序大量占用CPU来模拟设备卡顿,然后录音听听未补偿时的播放效果,然后再试试不禁用的效果" +,"Ysbv:"+ //no args + "The audio input loss compensation when the device freezes has been disabled. You can use other programs to take up a lot of CPU to simulate the device freezes, and then record and listen to the playback effect when it is not compensated, and then try the effect without disabling it" + +//@@zh="已禁用MediaRecorder.WebM.PCM" +,"kmRS:"+ //no args + "Disabled MediaRecorder.WebM.PCM" + +//@@zh="已启用AudioWorklet" +,"Tddh:"+ //no args + "AudioWorklet enabled" + +//@@zh="(同时启用了MediaRecorder,AudioWorklet只会在MediaRecorder未生效时采用)" +,"0ZRO:"+ //no args + " (MediaRecorder is enabled at the same time, AudioWorklet will only be used when MediaRecorder is not in effect) " + +//@@zh="已启用audioTrackSet配置:" +,"W5cU:"+ //no args + "AudioTrackSet configuration enabled: " + +//@@zh="1秒的wav文件大小(字节)估算公式:采样率 × 位数 ÷ 8,当前:" +,"IYAd:"+ //no args + "The formula for estimating the wav file size (bytes) in 1 second is: sampleRate × number of bits ÷ 8, currently: " + +//@@zh="1秒的mp3文件大小(字节)估算公式:比特率 × 1000 ÷ 8,当前:" +,"tMnU:"+ //no args + "The formula for estimating the mp3 file size (bytes) in 1 second is: bitRate × 1000 ÷ 8, currently: " + +//@@zh="已打开:" +,"VJya:"+ //no args + "Opened:" + +//@@zh="打开失败:" +,"YY7k:"+ //no args + "Open failed: " + +//@@zh="已执行Recorder.Destroy()" +,"VPJO:"+ //no args + "Recorder.Destroy() executed" + +//@@zh="不设置" +,"6BfR:"+ //no args + "Not Set" + +//@@zh="无名称,可能是因为从来没有打开过录音" +,"lDoQ:"+ //no args + "No name, probably because the recording was never opened" + +//@@zh="已重新拉取到{1}个设备,可切换要使用的麦克风" +,"vM9Z:"+ //args: {1} + "Re-pull to {1} devices, switch which microphone to use" + +//@@zh="拉取失败:" +,"4EHk:"+ //no args + "Pull failed:" + +//@@zh="此浏览器不支持拉取设备列表" +,"2KHv:"+ //no args + "This browser does not support pulling device lists" + +//@@zh="已关闭" +,"q5nu:"+ //no args + "Closed" + +//@@zh="未打开录音" +,"10CI:"+ //no args + "Recording not open" + +//@@zh="定时不能小于100ms" +,"JsIA:"+ //no args + "Timing cannot be less than 100ms" + +//@@zh="定时时间到,开始自动调用停止..." +,"BQXI:"+ //no args + "When the time is up, start to call automatically to stop..." + +//@@zh="[定时{1}ms]" +,"UJ0C:"+ //args: {1} + "[timing {1}ms] " + +//@@zh="录制中:" +,"GF0Y:"+ //no args + "Recording: " + +//@@zh="未打开录音" +,"jpoV:"+ //no args + "Recording not open" + +//@@zh="已取消定时停止" +,"7Xno:"+ //no args + "Timed stop canceled" + +//@@zh="已暂停" +,"DPvI:"+ //no args + "Paused" + +//@@zh="继续录音中..." +,"4P6z:"+ //no args + "Resuming recording..." + +//@@zh="启用takeoffEncodeChunk后stop返回的blob长度为0不提供音频数据" +,"Wjge:"+ //no args + "After enabling takeoffEncodeChunk, the length of the blob returned by stop is 0 and no audio data is provided" + +//@@zh="takeoffEncodeChunk接收到{1}片音频片段,正在合并成一个音频文件..." +,"j4R1:"+ //args: {1} + "takeoffEncodeChunk received {1} audio chunks, merging into one audio file..." + +//@@zh="合并" +,"QdKZ:"+ //no args + "merge" + +//@@zh="正在编码{1}..." +,"exSK:"+ //args: {1} + "Encoding {1}..." + +//@@zh="已录制" +,"V8He:"+ //no args + "Recorded" + +//@@zh="失败:" +,"ENLS:"+ //no args + "Fail: " + +//@@zh="未打开录音" +,"rb0B:"+ //no args + "Recording not open" + +//@@zh="花{1}ms编码{2}B" +,"37rX:"+ //args: {1}-{2} + ", it took {1}ms to encode {2}B, " + +//@@zh="下载" +,"abXa:"+ //no args + "Download" + +//@@zh="播放" +,"GhtN:"+ //no args + "Play" + +//@@zh="需先录个音" +,"bh1I:"+ //no args + "Need to record first" + +//@@zh="码率列表有误,需要? to ? step ?结构" +,"hrO5:"+ //no args + "The bitRate list is wrong, the ? to ? step ? structure is required" + +//@@zh="开始批量编码,请勿进行其他操作~" +,"iPKE:"+ //no args + "Start batch encoding, do not perform other operations~" + +//@@zh="批量编码完成" +,"IIQy:"+ //no args + "Batch encoding complete" + +//@@zh="播放失败" +,"wcUU:"+ //no args + "Play failed" + +//@@zh="正在转码成wav..." +,"PxSY:"+ //no args + "transcoding to wav..." + +//@@zh="已转码成wav播放" +,"QCXF:"+ //no args + "Transcoded into wav playback" + +//@@zh="转码成wav失败:" +,"ywQN:"+ //no args + "Transcoding to wav failed: " + +//@@zh="请先录音,然后停止后再播放" +,"zGph:"+ //no args + "Please record first, then stop and play" + +//@@zh="请先录音,然后停止后再上传" +,"8e05:"+ //no args + "Please record first, then stop before uploading" + +//@@zh="上传成功" +,"2C4x:"+ //no args + "Successfully upload" + +//@@zh="没有完成上传,演示上传地址无需关注上传结果,只要浏览器控制台内Network面板内看到的请求数据结构是预期的就ok了。" +,"k6Kb:"+ //no args + "If the upload is not completed, the demo upload address does not need to pay attention to the upload result. As long as the request data structure seen in the Network panel in the browser console is expected, it is ok." + +//@@zh="上传失败" +,"ReX6:"+ //no args + "Upload failed" + +//@@zh="开始上传到{1},请求稍后..." +,"LzIA:"+ //args: {1} + "Starting upload to {1}, requesting later..." + +//@@zh="上传方式一【Base64】" +,"SsdM:"+ //no args + "Upload method 1 [Base64] " + +//@@zh="上传方式二【FormData】" +,"Oy4A:"+ //no args + "Upload method 2 [FormData] " + +//@@zh="请先录音,然后停止后再下载" +,"D3Vn:"+ //no args + "Please record first, then stop before downloading" + +//@@zh="点击{1}" +,"T6XS:"+ //args: {1} + "Click {1}" + +//@@zh="下载,或复制文本" +,"o5j6:"+ //no args + "to download, or copy the text" + +//@@zh="生成Base64文本" +,"IdYf:"+ //no args + "Generate Base64 text" + +//@@zh="下载 " +,"mB6v:"+ //no args + "download " + +//@@zh="因移动端绝大部分国产浏览器未适配Blob Url的下载,所以本demo代码在移动端未调用downA.click()。请尝试点击日志中显示的下载链接下载,无法下载就复制Base64" +,"0RBw:"+ //no args + "Because the mobile browser may not be suitable for downloading Blob Url, this demo code does not call downA.click() on the mobile terminal. Please try to click the download link displayed in the log to download, if you cannot download, copy Base64" + +//@@zh="浏览器不支持音频解码" +,"b6jA:"+ //no args + "Browser does not support audio decoding" + +//@@zh="{1}解码失败:" +,"Ks7F:"+ //args: {1} + "{1} decoding failed: " + +//@@zh="动态波形" +,"PAx1:"+ //no args + "Dynamic Waveform" + +//@@zh="音频可视化波形" +,"xatF:"+ //no args + "Visualization Waveform" + +//@@zh="音频可视化频率直方图" +,"hKcX:"+ //no args + "Visualize Spectrum" + +//@@zh="变速变调" +,"sqeb:"+ //no args + "Variable speed and pitch" + +//@@zh="(电话拨号按键信号)解码、编码" +,"xnKw:"+ //no args + "(telephone dial key signal) decoding and encoding" + +//@@zh="已切换波形显示为:" +,"tIR3:"+ //no args + "The switched waveforms are displayed as: " + +//@@zh="当前网页不是安全环境(HTTPS),将无法获取录音权限," +,"LLe9:"+ //no args + "The current web page is not in a secure context (HTTPS), and the recording permission cannot be obtained, " + +//@@zh="当前网页处在安全环境中" +,"atIl:"+ //no args + "The current webpage is in a secure context" + +//@@zh="https、file:///等" +,"u4vS:"+ //no args + "https, file:///, etc." + +//@@zh="点击打开录音开始哦,此浏览器{1}" +,"ntrR:"+ //args: {1} + "Click to open the recording to start, this browser {1}" + +//@@zh="支持录音" +,"3bjv:"+ //no args + "support recording" + +//@@zh="不支持录音" +,"HhOY:"+ //no args + "does not support recording" + +//@@zh="、" +,"jE1H:"+ //no args + ", " + +//@@zh="已启用Extensions:" +,"yBBq:"+ //no args + "Extensions enabled: " + +//@@zh="注意:由于AudioWorklet内部" +,"f6Zn:"+ //no args + "Note: Since the AudioWorklet internal" + +//@@zh="1秒会产生375次回调" +,"KVKy:"+ //no args + "375 callbacks will be generated in 1 second" + +//@@zh=",在移动端可能会有性能问题导致浏览器回调丢失,进而导致录音数据、时长变短,PC端似乎无此影响,可通过定时1分钟录音来检测影响(如果短了1秒以上即为有问题);在无明显优势好处的前提下,暂不建议启用。" +,"rLVJ:"+ //no args + ", there may be performance problems on the mobile end, which may cause the browser callback to be lost, which will result in shorter recording data and duration. The PC end does not seem to have this effect, and the impact can be detected by timing the recording for 1 minute (if it is shorter than 1 second, it means problems); on the premise of no obvious advantages and benefits, it is not recommended to enable it. " + +//@@zh="当前页面处在在iframe中,但故意未进行任何处理," +,"bOsV:"+ //no args + "The current page is in an iframe, but no processing is done on purpose, " + +//@@zh="当前是同域" +,"0rFB:"+ //no args + "Currently in the same domain" + +//@@zh="并且已发生跨域,未设置相应策略权限永远是拒绝的" +,"aJ0a:"+ //no args + "And cross-domain has occurred, and the corresponding policy permission is not set and the permission will always be denied" + +//@@zh="第{1}个" +,"NEZT:"+ //args: {1} + "{1}th" + +//@@zh="需开始录音" +,"wHHR:"+ //no args + "Need to start recording" + +//@@zh="需勾选takeoffEncodeChunk" +,"0GX4:"+ //no args + "TakeoffEncodeChunk needs to be checked" + +//@@zh="已注入{1}小时{2}分钟数据,输入pcm: {3} MB,输出音频: {4} MB(已清除不占用内存)。设置共注入{5}小时数据,注入耗时:{6}" +,"Emz4:"+ //args: {1}-{6} + "{1} hours {2} minutes of data have been injected, input pcm: {3} MB, output audio: {4} MB (cleared and does not occupy memory). A total of {5} hours of data are set to be injected, and the injection time is: {6}" + +//@@zh="已通过 循环+静音 播放视频来阻止自动锁屏" +,"K0Jo:"+ //no args + "Prevented auto-lock screen by playing video in loop+mute" + +//@@zh="已通过wakeLock阻止自动锁屏" +,"RGYV:"+ //no args + "Automatic screen lock blocked by wakeLock" + +//@@zh="恢复锁屏" +,"zCjJ:"+ //no args + "restore lock screen" + +//@@zh="已恢复自动锁屏" +,"tMgx:"+ //no args + "Automatic screen lock restored" + +//@@zh="wakeLock错误:" +,"KCZr:"+ //no args + "wakeLock error: " + +//@@zh="正在加载{1} ..." +,"33ji:"+ //args: {1} + "Loading {1} ..." + +//@@zh="正在加载{1} ..." +,"7bbv:"+ //args: {1} + "Loading {1} ..." + +//@@zh="请先录音" +,"AYTX:"+ //no args + "please record first" + +//@@zh="目前只支持mp3格式的录音重新转换,因为其他格式buffers可能已被污染转换过" +,"FXjK:"+ //no args + "Currently only supports re-conversion of recordings in mp3 format, because buffers in other formats may have been polluted and converted" + +//@@zh="已转换" +,"dtC1:"+ //no args + "converted" + +//@@zh="不存在变速变调设置,或不能开启转换" +,"Hdpx:"+ //no args + "There is no variable speed and pitch setting, or the conversion cannot be turned on" + +//@@zh="已停用变速变调" +,"AkRn:"+ //no args + "Variable speed and pitch disabled" + +//@@zh="不能开启Sonic.Async,浏览器不支持WebWorker操作,降级不变速变调" +,"fUYK:"+ //no args + "Sonic.Async cannot be enabled, the browser does not support WebWorker operations, and the downgrade does not change the speed and pitch" + +//@@zh="已修改变速变调:" +,"OYzl:"+ //no args + "Modified variable speed and pitch: " + +//@@zh="已开启变速变调:" +,"fqDa:"+ //no args + "With variable speed and pitch turned on: " + +//@@zh="sonic -> DemoFragment.PlayBuffer错误,无法实时播放反馈" +,"Xxw4:"+ //no args + "sonic -> DemoFragment.PlayBuffer error, unable to play feedback in real time" + +//@@zh="请先录音" +,"i4N2:"+ //no args + "Please record first" + +//@@zh="开始识别DTMF..." +,"B3NQ:"+ //no args + "Start recognizing DTMF..." + +//@@zh="发现按键[{1}],位于{2}ms处" +,"FJZq:"+ //args: {1}-{2} + "Keypress found [{1}] at {2}ms" + +//@@zh="识别完毕,发现按键:" +,"dYNC:"+ //no args + "After the recognition is complete, the button is found: " + +//@@zh="识别完毕,未发现按键信息" +,"Mb8l:"+ //no args + "The identification is complete, but no key information is found" + +//@@zh="发现按键[{1}],位于{2}ms处" +,"NvUF:"+ //args: {1}-{2} + "Keypress found [{1}] at {2}ms" + +//@@zh="没有开始录音,按键会存储到下次录音" +,"V5cg:"+ //no args + "If the recording is not started, the key will be stored until the next recording" + +//@@zh="这个编码器无提示信息" +,"X1tM:"+ //no args + "This encoder has no prompt information" + +//@@zh="{1}编码器稳定版," +,"N5Ed:"+ //args: {1} + "{1} encoder stable version, " + +//@@zh="{1}编码器beta版," +,"aQBD:"+ //args: {1} + "{1} encoder beta version, " + +//@@zh="{1}转码超快" +,"O9Zr:"+ //args: {1} + "{1} encoding is super fast" + +//@@zh="支持边录边转码(Worker)" +,"Ucx3:"+ //no args + "Support encoding while recording (Worker)" + +//@@zh="仅支持标准UI线程转码" +,"YJPi:"+ //no args + "Only standard UI thread encoding is supported" + +//@@zh="使用{1}录音需要加载的js:" +,"DFs2:"+ //args: {1} + "The js that needs to be loaded when using {1} recording: " + +//@@zh="【压缩版】:" +,"YThG:"+ //no args + "[Distribution File]: " + +//@@zh="【源文件】:" +,"EYBu:"+ //no args + "[Source File]: " + +//@@zh="{1}已加载,可以录音了" +,"seoC:"+ //args: {1} + "{1} is loaded and ready to record" + +//@@zh="{1}编码器压缩版" +,"5czG:"+ //args: {1} + "{1} encoder distribution version" + +//@@zh="{1}编码器源码版" +,"6Cyh:"+ //args: {1} + "{1} encoder source version" + +//@@zh="正在加载{1}" +,"JT36:"+ //args: {1} + "Loading {1}" + +//@@zh=",请勿操作..." +,"KvWE:"+ //no args + ", do not operate..." + +//@@zh="js加载失败:" +,"b6iP:"+ //no args + "js failed to load: " + +]); +//*************** End srcFile=../index.html *************** + +//@@User Code-2 Begin 手写代码放这里 Put the handwritten code here @@ + +//@@User Code-2 End @@ + +})); \ No newline at end of file diff --git a/assets/page-i18n/widget_donate/en-US.js b/assets/page-i18n/widget_donate/en-US.js new file mode 100644 index 00000000..bc4c00dd --- /dev/null +++ b/assets/page-i18n/widget_donate/en-US.js @@ -0,0 +1,106 @@ +/* +Recorder ../assets/page-i18n/widget_donate/en-US.js +https://github.com/xiangyuecn/Recorder + +Usage: Recorder.i18n.lang="en-US" or "en" + +Desc: English, 英语。The translation of the /assets/zdemo.widget.donate.js file, this translation mainly comes from: google translation + Baidu translation, translated from Chinese to English. 文件/assets/zdemo.widget.donate.js的翻译,此翻译主要来自:google翻译+百度翻译,由中文翻译成英文。 + +注意:请勿修改//@@打头的文本行;以下代码结构由/src/package-i18n.js自动生成,只允许在字符串中填写翻译后的文本,请勿改变代码结构;翻译的文本如果需要明确的空值,请填写"=Empty";文本中的变量用{n}表示(n代表第几个变量),所有变量必须都出现至少一次,如果不要某变量用{n!}表示 + +Note: Do not modify the text lines starting with //@@; The following code structure is automatically generated by /src/package-i18n.js, only the translated text is allowed to be filled in the string, please do not change the code structure; If the translated text requires an explicit empty value, please fill in "=Empty"; Variables in the text are represented by {n} (n represents the number of variables), all variables must appear at least once, if a variable is not required, it is represented by {n!} +*/ +(function(factory){ + var browser=typeof window=="object" && !!window.document; + var win=browser?window:Object; //非浏览器环境,Recorder挂载在Object下面 + factory(win.Recorder,browser); +}(function(Recorder,isBrowser){ +"use strict"; +var i18n=Recorder.i18n; + +//@@User Code-1 Begin 手写代码放这里 Put the handwritten code here @@ + +//@@User Code-1 End @@ + +//@@Exec i18n.lang="en-US"; +Recorder.CLog('Import Page[widget_donate] lang="en-US"'); + +//@@Exec i18n.alias["en-US"]="en"; + +var putSet={lang:"en"}; + +//@@Exec i18n.data["rtl$en"]=false; +i18n.data["desc-page-widget_donate$en"]="English, 英语。The translation of the /assets/zdemo.widget.donate.js file, this translation mainly comes from: google translation + Baidu translation, translated from Chinese to English. 文件/assets/zdemo.widget.donate.js的翻译,此翻译主要来自:google翻译+百度翻译,由中文翻译成英文。"; +//@@Exec i18n.GenerateDisplayEnglish=false; + + + +//*************** Begin srcFile=../assets/zdemo.widget.donate.js *************** +i18n.put(putSet, +[ //@@PutList + +//@@zh="打赏挂件" +//@@Put0 + "4AP9:"+ //no args + "Donation Widget" + +//@@zh="已禁用打赏挂件一天,可通过命令开启:" +,"NOaR:"+ //no args + "The donation widget has been disabled for one day, it can be enabled by command: " + +//@@zh="剩余{1}天就过年了,给大伙拜个早年吧~ 赏包辣条?" +,"e4F2:"+ //args: {1} + "Donate{1!}" + +//@@zh="新年快乐,给大伙拜年啦~ 赏个红包?" +,"qwYd:"+ //no args + "Donate" + +//@@zh="元宵节快乐~ 赏个红包?" +,"rZ6r:"+ //no args + "Donate" + +//@@zh="新年快乐,给大伙拜个晚年~ 赏包辣条?" +,"yA8s:"+ //no args + "Donate" + +//@@zh="赏包辣条?" +,"x2q9:"+ //no args + "Donate" + +//@@zh="再看吧,关掉先" +,"Fyh4:"+ //no args + "Look again, close" + +//@@zh="算了吧" +,"TQ2d:"+ //no args + "Unwilling" + +//@@zh="已打赏~ 壕气" +,"1LpD:"+ //no args + "Donated~" + +//@@zh="谢谢支持,看好你哟~" +,"NGKc:"+ //no args + "Thank you for your support, you are awesome~" + +//@@zh="emmm... 加油~" +,"6ifH:"+ //no args + "emmm... come on~" + +//@@zh="通过命令可禁用侧边打赏挂件一天: " +,"NSbf:"+ //no args + "The side donation widget can be disabled for one day by command: " + +//@@zh="emmm...已禁用打赏挂件,禁用时长为一天" +,"NaUj:"+ //no args + "emmm...The donation widget has been disabled for one day" + +]); +//*************** End srcFile=../assets/zdemo.widget.donate.js *************** + +//@@User Code-2 Begin 手写代码放这里 Put the handwritten code here @@ + +//@@User Code-2 End @@ + +})); \ No newline at end of file diff --git a/assets/runtime-codes/lib.samplerate.raise.js b/assets/runtime-codes/lib.samplerate.raise.js index 2f7844bc..57a5c13f 100644 --- a/assets/runtime-codes/lib.samplerate.raise.js +++ b/assets/runtime-codes/lib.samplerate.raise.js @@ -14,7 +14,7 @@ Recorder.SampleRaise(pcmDatas,pcmSampleRate,newSampleRate) data:[Int16,...] 转换后的PCM结果 } -本方法将简单的提升pcm的采样率,如果新采样率低于pcm采样率,将不会进行任何处理。采用的简单算法能力有限,会引入能感知到的轻微杂音。 +本方法将简单的提升pcm的采样率,如果新采样率低于pcm采样率,将不会进行任何处理。采用的简单算法能力有限,会引入能感知到的轻微杂音(通过低通滤波后不明显)。 Recorder.SampleData只提供降低采样率,不提供提升采样率,因为由低的采样率转成高的采样率没有存在的意义。提升采样率的代码不会作为核心功能提供,但某些场合确实需要提升采样率,可自行编写代码转换一下即可。 ******************/ @@ -34,10 +34,16 @@ Recorder.SampleRaise=function(pcmDatas,pcmSampleRate,newSampleRate){ size=Math.floor(size*step); }; + var filterFn=0;//采样率差距比较大才开启低通滤波,最高频率用新采样率频率的3/4 + if(pcmSampleRate<=newSampleRate*3/4){ + filterFn=Recorder.IIRFilter(true,newSampleRate,pcmSampleRate/2 *3/4); + }; + var res=new Int16Array(size); //处理数据 var posFloat=0,prev=0; + var F=filterFn&&filterFn.Embed,Fx=0,Fy=0;//低通滤波后的数据 for (var index=0,nl=pcmDatas.length;index +
+
点击一个预定义简谱填充:
+
+
+
+ 简谱配置: +
+
+ +
+
+ +
+
+ `} + ,{name:"合成PCM,再转成wav播放",click:"createClick"} +]); + +var nmnSetEl=$(".nmn_set")[0]; +/*nmnSetEl.oninput=function(){ nmnSetChange() }; +var nmnSetChange=function(){ + nmnSetEl.style.height="1px"; + nmnSetEl.style.height=Math.max(100, nmnSetEl.scrollHeight)+"px"; +};*/ +var nmnSetEdit=CodeMirror.fromTextArea(nmnSetEl,{ + mode:"javascript" + ,lineNumbers:true + ,lineWrapping:true +}); +nmnSetEdit.setSize("auto","auto"); +var nmnSetVal=function(set,fromTp){ + var Default=Recorder.NMN2PCM({sampleRate:-1}).set; + var txts=[]; + var put=function(key,desc,val){ + txts.push('//'+desc); + txts.push(key+'='+val+';'); + }; + put("name","简谱名称,此简谱参考地址:"+(set.url||"无"),JSON.stringify(set.name||"")); + + txts.push(""); + txts.push(`/** 简谱格式化文本,如果格式不符合要求,将会抛异常 +texts格式:单个文本,或文本数组 + - 四分音符(一拍):低音: 1.-7. 中音: 1-7 高音: 1'-7' 休止符(静音):0 + - 音符后面用 "." 表示低音(尽量改用".":".." 倍低音,"..." 超低音) + - 音符后面用 "'" 表示高音(尽量改用"'":"''" 倍高音,"'''" 超高音) + - 音符之间用 "|" 或 " " 分隔一拍 + - 一拍里面多个音符用 "," 分隔,每个音按权重分配这一拍的时长占比,如:“6,7”为一拍,6、7各占1/2拍,相当于八分音符 + + - 音符后面用 "-" 表示二分音符,简单计算为1+1=2拍时长,几个-就加几拍 + - 音符后面用 "_" 表示八分音符;两两在一拍里面的音符可以免写_,自动会按1/2分配;一拍里面只有一个音时这拍会被简单计算为1/2=0.5拍;其他情况计算会按权重分配这一拍的时长(复杂),如:“6,7_”为1/2+1/2/2=0.75拍(“6*,7_”才是(1+0.5)/2+1/2/2=1拍),其中6权重1分配1/2=0.5拍,7权重0.5分配1/2/2=0.25拍;多加一个"_"就多除个2:“6_,7_”是1/2+1/2=1拍(等同于“6,7”可免写_);“6__,7__”是1/2/2+1/2/2=0.5拍;只要权重加起来是整数就算作完整的1拍 + - 音符后面用 "*" 表示1+0.5=1.5拍,多出来的1/2计算和_相同(复杂),"**"两个表示加0.25 + + - 可以使用 "S"(sine) "Q"(square) "A"(sawtooth) "T"(triangle) 来切换后续波形发生器类型(按一拍来书写,但不占用时长),类型后面可以接 "(2.0)" 来设置音色,接 "[0.5]" 来设置音量(为set.volume*0.5);特殊值 "R"(reset) 可重置类型成set配置值,如果R后面没有接音色或音量也会被重置;比如:"1 2|A(4.0)[0.6] 3 4 R|5 6",其中12 56使用set配置的类型和音色音量,34使用锯齿波、音色4.0、音量0.18=0.3*0.6 + + - 如果同时有多个音,必须提供数组格式,每个音单独提供一个完整简谱(必须同步对齐)**/`); + var texts=set.texts; + if(!texts)texts=["",""]; + if(typeof(texts)=="string")texts=[texts]; + var txtN="",txtC="",arrs=[],codes=[]; + for(var i=0;i{ + a=a.trim(); if(a)codes.push(a); + }); + } + codes.sort((a,b)=>a.length-b.length); + var len80=(codes[~~(codes.length*0.8)]||"").length; + var lineSize=len80<10?5:len80<15?4:len80<25?3:len80<35?2:1; + codes=[]; + for(var offset=0,n=0;;n++){ + var next=0,vals=[]; + for(var i=0;i=1.0",set.timbre||Default.timbre); + put("meterDuration","一拍时长,毫秒,默认600ms",set.meterDuration||Default.meterDuration); + + if(fromTp){ + txts.push(""); + txts.push("//以上配置使用《"+set.name+"》填充"); + } + var sTop1=$(".nmn_tp_s").offset().top; + var sTopPos=$(".nmn_tp_pos").offset().top; + + nmnSetEdit.setValue(txts.join("\n")); nmnSetEdit.refresh(); + Runtime.Log("已填充《"+set.name+"》,请点击合成按钮合成后播放",2); + + if(fromTp){ //页面滚动到合适位置 + var sTop2=$(".nmn_tp_s").offset().top; + var sTop=document.documentElement.scrollTop; + var topVal=sTop+sTop2-sTop1; + if(sTop======= 选择一个预定义简谱填充 =======`]; + for(var i=0;i${o.name}`); + as.push(`
${i+1}. ${o.name}
`); + } + $(".nmn_tp_a").html(as.join('')); + $(".nmn_tp_s").html(html.join("")).bind("change",function(){ + var val=+this.value; this.value=""; + if(val){ + nmnSetVal(Templates[val-1],1); + } + }); +}; + + +var Templates=[]; +//读取预定义简谱 +var arr=window["test.create-audio.nmn2pcm__texts"]; +for(var i=0;i]+?>/g,"")); @@ -55,7 +68,7 @@ Fn.prototype=DonateWidget.prototype={ if(!this.set.viewOnly){ var dis=localStorage["DonateWidget_SetDisable"]; if(dis && Date.now()-new Date(dis).getTime()<24*60*60*1000){ - this.log('已禁用打赏挂件一天,可通过命令开启:DonateWidget.SetDisable(0) exec'); + this.log(Html_$T("NOaR::已禁用打赏挂件一天,可通过命令开启:")+'DonateWidget.SetDisable(0) exec'); return; }; }; @@ -103,24 +116,24 @@ Fn.prototype=DonateWidget.prototype={ var td=Math.ceil((time-now)/24/60/60/1000); if(td<=20&&td>-20){ if(td>0){ - title="剩余"+td+"天就过年了,给大伙拜个早年吧~ 赏包辣条?"; + title=Html_$T("e4F2::剩余{1}天就过年了,给大伙拜个早年吧~ 赏包辣条?",0,td); }else{ title=""; if(td>-14){ - title+="新年快乐,给大伙拜年啦~ 赏个红包?"; + title+=Html_$T("qwYd::新年快乐,给大伙拜年啦~ 赏个红包?"); }else if(td==-14){ - title+="元宵节快乐~ 赏个红包?"; + title+=Html_$T("rZ6r::元宵节快乐~ 赏个红包?"); }else{ - title+="新年快乐,给大伙拜个晚年~ 赏包辣条?"; + title+=Html_$T("yA8s::新年快乐,给大伙拜个晚年~ 赏包辣条?"); }; }; }; }; - title=title||"赏包辣条?"; + title=title||Html_$T("x2q9::赏包辣条?"); title=this.set.getTitle(title)||title; - var btn0=(isDialog?"再看吧,关掉先":"算了吧")+unescape("%uD83D%uDE36"); + var btn0=(isDialog?Html_$T("Fyh4::再看吧,关掉先"):Html_$T("TQ2d::算了吧"))+unescape("%uD83D%uDE36"); btn0=this.set.getBtn(0,btn0)||btn0; - var btn1='已打赏~ 壕气'+unescape("%uD83D%uDE18"); + var btn1=Html_$T("1LpD::已打赏~ 壕气")+unescape("%uD83D%uDE18"); btn1=this.set.getBtn(1,btn1)||btn1; var min=IsMobile?true:isDialog?false:true; @@ -128,8 +141,14 @@ Fn.prototype=DonateWidget.prototype={
\
'+title+'
\
\ - \ - \ + \ + \ + \ + \ + \ + \ + \ + \
\
\ \ @@ -170,9 +189,9 @@ Fn.prototype=DonateWidget.prototype={ }; if(ok){ - this.log("谢谢支持,看好你哟~"); + this.log(Html_$T("NGKc::谢谢支持,看好你哟~")); }else{ - this.log("emmm... 加油~"); + this.log(Html_$T("6ifH::emmm... 加油~")); }; } ,close:function(user,cls,disableView){ @@ -185,7 +204,7 @@ Fn.prototype=DonateWidget.prototype={ this.view(); }; if(user && cls=="Float"){ - this.log('通过命令可禁用侧边打赏挂件一天: DonateWidget.SetDisable(1) exec'); + this.log(Html_$T("NSbf::通过命令可禁用侧边打赏挂件一天: ")+'DonateWidget.SetDisable(1) exec'); }; } }; @@ -193,7 +212,7 @@ Fn.prototype=DonateWidget.prototype={ DonateWidget.SetDisable=function(disable){ localStorage["DonateWidget_SetDisable"]=disable?new Date().toDateString():""; if(disable){ - DonateWidget.cur.log("emmm...已禁用打赏挂件,禁用时长为一天"); + DonateWidget.cur.log(Html_$T("NaUj::emmm...已禁用打赏挂件,禁用时长为一天")); }else{ DonateWidget.cur.view(); }; diff --git a/assets/ztest-page-i18n.js b/assets/ztest-page-i18n.js new file mode 100644 index 00000000..32f281bc --- /dev/null +++ b/assets/ztest-page-i18n.js @@ -0,0 +1,360 @@ +/** 页面的国际化多语言支持 +- 必须:相关开启支持的文件,需要到/src/package-i18n.js中进行声明并提取翻译处理 +- js中用 Html_$T("key::中文") 来获取一个文本 +- 如果要Recorder内置的文本也返回html,把函数放到 Html_$CallT(fn) 内调用(仅支持同步方法) +- html中使用:中文文本,不允许出现标签 获得多语言支持 +- html中使用: 只切换不同语言下的显示和隐藏 +- url中使用:?PageLang=xxx 指定需要显示的默认语言 +**/ +(function(){ +"use strict"; +var isMobile=/mobile/i.test(navigator.userAgent); +var Langs=[ + {name:"Chinese | 简体中文",key:"zh-CN",url:""} + ,{name:"English (US)",key:"en-US",url:"@en-US.js"} + ,{name:"Spanish | Español",key:"es",url:"@es.js"} + ,{name:"French | Français",key:"fr",url:"@fr.js"} + /*,{name:"Arabic language",key:"ar",url:"@ar.js"} + ,{name:"German | Deutsch",key:"de",url:"@de.js"} + ,{name:"Hindi language",key:"hi",url:"@hi.js"} + ,{name:"Japanese| 日本語",key:"ja",url:"@ja.js"} + ,{name:"Korean | 한국어",key:"ko",url:"@ko.js"} + ,{name:"Malay| Bahasa Melayu",key:"ms",url:"@ms.js"} + ,{name:"Russian | Русский язык",key:"ru",url:"@ru.js"}*/ +]; +var Tag="[Recorder Page i18n]"; + +window.PageI18nWidget=function(set){ + PageI18nWidget.set=set; + var el=document.querySelector(set.elem); + var rootUrl=set.rootUrl; //根目录地址,/结尾 + var titleKey=set.titleKey; //标题字符串的key + var onUpdate=set.onUpdate||function(item){}; //更新语言显示时回调 + var langs=set.langs||{}; //key:{urls:[""]} url @打头相对/src/i18n #打头相对/assets/page-i18n + + var getDescPageKey=function(url,lang){ + if(/#([^\/]+)\//.test(url)){ + return "desc-page-"+RegExp.$1+"$"+lang; + } + return ""; + }; + var getDescPageCheckFn=function(url,lang){ + var key=getDescPageKey(url,lang); + if(!key)throw new Error(Tag+"not #url: "+url); + return function(){ + return !Recorder.i18n.data[key]; + } + }; + + var tag=Tag; + var langArr=[],langMP={}; + for(var i=0;i'+o.name+''); + } + opts.push(''); + + el.innerHTML='\ +
\ +
Language:\ + \ +
\ +
\ +
'; + var slcEl=el.querySelector("select"); + var stateEl=el.querySelector(".i18nLangsState"); + var State=function(msg,color){ + stateEl.innerHTML='
'+msg+'
'; + }; + var SyncID=0; + + //加载需要的语言 + var loadLang=function(){ + var sid=++SyncID; + var curLang=slcEl.value; + var langItem=langMP[curLang],jsList=[],jsUrls=[]; + State("loading..."); + + var addJs=function(arr,isB){ + for(var i=0;i=jsList.length){ + loadEnd(); + return; + }; + var itm=jsList[idx]; + var url=itm.url; + if(itm.check()===false){ + load(idx+1); + return; + }; + if(!loadCount)console.log(tag+"load lang: "+curLang,jsUrls); + loadCount++; + + var elem=document.createElement("script"); + elem.setAttribute("type","text/javascript"); + elem.setAttribute("src",url); + if(!("onload" in elem)){//IsLoser 古董浏览器 + elem.onreadystatechange=function(){ + if(elem.readyState=="loaded"){ + elem.onload(); + } + } + }; + var isload=0; + elem.onload=function(){ + if(sid!=SyncID)return; + if(!isload){ + isload=1; + load(idx+1); + } + }; + elem.onerror=function(e){ + if(sid!=SyncID)return; + console.error(tag+"Failed to load js, i18n["+curLang+"]: "+url); + State("Failed to load js, i18n["+curLang+"]",1); + }; + document.body.appendChild(elem); + }; + load(0); + }; + //重新显示这个dom下的所有带reclang属性的节点文字 + var reviewLang=window.PageI18nReview=function(el){ + el=el||"body"; + if(typeof el=="string")el=document.querySelector(el); + var els=[]; if(!el)return; var isBody=el.tagName=="BODY"; + if(el.getAttribute("reclang"))els.push(el); + else els=el.querySelectorAll("[reclang]"); + + var curItem=langMP[Recorder.i18n.lang]||{}; + var curAsMP=curItem.keyAsMP||{}; + + for(var i=0;i0){ + argsKey="args"+(++PageI18nArgsData.ID); + PageI18nArgsData[argsKey]=args; + } + + var txt=(pageTv||Recorder.i18n.v_T).apply(null,arguments); + return ''+FormatText(txt)+''; +}; +var getLastLangRTL=function(){ + var lang=Recorder.i18n.lastLang; + return Recorder.i18n.data["rtl$"+lang]?"rtl":"ltr"; +}; +//去掉Html_$T包裹的html,返回里面的内容 +window.Html_xT=function(str){ + str=str.replace(/]+reclang=[^>]+>(.*?)<\/span>/g,"$1"); + str=str.replace(/&#(\d+);?/g,function(v,a){return String.fromCharCode(+a)}); + return str; +}; +var FormatText=function(str){ + return str.replace(/[&<>='"]/g,function(a){ return "&#" + a.charCodeAt(0) + ";" }); +}; + + +})(); \ No newline at end of file diff --git "a/assets/\345\267\245\345\205\267-\344\273\243\347\240\201\350\277\220\350\241\214\345\222\214\351\235\231\346\200\201\345\210\206\345\217\221Runtime.html" "b/assets/\345\267\245\345\205\267-\344\273\243\347\240\201\350\277\220\350\241\214\345\222\214\351\235\231\346\200\201\345\210\206\345\217\221Runtime.html" index 1f3f5663..62f0be19 100644 --- "a/assets/\345\267\245\345\205\267-\344\273\243\347\240\201\350\277\220\350\241\214\345\222\214\351\235\231\346\200\201\345\210\206\345\217\221Runtime.html" +++ "b/assets/\345\267\245\345\205\267-\344\273\243\347\240\201\350\277\220\350\241\214\345\222\214\351\235\231\346\200\201\345\210\206\345\217\221Runtime.html" @@ -37,6 +37,7 @@ a{ text-decoration: none; color:#06c; + cursor:pointer; } a:hover{ color:#f00; @@ -339,11 +340,15 @@ } }; var formatMs=function(ms,all){ - var f=Math.floor(ms/60000),m=Math.floor(ms/1000)%60; - var s=(all||f>0?(f<10?"0":"")+f+":":"") - +(all||f>0||m>0?("0"+m).substr(-2)+"″":"") - +("00"+ms%1000).substr(-3); - return s; + var ss=ms%1000;ms=(ms-ss)/1000; + var s=ms%60;ms=(ms-s)/60; + var m=ms%60;ms=(ms-m)/60; + var h=ms; + var t=(h?h+":":"") + +(all||h+m?("0"+m).substr(-2)+":":"") + +(all||h+m+s?("0"+s).substr(-2)+"″":"") + +("00"+ss).substr(-3); + return t; }; @@ -1067,7 +1072,6 @@ } }); - //var dialog=createDelayDialog(); 我们可以选择性的弹一个对话框:为了防止移动端浏览器存在第三种情况:用户忽略,并且(或者国产系统UC系)浏览器没有任何回调,此处demo省略了弹窗的代码 //if(Is Mobile)//只针对移动端,demo偷一下懒 var t=setTimeout(function(){ Runtime.Log("无法录音:权限请求被忽略(超时假装手动点击了确认对话框)",1); @@ -1136,6 +1140,7 @@ ,{n:"【测试】【信号处理】FFT频域分析ECharts频谱曲线图",k:"dsp.test.fft.analysis"} ,{n:"【测试】WebM格式解析并提取音频",k:"test.webm.extract_audio"} ,{n:"【测试】G711、G72X编码和解码播放",k:"test.g7xx.engine"} +,{n:"【测试】音乐合成-用波形函数将歌曲简谱文本转成PCM",k:"test.create-audio.nmn2pcm"} ,{n:"【测试】音频可视化相关插件测试",k:"test.extensions.visualization"} ]; diff --git a/dist/app-support/app-miniProgram-wx-support.js b/dist/app-support/app-miniProgram-wx-support.js new file mode 100644 index 00000000..a70b0c76 --- /dev/null +++ b/dist/app-support/app-miniProgram-wx-support.js @@ -0,0 +1,6 @@ +/* +录音 +https://github.com/xiangyuecn/Recorder +src: app-support/app-miniProgram-wx-support.js +*/ +!function(e){var n="object"==typeof window&&!!window.document,r=(n?window:Object).Recorder,t=r.i18n;!function(a,e,n,r){"use strict";var t="object"==typeof wx&&!!wx.getRecorderManager,f=a.RecordApp,_=f.CLog,i={Support:function(e){e(t)},CanProcess:function(){return!0}};f.RegisterPlatform("miniProgram-wx",i),f.MiniProgramWx_onShow=function(){v()},i.RequestPermission=function(e,n,r){o(n,r)},i.Start=function(e,n,r,t){x.param=n;var o=a(n);o.set.disableEnvInFix=!0,o.dataType="arraybuffer",x.rec=o,f.__Rec=o,m(r,t)},i.Stop=function(n,t,r){l();var o=function(e){f.__Sync(n)&&(x.rec=null),r(e)},a=x.rec;x.rec=null;var e=t?"":f.__StopOnlyClearMsg();if(a){_("rec encode: pcm:"+a.recSize+" srcSR:"+a.srcSampleRate+" set:"+JSON.stringify(x.param));var i=function(){if(f.__Sync(n))for(var e in a.set)x.param[e]=a.set[e]};if(!t)return i(),void o(e);a.stop(function(e,n,r){i(),t(e,n,r)},function(e){i(),o(e)})}else o("未开始录音"+(e?" ("+e+")":""))};var s,c,M,R,x=function(e,n){var r=x.rec;if(r){r._appStart||r.envStart({envName:i.Key,canProcess:i.CanProcess()},n),r._appStart=1;for(var t=0,o=0;o=e.length)){var o=e[t],a=("0000000"+o.toString(2)).substr(-8),i=/^(0*1)(\d*)$/.exec(a);if(i){var f=i[1].length,s=[];if(!(t+f>e.length)){for(var c=0;ce.length)return;for(var i=0;i>16,a[f]=o,n+=Math.abs(o);r.envIn(a,n)}else u(p("rCAM::未开始录音,但收到Native PCM数据"),3)};t||(o.NativeRecordReceivePCM=d);if(t){window.NativeRecordReceivePCM=d;try{window.top.NativeRecordReceivePCM=d}catch(e){var r=function(){u(p("t2OF::检测到跨域iframe,NativeRecordReceivePCM无法注入到顶层,已监听postMessage转发兼容传输数据,请自行实现将top层接收到数据转发到本iframe(不限层),不然无法接收到录音数据"),3)};setTimeout(r,8e3),r(),addEventListener("message",function(e){var t=e.data;t&&"NativeRecordReceivePCM"==t.type&&(t=t.data,d(t.pcmDataBase64,t.sampleRate))})}}v.RequestPermission=function(e,t,r){s.JsBridgeRequestPermission(t,r)},v.Start=function(e,t,r,n){d.param=t;var a=i(t);a.set.disableEnvInFix=!0,a.dataType="arraybuffer",d.rec=a,o.__Rec=a,s.JsBridgeStart(t,r,n)},v.Stop=function(r,a,t){var i=function(e){o.__Sync(r)&&(d.rec=null),t(e)};s.JsBridgeStop(function(){if(o.__Sync(r)){var t=d.rec;d.rec=null;var e=a?"":o.__StopOnlyClearMsg();if(t){u("rec encode: pcm:"+t.recSize+" srcSR:"+t.srcSampleRate+" set:"+JSON.stringify(d.param));var n=function(){if(o.__Sync(r))for(var e in t.set)d.param[e]=t.set[e]};if(!a)return n(),void i(e);t.stop(function(e,t,r){n(),a(e,t,r)},function(e){n(),i(e)})}else i(p("Z2y2::未开始录音")+(e?" ("+e+")":""))}else i("Incorrect sync status")},i)}}(r,0,n.$T,t)}(); \ No newline at end of file diff --git a/dist/app-support/app.js b/dist/app-support/app.js index 245013b7..79edf219 100644 --- a/dist/app-support/app.js +++ b/dist/app-support/app.js @@ -1,6 +1,6 @@ /* 录音 https://github.com/xiangyuecn/Recorder -src: app-support/app.js,app-support/app-ios-weixin-support.js,app-support/app-native-support.js +src: app-support/app.js */ -!function(u){"use strict";var n=/MicroMessenger/i.test(navigator.userAgent),e=u.RecordAppBaseFolder||"/Recorder/dist/",t=u.OnRecordAppInstalled,f=[{Key:"Native",Support:function(e){m.AlwaysAppUseJS?e(!1):r.Config.IsApp(e)},CanProcess:function(){return!0},Config:{IsApp:function(e){e(!1)},JsBridgeRequestPermission:function(e,t){t("JsBridgeRequestPermission未实现")},JsBridgeStart:function(e,t,n){n("JsBridgeStart未实现")},JsBridgeStop:function(e,t){t("JsBridgeStop未实现")},paths:[{url:e+"app-support/app-native-support.js",check:function(){return!r.IsInit}}]},ExtendDefault:!0},{Key:"IOS-Weixin",Support:function(t){m.AlwaysUseWeixinJS||!Recorder.Support()?o.Config.Enable(function(e){t(!!e&&n)}):t(!1)},CanProcess:function(){return!1},Config:{Enable:function(e){e(!0)},WxReady:function(e){e(null,"未实现IOS-Weixin.Config.WxReady")},DownWxMedia:function(e,t,n){n("下载素材接口DownWxMedia未实现")},paths:[{url:e+"app-support/app-ios-weixin-support.js",check:function(){return!o.IsInit}},{url:e+"engine/beta-amr.js",lazyBeforeStop:1,check:function(){return!Recorder.prototype.amr}}]},ExtendDefault:!0},{Key:"Default",Support:function(e){e(!0)},CanProcess:function(){return!0},Config:{paths:[{url:e+"recorder-core.js",check:function(){return!u.Recorder}},{url:e+"engine/mp3.js",lazyBeforeStart:1,check:function(){return!Recorder.prototype.mp3}}]}}],r=f[0],o=f[1],v=f[2];v.RequestPermission=function(e,t){var n=m.__Rec;n&&(n.close(),m.__Rec=null);var r=Recorder();r.open(function(){e()},t)},v.Start=function(e,t,n){var r=m.__Rec;null!=r&&r.close(),m.__Rec=r=Recorder(e),r.appSet=e,r.open(function(){r.start(),t()},function(e){n(e)})},v.Stop=function(n,t){var r=m.__Rec;if(!r)return Recorder.IsOpen()&&((r=Recorder()).open(),r.close()),void t("未开始录音");var o=function(){for(var e in r.close(),r.set)r.appSet[e]=r.set[e]},e=function(e){o(),t(e),m.__Rec=null};n?r.stop(function(e,t){o(),m._SRec=r,n(e,t),m.__Rec=null},e):e("仅清理资源")};var R=function(e,t){var n=new Date,r=("0"+n.getMinutes()).substr(-2)+":"+("0"+n.getSeconds()).substr(-2)+"."+("00"+n.getMilliseconds()).substr(-3),o=["["+r+" RecordApp]["+(m.Current&&m.Current.Key||"?")+"]"+e],a=arguments,i=u.console||{},s=2,c=i.log;for("number"==typeof t?c=1==t?i.error:3==t?i.warn:c:s=1;s=o.length)a();else{var t=o[e],n=t.url;if(!1!==t.check()){var r=s.createElement("script");r.setAttribute("type","text/javascript"),r.setAttribute("src",n),r.onload=function(){c(e+1)},r.onerror=function(e){i("请求失败:"+(e.message||"-")+","+n)},s.body.appendChild(r)}else c(e+1)}};c(0)},Install:function(n,r){var o=m.__reqs||(m.__reqs=[]);o.push({s:n,f:r}),n=function(){a("s",arguments)},r=function(e,t){a("f",arguments)};var a=function(e,t){for(var n=0;n=o.length)return S.decodeTime=Date.now()-s,void function(){v||(v=Date.now());var e=[],t=h.sampleRate/8e3;t<=1?t=1:y("微信arm素材采样率为8000hz(语音音质勉强能听),已自动提升成设置的采样率"+h.sampleRate+"hz,但音质不可能会变好",3);for(var n=0,r=0,o=0;o=p.length)a();else{var e=p[r];d.DownWxMedia({mediaId:e,transform_mediaIds:p.join(","),transform_type:h.type,transform_bitRate:h.bitRate,transform_sampleRate:h.sampleRate},function(e){S.list.push(e),e.duration?a():/amr/i.test(e.mime)?(r++,i()):m("微信服务器返回了未知音频类型:"+e.mime)},function(e){2<(t=t||0)?m("下载微信音频失败:"+e):(y("DownWxMedia失败,重试..."+ ++t,1,e),i(t))})}},s=0,c=function(t){if(s>=n.length)return S.uploadTime=Date.now()-u,y("开始下载微信素材..."),void i();var e=n[s];y("wx上传本地录音["+s+"] wx.playVoice({localId:'"+e+"'})"),f.uploadVoice({localId:e,isShowProgressTips:0,fail:function(e){2<(t=t||0)?m("微信uploadVoice失败["+s+"]:"+e.errMsg):(y("uploadVoice失败,重试..."+ ++t,1,e),c(t))},success:function(e){var t=e.serverId;y("上传OK serverId:"+t),p.push(t),s++,c()}})},u=Date.now();c()}else m("未获得任何录音")}else m("仅清理资源")},g=c.chunks;if(c.chunkErr)return y(c.chunkErr,1,g),void m("录制失败,已录制"+g.length+"分钟,但后面出错:"+c.chunkErr);if(e)r();else{if(g.length&&Date.now()-g[g.length-1].time<900)return y("丢弃结尾未停止太短录音",3),A(),void r();x=function(e,t){x=null;var n=Date.now();e.localId?g.push({res:e,duration:n-c.startTime,time:n,from:t}):y("已忽略"+t+"数据",3,e),c.chunks=null,r()},f.stopRecord({fail:function(e){x=null,g.length&&n<3e3?(y("停止录音出错,但后续录音太短,已忽略此错误:"+e.errMsg,3),r()):m(e)},success:function(e){x&&x(e,"stop")}})}}else m("未开始录音")}}(),function(){"use strict";var i=RecordApp,f=i.CLog,l=i.Platforms.Native,s=l.Config;l.IsInit=!0;var p=window.NativeRecordReceivePCM=function(e,t){var n=p.rec;if(n){n._appStart||n.envStart({envName:l.Key,canProcess:l.CanProcess()},t),n._appStart=1;for(var r,o=atob(e),a=o.length,i=new Int16Array(a/2),s=0,c=0,u=0;u+2<=a;c++,u+=2)r=(o.charCodeAt(u)|o.charCodeAt(u+1)<<8)<<16>>16,i[c]=r,s+=Math.abs(r);n.envIn(i,s)}else f("未开始录音,但收到Native PCM数据",3)};try{window.top.NativeRecordReceivePCM=p}catch(e){var t=function(){f("检测到跨域iframe,NativeRecordReceivePCM无法注入到顶层,已监听postMessage转发兼容传输数据,请自行实现将top层接收到数据转发到本iframe(不限层),不然无法接收到录音数据",3)};setTimeout(t,8e3),t(),addEventListener("message",function(e){var t=e.data;t&&"NativeRecordReceivePCM"==t.type&&(t=t.data,p(t.pcmDataBase64,t.sampleRate))})}l.RequestPermission=function(e,t){s.JsBridgeRequestPermission(e,t)},l.Start=function(e,t,n){p.param=e;var r=Recorder(e);r.set.disableEnvInFix=!0,p.rec=r,i.__Rec=r,s.JsBridgeStart(e,t,n)},l.Stop=function(o,t){var a=function(e){t("录音失败[Native]:"+e),p.rec=null,i.__Rec=null};s.JsBridgeStop(function(){var n=p.rec;if(p.rec=null,n){f("rec encode start: pcm:"+n.recSize+" src:"+n.srcSampleRate+" set:"+JSON.stringify(p.param));var r=function(){for(var e in n.set)p.param[e]=n.set[e]};if(!o)return r(),void a("仅清理资源");n.stop(function(e,t){f("rec encode end"),r(),i._SRec=n,o(e,t),i.__Rec=null},function(e){r(),a(e)})}else a("未开始录音")},a)}}(); \ No newline at end of file +!function(n){var t="object"==typeof window&&!!window.document,r=t?window:Object,e=r.Recorder,o=e.i18n;!function(n,p,t,_,r){"use strict";var v={LM:"2023-12-01 20:18",Current:0,Platforms:{}},S=v.Platforms,C="RecordApp",a="RequestPermission",e="RegisterPlatform",o=n[C];if(o&&o.LM==v.LM)return o.CLog(_("uXtA::重复导入{1}",0,C),3);n[C]=v,(p[C]=v).__SID_=0;var R=v.__SID=function(){return++v.__SID_},m=v.__Sync=function(n,t,r){return v.__SID_==n||(t&&y(_("kIBu::同时多次调用:{1},旧的回调被丢弃",0,t)+(r?", error: "+r:""),3),!1)},y=function(){var n=arguments;n[0]="["+(y.Tag||C)+"]["+(v.Current&&v.Current.Key||"?")+"]"+n[0],p.CLog.apply(null,n)};v.CLog=y,v[e]=function(n,t){t.Key=n,S[n]&&y(_("ha2K::重复注册{1}",0,n),3),S[n]=t},v.__StopOnlyClearMsg=function(){return _("wpTL::仅清理资源")};var s="Default-H5";u={Support:function(n){n(!0)},CanProcess:function(){return!0}},v[e](s,u),u[a]=function(n,t,r){var e=v.__Rec;e&&(e.close(),v.__Rec=null);var o=p();o.open(function(){t()},r)},u.Start=function(n,t,r,e){var o=v.__Rec;null!=o&&o.stop(),v.__Rec=o=p(t),o.appSet=t,o.dataType="arraybuffer",o.open(function(){m(n)&&o.start(),r()},e)},u.Stop=function(t,e,r){var o=v.__Rec,n=e?"":v.__StopOnlyClearMsg();if(!o)return p.IsOpen()&&((o=p()).open(),o.close()),void r(_("bpvP::未开始录音")+(n?" ("+n+")":""));var u=function(){if(m(t))for(var n in o.close(),o.set)o.appSet[n]=o.set[n]},a=function(n){u(),r(n)};e?o.stop(function(n,t,r){u(),e(n,t,r)},a):a(n)},v.GetCurrentRecOrNull=function(){return v.__Rec||null},v.Pause=function(){var n=v.Current,t="Pause";if(!n||!n[t]||!1===n[t]()){var r=v.__Rec;r&&c(t)&&r.pause()}},v.Resume=function(){var n=v.Current,t="Resume";if(!n||!n[t]||!1===n[t]()){var r=v.__Rec;r&&c(t)&&r.resume()}};var u;var c=function(n){var t=v.Current;if(t&&t.CanProcess())return 1;y(_("fLJD::当前环境不支持实时回调,无法进行{1}",0,n),3)};v.Install=function(n,r){var e=v.Current;if(e)n&&n();else{var u=v.__reqs||(v.__reqs=[]);u.push({s:n,f:r}),n=function(){t("s",arguments)},r=function(){t("f",arguments)};var t=function(n,t){for(var r=[].concat(u),e=u.length=0;e>3&15];if(u+r+1>n.length)break;if(s.set(n.subarray(u,u+r+1)),o.Decoder_Interface_Decode(a,s.byteOffset,l.byteOffset,0),c+o.PCM_BUFFER_COUNT>f.length){var i=new Int16Array(2*f.length);i.set(f.subarray(0,c)),f=i}if(f.set(l,c),c+=o.PCM_BUFFER_COUNT,u+=r+1,2e4<(e+=r+1))return void setTimeout(d)}p._free(s.byteOffset),p._free(l.byteOffset),o.Decoder_Interface_exit(a),t(f.subarray(0,c))};d()}else e("非AMR音频数据")},encode:function(i,n){var t=this,o=this.Encoder_Interface_init(),e=p._malloc(2*this.PCM_BUFFER_COUNT),a=new Int16Array(p.HEAPU8.buffer,e,this.PCM_BUFFER_COUNT);e=p._malloc(this.AMR_BUFFER_COUNT);for(var f=new Uint8Array(p.HEAPU8.buffer,e,this.AMR_BUFFER_COUNT),s=this.SIZES[7]+1,l=new Uint8Array(Math.ceil(i.length/this.PCM_BUFFER_COUNT*s)+this.AMR_HEADER.length),r=0;r>>0)+4294967296*+(r>>>0):+(e>>>0)+4294967296*+(0|r)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};p.Runtime=v;var o,a,f,s=!1;function w(e,r){e||Be("Assertion failed: "+r)}function m(e,r,i,n){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":A[e>>0]=r;break;case"i16":S[e>>1]=r;break;case"i32":M[e>>2]=r;break;case"i64":a=[r>>>0,(o=r,1<=+ie(o)?0>>0:~~+ne((o-+(~~o>>>0))/4294967296)>>>0:0)],M[e>>2]=a[0],M[e+4>>2]=a[1];break;case"float":O[e>>2]=r;break;case"double":L[e>>3]=r;break;default:Be("invalid type for setValue: "+i)}}function l(e,r,i){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":return A[e>>0];case"i16":return S[e>>1];case"i32":case"i64":return M[e>>2];case"float":return O[e>>2];case"double":return L[e>>3];default:Be("invalid type for setValue: "+r)}return null}p.setValue=m,p.getValue=l;var b=2,k=4;function c(e,r,i,n){var t,o;"number"==typeof e?(t=!0,o=e):(t=!1,o=e.length);var a,f="string"==typeof r?r:null;if(a=i==k?n:[Oe,v.stackAlloc,v.staticAlloc,v.dynamicAlloc][void 0===i?b:i](Math.max(o,f?1:r.length)),t){var s;n=a;for(w(0==(3&a)),s=a+(-4&o);n>2]=0;for(s=a+o;n>0]=0;return a}if("i8"===f)return e.subarray||e.slice?D.set(e,a):D.set(new Uint8Array(e),a),a;for(var l,u,c,d=0;d>0],(0!=i||r)&&(t++,!r||t!=r););r||(r=t);var o="";if(n<128){for(var a;0>10,56320|1023&s)}else f+=String.fromCharCode((31&i)<<6|n);else f+=String.fromCharCode(i)}}function h(e,r,i,n){if(!(0>6,r[i++]=128|63&f}else if(f<=65535){if(o<=i+2)break;r[i++]=224|f>>12,r[i++]=128|f>>6&63,r[i++]=128|63&f}else if(f<=2097151){if(o<=i+3)break;r[i++]=240|f>>18,r[i++]=128|f>>12&63,r[i++]=128|f>>6&63,r[i++]=128|63&f}else if(f<=67108863){if(o<=i+4)break;r[i++]=248|f>>24,r[i++]=128|f>>18&63,r[i++]=128|f>>12&63,r[i++]=128|f>>6&63,r[i++]=128|63&f}else{if(o<=i+5)break;r[i++]=252|f>>30,r[i++]=128|f>>24&63,r[i++]=128|f>>18&63,r[i++]=128|f>>12&63,r[i++]=128|f>>6&63,r[i++]=128|63&f}}return r[i]=0,i-t}function g(e){for(var r=0,i=0;i"}else o=t;e:for(;d>0];if(!i)return r;r+=String.fromCharCode(i)}},p.stringToAscii=function(e,r){return re(e,r,!1)},p.UTF8ArrayToString=d,p.UTF8ToString=function(e){return d(D,e)},p.stringToUTF8Array=h,p.stringToUTF8=function(e,r,i){return h(e,D,r,i)},p.lengthBytesUTF8=g,p.UTF16ToString=function(e){for(var r=0,i="";;){var n=S[e+2*r>>1];if(0==n)return i;++r,i+=String.fromCharCode(n)}},p.stringToUTF16=function(e,r,i){if(void 0===i&&(i=2147483647),i<2)return 0;for(var n=r,t=(i-=2)<2*e.length?i/2:e.length,o=0;o>1]=a,r+=2}return S[r>>1]=0,r-n},p.lengthBytesUTF16=function(e){return 2*e.length},p.UTF32ToString=function(e){for(var r=0,i="";;){var n=M[e+4*r>>2];if(0==n)return i;if(++r,65536<=n){var t=n-65536;i+=String.fromCharCode(55296|t>>10,56320|1023&t)}else i+=String.fromCharCode(n)}},p.stringToUTF32=function(e,r,i){if(void 0===i&&(i=2147483647),i<4)return 0;for(var n=r,t=n+i-4,o=0;o>2]=a,t<(r+=4)+4)break}return M[r>>2]=0,r-n},p.lengthBytesUTF32=function(e){for(var r=0,i=0;i>0]=o,t+=1}}function re(e,r,i){for(var n=0;n>0]=e.charCodeAt(n);i||(A[r>>0]=0)}p.addOnPreRun=Q,p.addOnInit=function(e){X.unshift(e)},p.addOnPreMain=function(e){V.unshift(e)},p.addOnExit=function(e){G.unshift(e)},p.addOnPostRun=J,p.intArrayFromString=$,p.intArrayToString=function(e){for(var r=[],i=0;i>0]=e[i]},p.writeAsciiToMemory=re,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,r){var i=65535&e,n=65535&r;return i*n+((e>>>16)*n+i*(r>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var r=0;r<32;r++)if(e&1<<31-r)return r;return 32}),Math.clz32=Math.clz32;var ie=Math.abs,ne=(Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt,Math.ceil),te=Math.floor,oe=(Math.pow,Math.imul,Math.fround,Math.min),ae=(Math.clz32,0),fe=null,se=null;function le(e){ae++,p.monitorRunDependencies&&p.monitorRunDependencies(ae)}function ue(e){if(ae--,p.monitorRunDependencies&&p.monitorRunDependencies(ae),0==ae&&(null!==fe&&(clearInterval(fe),fe=null),se)){var r=se;se=null,r()}}p.addRunDependency=le,p.removeRunDependency=ue,p.preloadedImages={},p.preloadedAudios={};P=31784,X.push(),c([154,14,0,0,188,14,0,0,226,14,0,0,8,15,0,0,46,15,0,0,84,15,0,0,130,15,0,0,208,15,0,0,66,16,0,0,108,16,0,0,42,17,0,0,248,17,0,0,228,18,0,0,240,19,0,0,24,21,0,0,86,22,0,0,238,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,13,0,15,0,17,0,19,0,20,0,26,0,31,0,5,0,6,0,5,0,5,0,0,0,0,0,0,0,0,0,1,252,146,252,36,253,182,253,72,254,218,254,108,255,0,0,0,0,32,78,32,78,32,78,32,78,32,78,80,70,0,64,0,32,0,0,0,0,255,127,112,125,112,125,112,125,112,125,112,125,153,89,255,127,112,125,112,125,102,102,102,38,153,25,153,25,154,89,185,62,232,43,188,30,132,21,16,15,139,10,97,7,42,5,157,3,0,96,0,72,0,54,128,40,96,30,200,22,22,17,209,12,157,9,54,7,102,70,184,38,75,21,182,11,113,6,139,3,243,1,18,1,151,0,83,0,154,89,185,62,232,43,188,30,132,21,16,15,139,10,97,7,42,5,157,3,44,3,128,0,30,2,140,0,57,11,111,4,218,8,74,13,19,8,51,2,133,49,135,2,36,16,6,7,225,21,165,20,9,30,118,1,151,14,185,1,160,42,78,10,31,46,190,9,10,80,29,3,98,20,163,2,68,26,162,32,162,20,160,6,208,5,172,1,250,22,196,1,212,20,232,15,255,13,244,4,165,9,133,3,22,62,237,3,134,58,199,12,91,40,250,18,51,14,229,7,36,10,67,3,72,48,28,19,174,47,168,6,120,52,68,6,158,35,37,9,128,15,2,6,103,21,208,38,211,14,161,1,79,5,158,1,56,14,33,6,59,31,213,13,141,44,133,2,104,33,123,2,216,15,97,5,224,64,236,23,156,44,188,2,215,7,95,2,127,48,42,6,111,43,46,18,112,53,172,6,214,46,205,4,60,31,129,28,175,51,83,22,124,9,135,4,25,8,149,7,74,24,233,23,218,13,12,7,221,34,10,7,231,33,44,6,111,54,248,13,1,52,93,24,254,23,106,4,106,23,198,6,61,55,54,18,7,44,249,12,194,47,15,6,107,54,199,11,217,19,224,40,228,36,50,26,153,6,171,2,156,5,26,5,44,28,93,15,242,15,153,10,113,30,192,2,222,58,34,3,155,24,92,20,241,16,237,20,20,26,29,2,174,23,114,2,83,53,116,14,234,44,104,9,28,63,204,2,145,47,239,2,129,31,225,44,170,24,208,8,114,17,240,1,125,28,11,2,229,39,249,14,202,32,221,11,211,32,198,3,148,55,88,7,255,33,33,21,11,64,255,18,252,28,187,7,201,23,206,4,155,36,46,17,222,56,35,13,247,52,57,11,107,51,185,5,158,21,142,6,82,51,179,57,170,28,88,2,38,5,36,2,156,16,211,13,60,39,60,9,91,41,110,2,32,51,157,2,46,55,198,13,175,19,56,38,234,59,107,2,43,12,78,2,58,64,197,11,182,60,72,16,177,60,75,6,45,60,204,4,151,62,83,36,110,29,112,19,198,7,189,4,183,44,133,4,224,48,143,21,3,37,84,10,36,30,242,7,224,51,191,8,139,62,229,19,130,31,105,26,99,39,133,5,138,19,43,9,235,48,87,23,22,59,83,11,88,71,241,8,211,61,223,9,137,63,14,40,59,57,55,44,5,7,81,1,43,12,141,1,182,13,112,11,240,17,110,10,95,29,116,2,151,44,144,2,58,23,131,9,144,25,199,28,46,32,61,3,160,15,95,3,48,39,188,9,185,62,223,13,28,71,30,4,215,23,174,5,252,22,220,30,64,73,140,13,72,7,32,2,238,35,171,2,103,45,64,16,242,17,108,6,86,12,133,4,81,62,0,10,61,48,149,14,12,68,140,20,218,23,212,7,101,11,206,6,83,64,137,20,147,65,144,6,53,67,223,6,165,18,159,12,218,28,147,23,6,56,28,39,195,15,186,1,98,16,202,1,254,35,194,8,3,29,121,16,60,50,33,3,178,43,57,3,104,49,36,8,156,50,154,25,33,37,228,3,229,25,217,3,41,41,198,9,185,59,142,19,58,49,7,8,124,60,117,6,66,63,9,27,151,55,158,22,66,10,60,3,239,21,150,6,95,53,146,22,84,14,18,6,49,44,73,10,42,38,179,5,179,54,125,18,25,62,147,24,134,24,78,7,230,30,237,8,82,66,219,17,192,64,9,15,144,59,7,9,151,62,172,12,123,56,144,69,71,46,203,10,189,7,127,5,120,5,108,3,239,16,219,13,39,17,114,16,29,21,168,2,53,68,13,3,101,25,254,19,155,31,253,29,187,28,26,3,141,32,158,4,193,58,88,12,80,58,223,11,197,79,112,3,209,56,84,3,49,48,116,57,248,26,128,7,129,16,165,3,26,32,63,4,163,41,244,15,98,39,181,17,175,10,72,3,177,80,57,4,71,65,78,23,1,62,226,17,119,42,14,10,189,14,142,4,183,56,204,15,219,80,67,10,115,59,174,10,170,59,138,8,113,24,154,12,69,51,24,76,28,28,162,3,158,9,82,6,163,17,20,12,28,54,181,16,220,40,65,3,187,67,42,3,251,65,241,8,186,60,25,32,35,53,148,6,125,12,42,7,76,62,4,11,196,61,207,20,110,66,134,9,148,65,46,5,55,61,220,31,206,45,108,33,178,14,5,8,91,37,37,5,249,52,134,26,195,47,144,7,244,31,222,13,231,51,242,6,171,63,199,25,163,63,78,30,73,33,247,9,57,28,85,10,93,71,65,29,245,65,200,8,218,69,68,11,113,67,0,13,201,36,194,78,34,43,128,32,6,5,108,2,151,5,71,2,105,23,241,8,138,15,42,14,24,20,240,2,97,52,62,3,177,21,44,11,244,45,20,23,241,41,48,2,70,21,52,2,9,52,192,11,170,46,99,14,175,77,30,3,97,38,216,2,95,53,44,34,223,28,237,11,211,9,10,3,162,23,65,3,69,25,210,19,113,32,159,9,253,23,73,7,204,59,238,4,72,56,195,17,95,53,163,17,65,12,167,11,175,9,235,4,240,58,39,18,22,60,47,10,156,56,88,9,174,48,233,9,115,29,133,11,109,50,28,47,92,21,172,2,69,12,210,2,217,19,250,4,188,49,104,16,198,59,169,2,139,30,80,2,134,25,229,7,94,64,33,34,52,52,114,3,21,21,131,3,64,57,130,8,149,57,131,16,190,55,18,5,105,54,237,7,117,60,58,29,199,61,220,17,217,9,221,7,198,19,12,7,39,20,182,25,218,27,13,14,168,42,75,6,209,45,172,6,7,66,127,13,140,63,240,25,90,36,239,3,153,36,58,8,238,74,173,19,153,48,173,16,47,62,52,5,253,59,184,13,122,46,61,55,229,62,198,26,218,7,225,2,195,14,93,3,190,44,64,11,236,13,212,13,97,35,217,4,103,48,128,3,98,33,21,18,41,45,144,22,193,31,77,2,26,32,76,2,40,73,171,14,173,50,77,12,113,61,246,2,250,64,242,2,118,59,130,43,255,61,160,8,65,18,98,2,234,39,166,2,153,59,50,16,97,22,255,12,185,32,134,6,150,77,17,9,90,60,135,21,230,54,105,21,96,22,72,11,156,29,66,5,48,56,205,20,108,63,110,15,14,59,160,14,202,59,155,5,5,57,230,15,13,48,80,61,193,29,163,6,122,8,116,3,107,17,215,17,174,70,234,12,198,49,47,3,78,58,139,3,168,58,185,16,158,60,176,32,74,70,63,4,54,9,97,3,153,63,203,14,63,61,244,17,228,63,254,5,200,64,162,8,193,65,225,37,57,62,161,17,205,12,61,4,171,37,139,8,197,46,180,23,239,35,110,17,251,34,93,6,49,40,246,11,97,64,35,20,106,60,154,27,110,53,239,9,153,20,229,8,106,65,69,24,15,65,80,13,80,79,35,13,0,73,193,7,92,55,67,50,50,59,87,61,121,17,252,3,145,6,118,3,215,16,205,16,248,34,73,14,5,23,123,4,127,45,172,5,14,62,179,8,230,17,244,25,17,27,181,4,76,24,31,3,127,48,81,13,96,62,37,15,147,77,61,8,217,37,93,8,150,57,126,34,144,56,39,10,25,7,214,4,91,30,45,3,135,74,58,17,178,21,16,8,103,14,28,11,27,68,208,8,57,65,134,17,71,63,12,21,92,31,203,10,77,13,71,8,18,68,101,21,130,53,226,10,167,77,160,10,138,35,40,15,252,70,225,18,184,67,175,47,252,19,228,3,71,19,220,3,160,38,9,12,126,23,251,20,9,62,131,6,213,32,159,4,239,58,62,9,65,77,90,27,187,46,26,6,111,28,104,4,219,65,252,5,146,61,5,21,116,57,17,8,137,78,107,8,6,67,53,32,247,69,174,24,91,21,224,5,4,16,14,10,13,68,154,26,41,22,72,11,252,64,54,13,15,35,39,7,191,78,129,18,94,76,126,28,2,26,221,10,208,44,249,12,197,75,190,19,190,73,114,18,55,64,69,9,206,79,34,17,89,44,158,103,73,45,252,11,50,11,30,6,244,19,46,4,142,37,51,19,75,19,208,13,117,29,110,3,237,80,83,3,26,27,43,17,159,65,53,30,153,39,251,3,117,38,196,3,134,60,115,15,99,60,102,13,175,73,214,3,152,78,195,3,236,65,87,50,254,55,104,16,199,25,196,4,6,36,46,3,46,66,14,20,29,22,34,19,112,21,6,7,34,79,122,15,109,66,34,24,9,70,41,23,149,36,92,13,50,29,179,7,81,76,57,20,59,74,190,11,70,64,204,14,198,62,63,9,216,33,183,10,229,36,246,102,104,42,7,5,227,13,241,3,230,21,38,14,253,75,136,21,165,48,29,3,154,80,143,3,67,60,250,11,141,66,35,40,195,73,73,10,73,15,244,4,63,76,43,13,132,70,110,20,91,75,142,6,52,76,100,12,152,70,2,42,241,64,189,26,62,12,250,8,117,42,133,9,220,60,1,27,53,49,53,13,108,43,225,12,122,65,120,9,165,73,59,26,19,67,159,38,199,49,45,10,233,34,68,12,89,74,84,30,171,71,40,15,251,79,98,14,146,76,52,13,244,50,173,75,30,41,84,90,1,0,3,0,0,0,1,0,2,0,4,0,82,120,26,113,81,106,240,99,241,93,78,88,2,83,7,78,89,73,242,68,51,115,174,103,80,93,251,83,149,75,6,68,56,61,25,55,150,49,161,44,205,76,21,46,166,27,151,16,244,9,249,5,149,3,38,2,74,1,198,0,249,79,26,80,59,80,92,80,125,80,164,80,197,80,236,80,13,81,52,81,85,81,124,81,157,81,196,81,236,81,19,82,58,82,97,82,137,82,176,82,215,82,255,82,38,83,84,83,123,83,169,83,208,83,254,83,38,84,84,84,129,84,175,84,221,84,11,85,57,85,103,85,149,85,201,85,247,85,43,86,89,86,142,86,194,86,247,86,43,87,95,87,148,87,200,87,3,88,56,88,115,88,174,88,233,88,36,89,95,89,154,89,219,89,22,90,88,90,153,90,212,90,28,91,94,91,159,91,231,91,48,92,113,92,192,92,8,93,80,93,159,93,237,93,60,94,138,94,224,94,46,95,131,95,217,95,52,96,138,96,229,96,72,97,163,97,6,98,104,98,209,98,51,99,156,99,11,100,123,100,234,100,96,101,214,101,76,102,201,102,76,103,207,103,82,104,220,104,108,105,252,105,147,106,48,107,205,107,113,108,27,109,204,109,125,110,59,111,249,111,197,112,150,113,111,114,84,115,64,116,50,117,50,118,63,119,88,120,225,122,255,127,255,127,255,127,255,127,255,127,255,127,255,127,225,122,88,120,63,119,50,118,50,117,64,116,84,115,111,114,150,113,197,112,249,111,59,111,125,110,204,109,27,109,113,108,205,107,48,107,147,106,252,105,108,105,220,104,82,104,207,103,76,103,201,102,76,102,214,101,96,101,234,100,123,100,11,100,156,99,51,99,209,98,104,98,6,98,163,97,72,97,229,96,138,96,52,96,217,95,131,95,46,95,224,94,138,94,60,94,237,93,159,93,80,93,8,93,192,92,113,92,48,92,231,91,159,91,94,91,28,91,212,90,153,90,88,90,22,90,219,89,154,89,95,89,36,89,233,88,174,88,115,88,56,88,3,88,200,87,148,87,95,87,43,87,247,86,194,86,142,86,89,86,43,86,247,85,201,85,149,85,103,85,57,85,11,85,221,84,175,84,129,84,84,84,38,84,254,83,208,83,169,83,123,83,84,83,38,83,255,82,215,82,176,82,137,82,97,82,58,82,19,82,236,81,196,81,157,81,124,81,85,81,52,81,13,81,236,80,197,80,164,80,125,80,92,80,59,80,26,80,249,79,210,79,177,79,145,79,112,79,13,0,14,0,16,0,18,0,20,0,21,0,27,0,32,0,6,0,7,0,6,0,6,0,0,0,0,0,0,0,1,0,13,0,14,0,16,0,18,0,19,0,21,0,26,0,31,0,6,0,6,0,6,0,6,0,0,0,0,0,0,0,1,0,79,115,156,110,74,97,126,77,72,54,9,31,195,10,153,251,125,242,48,239,127,240,173,244,231,249,176,254,22,2,202,3,255,3,55,3,4,2,220,0,0,0,125,255,62,255,41,255,0,0,216,127,107,127,182,126,187,125,123,124,248,122,53,121,53,119,250,116,137,114,128,46,128,67,0,120,0,101,128,94,64,113,64,95,192,28,64,76,192,57,84,0,1,0,254,255,2,0,5,0,10,0,5,0,9,0,20,0,84,0,1,0,254,255,2,0,5,0,10,0,5,0,9,0,20,0,84,0,1,0,254,255,2,0,3,0,6,0,5,0,9,0,20,0,84,0,1,0,254,255,2,0,3,0,6,0,5,0,9,0,20,0,84,0,1,0,254,255,2,0,3,0,6,0,5,0,9,0,20,0,84,0,1,0,254,255,2,0,3,0,6,0,10,0,19,0,20,0,84,0,1,0,254,255,2,0,3,0,6,0,5,0,9,0,20,0,94,0,0,0,253,255,3,0,3,0,6,0,5,0,9,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,19,0,19,0,19,0,19,0,23,0,39,0,57,0,5,0,8,0,8,0,7,0,8,0,7,0,2,0,8,0,4,0,7,0,2,0,4,0,7,0,2,0,8,0,4,0,7,0,2,0,8,0,8,0,7,0,8,0,7,0,2,0,6,0,4,0,7,0,2,0,6,0,4,0,7,0,2,0,6,0,4,0,7,0,2,0,6,0,8,0,9,0,9,0,8,0,9,0,2,0,6,0,4,0,9,0,2,0,6,0,8,0,9,0,2,0,6,0,4,0,9,0,2,0,6,0,8,0,9,0,9,0,8,0,11,0,3,0,7,0,4,0,11,0,3,0,7,0,8,0,11,0,3,0,7,0,4,0,11,0,3,0,7,0,8,0,9,0,9,0,8,0,13,0,4,0,7,0,5,0,13,0,4,0,7,0,8,0,13,0,4,0,7,0,5,0,13,0,4,0,7,0,9,0,9,0,9,0,8,0,13,0,4,0,4,0,5,0,6,0,13,0,4,0,4,0,5,0,8,0,13,0,4,0,4,0,5,0,6,0,13,0,4,0,4,0,5,0,8,0,9,0,9,0,8,0,1,0,1,0,1,0,1,0,10,0,10,0,7,0,7,0,5,0,1,0,1,0,1,0,1,0,10,0,10,0,7,0,7,0,8,0,1,0,1,0,1,0,1,0,10,0,10,0,7,0,7,0,5,0,1,0,1,0,1,0,1,0,10,0,10,0,7,0,7,0,7,0,8,0,9,0,8,0,6,0,9,0,4,0,4,0,4,0,4,0,4,0,4,0,3,0,3,0,3,0,3,0,3,0,5,0,6,0,4,0,4,0,4,0,4,0,4,0,4,0,3,0,3,0,3,0,3,0,3,0,5,0,9,0,4,0,4,0,4,0,4,0,4,0,4,0,3,0,3,0,3,0,3,0,3,0,5,0,6,0,4,0,4,0,4,0,4,0,4,0,4,0,3,0,3,0,3,0,3,0,3,0,5,0,3,0,8,0,9,0,9,0,6,0,95,0,103,0,118,0,134,0,148,0,159,0,204,0,244,0,39,0,43,0,38,0,37,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,23,0,24,0,25,0,26,0,27,0,28,0,48,0,49,0,61,0,62,0,82,0,83,0,47,0,46,0,45,0,44,0,81,0,80,0,79,0,78,0,17,0,18,0,20,0,22,0,77,0,76,0,75,0,74,0,29,0,30,0,43,0,42,0,41,0,40,0,38,0,39,0,16,0,19,0,21,0,50,0,51,0,59,0,60,0,63,0,64,0,72,0,73,0,84,0,85,0,93,0,94,0,32,0,33,0,35,0,36,0,53,0,54,0,56,0,57,0,66,0,67,0,69,0,70,0,87,0,88,0,90,0,91,0,34,0,55,0,68,0,89,0,37,0,58,0,71,0,92,0,31,0,52,0,65,0,86,0,7,0,6,0,5,0,4,0,3,0,2,0,1,0,0,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,23,0,24,0,25,0,26,0,27,0,46,0,65,0,84,0,45,0,44,0,43,0,64,0,63,0,62,0,83,0,82,0,81,0,102,0,101,0,100,0,42,0,61,0,80,0,99,0,28,0,47,0,66,0,85,0,18,0,41,0,60,0,79,0,98,0,29,0,48,0,67,0,17,0,20,0,22,0,40,0,59,0,78,0,97,0,21,0,30,0,49,0,68,0,86,0,19,0,16,0,87,0,39,0,38,0,58,0,57,0,77,0,35,0,54,0,73,0,92,0,76,0,96,0,95,0,36,0,55,0,74,0,93,0,32,0,51,0,33,0,52,0,70,0,71,0,89,0,90,0,31,0,50,0,69,0,88,0,37,0,56,0,75,0,94,0,34,0,53,0,72,0,91,0,0,0,1,0,4,0,5,0,3,0,6,0,7,0,2,0,13,0,15,0,8,0,9,0,11,0,12,0,14,0,10,0,16,0,28,0,74,0,29,0,75,0,27,0,73,0,26,0,72,0,30,0,76,0,51,0,97,0,50,0,71,0,96,0,117,0,31,0,77,0,52,0,98,0,49,0,70,0,95,0,116,0,53,0,99,0,32,0,78,0,33,0,79,0,48,0,69,0,94,0,115,0,47,0,68,0,93,0,114,0,46,0,67,0,92,0,113,0,19,0,21,0,23,0,22,0,18,0,17,0,20,0,24,0,111,0,43,0,89,0,110,0,64,0,65,0,44,0,90,0,25,0,45,0,66,0,91,0,112,0,54,0,100,0,40,0,61,0,86,0,107,0,39,0,60,0,85,0,106,0,36,0,57,0,82,0,103,0,35,0,56,0,81,0,102,0,34,0,55,0,80,0,101,0,42,0,63,0,88,0,109,0,41,0,62,0,87,0,108,0,38,0,59,0,84,0,105,0,37,0,58,0,83,0,104,0,0,0,1,0,4,0,3,0,5,0,6,0,13,0,7,0,2,0,8,0,9,0,11,0,15,0,12,0,14,0,10,0,28,0,82,0,29,0,83,0,27,0,81,0,26,0,80,0,30,0,84,0,16,0,55,0,109,0,56,0,110,0,31,0,85,0,57,0,111,0,48,0,73,0,102,0,127,0,32,0,86,0,51,0,76,0,105,0,130,0,52,0,77,0,106,0,131,0,58,0,112,0,33,0,87,0,19,0,23,0,53,0,78,0,107,0,132,0,21,0,22,0,18,0,17,0,20,0,24,0,25,0,50,0,75,0,104,0,129,0,47,0,72,0,101,0,126,0,54,0,79,0,108,0,133,0,46,0,71,0,100,0,125,0,128,0,103,0,74,0,49,0,45,0,70,0,99,0,124,0,42,0,67,0,96,0,121,0,39,0,64,0,93,0,118,0,38,0,63,0,92,0,117,0,35,0,60,0,89,0,114,0,34,0,59,0,88,0,113,0,44,0,69,0,98,0,123,0,43,0,68,0,97,0,122,0,41,0,66,0,95,0,120,0,40,0,65,0,94,0,119,0,37,0,62,0,91,0,116,0,36,0,61,0,90,0,115,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,26,0,87,0,27,0,88,0,28,0,89,0,29,0,90,0,30,0,91,0,51,0,80,0,112,0,141,0,52,0,81,0,113,0,142,0,54,0,83,0,115,0,144,0,55,0,84,0,116,0,145,0,58,0,119,0,59,0,120,0,21,0,22,0,23,0,17,0,18,0,19,0,31,0,60,0,92,0,121,0,56,0,85,0,117,0,146,0,20,0,24,0,25,0,50,0,79,0,111,0,140,0,57,0,86,0,118,0,147,0,49,0,78,0,110,0,139,0,48,0,77,0,53,0,82,0,114,0,143,0,109,0,138,0,47,0,76,0,108,0,137,0,32,0,33,0,61,0,62,0,93,0,94,0,122,0,123,0,41,0,42,0,43,0,44,0,45,0,46,0,70,0,71,0,72,0,73,0,74,0,75,0,102,0,103,0,104,0,105,0,106,0,107,0,131,0,132,0,133,0,134,0,135,0,136,0,34,0,63,0,95,0,124,0,35,0,64,0,96,0,125,0,36,0,65,0,97,0,126,0,37,0,66,0,98,0,127,0,38,0,67,0,99,0,128,0,39,0,68,0,100,0,129,0,40,0,69,0,101,0,130,0,8,0,7,0,6,0,5,0,4,0,3,0,2,0,14,0,16,0,9,0,10,0,12,0,13,0,15,0,11,0,17,0,20,0,22,0,24,0,23,0,19,0,18,0,21,0,56,0,88,0,122,0,154,0,57,0,89,0,123,0,155,0,58,0,90,0,124,0,156,0,52,0,84,0,118,0,150,0,53,0,85,0,119,0,151,0,27,0,93,0,28,0,94,0,29,0,95,0,30,0,96,0,31,0,97,0,61,0,127,0,62,0,128,0,63,0,129,0,59,0,91,0,125,0,157,0,32,0,98,0,64,0,130,0,1,0,0,0,25,0,26,0,33,0,99,0,34,0,100,0,65,0,131,0,66,0,132,0,54,0,86,0,120,0,152,0,60,0,92,0,126,0,158,0,55,0,87,0,121,0,153,0,117,0,116,0,115,0,46,0,78,0,112,0,144,0,43,0,75,0,109,0,141,0,40,0,72,0,106,0,138,0,36,0,68,0,102,0,134,0,114,0,149,0,148,0,147,0,146,0,83,0,82,0,81,0,80,0,51,0,50,0,49,0,48,0,47,0,45,0,44,0,42,0,39,0,35,0,79,0,77,0,76,0,74,0,71,0,67,0,113,0,111,0,110,0,108,0,105,0,101,0,145,0,143,0,142,0,140,0,137,0,133,0,41,0,73,0,107,0,139,0,37,0,69,0,103,0,135,0,38,0,70,0,104,0,136,0,7,0,6,0,5,0,4,0,3,0,2,0,1,0,0,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,26,0,27,0,28,0,29,0,30,0,31,0,115,0,116,0,117,0,118,0,119,0,120,0,72,0,73,0,161,0,162,0,65,0,68,0,69,0,108,0,111,0,112,0,154,0,157,0,158,0,197,0,200,0,201,0,32,0,33,0,121,0,122,0,74,0,75,0,163,0,164,0,66,0,109,0,155,0,198,0,19,0,23,0,21,0,22,0,18,0,17,0,20,0,24,0,25,0,37,0,36,0,35,0,34,0,80,0,79,0,78,0,77,0,126,0,125,0,124,0,123,0,169,0,168,0,167,0,166,0,70,0,67,0,71,0,113,0,110,0,114,0,159,0,156,0,160,0,202,0,199,0,203,0,76,0,165,0,81,0,82,0,92,0,91,0,93,0,83,0,95,0,85,0,84,0,94,0,101,0,102,0,96,0,104,0,86,0,103,0,87,0,97,0,127,0,128,0,138,0,137,0,139,0,129,0,141,0,131,0,130,0,140,0,147,0,148,0,142,0,150,0,132,0,149,0,133,0,143,0,170,0,171,0,181,0,180,0,182,0,172,0,184,0,174,0,173,0,183,0,190,0,191,0,185,0,193,0,175,0,192,0,176,0,186,0,38,0,39,0,49,0,48,0,50,0,40,0,52,0,42,0,41,0,51,0,58,0,59,0,53,0,61,0,43,0,60,0,44,0,54,0,194,0,179,0,189,0,196,0,177,0,195,0,178,0,187,0,188,0,151,0,136,0,146,0,153,0,134,0,152,0,135,0,144,0,145,0,105,0,90,0,100,0,107,0,88,0,106,0,89,0,98,0,99,0,62,0,47,0,57,0,64,0,45,0,63,0,46,0,55,0,56,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,23,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,24,0,25,0,26,0,27,0,28,0,38,0,141,0,39,0,142,0,40,0,143,0,41,0,144,0,42,0,145,0,43,0,146,0,44,0,147,0,45,0,148,0,46,0,149,0,47,0,97,0,150,0,200,0,48,0,98,0,151,0,201,0,49,0,99,0,152,0,202,0,86,0,136,0,189,0,239,0,87,0,137,0,190,0,240,0,88,0,138,0,191,0,241,0,91,0,194,0,92,0,195,0,93,0,196,0,94,0,197,0,95,0,198,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,50,0,100,0,153,0,203,0,89,0,139,0,192,0,242,0,51,0,101,0,154,0,204,0,55,0,105,0,158,0,208,0,90,0,140,0,193,0,243,0,59,0,109,0,162,0,212,0,63,0,113,0,166,0,216,0,67,0,117,0,170,0,220,0,36,0,37,0,54,0,53,0,52,0,58,0,57,0,56,0,62,0,61,0,60,0,66,0,65,0,64,0,70,0,69,0,68,0,104,0,103,0,102,0,108,0,107,0,106,0,112,0,111,0,110,0,116,0,115,0,114,0,120,0,119,0,118,0,157,0,156,0,155,0,161,0,160,0,159,0,165,0,164,0,163,0,169,0,168,0,167,0,173,0,172,0,171,0,207,0,206,0,205,0,211,0,210,0,209,0,215,0,214,0,213,0,219,0,218,0,217,0,223,0,222,0,221,0,73,0,72,0,71,0,76,0,75,0,74,0,79,0,78,0,77,0,82,0,81,0,80,0,85,0,84,0,83,0,123,0,122,0,121,0,126,0,125,0,124,0,129,0,128,0,127,0,132,0,131,0,130,0,135,0,134,0,133,0,176,0,175,0,174,0,179,0,178,0,177,0,182,0,181,0,180,0,185,0,184,0,183,0,188,0,187,0,186,0,226,0,225,0,224,0,229,0,228,0,227,0,232,0,231,0,230,0,235,0,234,0,233,0,238,0,237,0,236,0,96,0,199,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,1,0,3,0,2,0,4,0,1,0,4,0,1,0,4,0,0,0,205,12,156,25,0,32,102,38,205,44,0,48,51,51,102,54,154,57,205,60,0,64,51,67,102,70,154,73,205,76,159,0,64,241,53,167,206,0,190,242,52,176,12,1,67,244,88,185,93,1,201,245,133,194,163,1,215,246,223,200,226,1,166,247,189,205,42,2,116,248,147,210,125,2,66,249,109,215,221,2,18,250,77,220,74,3,222,250,30,225,201,3,174,251,0,230,90,4,124,252,216,234,1,5,74,253,179,239,193,5,25,254,141,244,158,6,231,254,104,249,156,7,181,255,67,254,193,8,133,0,33,3,17,10,83,1,252,7,147,11,33,2,213,12,80,13,240,2,178,17,79,15,190,3,140,22,155,17,141,4,104,27,63,20,91,5,67,32,72,23,41,6,29,37,199,26,248,6,249,41,203,30,199,7,212,46,105,35,149,8,175,51,185,40,100,9,138,56,222,48,113,10,224,62,135,63,244,11,253,71,150,82,120,13,27,81,93,107,252,14,57,90,93,107,252,14,57,90,0,0,1,0,3,0,2,0,6,0,4,0,5,0,7,0,0,0,1,0,3,0,2,0,5,0,6,0,4,0,7,0,248,127,211,127,76,127,108,126,51,125,163,123,188,121,127,119,239,116,12,114,217,110,89,107,141,103,121,99,31,95,130,90,166,85,141,80,60,75,182,69,0,64,28,58,15,52,223,45,141,39,32,33,156,26,6,20,97,13,178,6,0,0,78,249,159,242,250,235,100,229,224,222,115,216,33,210,241,203,228,197,0,192,74,186,196,180,115,175,90,170,126,165,225,160,135,156,115,152,167,148,39,145,244,141,17,139,129,136,68,134,93,132,205,130,148,129,180,128,45,128,8,128,255,127,46,124,174,120,118,117,125,114,186,111,41,109,194,106,131,104,102,102,105,100,137,98,194,96,19,95,122,93,245,91,130,90,33,89,207,87,139,86,85,85,44,84,15,83,252,81,244,80,246,79,1,79,20,78,48,77,83,76,126,75,175,74,231,73,37,73,104,72,178,71,0,71,84,70,173,69,10,69,107,68,209,67,59,67,168,66,25,66,142,65,6,65,130,64,0,64,0,0,175,5,50,11,140,16,192,21,207,26,188,31,136,36,53,41,196,45,55,50,143,54,206,58,245,62,4,67,252,70,223,74,174,78,105,82,17,86,167,89,44,93,159,96,3,100,87,103,155,106,209,109,250,112,20,116,33,119,34,122,23,125,255,127,255,127,217,127,98,127,157,126,138,125,42,124,125,122,133,120,66,118,182,115,227,112,202,109,110,106,208,102,242,98,215,94,130,90,246,85,52,81,64,76,29,71,206,65,87,60,186,54,252,48,31,43,40,37,26,31,249,24,200,18,140,12,72,6,0,0,184,249,116,243,56,237,7,231,230,224,216,218,225,212,4,207,70,201,169,195,50,190,227,184,192,179,204,174,10,170,126,165,41,161,14,157,48,153,146,149,54,146,29,143,74,140,190,137,123,135,131,133,214,131,118,130,99,129,158,128,39,128,0,128,249,150,148,221,53,235,27,241,93,244,116,246,223,247,237,248,184,249,86,250,214,250,61,251,148,251,221,251,26,252,78,252,123,252,163,252,197,252,227,252,252,252,18,253,38,253,55,253,69,253,81,253,91,253,100,253,106,253,111,253,114,253,116,253,116,253,114,253,111,253,106,253,100,253,91,253,81,253,69,253,55,253,38,253,18,253,252,252,227,252,197,252,163,252,123,252,78,252,26,252,221,251,148,251,61,251,214,250,86,250,184,249,237,248,223,247,116,246,93,244,27,241,53,235,148,221,249,150,48,117,144,101,8,82,152,58,64,31,0,0,192,224,104,197,248,173,112,154,153,104,33,3,201,9,85,253,154,250,70,2,92,2,6,251,183,13,250,232,182,17,13,254,108,248,195,11,62,236,238,21,58,248,219,251,77,250,90,17,68,253,41,235,1,18,196,1,179,253,232,242,137,11,243,4,68,251,226,245,195,6,86,14,133,238,49,252,39,17,23,246,181,3,173,250,45,252,102,22,66,118,247,14,60,240,156,11,232,251,22,252,173,9,29,244,255,10,73,247,217,6,181,249,178,6,17,249,7,6,16,252,173,1,87,255,216,1,16,251,128,8,110,245,219,9,171,249,88,1,58,3,7,250,188,6,135,249,165,6,241,247,84,10,12,244,81,11,70,248,45,2,12,3,167,250,74,3,143,2,98,57,254,44,244,4,55,245,217,233,90,29,221,255,9,245,32,244,215,18,136,11,24,223,201,14,175,5,131,8,67,222,115,31,201,247,82,250,9,3,84,4,175,246,206,8,149,254,94,253,201,247,158,23,207,233,48,4,51,12,62,236,192,20,231,246,112,241,12,27,207,240,163,2,17,249,29,0,161,39,66,118,247,14,60,240,156,11,232,251,22,252,173,9,29,244,255,10,73,247,217,6,181,249,178,6,17,249,7,6,16,252,173,1,87,255,216,1,16,251,128,8,110,245,219,9,171,249,88,1,58,3,7,250,188,6,135,249,165,6,241,247,84,10,12,244,81,11,70,248,45,2,12,3,167,250,74,3,143,2,0,64,103,65,213,66,76,68,203,69,82,71,226,72,122,74,28,76,199,77,123,79,56,81,255,82,209,84,172,86,146,88,130,90,126,92,132,94,150,96,180,98,221,100,18,103,84,105,162,107,254,109,102,112,221,114,96,117,242,119,147,122,66,125,255,127,3,115,186,110,119,98,225,79,109,57,245,33,71,12,184,250,206,238,23,233,38,233,191,237,33,245,96,253,187,4,232,9,58,12,175,11,211,8,146,4,0,0,23,252,140,249,180,248,126,249,133,251,48,254,218,0,244,2,36,4,75,4,136,3,38,2,135,0,11,255,254,253,134,253,166,253,61,254,25,255,0,0,191,0,52,1,84,1,40,1,198,0,78,0,220,255,136,255,93,255,91,255,124,255,177,255,237,255,34,0,73,0,91,0,89,0,70,0,38,0,0,0,254,254,194,254,73,254,134,253,112,253,251,252,57,253,10,254,244,254,63,255,254,255,125,0,122,0,217,255,247,255,105,0,129,0,27,1,116,1,63,2,235,254,188,254,59,255,25,254,67,254,150,254,220,254,229,255,177,0,31,2,86,1,5,2,4,2,130,0,27,0,152,255,136,255,116,255,182,255,200,255,204,253,81,252,16,250,59,252,210,252,242,253,190,254,254,255,159,0,145,2,200,254,228,254,126,254,171,253,19,254,242,253,94,254,27,255,105,0,193,1,211,253,154,252,205,251,105,252,74,252,16,253,59,253,196,254,62,0,230,1,198,254,65,255,53,255,182,254,96,255,153,255,205,255,131,0,82,1,3,2,10,6,224,8,194,14,112,21,60,27,190,32,63,39,221,43,222,49,146,53,84,37,17,42,27,49,236,51,45,56,131,45,92,41,39,38,145,33,84,25,6,0,82,0,125,255,154,0,200,255,33,253,183,0,191,255,247,254,9,0,46,255,151,254,113,0,206,2,25,7,242,3,190,4,37,6,89,3,53,5,228,8,59,3,32,6,141,7,205,2,197,7,158,8,70,3,148,4,31,7,209,2,232,3,106,8,30,1,220,1,229,5,9,255,237,253,230,0,147,0,174,255,57,2,26,0,79,255,80,252,229,255,239,254,180,2,92,255,248,254,73,255,224,0,22,3,15,4,131,3,178,3,89,2,229,1,3,3,126,4,12,2,165,2,135,3,116,255,119,1,10,3,154,1,164,2,173,1,45,1,18,2,241,3,207,2,134,2,38,0,226,0,111,1,40,0,145,0,211,255,7,254,34,1,121,0,135,255,46,1,127,0,166,0,132,255,129,254,68,252,154,254,57,254,47,252,203,2,110,3,126,3,210,3,155,3,211,0,221,1,16,1,64,0,188,0,178,255,17,0,113,255,191,255,38,0,131,2,74,2,109,2,122,255,86,254,117,253,91,1,33,2,4,11,164,4,166,10,138,9,142,0,176,255,199,6,27,1,130,0,205,1,250,254,113,254,135,251,101,254,155,0,174,1,73,1,119,1,11,3,53,0,30,255,117,255,127,255,20,255,146,6,29,1,232,2,47,5,226,2,185,2,128,6,56,1,153,1,10,1,69,1,208,2,135,0,1,0,221,0,197,1,8,0,203,0,145,0,43,1,128,2,248,2,29,0,212,1,126,2,103,0,173,1,123,1,164,1,186,3,164,3,46,5,186,4,234,4,192,2,244,3,128,4,90,255,68,254,246,254,196,254,126,255,136,254,191,0,127,4,112,7,16,255,225,253,20,251,144,255,12,1,183,4,70,0,38,4,47,6,22,1,80,5,38,6,254,254,240,254,0,253,19,0,51,2,192,8,253,255,247,254,135,0,217,254,177,253,124,254,140,0,98,1,50,255,252,254,8,254,229,252,79,254,50,253,217,250,109,0,75,1,194,3,83,254,169,255,140,2,216,254,170,1,251,3,17,255,7,3,83,3,233,1,54,5,49,4,178,254,180,254,25,0,31,2,182,4,15,7,70,1,61,0,215,2,66,2,81,3,125,5,48,255,235,254,73,1,104,255,64,0,157,2,78,254,90,253,41,253,58,254,185,255,251,0,93,2,224,1,254,0,30,254,11,0,228,3,223,254,139,1,230,1,210,2,25,4,160,5,226,255,196,254,238,252,150,255,141,255,149,253,93,3,194,5,132,5,31,4,86,5,160,4,44,3,213,4,157,3,42,0,5,255,192,253,86,1,141,0,58,254,88,255,176,255,79,5,170,254,112,253,29,249,100,0,53,3,213,2,222,3,235,2,32,3,76,1,184,1,56,2,151,2,123,1,84,3,112,0,165,0,143,254,85,2,142,3,26,1,248,255,66,3,1,5,160,254,60,2,183,2,206,1,198,8,14,7,89,1,190,0,94,5,160,1,147,3,118,8,168,0,174,255,24,1,252,253,66,254,72,3,47,0,21,2,44,0,150,254,57,253,137,251,22,0,193,0,192,5,171,255,233,0,21,7,194,255,67,2,224,5,38,2,176,3,213,6,211,2,138,2,124,4,204,3,116,3,115,5,87,254,131,2,0,0,232,3,184,3,74,4,249,0,166,5,160,2,178,254,169,255,124,8,214,253,90,7,112,10,140,0,34,7,61,7,152,3,213,6,30,10,52,4,141,7,246,7,119,255,69,254,237,249,245,4,150,4,212,1,19,254,134,255,241,5,61,254,9,4,190,4,226,1,159,6,94,4,47,3,137,2,128,1,66,254,76,253,107,0,193,254,163,253,138,255,49,255,7,254,13,2,44,254,244,255,176,10,75,0,142,7,25,5,112,3,54,9,219,8,5,5,39,6,212,7,208,255,208,254,94,251,77,254,51,254,5,255,146,254,108,254,221,253,223,254,163,253,171,253,230,253,214,252,91,255,136,255,3,0,100,1,127,2,217,4,222,5,96,0,177,0,238,2,77,254,183,253,106,251,156,254,109,0,177,255,27,254,32,1,213,7,9,0,92,4,219,2,112,3,86,8,178,3,247,254,49,6,41,4,133,4,186,4,75,3,14,254,100,253,175,1,118,1,65,1,27,255,160,5,53,8,101,5,193,1,205,1,131,4,151,255,39,0,128,254,249,254,111,1,182,0,141,254,108,253,5,3,68,255,127,4,203,3,53,5,96,6,155,5,6,3,243,4,197,4,30,254,192,252,47,250,19,255,46,255,92,3,122,3,79,6,40,4,216,1,38,4,168,4,185,0,53,4,221,3,200,253,32,252,88,249,63,254,122,252,5,248,114,255,135,254,54,254,46,255,214,253,251,251,245,255,109,4,217,8,183,254,93,253,131,252,6,255,145,2,163,4,7,2,230,5,243,6,8,2,27,2,123,5,15,2,141,5,22,5,205,253,153,252,32,251,109,255,49,254,111,3,180,255,30,9,24,11,51,2,13,10,81,9,120,2,134,7,104,11,207,2,231,7,48,7,223,253,45,253,84,4,129,0,131,255,116,3,137,5,96,6,157,3,162,255,30,6,215,6,171,254,253,5,15,6,79,2,139,1,238,254,180,255,213,3,15,11,153,0,169,11,52,7,8,4,5,10,189,10,228,5,16,11,87,7,23,3,175,4,26,2,66,255,59,254,209,5,234,254,220,253,134,4,11,255,149,7,252,7,0,4,24,6,114,6,0,2,253,0,210,1,194,255,189,254,127,4,39,254,136,254,251,1,79,254,100,5,114,8,131,3,151,7,165,5,134,0,192,2,184,1,204,1,13,2,228,255,62,254,23,1,58,5,0,0,203,3,252,0,67,254,141,253,33,252,164,254,166,253,112,250,142,1,200,2,120,6,149,255,58,1,78,255,93,0,178,8,190,8,6,2,81,3,144,2,50,254,57,253,65,254,174,0,222,255,167,4,137,255,42,0,237,3,140,254,18,1,246,2,12,4,48,9,46,7,163,2,188,6,218,5,174,1,6,5,85,8,127,255,73,254,0,0,139,254,32,3,96,8,6,0,51,6,174,9,222,1,84,2,80,8,84,254,32,253,225,5,129,1,178,0,212,3,139,0,193,1,201,4,242,253,182,252,42,252,145,0,18,6,218,4,111,2,168,5,144,2,93,1,248,3,202,5,31,0,232,254,159,1,196,254,212,2,105,6,104,1,34,4,44,2,76,254,154,254,177,4,157,254,99,4,147,7,145,1,48,6,200,8,241,253,12,252,99,1,233,0,238,0,185,8,218,253,127,252,129,253,147,254,11,254,165,7,133,1,68,7,85,6,162,0,108,4,240,4,19,255,150,4,110,5,128,253,101,254,116,0,28,255,158,6,250,8,103,6,138,8,219,8,50,2,249,4,98,10,67,1,82,1,238,6,66,2,83,4,84,3,22,0,82,2,166,3,113,255,206,2,190,1,50,0,71,0,247,255,174,254,70,253,129,250,102,0,118,255,204,252,202,254,43,254,133,251,158,1,67,0,245,254,36,4,46,3,161,5,12,6,80,5,248,4,218,6,103,7,125,6,227,7,85,8,28,7,16,7,14,9,53,7,132,2,163,255,198,1,90,3,73,1,120,255,233,1,254,254,128,255,58,255,23,253,215,255,204,255,247,254,39,252,90,1,137,0,223,1,51,249,20,253,84,253,117,251,67,249,145,254,129,252,135,251,240,252,24,254,78,252,56,252,171,255,122,254,43,253,215,0,172,254,85,255,252,3,148,3,177,7,52,2,179,0,234,2,150,2,209,3,198,6,119,3,110,2,146,3,171,3,88,3,141,4,53,1,176,2,35,3,149,3,161,0,58,2,118,0,236,255,229,254,208,252,214,255,204,0,52,251,187,254,50,254,61,252,54,255,113,255,36,252,28,254,151,254,66,253,46,252,35,254,210,254,234,252,92,251,156,255,238,252,192,251,226,251,77,252,108,249,54,255,181,252,242,252,241,251,158,250,123,252,144,253,146,255,171,255,100,1,213,0,246,255,19,254,108,1,6,3,169,1,54,3,223,1,173,255,45,2,8,2,32,252,232,249,196,253,165,253,27,253,230,255,10,254,130,253,121,252,209,0,50,1,147,0,196,254,175,253,172,253,171,255,45,255,31,255,106,252,239,253,117,0,233,0,73,254,30,253,77,4,239,2,121,2,177,5,180,6,231,5,229,6,177,5,142,3,98,4,132,4,81,3,74,5,100,3,214,1,153,252,130,251,252,248,153,252,163,252,32,252,138,255,155,0,212,0,229,251,175,252,162,253,163,251,199,248,66,245,5,252,109,250,179,248,114,1,72,255,98,254,191,3,237,1,104,0,190,3,15,4,31,2,154,0,141,2,201,0,225,4,251,1,150,0,151,2,247,1,230,0,111,2,9,3,163,2,147,2,88,0,146,255,75,3,244,0,224,0,126,1,29,2,46,1,212,2,177,1,154,2,142,4,222,2,85,1,118,255,20,0,115,254,97,251,88,254,210,255,191,254,160,254,132,255,53,5,253,3,56,4,6,1,110,1,211,2,154,3,27,1,217,253,31,0,132,253,157,253,79,253,71,253,97,254,72,252,245,252,55,255,207,250,170,253,153,254,71,252,251,250,166,0,237,1,49,1,221,0,78,3,191,2],"i8",k,v.GLOBAL_BASE),c([98,2,72,3,168,3,6,3,45,253,212,250,19,251,155,254,255,251,148,250,184,251,160,250,147,254,120,250,167,248,160,253,250,248,65,249,94,253,223,253,107,251,65,253,166,2,18,3,148,0,133,255,184,2,8,5,132,2,94,1,246,255,158,1,102,2,15,0,137,0,88,1,45,255,210,252,24,250,205,252,121,254,94,252,180,253,47,0,177,253,126,252,115,252,183,251,93,255,8,251,113,251,99,255,72,250,11,250,123,254,6,251,92,251,144,253,159,2,213,0,198,1,124,0,238,254,243,253,39,253,16,254,104,255,192,250,122,0,135,0,167,244,179,253,118,254,64,249,185,1,206,255,196,5,136,3,19,3,60,1,236,0,72,254,165,254,217,0,157,1,113,252,107,252,121,0,57,254,92,252,202,0,164,255,47,254,137,254,232,1,134,1,218,1,108,3,217,2,60,1,233,248,224,250,99,253,87,0,194,3,176,1,51,2,7,255,222,251,250,0,29,1,81,4,117,4,171,1,184,2,242,251,128,249,210,249,76,252,90,1,160,0,203,254,240,254,166,252,158,2,112,2,226,4,80,252,104,254,102,253,162,253,192,254,128,254,20,254,230,0,65,0,78,1,206,255,240,255,240,255,78,253,139,250,255,6,180,6,119,5,174,9,15,8,124,5,221,4,191,5,146,5,130,254,243,251,254,255,173,0,114,254,121,4,211,5,232,7,9,7,4,3,250,4,226,5,149,5,199,6,209,7,55,4,194,4,249,4,126,251,197,248,207,250,216,252,147,251,184,251,61,254,247,251,70,249,65,0,66,2,172,255,60,250,126,246,14,249,3,253,170,250,18,254,38,255,174,253,93,252,81,1,20,255,50,2,53,9,102,10,146,7,209,5,252,4,106,3,189,0,102,1,118,1,17,250,23,247,214,246,57,252,9,251,209,247,140,253,92,251,250,249,125,6,19,4,34,2,53,2,37,4,220,2,192,255,188,252,78,254,76,254,160,255,203,0,54,4,192,4,100,6,139,3,254,5,218,3,70,1,197,3,77,3,142,0,172,255,197,0,214,1,75,9,34,6,109,4,214,1,190,4,139,1,96,5,176,4,101,4,18,4,92,1,225,253,46,251,136,254,41,255,75,255,225,1,101,248,171,249,46,255,18,253,95,251,134,1,29,0,113,254,27,0,52,3,212,4,243,2,183,2,211,3,153,1,82,255,173,4,11,4,144,3,76,5,54,7,32,252,99,250,228,1,51,250,92,249,208,0,100,254,180,4,152,5,241,254,128,3,120,4,96,254,241,6,154,5,96,249,172,245,52,255,3,249,241,249,9,4,136,249,233,249,23,5,27,251,203,249,57,4,99,253,185,251,190,255,86,253,64,1,167,254,147,2,49,1,45,4,244,250,220,252,237,255,157,249,245,250,29,0,109,249,15,254,71,0,225,254,249,255,156,255,18,254,62,252,19,255,84,3,89,7,204,6,63,251,149,250,227,0,108,253,46,1,117,1,96,0,63,4,233,4,206,251,123,249,160,0,229,1,28,8,6,7,90,252,36,255,40,2,172,253,156,253,237,0,80,1,184,6,111,3,131,2,117,2,178,1,243,4,10,2,97,6,15,0,244,0,71,254,195,5,205,2,184,0,27,7,54,6,173,6,220,3,5,1,169,3,45,8,41,9,240,5,91,8,66,7,70,6,191,253,189,253,77,251,68,252,135,0,24,254,48,254,51,0,174,254,139,253,164,254,45,253,122,4,25,8,162,5,144,8,186,5,143,3,92,250,220,249,26,247,120,5,198,2,17,5,55,5,121,2,160,3,154,5,146,8,34,10,118,9,156,8,89,7,214,3,194,8,62,7,124,1,24,3,121,4,193,255,229,253,158,1,4,255,60,252,198,254,19,251,85,253,244,252,193,252,242,253,19,252,126,249,145,251,88,254,181,249,60,254,213,254,244,4,24,4,130,2,123,4,85,3,88,3,93,253,176,254,139,0,220,8,63,5,138,5,29,0,0,3,29,3,56,251,167,1,52,2,218,250,198,251,245,0,234,250,212,252,61,2,238,250,175,249,134,2,56,252,66,3,211,2,225,3,116,6,235,7,65,255,207,252,176,1,150,2,60,0,198,0,114,2,229,3,50,5,112,6,171,7,9,5,195,249,163,255,211,255,192,251,37,0,172,255,117,6,47,10,33,9,41,4,248,7,73,9,115,4,22,9,70,8,91,3,101,1,230,5,152,2,203,4,75,4,223,1,80,5,144,3,105,7,218,6,227,7,144,4,117,7,248,6,143,1,34,0,0,1,175,253,208,254,227,251,35,2,158,6,127,5,135,2,157,255,171,254,212,5,111,6,166,4,38,0,124,253,44,255,139,1,78,3,222,0,64,253,3,253,52,253,44,253,84,248,12,245,106,255,35,1,174,255,209,4,179,5,239,3,116,255,101,255,153,0,183,1,41,1,32,6,7,250,102,254,132,253,0,6,199,1,19,255,208,250,117,255,252,254,19,2,42,2,100,3,13,1,240,4,94,2,23,255,115,3,207,1,230,2,88,2,136,255,183,255,165,1,212,0,73,254,198,255,36,3,250,250,39,251,216,2,38,1,22,254,50,0,177,253,119,252,26,251,42,0,81,253,147,0,231,255,17,1,84,2,201,254,189,4,89,2,14,253,81,3,72,2,173,1,95,2,75,2,166,253,90,255,205,1,228,252,201,252,9,3,100,5,142,3,219,6,119,0,137,5,204,3,37,255,144,252,196,249,231,251,14,252,182,1,55,253,157,250,78,0,0,0,65,254,101,251,144,251,217,250,219,249,200,8,231,6,29,5,178,3,47,6,152,5,126,4,226,1,180,1,43,254,172,251,106,2,65,254,58,252,64,4,28,251,21,250,142,255,176,251,40,248,189,253,210,0,101,2,241,1,73,248,99,250,130,2,11,251,168,252,243,3,146,249,95,251,39,4,237,249,96,253,180,4,100,249,166,251,111,2,45,252,210,250,3,251,27,2,109,255,126,3,182,250,127,252,78,254,120,3,219,1,172,1,153,0,128,254,82,1,44,250,1,254,103,1,50,252,165,251,42,254,105,0,218,253,165,2,87,252,135,251,109,3,124,1,252,254,210,0,149,6,156,3,232,4,239,6,166,4,71,4,139,5,119,2,21,2,115,2,43,1,165,254,101,254,234,253,135,2,118,253,29,0,173,253,134,254,169,250,27,6,122,5,97,4,185,5,65,4,130,5,136,2,208,247,190,251,250,255,55,1,62,255,155,252,129,253,193,252,160,1,118,251,56,251,69,5,33,251,83,252,21,7,111,247,61,248,197,1,149,253,169,250,68,252,186,249,76,248,29,250,105,251,223,251,176,251,135,254,89,2,201,0,84,7,57,3,118,1,82,254,213,250,29,0,139,250,31,251,205,250,17,252,32,250,192,3,135,250,39,248,197,0,157,250,99,248,20,255,203,251,123,0,166,1,103,2,245,4,34,2,206,254,246,5,136,3,170,4,252,6,153,4,142,253,140,252,10,250,199,0,254,2,224,5,215,251,94,3,197,0,246,251,19,249,137,252,224,252,145,0,87,2,146,251,249,253,114,2,75,251,122,248,244,1,114,252,239,251,141,250,60,250,225,249,55,252,245,253,74,3,34,0,2,7,134,2,94,3,73,251,160,248,22,252,178,255,247,255,96,253,20,4,247,2,80,0,168,253,115,4,251,3,57,0,208,7,142,5,191,252,134,5,97,4,78,251,94,6,236,4,51,254,140,5,220,4,1,6,207,3,253,0,229,254,68,1,153,254,87,2,61,255,106,0,76,2,62,0,181,253,11,253,133,2,205,0,51,0,177,4,246,2,71,251,161,2,122,254,144,253,45,6,173,3,105,255,255,3,223,2,4,11,21,5,178,2,210,254,12,2,157,255,124,252,204,249,91,251,60,4,251,0,238,0,222,7,0,7,242,3,221,4,97,6,205,6,53,251,252,249,72,251,147,253,200,1,147,255,40,0,191,255,20,3,219,252,69,253,186,250,185,253,136,3,64,3,223,252,20,2,82,2,180,7,128,5,71,5,103,251,168,248,190,247,251,252,56,2,180,3,9,252,55,4,236,4,169,251,226,1,126,255,242,6,20,4,12,3,45,250,245,0,144,3,196,254,139,251,107,252,232,253,94,250,214,246,239,252,246,249,60,248,45,248,1,1,141,3,199,248,135,253,71,251,254,249,130,248,226,251,70,6,191,8,40,6,201,253,36,250,248,249,1,251,195,0,89,5,207,252,37,1,195,4,243,253,118,2,173,4,94,249,135,246,208,248,209,254,219,2,235,2,111,251,5,255,13,1,74,252,181,255,148,6,98,251,59,254,237,3,193,249,73,2,122,1,229,247,197,253,85,254,239,253,121,251,109,251,229,254,51,255,204,253,228,252,222,4,205,2,229,8,159,3,27,2,58,254,47,2,184,1,51,253,180,5,79,6,250,251,28,4,74,6,111,251,118,255,79,3,226,0,39,0,156,253,29,251,150,255,39,253,117,253,200,3,22,5,54,253,132,253,191,6,97,1,45,4,154,1,226,252,100,255,75,4,194,253,150,3,190,1,226,250,244,3,210,1,128,5,55,6,253,2,149,5,100,5,221,6,157,7,164,7,74,9,42,6,255,7,100,8,148,3,98,0,249,255,101,7,138,5,93,8,92,1,125,5,43,6,152,0,110,4,9,7,245,254,154,0,115,5,114,251,213,1,30,4,138,251,107,254,207,251,195,250,40,247,211,249,148,254,101,3,170,6,118,251,37,2,14,6,55,251,116,248,126,249,51,250,71,248,249,247,65,249,118,252,158,255,151,248,233,0,212,5,124,3,108,0,181,254,64,249,110,251,92,249,220,251,188,7,254,6,210,251,51,249,139,248,245,255,3,6,37,5,192,249,94,0,241,1,165,1,187,1,59,255,214,249,163,254,30,252,169,253,229,253,116,4,59,252,117,250,127,255,195,250,175,0,65,254,137,254,31,5,7,8,141,254,118,253,205,254,207,251,93,2,109,1,247,247,143,255,174,1,140,2,146,3,199,3,12,252,206,249,237,246,225,5,224,4,47,2,6,1,26,254,111,254,65,249,62,5,10,6,50,0,56,0,176,1,182,254,119,0,164,253,19,250,200,251,214,252,178,3,103,4,31,4,136,250,89,249,80,249,10,251,64,253,219,250,39,3,29,7,119,4,200,10,70,6,123,8,96,4,153,1,106,255,109,255,148,1,191,3,135,9,119,7,141,8,118,252,115,255,158,252,120,252,114,255,54,254,211,253,60,253,113,249,194,252,105,250,209,249,206,248,190,250,194,251,188,249,240,254,147,3,84,251,4,3,32,4,130,253,46,251,151,248,12,254,175,255,202,252,247,250,179,249,33,253,139,255,17,3,168,0,190,251,109,4,154,3,184,251,22,253,104,5,31,1,221,253,217,251,160,250,103,247,76,251,128,247,222,249,35,249,25,250,63,247,253,252,55,249,75,4,62,3,204,249,212,2,219,4,250,249,181,2,37,3,102,249,16,255,129,6,92,249,252,255,100,253,101,8,48,3,18,4,206,252,207,248,22,0,4,253,5,254,193,1,129,251,151,253,33,1,181,252,196,249,16,255,242,1,22,255,111,253,16,253,224,1,142,6,193,254,31,254,193,0,213,252,171,0,137,255,176,247,54,255,176,252,181,6,116,4,164,6,67,0,239,255,66,0,244,255,102,249,187,253,152,255,240,254,204,251,94,251,203,248,136,254,140,251,98,252,92,254,198,255,253,254,112,253,146,251,215,253,252,6,203,4,199,1,129,0,206,1,185,1,16,255,240,253,72,3,2,2,130,0,181,255,90,4,111,2,153,0,216,0,44,4,52,2,250,255,236,254,95,4,215,2,190,0,188,255,192,2,50,1,119,0,248,254,73,1,61,0,156,255,156,0,108,1,123,0,183,0,48,255,85,255,133,255,220,0,191,255,206,254,194,255,146,1,17,0,108,253,86,252,246,254,0,0,129,1,235,0,20,1,29,1,64,1,12,1,176,254,56,255,44,253,17,0,172,255,125,1,224,253,173,1,238,1,7,2,139,255,32,1,48,1,73,1,131,2,157,0,189,2,252,1,176,4,113,2,28,3,96,2,230,3,165,1,236,1,120,2,180,4,12,3,190,1,132,0,233,4,76,3,35,2,193,1,61,3,146,2,29,2,214,1,108,4,234,4,150,3,127,2,35,2,51,0,167,1,23,1,9,0,136,1,83,0,94,0,30,2,31,2,229,0,109,255,58,255,129,0,194,0,71,255,161,252,215,250,210,254,30,0,171,253,139,253,237,255,114,0,124,252,199,251,210,1,97,1,53,250,219,249,15,0,113,255,84,249,245,247,17,253,196,0,172,248,237,247,126,253,254,254,225,246,66,250,62,254,204,253,184,253,70,255,152,252,98,254,243,248,36,252,155,251,226,250,42,253,151,251,28,0,169,0,241,251,160,252,50,253,10,255,228,1,36,0,23,255,207,255,9,1,67,0,33,1,211,1,178,0,31,2,42,3,28,2,84,0,26,1,160,2,191,2,49,252,247,252,129,0,31,1,86,252,29,255,187,3,83,2,175,249,223,254,68,3,137,2,201,248,41,255,82,4,206,2,14,248,195,251,138,2,184,1,203,247,239,253,139,3,63,2,37,248,176,254,158,2,204,0,171,246,76,253,104,1,137,0,148,247,100,247,247,255,24,1,246,254,119,0,39,0,193,0,78,0,197,255,136,255,226,0,49,252,166,252,243,252,185,251,149,253,99,254,61,254,182,252,64,251,215,250,211,252,141,252,160,250,177,249,118,254,84,254,31,253,167,251,219,253,234,252,144,252,49,252,57,252,126,253,39,252,138,252,7,251,175,250,39,254,220,252,135,250,129,250,160,0,247,254,105,252,237,254,8,255,6,255,50,253,132,254,97,0,153,255,137,254,27,255,97,254,63,255,121,255,213,253,116,2,105,1,119,0,216,0,67,2,108,1,135,1,209,0,122,2,10,2,102,255,108,255,14,2,133,1,170,0,33,0,105,0,11,1,64,0,124,1,33,250,24,252,226,255,143,254,210,251,58,0,135,2,223,0,16,250,221,254,109,2,51,1,5,250,156,0,250,2,148,1,19,248,141,0,222,2,243,1,199,248,118,253,50,1,0,2,69,255,152,255,197,255,182,1,134,0,26,255,156,0,70,255,195,255,252,254,240,255,10,0,199,253,253,255,91,254,215,254,67,249,247,253,166,254,178,0,174,250,197,255,212,255,157,0,158,247,51,254,42,254,163,254,134,247,255,255,143,254,135,255,213,249,139,254,124,252,9,252,163,251,177,253,155,253,240,252,207,253,122,0,181,255,63,254,252,255,85,255,133,255,140,254,192,0,168,0,180,255,124,255,252,0,149,255,84,1,210,0,136,1,253,1,16,1,181,0,147,255,145,0,218,0,119,0,96,254,249,254,229,1,9,1,75,255,248,255,226,254,226,0,12,255,38,255,69,0,222,254,98,255,191,0,255,255,192,255,176,253,166,255,213,0,160,255,255,0,179,1,178,0,176,255,143,254,238,255,223,255,176,255,214,255,159,1,140,0,34,255,119,4,139,2,137,2,73,1,255,2,44,2,249,0,235,0,180,3,157,1,186,1,23,1,141,0,83,1,100,1,45,2,42,254,86,255,99,0,237,0,199,253,224,252,96,1,53,2,26,1,217,1,214,1,76,1,57,255,78,253,252,250,107,252,63,255,86,254,224,252,158,251,230,255,141,254,22,254,63,255,125,2,83,2,7,2,74,1,152,1,141,255,79,0,12,0,221,1,87,0,153,255,136,254,102,253,165,254,235,254,221,254,2,254,31,254,169,0,41,1,195,252,30,253,51,255,85,255,192,254,228,253,72,1,27,1,165,252,66,252,186,1,254,255,44,2,174,2,130,0,56,0,103,5,244,3,243,2,171,1,100,2,229,2,116,2,41,2,173,254,228,252,134,0,21,1,135,253,195,251,254,255,10,255,144,252,245,251,185,249,216,251,30,252,38,254,142,251,24,254,98,254,229,252,73,0,50,255,248,255,117,255,183,1,204,0,80,255,190,253,23,0,131,0,243,254,11,253,65,255,245,0,147,255,174,254,112,0,60,1,120,0,106,254,138,255,99,2,76,255,70,255,123,253,115,0,83,255,34,0,250,253,23,254,105,255,61,0,185,253,180,252,220,0,118,255,87,253,4,252,135,1,239,255,170,253,191,254,157,0,217,254,129,0,155,0,98,252,149,252,37,252,29,1,241,0,173,255,131,255,131,255,108,2,85,2,176,1,92,0,137,1,78,0,153,1,61,0,119,254,29,253,99,254,20,253,83,0,54,0,105,1,27,0,196,251,130,0,175,254,74,253,227,249,41,1,62,1,237,255,175,248,36,0,51,0,195,254,237,246,10,255,231,0,172,255,254,246,241,252,40,0,77,255,71,247,94,252,38,254,50,254,14,253,170,255,224,254,142,253,149,246,57,254,193,255,171,0,181,251,186,251,230,255,113,255,87,251,57,254,106,254,131,254,163,253,46,255,160,255,205,255,188,253,36,254,236,254,241,255,85,251,134,253,77,251,143,252,134,254,35,255,99,253,72,252,82,2,178,0,109,254,92,253,251,2,71,1,89,2,34,1,172,0,44,1,203,0,157,0,200,255,176,254,100,1,24,0,28,255,216,254,253,254,227,255,70,255,7,1,160,1,14,0,159,254,117,1,244,255,40,255,1,1,96,0,174,0,57,0,10,250,152,253,70,252,13,254,15,254,104,255,179,254,125,0,105,0,200,0,179,0,159,255,181,254,32,255,253,2,185,2,248,2,0,1,45,1,59,0,199,1,171,255,204,0,32,1,254,253,240,0,251,0,147,255,0,1,161,1,222,255,99,254,101,0,174,1,128,1,156,0,225,255,246,255,206,0,170,1,77,2,145,0,143,0,71,0,40,3,138,3,77,1,93,1,218,3,170,3,77,2,75,1,20,5,56,3,187,0,253,1,38,4,141,2,123,1,210,1,182,5,169,3,145,1,18,1,19,3,93,3,9,1,2,0,97,2,41,2,28,0,49,1,158,3,84,1,106,0,130,1,241,0,245,254,109,255,225,0,78,255,234,253,91,1,246,1,125,253,131,254,141,1,30,0,117,253,35,253,77,254,142,1,105,254,42,253,28,254,8,255,235,252,110,252,74,254,36,254,14,254,122,254,75,0,217,254,60,252,178,253,162,253,150,0,135,255,207,255,101,255,178,255,167,3,38,2,133,1,38,0,191,254,127,0,168,1,59,1,227,254,143,255,27,1,3,1,146,2,203,0,66,1,230,1,135,3,249,1,236,2,161,1,99,2,167,1,43,2,0,2,239,0,173,255,190,253,237,255,173,254,37,253,93,1,13,0,90,252,137,250,142,255,152,254,107,0,180,2,182,0,90,0,37,251,254,249,241,249,43,253,200,253,121,252,173,250,243,253,251,253,171,252,163,252,20,252,88,255,78,253,189,252,63,0,119,255,212,253,221,253,144,0,226,254,207,252,229,1,63,1,109,255,104,254,14,2,246,0,165,254,78,254,41,1,228,255,222,254,41,254,170,251,251,250,52,254,153,254,36,252,230,252,67,5,19,5,178,2,11,2,192,4,44,4,70,4,245,2,57,3,116,4,240,2,238,1,228,4,85,5,171,4,130,3,9,2,29,4,20,2,176,1,178,254,40,255,199,254,249,254,96,255,52,0,40,254,101,255,127,0,136,0,132,254,44,0,83,3,154,1,94,255,23,254,123,0,1,255,228,252,101,253,66,4,149,3,21,3,237,1,117,5,173,4,46,2,202,0,205,255,138,255,170,254,67,253,83,0,108,0,214,255,71,254,61,0,95,0,31,1,0,1,229,255,89,0,12,2,19,2,95,1,227,0,80,2,33,2,185,2,155,0,92,255,51,1,126,2,18,1,23,254,206,255,242,2,240,0,90,255,132,255,140,255,189,253,68,251,193,255,190,0,217,254,240,251,240,250,147,0,136,254,79,255,143,255,73,3,217,4,27,4,156,2,2,0,37,1,39,2,48,1,184,251,71,252,8,255,120,1,18,253,59,252,87,0,4,2,237,254,252,253,177,2,135,1,133,254,125,253,108,3,82,2,122,254,11,252,123,253,61,2,149,255,200,253,79,253,198,252,255,251,229,255,184,254,53,255,93,3,237,2,36,2,233,0,132,249,237,251,195,1,108,0,108,253,148,253,174,1,236,0,21,0,116,254,122,251,137,253,92,5,18,5,199,3,65,2,101,4,101,4,77,2,198,1,189,254,159,252,45,254,153,0,44,254,69,253,220,252,3,254,120,254,50,253,52,255,221,255,165,253,187,251,201,253,94,255,7,254,20,252,154,255,94,1,219,0,224,0,167,1,252,0,139,1,79,2,96,2,107,1,22,253,160,255,117,1,172,0,171,0,39,1,202,2,83,1,233,0,77,0,107,0,21,1,157,0,153,0,13,254,156,254,11,6,49,4,64,2,238,1,220,254,173,254,8,254,176,253,121,252,184,255,149,253,31,254,198,249,163,251,201,253,2,255,231,252,5,254,204,253,221,254,20,254,236,253,246,1,48,2,130,254,171,1,88,2,230,0,29,255,221,1,251,0,75,0,29,1,74,3,45,3,220,1,226,250,203,250,186,0,121,1,181,253,107,252,131,2,125,1,94,251,215,253,155,1,82,0,153,251,204,252,82,255,228,253,164,253,119,0,31,2,205,0,132,254,145,2,141,3,55,2,112,0,214,254,138,254,114,0,167,252,5,255,56,0,159,0,145,1,89,1,222,255,116,255,145,255,161,253,41,0,102,2,99,1,142,255,179,255,218,1,66,2,56,0,170,5,156,3,74,4,140,5,229,2,144,1,246,0,22,0,76,2,57,1,135,255,71,1,63,3,216,1,142,251,160,253,88,3,40,2,39,251,208,251,126,2,88,2,154,254,254,0,179,254,209,254,122,253,227,2,102,1,74,0,202,4,135,6,197,4,81,3,193,8,88,6,215,3,124,2,49,7,197,5,237,2,128,1,94,1,7,1,87,0,128,0,146,248,83,252,112,255,192,255,58,249,1,255,32,1,225,255,172,245,42,251,110,1,235,0,149,249,188,251,192,250,208,254,227,253,205,251,164,251,123,0,102,251,4,255,208,252,76,255,8,252,21,2,53,2,233,0,25,254,82,254,68,255,78,1,99,3,212,4,22,2,171,0,202,249,185,249,123,2,118,2,108,247,54,1,156,3,156,1,202,246,184,254,188,3,17,2,177,245,135,254,118,2,22,1,214,245,61,1,31,3,43,1,154,246,133,0,84,1,31,0,148,247,68,250,131,0,125,0,96,251,22,254,117,255,46,0,24,253,191,1,123,3,52,2,67,0,61,254,134,2,92,2,215,253,83,254,148,252,140,1,162,0,190,255,25,5,147,3,223,1,67,2,64,4,26,3,194,1,22,1,54,2,68,1,223,251,102,255,148,0,79,255,15,246,168,0,46,4,80,2,209,246,214,255,51,3,89,1,216,246,61,253,209,2,250,0,129,247,39,250,203,254,122,0,178,255,183,255,120,0,173,0,252,255,6,1,249,254,251,254,81,254,192,255,107,254,36,253,207,245,116,0,173,255,63,255,11,250,80,252,35,254,43,253,4,254,51,1,170,0,172,0,64,3,161,1,64,3,174,2,31,255,177,0,126,3,50,3,30,254,123,254,255,4,15,4,129,254,201,0,162,254,40,0,218,2,123,2,226,0,14,2,247,1,206,1,82,1,142,1,23,2,202,2,40,0,230,254,202,5,191,5,61,4,219,2,25,6,48,4,141,3,181,2,139,5,2,5,121,3,111,3,129,4,216,2,162,4,72,3,30,255,106,4,181,3,177,2,18,254,38,252,236,249,128,255,200,253,47,253,55,253,230,255,61,1,12,2,70,0,135,0,107,254,159,252,26,249,116,253,82,255,223,252,117,3,5,3,103,255,165,255,75,4,239,2,6,254,131,251,85,3,134,2,241,0,14,3,7,2,27,2,61,7,164,6,77,4,172,2,31,251,50,250,48,254,188,0,131,252,127,250,224,250,171,254,121,255,182,1,81,255,18,0,87,4,208,3,63,1,208,0,106,250,24,249,83,0,202,1,238,253,24,252,51,1,129,0,184,252,241,255,227,255,156,254,113,252,100,252,133,251,14,255,137,255,240,253,127,0,123,255,7,253,3,253,190,0,173,255,197,254,127,3,10,2,231,0,34,255,102,0,193,255,84,254,60,1,187,2,123,1,70,0,25,0,204,2,58,1,148,255,251,1,106,3,54,2,238,0,108,0,173,3,7,2,195,0,169,1,196,255,85,254,1,1,139,0,153,255,138,253,190,1,78,1,114,1,156,1,48,0,84,255,78,253,229,254,45,2,187,0,226,254,158,0,227,1,140,0,14,1,168,254,137,253,156,3,67,2,140,255,132,0,142,0,210,1,188,255,192,255,230,0,111,255,210,254,226,253,221,252,112,252,250,3,225,2,251,252,247,3,118,2,41,1,220,245,95,0,189,1,80,1,182,247,235,1,254,1,191,0,27,251,161,0,254,255,188,254,86,250,135,253,56,253,151,255,182,252,2,255,101,254,100,0,128,253,222,254,242,3,251,2,118,253,57,1,145,4,218,2,140,0,249,1,6,4,254,2,4,3,31,1,43,4,55,3,239,1,237,2,49,1,67,1,92,255,206,1,78,0,143,1,170,254,150,252,69,0,85,2,240,255,108,2,109,2,81,1,118,255,68,254,247,254,218,0,84,0,62,254,185,3,154,2,34,255,221,252,29,2,92,2,103,252,160,250,244,0,116,0,183,252,45,253,118,2,76,2,140,0,151,2,38,1,112,1,167,3,22,4,113,3,247,2,210,6,184,5,148,3,116,2,180,1,195,3,25,1,1,0,137,255,74,0,30,2,213,0,1,0,201,253,45,1,241,0,4,1,179,1,222,0,140,1,168,3,189,3,84,4,191,2,254,1,250,1,40,3,222,1,89,2,182,2,192,3,108,2,204,3,229,2,212,3,88,2,66,3,205,2,255,2,172,2,131,2,204,3,167,3,126,2,245,1,149,2,208,2,83,3,151,255,136,253,209,254,139,255,83,254,130,0,21,3,186,1,246,253,68,255,192,2,117,1,9,253,42,0,46,3,11,2,237,253,143,251,117,1,66,2,86,253,77,251,57,254,29,1,117,251,215,249,182,251,44,0,81,0,174,255,200,2,107,1,221,1,246,0,186,3,110,2,68,6,86,6,253,4,123,3,129,5,91,3,156,3,124,3,6,3,17,4,179,3,118,4,40,0,222,253,181,255,32,1,152,253,150,255,71,253,230,255,87,255,96,255,133,252,29,253,233,254,128,254,251,251,162,254,245,6,28,5,22,4,48,3,44,6,253,5,192,5,154,4,225,5,52,4,192,4,131,3,122,3,136,3,52,2,142,2,152,3,180,2,253,3,88,3,19,254,132,0,177,0,249,1,71,0,195,0,228,255,97,0,200,1,95,1,92,255,88,0,183,1,22,1,216,255,94,1,115,5,181,3,234,0,161,255,219,252,40,254,38,0,93,255,111,1,158,255,233,1,11,2,1,4,154,4,188,4,138,3,63,1,34,5,46,3,205,1,133,255,225,253,220,252,191,1,20,253,188,254,127,252,153,251,31,253,11,254,235,252,55,253,203,2,9,3,215,4,154,3,157,7,147,7,88,5,97,3,218,2,112,3,246,2,132,1,153,252,198,1,17,0,5,255,131,254,214,252,209,249,239,0,247,253,58,252,232,252,3,1,134,252,178,250,254,252,183,255,166,0,93,1,44,255,67,1,184,252,211,254,217,1,179,1,89,253,48,254,216,2,95,1,100,255,57,255,155,2,176,1,29,0,4,255,159,1,224,1,37,253,133,254,145,0,47,2,240,253,137,253,122,251,97,255,189,1,17,1,123,0,127,2,117,1,130,255,32,3,56,2,84,0,94,255,208,2,200,2,194,252,232,253,71,255,222,0,152,1,196,1,245,1,3,3,127,252,181,250,189,255,186,1,232,252,130,250,54,2,90,2,167,0,186,254,253,1,74,1,161,255,142,253,38,253,168,254,132,6,193,4,11,3,199,1,36,5,60,3,72,2,207,2,148,1,225,255,245,3,21,3,89,0,107,0,123,3,37,2,103,3,45,6,149,3,159,2,98,3,199,5,9,5,86,3,135,1,44,4,98,4,44,3,78,0,206,253,89,1,51,2,173,1,153,255,161,1,19,3,134,255,75,254,155,1,20,3,111,252,95,254,90,2,242,2,30,255,240,255,151,0,248,2,68,253,118,0,152,255,242,255,152,251,48,0,28,1,137,1,122,254,93,254,129,253,140,255,114,252,50,1,60,1,243,255,183,4,216,3,53,3,157,2,85,251,75,253,140,0,43,255,140,252,96,254,57,255,210,253,152,253,245,0,108,254,104,253,6,1,56,0,151,253,44,253,171,255,21,254,192,254,112,253,198,253,193,252,127,255,240,253,30,250,193,255,145,254,127,254,154,254,191,254,4,0,51,0,146,254,42,255,63,1,255,1,146,0,159,2,239,255,221,254,146,255,208,1,117,255,16,254,54,255,220,0,200,254,137,253,108,253,183,255,113,253,204,252,106,253,115,253,248,250,167,252,82,254,71,252,65,252,248,254,207,255,44,254,184,255,131,254,162,254,205,253,63,255,105,254,55,0,104,254,221,252,11,0,203,254,137,2,188,0,58,255,0,254,205,1,177,255,54,254,218,250,249,254,122,255,245,253,135,249,77,254,17,254,3,253,57,0,165,254,98,254,178,1,139,251,14,255,104,253,167,252,34,0,188,255,61,253,174,254,163,1,163,0,226,255,250,254,57,254,235,252,106,250,47,253,238,3,152,2,13,1,25,0,107,2,4,1,183,0,96,0,56,252,178,250,124,254,135,0,75,253,67,3,200,1,154,0,81,4,191,2,57,2,107,1,89,6,46,5,217,3,236,2,36,255,219,0,76,0,48,255,81,250,130,249,49,0,149,0,60,252,84,255,16,253,176,254,113,2,209,0,6,255,190,255,7,252,186,252,254,255,61,1,136,247,51,250,118,255,123,0,172,248,205,247,247,253,85,0,57,252,146,254,73,253,143,252,103,252,13,252,5,253,75,252,132,255,0,255,160,254,108,253,178,0,207,1,98,1,48,1,48,249,177,253,230,254,79,0,55,247,175,0,99,3,243,1,118,255,76,255,75,255,235,255,13,247,39,251,52,254,248,253,253,252,195,1,246,255,204,254,15,1,191,255,4,0,214,0,233,254,77,254,213,255,164,254,98,253,35,0,191,255,45,255,38,3,23,2,85,0,41,1,57,0,239,0,210,2,237,1,225,0,149,2,72,3,35,2,228,253,136,254,14,0,93,1,213,1,209,2,75,1,162,0,224,253,16,253,194,255,246,255,142,1,168,255,212,2,189,2,237,255,235,253,162,255,89,2,136,0,185,255,87,253,21,253,90,255,168,254,5,1,206,255,161,0,204,255,229,1,81,1,117,249,50,0,190,0,163,255,22,247,25,255,62,255,174,255,161,255,173,253,102,255,128,0,126,3,245,1,76,2,201,1,167,254,206,0,122,0,110,0,137,253,29,255,199,253,3,0,152,1,239,0,141,1,226,0,59,255,254,255,128,0,235,1,1,5,136,3,36,1,215,0,26,2,50,1,3,1,253,1,91,253,233,251,13,0,65,1,89,253,180,253,154,254,44,255,210,253,243,0,134,2,223,1,230,1,86,1,122,2,20,2,107,0,34,3,75,1,136,0,144,255,114,254,249,251,226,254,186,254,63,253,32,1,16,1,19,5,120,4,154,4,92,3,89,254,121,0,127,254,108,255,217,254,210,254,190,252,205,252,16,0,232,255,55,255,36,254,43,2,91,0,11,255,38,1,218,255,133,254,62,252,59,251,89,251,18,250,239,254,117,254,122,254,11,252,123,253,61,2,205,248,250,251,249,1,212,1,232,2,179,3,97,2,237,1,79,253,108,251,140,253,121,255,254,251,195,0,155,1,196,0,46,6,123,4,63,2,81,1,41,251,247,252,120,253,114,255,83,2,57,3,199,3,223,2,74,251,54,252,175,255,170,254,23,253,13,0,184,255,119,1,198,1,19,0,127,5,153,3,145,249,84,255,93,3,50,2,160,3,1,6,39,4,228,2,88,246,72,252,8,1,82,0,10,254,59,252,202,250,123,0,99,3,212,4,22,2,171,0,240,246,52,254,12,3,107,1,90,251,151,253,252,0,195,255,82,255,34,0,243,3,20,3,227,246,247,0,167,1,153,0,240,255,157,254,6,1,193,1,216,249,207,251,224,253,141,254,153,253,207,254,27,4,37,3,175,2,16,2,6,0,74,255,167,3,107,3,234,3,41,3,199,0,1,1,126,0,76,0,184,253,142,251,87,2,44,2,175,251,145,250,201,249,249,253,47,252,211,250,108,0,91,1,46,253,49,252,109,1,101,0,111,255,169,2,249,0,103,255,0,0,178,254,198,253,159,0,156,1,29,1,176,254,151,253,71,252,58,252,119,3,177,2,29,251,84,0,71,255,114,254,176,253,177,1,20,4,141,2,85,0,73,1,216,255,105,1,79,254,63,253,210,1,62,2,102,255,142,2,80,2,34,1,89,255,72,0,93,1,175,0,162,2,41,1,209,3,208,2,211,4,180,4,245,2,232,1,112,254,243,254,26,2,116,1,186,250,149,250,86,251,165,255,238,4,108,3,7,3,188,2,169,253,218,255,82,254,46,253,184,7,94,6,223,3,96,2,111,0,20,1,30,255,160,255,77,252,124,254,245,255,249,255,209,254,237,253,185,252,82,1,198,6,174,6,125,5,245,3,252,253,169,252,123,253,210,0,80,253,96,254,1,2,230,0,202,252,131,253,134,251,192,254,72,252,110,253,74,253,183,0,142,255,145,253,50,3,162,2,65,255,52,255,219,2,123,2,51,0,197,4,115,3,64,2,70,252,81,254,58,3,86,2,170,254,13,253,124,252,105,254,154,251,158,254,50,255,0,254,221,253,214,252,155,254,148,253,66,0,3,2,183,255,102,254,152,252,79,252,92,250,53,251,191,0,239,255,224,253,25,255,252,249,224,253,123,252,138,252,134,252,242,249,19,246,205,252,54,252,175,0,198,252,46,251,6,253,169,253,234,255,122,2,213,252,37,252,122,252,189,254,203,0,26,0,129,254,21,255,243,252,113,254,238,4,138,3,92,252,137,250,156,250,144,253,93,0,87,0,98,254,229,253,77,253,37,0,121,2,254,1,125,254,36,254,206,250,143,1,66,0,7,1,105,254,207,255,177,254,95,254,17,4,73,7,245,252,191,251,96,250,22,253,166,252,64,3,187,253,9,253,141,254,95,253,6,254,40,8,208,253,134,253,101,251,15,1,241,0,14,0,74,254,12,255,115,254,207,1,178,4,23,4,162,253,227,252,98,250,205,255,189,254,225,1,32,255,184,253,241,253,238,1,113,3,170,2,79,254,206,254,22,252,42,2,147,2,222,0,171,0,96,255,159,254,169,2,6,7,29,6,172,252,99,251,97,249,176,254,102,253,114,0,187,253,12,253,24,253,61,255,119,1,241,1,47,254,220,252,182,251,154,0,26,1,125,255,206,255,65,255,49,253,67,1,220,2,6,6,46,253,205,252,132,250,105,0,6,255,185,0,78,255,10,254,26,253,65,1,254,1,87,4,189,254,201,253,58,252,127,0,228,1,82,1,96,255,52,0,174,254,220,2,87,5,18,6,142,253,222,252,96,249,226,254,182,253,164,2,73,253,169,254,142,254,22,254,39,1,101,7,138,253,194,253,10,252,176,255,133,2,187,255,250,255,194,254,148,254,14,3,170,5,14,4,199,254,35,253,141,250,120,0,60,0,221,1,248,254,183,253,133,255,199,2,221,4,121,2,165,255,157,254,8,252,3,3,246,2,5,1,253,0,81,0,38,254,162,3,167,8,184,6,216,252,181,251,123,248,208,253,242,252,169,0,220,252,206,251,68,255,142,253,201,255,125,5,74,253,52,253,86,251,108,253,98,1,73,1,254,253,201,255,225,253,110,1,9,4,158,4,110,253,65,252,179,250,201,255,72,255,93,0,163,253,226,254,106,253,148,1,193,1,59,3,226,254,162,254,17,251,116,2,50,1,227,0,240,255,147,0,145,253,186,0,155,3,98,8,94,253,134,252,186,249,69,254,28,255,83,1,143,254,234,252,103,254,231,0,86,0,189,5,64,254,187,253,219,251,82,2,194,1,79,255,132,255,86,255,65,254,159,2,135,4,124,5,36,254,101,253,25,250,179,255,118,255,204,2,79,255,140,254,131,254,195,1,166,3,147,3,6,255,80,254,202,252,16,1,60,3,190,1,26,0,19,0,225,255,186,2,156,6,120,8,122,253,47,252,124,248,77,255,39,254,12,1,133,254,23,253,77,253,11,0,127,0,9,4,24,254,107,252,199,252,61,0,67,1,135,0,147,0,111,255,82,253,173,2,18,3,146,6,6,254,176,252,239,250,35,0,90,0,222,0,233,255,166,254,98,253,199,1,79,2,7,5,53,255,175,253,194,251,140,2,96,1,181,1,39,0,63,0,55,254,73,3,241,4,57,8,248,253,142,252,208,249,184,254,57,253,141,5,172,253,170,254,186,255,209,0,173,0,136,7,89,254,170,253,103,252,165,1,93,2,218,255,254,255,11,255,129,255,128,3,177,7,111,4,133,254,250,253,213,249,173,0,118,0,241,2,201,255,131,254,204,255,217,3,253,3,241,2,254,255,221,254,133,252,241,2,224,3,167,1,8,1,131,0,60,255,127,3,226,8,239,9,133,253,192,251,61,246,239,253,42,252,14,2,4,253,194,252,220,253,76,254,60,1,87,2,93,253,84,252,22,253,199,255,236,0,245,255,55,255,175,255,226,252,16,0,77,3,22,6,31,253,39,252,68,251,44,254,17,0,34,1,233,254,184,253,68,253,183,0,54,3,193,2,247,254,20,254,93,251,165,1,152,0,212,1,122,254,166,0,244,254,39,0,14,6,76,7,133,253,58,252,221,249,59,254,20,254,142,3,228,254,253,251,181,255,75,255,123,255,60,7,67,254,144,253,106,251,164,1,111,1,207,255,123,254,44,255,87,255,195,2,49,4,184,4,229,253,58,253,87,250,83,0,93,255,228,1,20,255,225,253,157,254,82,1,151,4,46,3,10,255,203,254,66,252,94,2,248,2,60,0,166,0,248,255,93,255,206,254,57,7,3,10,21,253,255,251,9,249,93,254,66,254,209,0,50,253,202,253,234,253,6,254,181,2,89,3,49,254,71,253,198,251,69,1,175,1,50,255,241,255,248,255,5,253,33,2,151,3,238,5,157,253,241,252,223,250,0,1,201,255,208,0,91,255,164,254,106,253,65,1,168,2,162,3,186,254,83,254,73,252,228,1,190,1,58,2,59,255,72,0,183,255,141,3,175,5,205,6,205,253,31,253,74,248,132,255,96,254,206,2,34,254,108,254,198,254,240,255,190,1,100,6,217,253,231,253,18,253,198,255,126,2,214,0,55,0,71,255,241,254,124,4,21,5,188,4,29,254,97,253,16,251,117,0,29,1,31,2,52,255,121,254,145,255,1,2,2,6,86,3,142,255,66,255,46,252,109,3,83,2,208,1,4,1,4,1,201,254,236,2,235,8,168,8,251,253,79,252,133,247,186,254,60,253,122,1,212,252,77,253,24,255,208,253,175,2,129,5,36,253,78,253,188,252,153,254,133,2,130,1,247,254,62,0,90,253,145,0,108,6,184,4,213,253,36,252,47,251,178,255,14,0,114,0,185,254,154,254,23,254,136,1,165,2,185,2,55,255,20,255,140,251,181,2,193,1,178,0,13,255,0,1,79,254,99,2,105,5,152,9,156,253,123,252,72,250,205,254,239,255,243,1,197,254,101,253,2,255,0,1,172,1,183,5,26,254,90,254,224,251,143,2,114,1,18,0,154,255,71,255,236,254,243,2,42,6,55,5,24,254,165,253,118,250,182,0,163,255,102,3,183,255,54,254,164,254,67,3,94,3,189,3,230,254,179,254,22,253,35,2,71,3,172,1,17,1,167,255,13,0,172,3,172,6,16,10,94,254,196,251,34,249,212,255,154,254,3,1,15,254,125,253,208,253,99,0,45,2,193,3,91,254,2,253,107,252,39,1,70,1,184,0,175,0,15,0,142,253,20,2,110,3,189,7,69,254,0,253,5,251,221,0,156,0,12,1,39,0,149,254,7,254,183,2,4,3,116,4,94,255,53,254,112,252,197,2,188,1,146,2,25,0,47,1,200,254,244,4,130,5,179,6,215,254,2,253,212,248,249,254,148,255,46,4,106,254,243,255,127,255,57,0,182,1,174,10,138,254,25,254,189,252,48,1,184,2,164,0,104,0,21,255,5,0,75,6,108,7,119,5,27,255,186,253,211,250,149,1,192,0,49,3,169,255,74,254,111,0,4,4,175,4,225,3,68,0,81,255,90,252,9,4,93,4,195,1,222,1,200,0,8,255,79,8,136,10,250,7,189,252,213,250,173,247,225,252,76,253,210,1,212,252,248,251,43,254,146,253,32,1,152,3,67,253,183,252,210,251,101,254,0,2,8,0,122,254,165,255,24,253,226,255,19,4,137,4,202,252,132,251,124,251,218,254,210,255,110,0,101,254,138,254,90,253,214,0,19,2,156,2,106,254,92,254,86,251,231,1,232,0,47,1,194,254,91,0,40,254,123,0,208,4,141,9,46,253,72,252,41,250,30,253,93,253,52,5,225,253,162,253,45,255,161,255,158,255,228,5,219,253,254,253,87,251,217,1,211,0,73,0,224,254,144,255,123,254,25,2,52,5,234,4,201,253,13,253,247,249,71,0,229,254,120,2,86,255,31,254,19,254,169,2,234,3,49,3,156,254,181,254,147,252,163,1,194,2,90,1,241,0,222,255,186,254,121,1,158,7,91,7,41,253,205,251,167,249,23,255,225,253,116,0,244,253,218,252,183,253,183,255,222,1,217,2,224,254,99,252,137,251,173,0,191,1,204,255,68,0,27,255,162,253,193,1,17,2,5,7,177,253,149,252,173,250,183,0,112,255,68,1,153,255,60,254,102,253,111,2,232,1,152,4,18,255,1,254,20,252,70,1,40,2,202,1,136,0,108,0,193,254,114,2,63,5,91,7,22,254,122,253,62,249,70,255,63,254,216,3,30,253,180,255,86,255,218,253,243,2,0,10,16,254,2,254,77,252,210,0,182,2,204,255,84,0,190,254,57,255,66,4,89,6,200,4,136,254,165,253,140,250,87,1,74,0,120,2,81,255,10,254,224,255,204,3,52,5,222,2,52,0,217,254,167,251,41,4,150,3,160,0,137,1,107,0,115,254,190,4,89,10,205,6,136,253,79,251,157,248,49,253,235,254,97,1,117,253,144,252,134,255,45,255,209,0,58,5,206,253,54,253,221,251,48,255,132,1,159,0,192,254,195,255,217,253,37,1,68,4,163,5,120,253,159,252,27,251,207,255,113,255,49,1,111,254,29,255,183,253,49,2,20,2,159,3,139,255,69,254,92,251,251,1,180,1,36,1,177,255,233,0,54,254,159,2,1,4,92,9,135,253,182,252,11,250,204,254,226,254,128,2,139,254,147,253,105,254,162,1,253,0,25,5,197,254,187,253,143,251,60,2,173,2,231,254,61,0,188,255,141,254,223,3,77,4,218,5,19,254,85,253,174,250,209,255,164,0,192,2,0,255,198,254,244,254,119,2,181,3,28,4,138,255,164,254,191,252,68,0,156,4,56,2,152,0,117,0,34,0,89,4,110,7,191,8,167,253,65,252,86,249,113,255,23,254,224,1,180,254,113,253,194,253,54,0,97,1,168,4,50,254,116,253,228,252,150,0,37,2,112,0,195,0,145,255,253,253,167,2,84,4,111,6,210,253,19,253,63,251,247,255,16,1,85,1,203,255,247,254,233,253,233,1,75,3,18,5,136,255,30,254,248,251,120,2,31,2,152,1,179,0,50,1,242,253,100,4,184,5,196,8,95,254,238,252,230,249,32,255,128,254,84,5,135,254,53,254,231,255,129,1,233,1,126,8,180,254,117,253,195,252,32,2,41,2,61,0,22,0,143,255,167,255,104,4,189,6,244,5,40,255,139,254,139,249,161,0,60,1,140,3,91,255,34,255,189,255,82,5,151,4,21,3,73,0,4,255,1,253,226,2,164,3,104,2,106,1,246,0,130,255,19,3,94,10,211,11,77,253,174,251,114,247,203,253,180,253,12,2,178,253,45,252,22,254,249,254,141,1,214,3,191,253,187,252,79,252,234,255,179,1,207,255,66,255,138,255,139,253,168,255,216,4,233,5,132,253,229,251,5,252,221,254,189,0,3,1,255,254,42,254,139,253,145,0,177,3,126,3,186,254,148,254,186,251,31,2,4,1,118,2,54,255,189,0,47,255,101,1,99,5,43,8,199,253,205,251,87,250,54,253,17,255,151,3,92,254,63,253,172,255,147,255,142,255,103,9,99,254,239,253,103,251,226,1,112,1,131,0,70,255,184,255,125,255,93,3,231,4,196,4,157,253,110,253,195,250,227,0,135,255,119,2,80,255,23,254,38,255,233,2,151,4,189,3,191,254,108,255,88,252,159,2,198,3,216,0,84,1,253,255,113,255,213,1,56,7,133,9,39,253,63,252,109,249,43,255,2,255,65,1,1,254,74,254,247,253,130,255,213,2,135,3,172,254,83,253,248,251,60,1,224,1,20,0,23,0,167,255,217,253,97,1,27,4,253,6,224,253,11,253,172,250,42,1,231,255,180,1,156,255,120,254,249,253,211,1,242,2,54,4,46,255,114,254,202,251,108,2,146,2,118,2],"i8",k,v.GLOBAL_BASE+10240),c([33,0,147,0,78,255,153,3,151,6,129,7,187,254,240,253,70,248,2,0,227,254,142,3,141,254,22,254,26,255,0,0,85,2,218,7,16,254,117,254,190,252,37,0,177,3,245,0,181,0,96,255,112,255,201,5,93,5,77,5,157,254,167,253,10,251,42,1,66,1,160,2,63,255,176,254,77,0,65,4,253,5,154,3,177,0,217,255,155,251,228,3,13,3,24,2,200,1,110,1,80,254,135,5,136,9,231,8,46,254,10,253,235,246,209,254,3,254,131,1,41,253,211,253,66,0,111,255,131,2,224,4,224,253,92,253,108,252,31,255,94,3,76,2,104,255,40,0,235,253,167,1,143,5,22,6,196,253,181,252,135,251,128,255,85,0,205,1,18,255,255,254,184,253,93,2,236,2,93,3,24,0,54,255,127,250,29,3,231,1,47,1,75,255,108,1,74,255,104,2,98,5,126,11,18,254,172,252,95,250,220,254,61,0,44,3,172,255,45,253,74,255,43,2,20,2,226,5,147,254,19,254,223,251,54,3,76,2,11,0,242,255,238,255,26,255,233,3,121,5,171,5,38,254,199,253,244,250,46,1,62,0,38,4,186,255,136,254,34,255,214,3,206,3,125,4,60,255,22,255,229,252,223,1,74,4,243,1,106,1,58,0,70,0,123,4,21,8,41,11,25,254,146,252,224,248,73,0,224,254,92,1,154,254,12,254,4,254,199,0,209,2,218,4,178,255,71,253,229,252,105,1,24,2,196,0,118,1,110,0,33,253,79,3,27,4,104,7,146,254,55,253,98,251,59,1,64,1,173,1,72,0,41,255,62,254,247,2,118,3,83,5,226,255,84,254,190,252,93,3,115,2,28,3,118,0,212,1,233,254,75,5,91,7,101,7,68,255,126,253,180,249,63,0,81,255,174,4,94,254,45,255,51,0,158,1,75,2,41,10,22,255,211,253,166,252,168,1,121,3,222,0,136,0,155,255,83,0,133,5,230,8,103,5,172,255,67,254,147,250,158,1,57,1,21,4,29,0,169,254,65,0,16,6,111,6,212,3,183,0,165,255,195,252,249,4,133,5,104,1,41,2,16,1,149,255,51,6,77,12,43,10,104,5,29,8,92,13,244,19,86,26,186,31,135,38,84,43,170,49,133,53,61,254,215,251,239,253,231,250,62,254,12,253,15,254,161,252,128,254,149,253,99,254,99,253,195,254,230,253,181,254,212,253,98,254,4,254,88,254,134,254,238,254,188,254,78,254,154,253,30,255,12,254,24,255,254,253,249,254,135,254,214,254,102,254,105,255,58,253,82,255,206,252,107,255,100,254,100,255,83,254,224,254,50,254,70,255,53,255,86,255,210,254,65,255,191,254,125,255,109,255,215,254,117,254,28,255,42,255,11,255,64,255,189,255,196,254,185,255,185,254,152,255,51,255,162,255,73,255,113,255,218,255,63,255,161,255,16,0,180,255,132,255,8,255,23,0,19,255,24,0,12,255,18,0,120,255,44,0,145,255,223,255,232,255,231,255,0,0,149,0,19,0,23,0,113,255,158,0,87,255,174,0,75,255,133,0,201,255,165,0,230,255,111,0,84,0,98,0,75,0,87,0,183,0,141,255,245,255,248,255,130,0,11,0,170,0,254,0,77,0,205,0,17,0,183,0,112,0,6,1,194,0,202,0,31,1,95,0,189,0,214,255,151,255,234,0,179,0,39,0,186,0,163,0,89,1,76,1,199,0,43,1,161,0,202,255,29,1,178,255,25,1,123,255,141,0,74,255,111,0,249,0,85,1,15,1,108,1,93,0,147,1,75,0,135,1,92,0,254,1,118,255,220,0,71,255,227,255,222,255,105,1,141,255,64,1,3,0,42,2,99,0,30,1,218,0,79,2,11,255,150,1,244,254,197,1,0,0,68,2,25,0,94,2,19,1,20,2,148,0,194,1,183,255,227,2,227,254,6,2,224,254,94,0,53,255,162,2,116,255,182,255,205,0,202,2,142,255,43,1,176,0,155,3,182,0,45,2,240,0,193,2,240,255,1,2,229,1,81,2,37,1,128,1,195,1,105,2,218,255,50,0,51,2,17,2,47,1,209,0,203,1,107,1,177,1,196,1,194,1,198,1,111,1,94,2,221,1,229,2,176,1,97,1,112,1,11,1,105,1,204,2,17,1,71,2,197,1,166,0,254,1,172,0,201,0,117,2,18,1,191,0,56,2,127,2,46,1,42,1,122,2,131,1,131,2,94,1,75,2,48,2,100,2,53,2,88,2,20,3,231,1,160,2,0,2,247,3,65,1,77,1,101,1,86,3,131,255,157,1,218,1,200,2,17,0,105,255,52,2,29,1,14,1,15,255,203,3,121,3,233,1,220,0,254,1,128,3,37,2,156,3,71,1,57,3,34,1,143,3,28,2,84,4,158,0,37,3,199,0,189,3,255,1,218,2,100,0,106,3,13,0,23,3,179,1,120,2,164,2,204,3,249,0,132,3,211,1,194,4,13,3,50,4,73,2,17,3,233,255,157,2,11,1,19,4,107,2,60,4,103,2,121,4,110,2,137,3,148,3,25,4,80,0,75,1,72,2,51,4,89,0,127,2,220,3,193,3,2,3,208,2,30,3,187,2,236,1,191,1,131,3,115,2,15,1,164,4,213,2,53,5,87,0,91,2,64,3,67,6,104,2,103,4,122,3,225,5,232,3,132,4,98,3,241,3,227,3,59,3,125,4,90,3,49,3,170,5,5,3,40,5,244,1,109,5,56,1,129,4,236,255,60,4,64,0,3,5,2,0,148,4,143,1,77,7,2,2,170,6,246,1,100,6,118,3,242,5,160,1,88,2,107,4,70,5,251,4,110,5,121,3,3,7,146,3,230,6,227,0,159,4,226,4,34,7,249,1,62,7,151,3,49,9,57,255,175,1,152,0,199,6,43,255,228,255,136,1,54,5,103,255,204,255,210,3,127,4,189,254,112,254,45,3,167,6,120,255,84,0,169,5,223,7,181,254,113,255,119,255,168,4,0,255,22,2,99,255,7,4,205,254,73,254,30,2,219,2,183,254,92,254,159,255,104,2,150,254,88,255,190,254,110,1,9,255,146,255,45,255,89,0,60,255,203,254,20,0,59,0,148,254,49,254,226,254,89,0,176,254,175,0,80,254,141,0,133,254,66,255,78,254,60,255,177,255,150,0,234,254,29,255,232,254,166,0,213,253,90,254,101,255,29,2,146,254,54,0,227,255,173,255,211,254,250,252,186,0,116,2,115,254,248,254,242,0,37,1,59,255,183,253,124,0,154,1,53,0,123,255,10,0,84,1,198,253,215,251,65,0,66,254,68,0,19,254,127,1,169,3,155,254,57,253,153,254,6,255,91,253,212,251,36,1,230,255,107,1,6,0,95,2,33,5,129,255,246,255,233,5,94,7,201,2,204,3,189,5,133,8,163,5,224,7,161,249,192,249,252,248,14,247,253,251,22,249,180,251,23,248,3,251,148,250,169,250,2,250,77,252,75,250,52,252,12,250,25,252,58,251,4,252,108,251,209,252,37,252,32,252,165,250,64,251,18,252,247,250,186,251,24,253,12,251,13,253,243,250,162,252,101,252,119,252,40,252,90,253,229,251,83,253,230,251,193,251,39,252,218,251,89,253,35,252,127,253,153,251,48,252,6,253,114,253,134,252,218,252,191,252,189,251,62,253,139,253,147,253,218,252,128,253,212,252,249,252,134,253,245,252,225,253,28,252,203,253,205,251,188,253,222,253,157,253,196,253,149,253,8,253,222,254,145,252,242,253,201,252,50,254,229,252,3,255,215,253,97,254,179,253,73,254,235,253,172,254,76,253,89,252,7,254,252,252,66,253,149,251,249,254,206,254,53,252,29,254,67,254,182,255,213,253,220,253,154,253,127,255,75,253,22,255,116,254,10,255,37,254,6,255,247,254,108,254,136,254,254,253,95,254,2,254,212,254,199,254,178,254,104,253,49,254,210,252,126,254,64,253,175,254,153,253,22,255,55,255,23,255,17,255,89,255,201,253,53,255,149,253,109,255,97,254,141,255,160,254,90,255,18,253,85,255,7,253,242,254,145,252,248,254,121,252,145,254,24,253,43,0,37,254,14,0,115,253,43,0,98,253,11,0,64,254,197,255,247,253,130,255,137,255,101,255,155,253,214,255,161,252,229,255,93,252,136,0,29,254,183,0,44,254,55,0,214,254,55,0,208,254,57,1,159,253,57,1,48,253,66,1,89,255,100,0,227,253,253,255,137,255,145,255,69,255,233,0,20,255,4,1,22,255,26,0,91,255,134,0,211,255,216,255,219,253,104,1,53,255,122,1,124,254,194,1,129,254,19,1,20,0,182,0,153,255,246,0,145,255,175,1,37,0,206,1,110,255,231,1,99,255,228,254,197,255,247,1,72,255,24,0,53,0,253,255,54,0,122,0,3,1,77,1,66,0,228,1,104,0,180,1,68,0,195,0,116,0,190,0,206,0,13,1,247,255,226,1,96,1,126,1,29,1,143,1,21,1,196,1,0,1,69,0,186,0,13,0,41,1,243,255,3,1,161,255,30,0,56,0,138,1,196,0,169,1,205,0,200,1,25,1,65,2,15,0,191,0,119,1,34,1,151,1,64,2,200,255,227,0,32,2,149,1,0,0,37,2,164,255,16,2,27,255,95,1,11,255,82,1,150,254,179,1,167,0,15,2,181,255,46,1,91,0,56,3,129,0,87,2,240,1,167,2,186,0,237,2,153,0,225,2,231,254,88,2,164,254,103,2,20,255,1,3,41,0,113,3,38,0,122,3,36,255,73,3,155,254,115,3,119,254,135,3,134,253,218,1,68,254,82,3,81,255,166,2,19,254,242,0,249,253,17,3,54,253,70,2,227,253,110,1,225,253,178,1,171,253,244,1,3,253,222,0,66,253,149,3,25,253,194,3,155,252,245,1,125,252,36,2,133,254,200,0,77,254,157,0,205,252,214,0,163,252,157,0,154,253,40,0,136,253,94,0,141,252,202,255,27,253,4,2,11,254,42,1,154,253,85,255,154,252,95,255,159,252,233,255,206,252,93,0,9,252,245,254,106,253,153,254,219,253,2,0,70,254,135,255,135,254,0,0,29,255,33,0,98,254,130,255,127,255,212,0,90,252,34,0,198,251,230,254,161,251,244,254,58,253,199,252,92,254,65,255,204,251,96,252,107,252,163,255,140,253,154,254,97,0,7,0,50,255,119,254,155,255,24,0,53,255,38,0,88,255,83,0,169,253,89,254,233,254,170,1,68,253,118,0,181,255,206,0,43,252,95,253,88,253,161,1,145,254,37,0,233,254,218,1,127,255,194,254,63,1,40,1,142,253,217,255,87,1,90,2,72,253,217,255,209,254,172,3,104,0,233,0,132,254,137,0,220,255,13,1,181,255,42,255,120,0,43,0,239,253,35,254,203,1,164,0,54,255,27,255,207,255,89,255,97,2,24,3,98,0,36,255,147,3,148,0,37,1,27,1,101,3,91,0,63,2,138,1,70,1,178,255,205,2,67,0,109,1,189,254,104,2,220,255,219,2,27,0,107,2,238,0,120,2,17,1,192,1,99,0,33,3,220,1,101,3,17,1,173,2,64,0,21,3,72,0,253,3,217,0,25,3,203,1,222,2,104,1,134,2,224,1,104,1,66,1,173,1,208,1,126,2,174,1,244,2,107,1,232,3,148,1,171,2,16,2,90,2,103,2,143,2,157,1,178,3,175,2,169,3,90,2,136,3,92,2,43,2,225,2,18,3,150,2,211,1,142,2,106,1,77,2,161,3,198,2,242,1,222,1,159,1,164,1,181,2,115,3,45,3,171,2,13,3,157,3,145,3,171,3,214,2,220,2,235,1,85,3,19,2,180,3,222,2,195,3,59,1,40,3,249,2,243,2,120,4,248,2,143,2,52,4,58,3,33,4,67,4,70,3,235,3,40,3,23,4,109,4,147,2,77,4,224,3,26,4,50,4,51,4,203,3,182,2,202,4,30,4,59,2,73,3,116,3,124,5,99,5,72,4,56,4,93,3,207,4,223,2,4,5,248,2,248,4,223,3,87,5,29,4,233,4,188,2,26,4,22,2,220,3,197,1,240,4,87,2,116,4,167,2,85,6,47,3,104,5,9,2,37,5,137,1,28,6,37,3,168,5,174,2,44,4,136,2,107,3,51,1,59,4,105,1,23,4,61,1,137,5,196,3,163,2,59,2,128,4,79,0,90,4,209,255,250,5,55,1,185,6,58,1,142,4,177,2,2,2,162,255,93,1,26,1,132,5,72,1,1,4,231,1,191,255,57,0,37,3,202,3,36,0,62,0,1,3,249,254,23,3,166,254,125,2,187,2,119,255,108,2,22,2,29,2,33,253,194,0,199,2,44,1,244,254,161,252,158,3,1,3,60,253,84,254,250,1,174,0,132,252,138,253,179,1,35,2,101,250,254,254,109,2,215,1,6,252,168,250,119,254,9,2,104,252,82,253,231,255,20,0,42,252,124,251,84,1,9,0,234,249,145,251,160,254,48,0,213,249,110,254,137,252,6,0,124,251,136,252,220,253,160,254,149,249,112,251,97,255,98,2,24,248,61,252,31,255,193,0,136,249,88,248,11,255,19,254,60,252,112,249,88,252,133,253,237,250,48,249,148,250,164,253,252,249,189,252,139,250,121,255,204,249,222,254,122,249,56,253,37,248,160,249,129,249,229,255,46,247,213,252,123,251,184,0,15,251,189,0,169,250,74,2,37,248,201,0,234,252,200,2,70,251,3,0,247,251,40,3,29,251,62,3,145,255,123,2,156,249,191,1,49,254,75,252,67,254,96,252,8,254,118,251,11,254,69,251,144,0,161,254,140,254,228,251,229,254,221,251,233,254,157,251,193,253,98,250,181,253,178,249,89,252,40,252,229,0,178,2,103,252,49,253,109,254,82,5,83,253,47,254,106,3,141,1,3,254,210,255,61,1,54,5,27,254,200,1,45,3,183,1,101,254,83,1,130,3,43,4,87,254,46,0,161,5,241,1,115,252,224,252,185,5,22,4,2,255,191,254,150,5,141,4,68,0,94,1,10,4,154,2,114,1,11,0,31,5,22,3,143,0,232,0,17,4,26,6,142,255,151,2,80,6,54,4,198,1,67,2,251,4,16,4,180,255,141,3,240,2,43,4,153,0,0,2,92,1,190,4,102,2,129,1,51,7,40,3,13,1,10,4,203,0,62,4,140,2,249,3,247,6,106,4,173,1,47,5,131,1,104,5,207,255,159,4,184,255,191,4,96,254,233,3,32,2,213,6,160,254,199,4,10,254,175,4,179,253,57,2,29,255,94,6,114,255,42,6,26,255,179,6,54,253,8,5,186,252,118,5,107,4,77,5,48,255,208,4,181,1,197,3,95,252,50,3,43,3,130,5,91,3,227,5,164,0,188,4,107,5,1,7,228,1,82,7,200,1,15,8,228,3,146,4,46,5,122,5,36,5,80,5,111,4,238,4,210,4,82,6,81,5,232,6,141,5,203,4,48,6,67,5,86,3,160,2,149,6,30,6,115,4,246,4,224,7,33,7,237,6,45,6,252,5,180,5,207,5,178,3,123,6,253,3,208,6,188,4,112,5,209,3,236,6,137,4,34,7,140,4,182,6,149,5,181,7,55,6,161,4,96,3,84,8,37,4,7,7,46,3,46,7,245,2,56,8,35,5,6,8,234,4,65,8,147,3,27,9,162,3,187,5,123,4,30,10,159,5,197,8,208,6,42,8,84,6,54,9,174,5,106,10,226,5,84,7,45,7,22,8,183,7,203,6,41,6,170,2,9,5,48,6,253,7,174,5,50,8,194,9,212,7,151,10,18,8,214,2,52,6,196,10,32,9,228,0,79,3,152,9,123,6,36,0,45,1,150,7,165,7,66,254,160,255,106,8,116,5,253,5,77,4,14,0,96,2,101,252,36,253,103,5,190,7,65,5,184,3,88,253,65,1,1,5,244,4,198,249,109,1,173,3,178,3,55,249,202,252,70,9,227,10,29,7,228,10,236,248,29,247,169,248,23,246,152,249,200,248,97,249,44,248,60,251,136,248,59,251,198,247,233,249,204,249,219,249,236,249,85,251,177,249,56,251,65,249,177,250,129,251,176,249,100,248,6,251,145,250,231,250,133,250,185,249,101,251,116,249,225,250,93,250,58,250,169,250,126,252,24,251,221,251,205,250,146,251,42,252,147,251,131,251,32,250,200,251,228,250,4,252,97,251,44,252,50,250,57,252,41,250,36,252,102,252,233,251,203,251,186,252,101,251,166,252,58,251,149,251,239,251,216,251,1,253,152,252,123,251,67,253,144,252,62,253,118,252,250,252,8,252,190,253,200,251,223,252,58,250,177,253,169,251,176,253,134,251,55,253,148,250,128,253,160,250,171,253,221,251,96,254,121,252,82,253,192,252,107,253,60,253,68,254,156,252,22,254,103,252,138,254,248,252,149,253,110,251,183,253,219,253,255,252,229,252,77,254,109,253,238,253,27,253,14,254,187,252,155,254,171,253,233,254,153,252,13,255,137,252,230,254,103,253,232,254,101,253,91,255,208,253,118,254,121,252,150,254,102,254,64,254,185,253,103,254,194,253,199,254,155,254,131,253,220,253,198,253,76,254,128,252,8,254,130,254,11,253,198,255,31,254,91,255,150,253,65,255,138,254,22,255,130,254,34,255,85,253,231,255,32,254,94,254,153,254,38,253,159,254,188,254,99,255,80,254,190,254,118,254,209,254,228,254,152,255,167,253,223,254,212,253,60,255,180,253,106,255,109,253,160,253,39,254,232,255,188,255,64,254,38,254,248,255,6,254,211,255,20,253,72,255,180,252,4,255,123,252,165,255,184,253,159,255,116,253,138,0,4,253,125,255,90,253,244,255,98,253,165,0,253,254,253,255,184,252,149,255,115,252,37,0,32,252,44,0,170,252,97,254,185,252,13,0,23,252,241,254,254,251,203,254,226,252,34,254,192,252,24,254,81,252,168,0,168,251,125,254,95,251,155,255,97,251,216,255,83,252,196,254,250,251,254,252,236,251,143,253,199,251,230,253,56,251,213,254,224,250,76,254,83,251,105,253,113,251,95,255,64,251,78,253,43,251,193,252,104,250,48,253,133,250,19,254,126,252,28,253,102,252,223,252,178,251,110,254,213,249,60,252,219,251,130,253,11,251,98,250,37,250,90,252,34,250,129,252,194,249,204,253,69,249,51,253,162,253,171,253,114,251,195,251,167,250,44,254,102,248,43,250,210,248,71,252,116,248,93,252,37,250,68,255,157,249,91,254,79,250,174,254,88,250,234,255,106,248,90,254,42,248,7,255,16,254,142,255,138,248,13,253,247,250,174,0,85,250,147,255,30,254,255,254,59,251,4,254,175,249,151,0,98,249,208,0,114,253,107,0,141,249,29,0,139,251,23,1,65,251,50,1,52,251,6,254,38,253,81,255,44,251,155,255,55,252,39,2,154,252,22,1,201,252,59,1,205,253,120,1,229,251,228,0,5,254,24,1,169,253,25,1,10,253,253,0,207,254,123,1,13,253,122,255,157,253,148,2,200,252,24,2,207,252,134,2,99,254,49,0,171,254,177,0,59,254,14,2,30,254,77,2,185,255,83,1,111,253,8,1,12,255,39,1,19,255,59,1,125,254,57,2,6,254,247,255,135,254,14,0,96,255,149,2,40,255,40,0,204,254,210,255,95,0,214,0,14,255,167,0,170,255,192,0,200,255,27,0,180,255,31,0,36,0,53,1,150,255,74,255,143,255,74,0,71,254,234,255,23,0,139,0,81,0,245,255,44,0,15,0,169,255,119,255,138,255,49,255,98,255,198,255,16,1,164,255,100,255,71,254,8,0,120,255,128,0,35,255,101,0,38,255,40,0,59,255,180,255,56,254,9,0,67,254,33,0,89,254,226,0,60,0,73,0,34,255,156,0,113,254,24,1,194,254,245,0,171,254,166,0,13,254,83,1,66,255,71,1,37,255,69,1,119,255,167,255,172,253,100,0,141,253,144,0,91,253,231,1,28,0,252,0,121,254,214,0,215,255,26,1,228,255,99,0,226,254,75,1,49,0,203,1,124,254,53,2,143,254,180,1,28,0,80,1,247,255,141,1,89,255,106,2,34,0,84,2,239,255,49,2,116,255,43,1,79,0,10,2,125,0,203,0,2,0,244,0,32,1,255,0,211,0,175,0,82,0,84,2,187,0,5,2,108,0,125,1,255,0,109,1,41,1,241,1,96,1,71,1,174,255,25,0,210,0,115,1,245,0,5,1,3,0,33,2,193,1,140,0,38,1,44,0,39,1,212,0,91,1,244,0,238,1,75,1,16,2,201,0,51,1,93,1,155,1,101,2,28,1,102,2,157,1,208,1,66,1,112,2,141,1,97,0,200,0,96,255,128,1,149,0,106,1,239,1,13,2,13,1,73,2,33,0,235,1,135,255,177,1,171,1,99,2,242,1,4,2,171,0,187,1,241,1,154,2,184,1,19,1,54,2,63,2,146,0,127,2,155,0,158,2,223,255,173,0,212,0,184,2,90,255,89,2,65,255,183,2,23,254,247,1,175,0,230,2,214,0,220,1,116,1,59,4,66,2,18,2,74,2,9,3,169,1,106,3,59,1,73,3,118,1,80,3,91,255,53,2,35,0,223,3,217,255,38,4,73,1,200,2,18,3,72,3,133,2,27,3,149,2,164,2,59,2,150,3,120,2,55,4,161,2,49,3,62,1,132,1,106,3,244,3,52,2,80,3,112,3,108,2,45,2,223,1,159,2,197,1,180,2,212,1,72,3,130,2,76,3,133,2,250,1,172,1,129,3,55,2,69,3,131,1,194,3,243,1,179,2,49,2,171,3,158,3,15,3,40,1,22,3,12,1,4,4,18,2,106,3,73,1,36,2,143,0,163,2,35,1,247,1,66,0,17,4,103,1,18,3,97,0,37,3,33,0,69,3,214,1,255,1,49,0,68,4,71,1,150,4,67,1,3,0,242,0,104,3,218,1,177,2,173,1,49,5,166,2,18,4,108,2,85,4,152,2,65,1,193,0,121,3,182,3,129,4,106,3,125,3,123,2,109,3,94,3,180,3,145,3,13,5,153,2,40,5,127,2,229,3,25,3,122,5,6,4,152,4,244,3,86,4,191,3,130,5,157,3,123,5,147,3,31,2,94,3,92,4,198,4,67,3,166,4,67,3,166,4,191,3,124,4,123,4,96,5,20,5,169,4,135,5,207,4,55,5,61,5,234,2,68,4,175,6,3,5,109,5,49,4,54,5,30,6,129,4,195,5,109,6,113,4,33,7,196,4,32,4,102,5,241,5,194,6,96,6,9,6,84,6,6,6,87,3,60,6,97,3,131,6,181,2,117,3,180,6,239,5,143,4,16,5,161,8,224,6,160,7,213,5,228,7,202,5,254,5,74,7,158,6,216,7,30,6,236,2,225,6,57,3,38,1,112,5,60,4,10,8,109,2,35,5,109,1,7,5,198,0,4,4,232,1,128,5,249,0,147,1,246,3,25,6,68,1,107,1,109,6,20,4,193,0,111,1,242,7,67,7,5,255,67,2,238,2,226,3,13,255,30,0,45,5,111,3,228,255,87,255,112,2,149,3,59,254,159,0,186,0,90,5,154,253,6,0,25,2,136,1,162,255,221,254,13,3,229,0,128,255,214,254,245,0,235,1,67,253,120,253,204,3,21,3,11,254,128,253,178,0,255,0,147,254,122,254,1,255,61,1,66,252,218,254,65,255,228,0,249,252,65,254,157,0,19,255,111,253,48,253,105,254,92,0,139,255,157,253,78,1,26,255,89,253,196,251,112,255,195,254,123,252,163,252,30,253,152,254,171,255,41,253,166,255,237,252,100,0,234,255,121,254,249,254,200,255,183,255,175,254,14,253,5,0,67,255,62,253,144,253,89,0,168,254,121,255,167,251,159,254,19,255,84,253,145,251,237,254,178,251,243,254,77,251,152,0,145,0,46,253,48,251,49,0,80,0,32,251,248,252,8,255,135,1,36,253,221,253,213,1,218,0,1,255,160,252,69,0,110,1,90,255,27,254,80,253,191,0,68,251,84,251,86,255,87,255,228,250,161,249,65,1,214,1,117,250,37,251,192,255,16,1,175,250,8,255,236,1,53,2,47,253,159,253,195,0,229,1,195,253,123,255,171,1,202,0,85,255,138,255,199,0,63,2,2,0,225,255,182,2,243,2,170,250,217,255,40,2,45,2,23,254,15,1,168,2,25,2,13,0,59,254,87,3,186,3,123,255,204,255,175,255,226,2,111,251,125,2,31,4,35,4,161,255,164,2,235,4,57,4,233,1,49,1,63,254,186,3,234,253,228,3,55,252,98,3,222,251,35,4,242,250,106,2,120,250,105,2,54,254,86,5,97,255,29,7,250,252,240,253,242,255,86,4,78,251,123,252,252,252,177,1,24,251,25,251,13,252,210,254,166,253,183,253,9,253,174,249,8,253,243,249,184,252,127,248,208,252,229,253,23,249,69,247,29,255,220,255,14,248,217,248,197,247,154,251,89,246,232,248,66,250,252,0,115,245,97,254,197,253,45,254,229,5,18,6,132,8,183,7,22,9,228,7,191,248,111,249,191,248,37,249,248,247,130,251,170,247,138,249,173,249,181,251,88,249,149,251,191,250,184,249,177,250,154,249,198,250,243,250,211,250,15,251,128,249,143,249,49,250,173,252,190,250,216,248,123,250,116,247,254,250,87,253,7,249,143,249,58,252,198,251,97,251,116,249,226,251,207,251,138,251,122,251,73,251,24,253,6,251,27,252,90,252,153,250,97,252,120,250,14,252,231,250,241,252,69,252,231,251,124,252,31,252,207,252,31,253,201,252,52,252,91,251,30,253,186,251,30,253,126,251,240,252,223,252,214,252,238,252,132,252,248,253,24,252,206,252,124,253,59,252,191,253,142,252,227,253,74,253,97,253,107,252,173,253,126,253,122,253,153,253,68,252,147,253,99,252,253,253,41,253,29,254,209,252,27,254,184,252,190,253,72,254,55,253,190,253,187,254,111,253,98,253,126,254,198,253,71,254,102,253,254,253,237,252,120,254,239,253,246,253,59,254,25,254,89,254,152,253,183,253,151,253,99,255,106,253,244,254,88,253,164,254,190,254,189,254,136,253,68,254,208,254,82,254,180,254,54,254,235,254,44,254,109,253,231,252,193,254,132,253,29,255,214,253,139,254,165,254,178,254,46,255,56,254,64,255,238,253,14,255,40,255,58,255,146,254,142,254,174,254,95,255,103,254,20,253,149,255,132,254,218,254,125,253,33,255,103,253,22,255,27,253,115,255,16,254,126,255,2,254,117,255,185,254,84,255,207,254,206,254,188,253,92,255,249,254,250,254,84,255,189,255,110,254,31,0,146,254,246,255,76,254,170,255,241,253,71,0,135,254,234,255,159,253,244,255,90,253,189,255,193,254,63,0,65,255,35,0,75,255,217,255,14,255,126,0,89,255,116,255,224,253,155,0,215,254,174,0,215,254,38,0,248,255,117,0,132,254,197,0,60,254,240,0,246,253,223,0,153,255,110,0,69,255,87,0,101,255,169,0,209,255,157,0,26,0,173,255,156,255,128,0,80,0,209,0,194,255,6,0,7,0,22,0,5,0,62,1,236,255,248,0,211,255,56,255,193,255,156,0,187,255,250,0,73,255,113,1,130,255,143,255,180,255,114,255,134,255,192,255,2,255,225,255,35,0,79,255,185,255,249,255,171,0,93,0,27,0,108,0,212,0,182,254,47,255,133,255,186,255,233,254,95,0,160,255,20,0,68,255,195,255,198,254,87,0,212,254,178,255,158,254,122,255,11,0,122,0,116,255,122,0,237,254,152,0,219,254,140,0,174,255,138,0,191,254,145,255,32,254,100,255,153,254,76,0,2,255,216,255,133,253,160,255,246,253,79,0,5,254,8,0,244,254,47,1,229,253,68,0,66,254,61,0,246,253,50,1,111,0,189,0,77,254,122,0,133,254,166,0,197,253,114,254,136,253,182,255,21,253,161,255,57,254,194,0,72,252,83,0,226,252,192,0,13,253,192,0,243,252,94,255,149,253,234,0,105,253,215,254,24,254,147,255,60,252,124,255,186,252,188,255,181,252,58,0,168,251,170,255,219,252,213,254,80,252,3,255,246,252,206,255,59,252,219,253,160,254,158,255,32,252,169,254,163,251,197,254,163,251,205,254,125,251,138,254,131,253,26,255,114,251,213,255,237,250,156,255,99,252,119,254,6,251,168,253,79,253,126,255,57,250,200,254,215,250,2,255,72,250,70,254,244,250,155,253,19,251,9,254,35,250,144,254,214,250,26,0,104,250,190,255,49,249,95,255,148,249,45,254,32,249,220,253,143,250,200,253,236,249,153,252,41,250,246,251,149,250,197,253,131,248,240,253,9,249,133,255,151,248,25,255,250,247,189,254,252,247,118,252,72,248,201,253,131,248,148,253,1,248,35,252,203,251,142,254,17,248,64,253,205,246,19,253,76,245,191,251,139,248,159,0,36,248,248,0,142,253,133,255,221,246,62,252,99,253,104,254,157,250,106,251,60,254,148,254,236,251,33,253,124,255,183,0,172,249,16,253,221,253,205,254,247,252,19,251,158,255,41,0,144,252,189,251,255,254,97,0,190,249,215,248,31,0,230,255,124,253,207,253,76,255,222,253,127,254,185,251,102,254,222,252,98,254,197,252,55,254,54,252,22,254,171,251,41,255,108,252,112,255,87,252,19,254,11,251,251,253,29,250,181,0,101,0,180,254,135,252,188,252,87,252,209,253,83,254,139,253,221,253,73,255,175,254,223,253,174,255,6,255,226,254,5,0,124,255,164,254,4,255,219,254,40,254,98,255,100,0,227,255,197,0,20,255,88,254,163,252,43,255,116,255,249,255,85,254,69,254,187,0,159,255,84,253,32,253,219,254,2,1,144,254,104,255,106,255,136,1,159,253,175,0,114,255,43,1,118,255,152,0,137,255,73,1,26,254,204,255,37,1,198,0,73,255,117,0,175,0,75,1,198,255,238,254,231,0,44,1,224,254,74,1,207,254,116,1,145,255,153,1,247,255,167,1,83,0,0,1,67,0,111,1,237,255,248,0,91,0,113,0,221,255,150,1,65,255,154,0,238,0,40,1,5,0,197,0,141,0,221,0,57,1,198,0,211,0,165,1,244,0,78,1,88,0,170,1,13,255,198,1,202,0,40,2,251,255,147,1,35,1,185,0,219,0,45,1,251,0,138,0,128,0,69,0,197,0,32,1,116,255,195,255,188,0,105,1,197,0,86,2,186,1,17,1,34,1,143,0,216,1,226,1,157,0,114,1,159,1,65,1,116,1,129,1,146,1,40,2,155,0,24,0,38,2,7,1,245,255,21,0,104,1,227,0,147,0,2,255,168,1,97,0,110,1,243,255,119,1,141,0,193,1,232,0,140,1,251,1,218,1,16,1,189,2,68,1,106,1,209,255,75,2,148,0,31,2,69,0,144,1,205,255,49,2,59,0,220,0,246,255,96,1,147,0,206,0,211,0,141,2,185,0,51,2,41,1,53,2,28,1,82,2,121,0,254,2,192,0,142,1,118,0,130,2,178,1,233,0,8,1,225,1,211,1,129,0,91,255,187,2,239,0,90,0,26,0,86,1,218,1,201,255,27,0,132,1,94,0,84,255,0,0,213,2,123,1,196,255,81,1,114,1,209,1,95,0,63,1,38,3,83,2,78,0,4,1,241,1,83,3,210,0,48,2,202,1,62,2,48,254,202,0,241,1,113,2,54,255,152,0,48,0,200,2,236,255,54,2,100,0,203,2,199,1,212,1,155,1,93,2,63,1,134,2,195,0,103,2,145,1,26,2,168,2,227,2,201,0,155,2,178,1,186,3,198,1,169,1,134,2,235,1,94,2,169,2,160,1,252,1,241,1,54,3,170,1,47,3,148,2,135,2,116,2,204,2,185,2,210,1,106,2,201,1,173,2,204,1,109,1,53,1,209,2,55,2,68,3,89,2,97,2,44,1,57,3,203,1,175,3,175,2,169,2,21,2,147,3,86,2,79,2,243,0,108,3,195,1,106,3,164,1,18,3,61,1,220,2,220,0,154,3,61,1,84,4,111,1,19,2,210,1,4,4,137,2,29,4,103,2,10,4,41,2,61,3,90,2,253,3,31,3,159,3,35,3,110,3,251,2,31,3,240,1,93,5,5,3,73,2,2,3,35,3,162,3,75,4,25,3,198,4,94,3,185,4,127,3,1,4,215,2,4,3,77,3,148,4,91,4,99,3,253,3,62,3,245,3,73,3,142,3,250,1,191,2,215,4,53,4,108,2,51,3,172,4,59,4,131,4,57,4,118,4,139,3,11,6,97,4,29,5,136,2,63,5,100,2,204,5,220,3,199,5,169,3,217,3,48,5,187,3,61,5,173,1,142,3,73,3,58,5,52,2,155,4,156,1,132,4,147,5,40,5,154,5,50,5,128,2,248,2,190,6,130,5,190,0,43,2,49,4,237,3,170,1,1,1,71,3,212,3,235,0,231,0,240,5,143,4,109,0,37,1,246,3,33,6,49,1,142,0,124,4,27,2,221,254,148,255,189,4,204,3,22,0,40,255,155,2,60,3,30,254,182,1,197,1,151,5,187,253,90,254,21,3,131,1,154,254,58,254,174,0,12,3,220,255,140,254,134,1,122,255,139,253,160,0,206,254,239,2,22,251,181,254,177,0,10,2,8,255,62,2,5,255,127,2,237,253,151,1,172,253,138,1,93,254,21,3,151,253,33,3,38,252,143,1,167,252,215,2,249,255,6,2,65,253,54,1,137,251,232,255,22,252,31,1,64,252,107,1,237,250,56,1,2,250,245,0,235,249,49,1,28,0,153,0,165,252,81,255,223,255,76,1,138,250,102,255,212,0,154,1,175,253,59,255,188,251,64,253,120,252,191,255,26,1,111,1,106,252,82,253,89,1,93,0,254,254,155,254,184,2,132,2,75,253,228,255,192,1,237,1,239,254,193,0,15,2,34,2,13,255,255,253,128,1,120,255,17,1,159,254,0,2,114,255,25,2,58,255,173,3,238,2,83,0,248,0,66,2,93,3,200,255,80,2,74,3,44,0,124,3,24,0,33,0,122,3,240,255,214,3,63,3,118,5,255,5,106,7,180,6,96,5,156,7,185,5,22,252,95,252,184,251,77,251,127,253,93,252,164,253,63,252,245,252,95,253,189,252,236,252,96,254,104,253,54,254,2,253,116,253,247,253,106,253,17,254,1,252,3,254,1,252,84,254,68,254,216,253,144,254,63,254,33,254,45,255,226,251,121,252,196,254,7,255,199,253,177,253,199,253,237,254,227,253,65,255,52,253,68,255,182,252,248,254,179,254,8,255,194,254,28,255,237,254,1,0,201,253,28,255,141,255,35,255,18,255,138,254,59,255,5,254,34,255,189,253,254,254,80,254,195,255,12,255,167,254,2,0,174,254,39,0,41,255,87,255,198,255,0,0,200,255,250,255,53,255,125,255,1,0,70,255,251,255,45,255,6,0,132,254,11,0,94,254,140,255,131,0,122,255,113,0,89,0,252,255,71,0,254,255,237,255,64,255,6,1,24,0,189,0,151,0,123,255,147,255,186,0,103,255,166,0,37,255,37,0,139,0,193,0,171,0,81,1,124,0,158,0,195,255,141,0,226,0,243,255,190,0,231,0,34,0,98,1,109,0,60,1,201,0,244,0,164,0,74,1,171,255,134,1,172,255,254,0,71,1,1,1,79,1,235,1,147,0,220,1,105,0,54,0,77,0,181,1,114,1,165,1,58,1,193,1,86,1,73,1,126,0,161,2,36,1,59,2,132,1,243,0,193,0,141,2,64,1,109,2,24,1,194,0,124,1,5,2,69,2,45,0,67,1,111,0,166,1,233,1,139,1,222,2,22,2,110,2,34,2,230,1,246,1,62,1,60,2,189,0,38,2,129,1,166,1,99,255,153,0,131,255,126,1,59,255,130,1,249,254,78,1,228,0,185,2,68,255,1,0,51,0,41,1,5,254,213,0,136,254,141,1,232,255,255,0,221,253,89,0,10,254,162,255,131,1,179,0,148,253,68,0,84,253,112,0,126,253,162,254,252,254,172,0,74,254,188,254,8,1,136,2,60,252,252,255,159,251,7,0,122,255,134,0,147,251,206,254,143,0,96,0,92,254,15,254,59,251,162,254,9,250,83,253,95,255,72,0,105,3,179,2,220,2,27,1,153,3,97,1,78,1,219,1,71,4,53,3,96,3,12,2,75,3,241,1,202,2,199,2,20,3,238,2,52,4,202,2,180,4,241,2,65,2,150,2,124,245,170,192,38,3,44,7,95,251,33,228,37,12,28,4,40,248,202,208,85,16,107,5,192,249,99,218,69,9,145,5,232,249,78,219,176,12,193,7,210,251,214,230,35,7,16,9,184,252,64,236,173,3,242,12,199,254,163,248,47,9,161,11,41,254,234,244,32,14,116,9,247,252,183,237,123,13,24,12,98,254,70,246,139,11,205,16,72,0,178,1,56,7,148,17,139,0,68,3,44,15,40,21,157,1,180,9,163,4,42,28,67,3,166,19,11,12,40,35,139,4,90,27,216,28,115,3,37,247,177,202,74,23,226,5,58,250,60,221,35,20,86,8,61,252,88,233,8,31,217,7,228,251,65,231,107,25,202,8,139,252,49,235,246,29,192,10,180,253,47,242,64,23,200,11,60,254,92,245,34,19,180,14,131,255,17,253,77,27,4,14,60,255,103,251,238,31,138,15,213,255,252,254,176,23,52,17,107,0,133,2,29,30,223,19,64,1,136,7,147,21,133,23,57,2,98,13,89,30,214,27,50,3,62,19,172,23,2,31,209,3,253,22,218,21,223,44,243,5,212,35,85,41,76,5,159,249,153,217,89,35,61,6,145,250,68,223,66,38,243,7,247,251,180,231,242,34,111,9,244,252,164,237,56,40,24,10,87,253,253,239,191,36,174,10,171,253,245,241,252,33,146,12,156,254,160,247,29,38,67,13,235,254,123,249,193,39,52,15,181,255,58,254,210,35,176,17,148,0,123,3,168,39,140,19,40,1,245,6,154,35,103,22,241,1,177,11,4,41,122,24,116,2,198,14,126,39,207,29,151,3,158,21,140,34,23,34,93,4,72,26,252,34,208,48,112,6,193,38,124,50,208,3,185,247,47,206,171,44,219,6,28,251,141,226,106,47,24,9,189,252,96,236,124,44,64,9,214,252,248,236,204,41,248,11,83,254,236,245,44,48,45,11,238,253,136,243,202,45,255,12,205,254,200,248,6,44,116,14,106,255,120,252,109,42,61,17,110,0,151,2,50,47,181,17,150,0,134,3,19,44,85,20,98,1,84,8,184,46,161,24,125,2,253,14,159,43,110,29,132,3,44,21,96,47,137,32,25,4,168,24,217,42,25,42,149,5,156,33,60,40,224,67,87,8,53,50,75,54,145,6,220,250,15,225,36,49,253,7,254,251,221,231,209,51,135,9,2,253,254,237,209,54,173,11,47,254,14,245,140,52,26,12,99,254,78,246,108,48,74,14,89,255,18,252,198,52,196,14,137,255,55,253,80,50,176,16,62,0,118,1,221,52,253,18,253,0,243,5,123,49,81,21,168,1,248,9,30,54,218,23,78,2,223,13,231,50,83,25,166,2,244,15,245,52,41,30,169,3,7,22,157,50,95,36,189,4,136,28,146,53,31,45,252,5,5,36,47,49,102,59,146,7,147,45,9,59,4,6,91,250,4,222,224,58,29,9,192,252,113,236,191,56,207,9,45,253,0,239,100,57,127,12,147,254,107,247,22,60,232,13,49,255,33,251,53,55,120,15,206,255,212,254,254,58,140,16,50,0,42,1,252,55,216,18,242,0,174,5,254,57,75,21,166,1,238,9,202,59,195,23,72,2,190,13,249,55,232,26,0,3,15,18,212,58,9,30,162,3,226,21,70,56,210,36,207,4,245,28,27,60,13,38,0,5,26,30,232,57,191,55,52,7,94,43,32,53,107,97,109,10,195,62,12,64,177,7,198,251,139,230,177,65,16,11,223,253,45,243,97,61,27,11,229,253,80,243,232,62,8,13,209,254,223,248,0,64,123,15,207,255,218,254,44,66,227,17,165,0,224,3,95,61,247,17,171,0,6,4,94,63,72,21,165,1,233,9,192,65,238,24,143,2,105,15,129,61,229,27,53,3,80,19,198,63,45,29,120,3,223,20,227,64,176,33,76,4,222,25,132,66,178,40,99,5,111,32,33,62,41,46,29,6,207,36,238,65,98,57,95,7,96,44,131,64,134,81,102,9,147,56,222,70,35,8,25,252,131,232,201,75,106,12,137,254,47,247,100,68,98,13,248,254,203,249,86,78,187,15,231,255,105,255,149,70,153,16,54,0,70,1,8,74,202,19,58,1,98,7,47,69,26,21,153,1,157,9,123,77,48,24,98,2,92,14,30,70,102,27,27,3,176,18,70,83,197,30,198,3,184,22,246,69,73,36,186,4,115,28,200,74,74,36,186,4,116,28,37,80,117,44,230,5,129,35,155,70,149,56,74,7,226,43,31,78,218,69,129,8,52,51,154,73,252,127,0,12,62,72,61,42,81,112,63,11,181,67,0,80,225,10,198,253,153,242,153,73,194,25,191,2,139,16,81,24,245,28,108,3,156,20,51,67,204,40,103,5,133,32,122,84,245,4,61,249,74,215,143,82,71,17,113,0,171,2,40,44,20,6,106,250,95,222,61,74,20,50,150,6,164,39,215,67,194,9,37,253,210,238,194,69,225,18,244,0,192,5,10,39,194,9,37,253,210,238,122,68,184,30,196,3,170,22,174,55,92,7,133,251,5,229,20,62,81,12,125,254,233,246,61,26,10,7,67,251,121,227,10,71,225,78,53,9,109,55,102,70,215,11,67,254,138,245,71,65,225,22,16,2,109,12,143,34,174,15,226,255,76,255,20,62,10,35,134,4,60,27,102,70,112,5,198,249,129,218,71,65,0,16,0,0,0,0,0,32,143,2,108,245,79,192,133,59,102,54,16,7,132,42,174,55,40,12,106,254,116,246,10,55,61,18,193,0,141,4,30,21,143,10,154,253,143,241,122,52,153,25,182,2,84,16,163,48,133,3,67,247,100,203,163,48,102,10,131,253,7,241,184,14,143,2,108,245,79,192,153,57,215,91,22,10,183,60,225,74,153,9,13,253,62,238,184,78,215,19,62,1,121,7,225,26,0,16,0,0,0,0,0,80,112,33,65,4,156,25,204,76,225,2,26,246,105,196,61,74,163,16,58,0,91,1,184,30,40,8,29,252,151,232,204,44,0,48,87,6,43,38,20,62,194,5,26,250,126,220,112,61,20,18,180,0,62,4,215,35,153,5,240,249,131,219,184,62,92,27,25,3,164,18,235,57,225,2,26,246,105,196,225,58,204,8,140,252,55,235,215,19,204,4,12,249,38,214,215,51,174,67,83,8,27,50,163,64,30,9,193,252,118,236,225,58,184,22,6,2,46,12,92,15,102,14,100,255,86,252,174,55,153,33,72,4,198,25,235,65,10,3,106,246,74,198,225,58,225,14,149,255,122,253,174,23,102,2,12,245,17,190,122,36,40,36,180,4,83,28,215,51,225,6,33,251,172,226,215,51,194,13,33,255,193,250,153,9,174,7,196,251,127,230,204,44,153,21,187,1,108,10,245,40,225,2,26,246,105,196,112,45,122,12,145,254,92,247,194,5,10,3,106,246,74,198,0,64,248,65,226,67,190,69,142,71,82,73,12,75,188,76,98,78,0,80,150,81,35,83,170,84,42,86,163,87,22,89,130,90,234,91,76,93,168,94,0,96,83,97,161,98,236,99,49,101,115,102,177,103,235,104,34,106,85,107,132,108,177,109,218,110,0,112,35,113,67,114,97,115,123,116,147,117,169,118,188,119,204,120,218,121,230,122,239,123,247,124,252,125,255,126,255,127,255,127,61,10,63,10,69,10,78,10,91,10,108,10,129,10,153,10,181,10,212,10,248,10,31,11,74,11,120,11,170,11,224,11,25,12,86,12,151,12,219,12,35,13,110,13,189,13,15,14,101,14,190,14,27,15,123,15,223,15,70,16,176,16,30,17,143,17,3,18,123,18,245,18,115,19,244,19,120,20,0,21,138,21,23,22,168,22,59,23,209,23,106,24,6,25,165,25,70,26,234,26,145,27,59,28,231,28,149,29,70,30,250,30,176,31,104,32,35,33,224,33,159,34,97,35,36,36,234,36,178,37,124,38,71,39,21,40,228,40,181,41,136,42,93,43,51,44,11,45,228,45,191,46,155,47,121,48,88,49,56,50,26,51,252,51,224,52,196,53,170,54,145,55,120,56,96,57,73,58,51,59,29,60,8,61,243,61,223,62,203,63,184,64,165,65,146,66,127,67,108,68,90,69,71,70,52,71,33,72,14,73,251,73,231,74,211,75,191,76,170,77,149,78,126,79,104,80,80,81,56,82,31,83,5,84,234,84,207,85,178,86,148,87,116,88,84,89,50,90,15,91,235,91,197,92,157,93,117,94,74,95,30,96,240,96,192,97,143,98,91,99,38,100,239,100,181,101,122,102,60,103,253,103,187,104,119,105,48,106,232,106,156,107,79,108,255,108,172,109,87,110,255,110,165,111,71,112,231,112,133,113,31,114,183,114,75,115,221,115,108,116,248,116,129,117,6,118,137,118,8,119,133,119,254,119,116,120,230,120,86,121,194,121,42,122,144,122,242,122,80,123,171,123,3,124,87,124,167,124,244,124,62,125,132,125,198,125,5,126,64,126,120,126,172,126,220,126,9,127,49,127,87,127,120,127,150,127,176,127,199,127,217,127,232,127,243,127,251,127,255,127,255,127,229,127,153,127,25,127,103,126,129,125],"i8",k,v.GLOBAL_BASE+20480),c([106,124,33,123,167,121,252,119,34,118,24,116,223,113,122,111,231,108,41,106,65,103,47,100,245,96,149,93,15,90,101,86,153,82,171,78,158,74,116,70,45,66,204,61,82,57,193,52,27,48,98,43,151,38,189,33,213,28,226,23,230,18,226,13,216,8,203,3,61,10,64,10,73,10,88,10,108,10,135,10,167,10,205,10,249,10,43,11,99,11,160,11,227,11,44,12,122,12,207,12,40,13,136,13,237,13,87,14,199,14,60,15,183,15,55,16,189,16,71,17,215,17,108,18,6,19,165,19,73,20,242,20,159,21,82,22,9,23,196,23,133,24,73,25,18,26,224,26,177,27,135,28,97,29,62,30,32,31,5,32,238,32,219,33,203,34,191,35,182,36,176,37,174,38,174,39,177,40,184,41,193,42,204,43,218,44,235,45,254,46,19,48,42,49,67,50,94,51,123,52,154,53,186,54,219,55,254,56,34,58,71,59,109,60,148,61,188,62,228,63,13,65,54,66,96,67,138,68,180,69,221,70,7,72,48,73,89,74,130,75,169,76,208,77,246,78,27,80,63,81,98,82,132,83,164,84,194,85,223,86,250,87,19,89,43,90,64,91,83,92,99,93,113,94,125,95,134,96,140,97,143,98,144,99,141,100,135,101,126,102,114,103,98,104,79,105,56,106,30,107,255,107,221,108,183,109,140,110,94,111,43,112,244,112,185,113,121,114,53,115,236,115,158,116,76,117,245,117,153,118,55,119,209,119,102,120,246,120,129,121,6,122,134,122,1,123,118,123,230,123,81,124,182,124,21,125,111,125,195,125,17,126,90,126,157,126,219,126,18,127,68,127,112,127,150,127,183,127,209,127,230,127,244,127,253,127,255,127,255,127,244,127,208,127,149,127,66,127,215,126,85,126,188,125,12,125,69,124,104,123,117,122,108,121,78,120,28,119,213,117,122,116,13,115,140,113,250,111,87,110,162,108,222,106,11,105,40,103,57,101,60,99,51,97,30,95,255,92,215,90,165,88,108,86,44,84,229,81,154,79,74,77,247,74,161,72,74,70,243,67,156,65,71,63,244,60,164,58,88,56,18,54,209,51,152,49,103,47,62,45,31,43,11,41,2,39,5,37,21,35,51,33,95,31,155,29,231,27,67,26,177,24,49,23,195,21,105,20,34,19,239,17,209,16,201,15,214,14,249,13,50,13,130,12,232,11,102,11,252,10,169,10,109,10,73,10,61,10,61,10,63,10,67,10,74,10,84,10,96,10,111,10,129,10,150,10,174,10,200,10,229,10,5,11,39,11,77,11,117,11,159,11,205,11,253,11,48,12,101,12,157,12,216,12,22,13,86,13,153,13,222,13,38,14,113,14,190,14,13,15,96,15,181,15,12,16,102,16,194,16,33,17,130,17,230,17,76,18,180,18,31,19,140,19,252,19,110,20,226,20,88,21,209,21,76,22,201,22,72,23,202,23,77,24,211,24,91,25,229,25,113,26,254,26,142,27,32,28,180,28,74,29,225,29,123,30,22,31,179,31,82,32,242,32,149,33,57,34,222,34,133,35,46,36,216,36,132,37,50,38,224,38,145,39,66,40,245,40,169,41,95,42,22,43,206,43,135,44,66,45,253,45,186,46,120,47,54,48,246,48,183,49,120,50,59,51,254,51,194,52,135,53,77,54,19,55,218,55,161,56,106,57,50,58,252,58,197,59,144,60,90,61,37,62,240,62,188,63,136,64,84,65,32,66,236,66,185,67,133,68,82,69,30,70,235,70,183,71,132,72,80,73,28,74,231,74,179,75,126,76,73,77,19,78,221,78,166,79,111,80,56,81,0,82,199,82,142,83,84,84,25,85,221,85,161,86,100,87,38,88,231,88,167,89,103,90,37,91,226,91,158,92,89,93,19,94,204,94,131,95,57,96,238,96,162,97,84,98,5,99,181,99,99,100,15,101,186,101,100,102,12,103,178,103,87,104,250,104,155,105,59,106,217,106,117,107,16,108,168,108,63,109,211,109,102,110,247,110,134,111,19,112,158,112,39,113,174,113,50,114,181,114,53,115,179,115,47,116,169,116,33,117,150,117,9,118,122,118,232,118,84,119,190,119,37,120,138,120,236,120,76,121,170,121,5,122,94,122,180,122,7,123,88,123,167,123,242,123,60,124,130,124,198,124,8,125,71,125,131,125,188,125,243,125,39,126,89,126,136,126,180,126,221,126,4,127,40,127,73,127,103,127,131,127,156,127,178,127,197,127,214,127,228,127,239,127,247,127,253,127,255,127,255,127,97,125,160,117,15,105,48,88,181,67,116,44,98,19,68,101,99,111,100,101,114,0,101,110,99,111,100,101,114,0],"i8",k,v.GLOBAL_BASE+30720);var ce=v.alignMemory(c(12,"i8",b),8);function de(e){var r,i=de;i.called||(0<(r=x)%4096&&(r+=4096-r%4096),x=r,i.called=!0,w(v.dynamicAlloc),i.alloc=v.dynamicAlloc,v.dynamicAlloc=function(){Be("cannot dynamically allocate, sbrk now has control")});var n=x;if(0!=e&&!i.alloc(e))return-1>>>0;return n}function he(e){return p.___errno_location&&(M[p.___errno_location()>>2]=e),e}w(ce%8==0);var we={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};p._memcpy=Le,p._memmove=Me,p._memset=Ne;var me={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},pe={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){pe.ttys[e]={input:[],output:[],ops:r},Ee.registerDevice(e,pe.stream_ops)},stream_ops:{open:function(e){var r=pe.ttys[e.node.rdev];if(!r)throw new Ee.ErrnoError(we.ENODEV);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,r,i,n,t){if(!e.tty||!e.tty.ops.get_char)throw new Ee.ErrnoError(we.ENXIO);for(var o=0,a=0;ae.contents.length&&(e.contents=ve.getFileDataAsRegularArray(e),e.usedBytes=e.contents.length),!e.contents||e.contents.subarray){var i=e.contents?e.contents.buffer.byteLength:0;if(r<=i)return;r=Math.max(r,i*(i<1048576?2:1.125)|0),0!=i&&(r=Math.max(r,256));var n=e.contents;return e.contents=new Uint8Array(r),void(0r)e.contents.length=r;else for(;e.contents.length=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-t,n);if(w(0<=a),8i.timestamp)&&(a.push(e),o++)});var i=[];if(Object.keys(t.entries).forEach(function(e){t.entries[e];n.entries[e]||(i.push(e),o++)}),!o)return r(null);var f=0,e=("remote"===n.type?n.db:t.db).transaction([be.DB_STORE_NAME],"readwrite"),s=e.objectStore(be.DB_STORE_NAME);function l(e){return e?l.errored?void 0:(l.errored=!0,r(e)):++f>=o?r(null):void 0}e.onerror=function(e){l(this.error),e.preventDefault()},a.sort().forEach(function(i){"local"===t.type?be.loadRemoteEntry(s,i,function(e,r){if(e)return l(e);be.storeLocalEntry(i,r,l)}):be.loadLocalEntry(i,function(e,r){if(e)return l(e);be.storeRemoteEntry(s,i,r,l)})}),i.sort().reverse().forEach(function(e){"local"===t.type?be.removeLocalEntry(e,l):be.removeRemoteEntry(s,e,l)})}},ke={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(e){w(u),ke.reader||(ke.reader=new FileReaderSync);var o=ke.createNode(null,"/",ke.DIR_MODE,0),a={};function n(e){for(var r=e.split("/"),i=o,n=0;n=e.node.size)return 0;var o=e.node.contents.slice(t,t+n),a=ke.reader.readAsArrayBuffer(o);return r.set(new Uint8Array(a),i),o.size},write:function(e,r,i,n,t){throw new Ee.ErrnoError(we.EIO)},llseek:function(e,r,i){var n=r;if(1===i?n+=e.position:2===i&&Ee.isFile(e.node.mode)&&(n+=e.node.size),n<0)throw new Ee.ErrnoError(we.EINVAL);return n}}},Ee=(c(1,"i32*",b),c(1,"i32*",b),c(1,"i32*",b),{root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:function(e){if(!(e instanceof Ee.ErrnoError))throw e+" : "+_();return he(e.errno)},lookupPath:function(e,r){if(r=r||{},!(e=ge.resolve(Ee.cwd(),e)))return{path:"",node:null};var i={follow_mount:!0,recurse_count:0};for(var n in i)void 0===r[n]&&(r[n]=i[n]);if(8>>0)%Ee.nameTable.length},hashAddNode:function(e){var r=Ee.hashName(e.parent.id,e.name);e.name_next=Ee.nameTable[r],Ee.nameTable[r]=e},hashRemoveNode:function(e){var r=Ee.hashName(e.parent.id,e.name);if(Ee.nameTable[r]===e)Ee.nameTable[r]=e.name_next;else for(var i=Ee.nameTable[r];i;){if(i.name_next===e){i.name_next=e.name_next;break}i=i.name_next}},lookupNode:function(e,r){var i=Ee.mayLookup(e);if(i)throw new Ee.ErrnoError(i,e);for(var n=Ee.hashName(e.id,r),t=Ee.nameTable[n];t;t=t.name_next){var o=t.name;if(t.parent.id===e.id&&o===r)return t}return Ee.lookup(e,r)},createNode:function(e,r,i,n){if(!Ee.FSNode){Ee.FSNode=function(e,r,i,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ee.nextInode++,this.name=r,this.mode=i,this.node_ops={},this.stream_ops={},this.rdev=n},Ee.FSNode.prototype={};Object.defineProperties(Ee.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return Ee.isDir(this.mode)}},isDevice:{get:function(){return Ee.isChrdev(this.mode)}}})}var t=new Ee.FSNode(e,r,i,n);return Ee.hashAddNode(t),t},destroyNode:function(e){Ee.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(e){var r=Ee.flagModes[e];if(void 0===r)throw new Error("Unknown file open mode: "+e);return r},flagsToPermissionString:function(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:function(e,r){return Ee.ignorePermissions?0:(-1===r.indexOf("r")||292&e.mode)&&(-1===r.indexOf("w")||146&e.mode)&&(-1===r.indexOf("x")||73&e.mode)?0:we.EACCES},mayLookup:function(e){var r=Ee.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:we.EACCES)},mayCreate:function(e,r){try{Ee.lookupNode(e,r);return we.EEXIST}catch(e){}return Ee.nodePermissions(e,"wx")},mayDelete:function(e,r,i){var n;try{n=Ee.lookupNode(e,r)}catch(e){return e.errno}var t=Ee.nodePermissions(e,"wx");if(t)return t;if(i){if(!Ee.isDir(n.mode))return we.ENOTDIR;if(Ee.isRoot(n)||Ee.getPath(n)===Ee.cwd())return we.EBUSY}else if(Ee.isDir(n.mode))return we.EISDIR;return 0},mayOpen:function(e,r){return e?Ee.isLink(e.mode)?we.ELOOP:Ee.isDir(e.mode)&&(0!=(2097155&r)||512&r)?we.EISDIR:Ee.nodePermissions(e,Ee.flagsToPermissionString(r)):we.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(e,r){e=e||0,r=r||Ee.MAX_OPEN_FDS;for(var i=e;i<=r;i++)if(!Ee.streams[i])return i;throw new Ee.ErrnoError(we.EMFILE)},getStream:function(e){return Ee.streams[e]},createStream:function(e,r,i){Ee.FSStream||(Ee.FSStream=function(){},Ee.FSStream.prototype={},Object.defineProperties(Ee.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var n=new Ee.FSStream;for(var t in e)n[t]=e[t];e=n;var o=Ee.nextfd(r,i);return e.fd=o,Ee.streams[o]=e},closeStream:function(e){Ee.streams[e]=null},chrdev_stream_ops:{open:function(e){var r=Ee.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Ee.ErrnoError(we.ESPIPE)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,r){return e<<8|r},registerDevice:function(e,r){Ee.devices[e]={stream_ops:r}},getDevice:function(e){return Ee.devices[e]},getMounts:function(e){for(var r=[],i=[e];i.length;){var n=i.pop();r.push(n),i.push.apply(i,n.mounts)}return r},syncfs:function(r,i){"function"==typeof r&&(i=r,r=!1);var n=Ee.getMounts(Ee.root.mount),t=0;function o(e){if(e)return o.errored?void 0:(o.errored=!0,i(e));++t>=n.length&&i(null)}n.forEach(function(e){if(!e.type.syncfs)return o(null);e.type.syncfs(e,r,o)})},mount:function(e,r,i){var n,t="/"===i,o=!i;if(t&&Ee.root)throw new Ee.ErrnoError(we.EBUSY);if(!t&&!o){var a=Ee.lookupPath(i,{follow_mount:!1});if(i=a.path,n=a.node,Ee.isMountpoint(n))throw new Ee.ErrnoError(we.EBUSY);if(!Ee.isDir(n.mode))throw new Ee.ErrnoError(we.ENOTDIR)}var f={type:e,opts:r,mountpoint:i,mounts:[]},s=e.mount(f);return(s.mount=f).root=s,t?Ee.root=s:n&&(n.mounted=f,n.mount&&n.mount.mounts.push(f)),s},unmount:function(e){var r=Ee.lookupPath(e,{follow_mount:!1});if(!Ee.isMountpoint(r.node))throw new Ee.ErrnoError(we.EINVAL);var i=r.node,n=i.mounted,t=Ee.getMounts(n);Object.keys(Ee.nameTable).forEach(function(e){for(var r=Ee.nameTable[e];r;){var i=r.name_next;-1!==t.indexOf(r.mount)&&Ee.destroyNode(r),r=i}}),i.mounted=null;var o=i.mount.mounts.indexOf(n);w(-1!==o),i.mount.mounts.splice(o,1)},lookup:function(e,r){return e.node_ops.lookup(e,r)},mknod:function(e,r,i){var n=Ee.lookupPath(e,{parent:!0}).node,t=ge.basename(e);if(!t||"."===t||".."===t)throw new Ee.ErrnoError(we.EINVAL);var o=Ee.mayCreate(n,t);if(o)throw new Ee.ErrnoError(o);if(!n.node_ops.mknod)throw new Ee.ErrnoError(we.EPERM);return n.node_ops.mknod(n,t,r,i)},create:function(e,r){return r=void 0!==r?r:438,r&=4095,r|=32768,Ee.mknod(e,r,0)},mkdir:function(e,r){return r=void 0!==r?r:511,r&=1023,r|=16384,Ee.mknod(e,r,0)},mkdev:function(e,r,i){return void 0===i&&(i=r,r=438),r|=8192,Ee.mknod(e,r,i)},symlink:function(e,r){if(!ge.resolve(e))throw new Ee.ErrnoError(we.ENOENT);var i=Ee.lookupPath(r,{parent:!0}).node;if(!i)throw new Ee.ErrnoError(we.ENOENT);var n=ge.basename(r),t=Ee.mayCreate(i,n);if(t)throw new Ee.ErrnoError(t);if(!i.node_ops.symlink)throw new Ee.ErrnoError(we.EPERM);return i.node_ops.symlink(i,n,e)},rename:function(r,i){var e,n,t=ge.dirname(r),o=ge.dirname(i),a=ge.basename(r),f=ge.basename(i);try{e=Ee.lookupPath(r,{parent:!0}).node,n=Ee.lookupPath(i,{parent:!0}).node}catch(e){throw new Ee.ErrnoError(we.EBUSY)}if(!e||!n)throw new Ee.ErrnoError(we.ENOENT);if(e.mount!==n.mount)throw new Ee.ErrnoError(we.EXDEV);var s,l=Ee.lookupNode(e,a),u=ge.relative(r,o);if("."!==u.charAt(0))throw new Ee.ErrnoError(we.EINVAL);if("."!==(u=ge.relative(i,t)).charAt(0))throw new Ee.ErrnoError(we.ENOTEMPTY);try{s=Ee.lookupNode(n,f)}catch(e){}if(l!==s){var c=Ee.isDir(l.mode),d=Ee.mayDelete(e,a,c);if(d)throw new Ee.ErrnoError(d);if(d=s?Ee.mayDelete(n,f,c):Ee.mayCreate(n,f))throw new Ee.ErrnoError(d);if(!e.node_ops.rename)throw new Ee.ErrnoError(we.EPERM);if(Ee.isMountpoint(l)||s&&Ee.isMountpoint(s))throw new Ee.ErrnoError(we.EBUSY);if(n!==e&&(d=Ee.nodePermissions(e,"w")))throw new Ee.ErrnoError(d);try{Ee.trackingDelegate.willMovePath&&Ee.trackingDelegate.willMovePath(r,i)}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+i+"') threw an exception: "+e.message)}Ee.hashRemoveNode(l);try{e.node_ops.rename(l,n,f)}catch(e){throw e}finally{Ee.hashAddNode(l)}try{Ee.trackingDelegate.onMovePath&&Ee.trackingDelegate.onMovePath(r,i)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+i+"') threw an exception: "+e.message)}}},rmdir:function(r){var e=Ee.lookupPath(r,{parent:!0}).node,i=ge.basename(r),n=Ee.lookupNode(e,i),t=Ee.mayDelete(e,i,!0);if(t)throw new Ee.ErrnoError(t);if(!e.node_ops.rmdir)throw new Ee.ErrnoError(we.EPERM);if(Ee.isMountpoint(n))throw new Ee.ErrnoError(we.EBUSY);try{Ee.trackingDelegate.willDeletePath&&Ee.trackingDelegate.willDeletePath(r)}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e.message)}e.node_ops.rmdir(e,i),Ee.destroyNode(n);try{Ee.trackingDelegate.onDeletePath&&Ee.trackingDelegate.onDeletePath(r)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e.message)}},readdir:function(e){var r=Ee.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Ee.ErrnoError(we.ENOTDIR);return r.node_ops.readdir(r)},unlink:function(r){var e=Ee.lookupPath(r,{parent:!0}).node,i=ge.basename(r),n=Ee.lookupNode(e,i),t=Ee.mayDelete(e,i,!1);if(t)throw t===we.EISDIR&&(t=we.EPERM),new Ee.ErrnoError(t);if(!e.node_ops.unlink)throw new Ee.ErrnoError(we.EPERM);if(Ee.isMountpoint(n))throw new Ee.ErrnoError(we.EBUSY);try{Ee.trackingDelegate.willDeletePath&&Ee.trackingDelegate.willDeletePath(r)}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e.message)}e.node_ops.unlink(e,i),Ee.destroyNode(n);try{Ee.trackingDelegate.onDeletePath&&Ee.trackingDelegate.onDeletePath(r)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e.message)}},readlink:function(e){var r=Ee.lookupPath(e).node;if(!r)throw new Ee.ErrnoError(we.ENOENT);if(!r.node_ops.readlink)throw new Ee.ErrnoError(we.EINVAL);return ge.resolve(Ee.getPath(r.parent),r.node_ops.readlink(r))},stat:function(e,r){var i=Ee.lookupPath(e,{follow:!r}).node;if(!i)throw new Ee.ErrnoError(we.ENOENT);if(!i.node_ops.getattr)throw new Ee.ErrnoError(we.EPERM);return i.node_ops.getattr(i)},lstat:function(e){return Ee.stat(e,!0)},chmod:function(e,r,i){var n;"string"==typeof e?n=Ee.lookupPath(e,{follow:!i}).node:n=e;if(!n.node_ops.setattr)throw new Ee.ErrnoError(we.EPERM);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod:function(e,r){Ee.chmod(e,r,!0)},fchmod:function(e,r){var i=Ee.getStream(e);if(!i)throw new Ee.ErrnoError(we.EBADF);Ee.chmod(i.node,r)},chown:function(e,r,i,n){var t;"string"==typeof e?t=Ee.lookupPath(e,{follow:!n}).node:t=e;if(!t.node_ops.setattr)throw new Ee.ErrnoError(we.EPERM);t.node_ops.setattr(t,{timestamp:Date.now()})},lchown:function(e,r,i){Ee.chown(e,r,i,!0)},fchown:function(e,r,i){var n=Ee.getStream(e);if(!n)throw new Ee.ErrnoError(we.EBADF);Ee.chown(n.node,r,i)},truncate:function(e,r){if(r<0)throw new Ee.ErrnoError(we.EINVAL);var i;"string"==typeof e?i=Ee.lookupPath(e,{follow:!0}).node:i=e;if(!i.node_ops.setattr)throw new Ee.ErrnoError(we.EPERM);if(Ee.isDir(i.mode))throw new Ee.ErrnoError(we.EISDIR);if(!Ee.isFile(i.mode))throw new Ee.ErrnoError(we.EINVAL);var n=Ee.nodePermissions(i,"w");if(n)throw new Ee.ErrnoError(n);i.node_ops.setattr(i,{size:r,timestamp:Date.now()})},ftruncate:function(e,r){var i=Ee.getStream(e);if(!i)throw new Ee.ErrnoError(we.EBADF);if(0==(2097155&i.flags))throw new Ee.ErrnoError(we.EINVAL);Ee.truncate(i.node,r)},utime:function(e,r,i){var n=Ee.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,i)})},open:function(r,e,i,n,t){if(""===r)throw new Ee.ErrnoError(we.ENOENT);var o;if(i=void 0===i?438:i,i=64&(e="string"==typeof e?Ee.modeStringToFlags(e):e)?4095&i|32768:0,"object"==typeof r)o=r;else{r=ge.normalize(r);try{o=Ee.lookupPath(r,{follow:!(131072&e)}).node}catch(e){}}var a=!1;if(64&e)if(o){if(128&e)throw new Ee.ErrnoError(we.EEXIST)}else o=Ee.mknod(r,i,0),a=!0;if(!o)throw new Ee.ErrnoError(we.ENOENT);if(Ee.isChrdev(o.mode)&&(e&=-513),65536&e&&!Ee.isDir(o.mode))throw new Ee.ErrnoError(we.ENOTDIR);if(!a){var f=Ee.mayOpen(o,e);if(f)throw new Ee.ErrnoError(f)}512&e&&Ee.truncate(o,0),e&=-641;var s=Ee.createStream({node:o,path:Ee.getPath(o),flags:e,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1},n,t);s.stream_ops.open&&s.stream_ops.open(s),!p.logReadFiles||1&e||(Ee.readFiles||(Ee.readFiles={}),r in Ee.readFiles||(Ee.readFiles[r]=1,p.printErr("read file: "+r)));try{if(Ee.trackingDelegate.onOpenFile){var l=0;1!=(2097155&e)&&(l|=Ee.tracking.openFlags.READ),0!=(2097155&e)&&(l|=Ee.tracking.openFlags.WRITE),Ee.trackingDelegate.onOpenFile(r,l)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+e.message)}return s},close:function(e){e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ee.closeStream(e.fd)}},llseek:function(e,r,i){if(!e.seekable||!e.stream_ops.llseek)throw new Ee.ErrnoError(we.ESPIPE);return e.position=e.stream_ops.llseek(e,r,i),e.ungotten=[],e.position},read:function(e,r,i,n,t){if(n<0||t<0)throw new Ee.ErrnoError(we.EINVAL);if(1==(2097155&e.flags))throw new Ee.ErrnoError(we.EBADF);if(Ee.isDir(e.node.mode))throw new Ee.ErrnoError(we.EISDIR);if(!e.stream_ops.read)throw new Ee.ErrnoError(we.EINVAL);var o=!0;if(void 0===t)t=e.position,o=!1;else if(!e.seekable)throw new Ee.ErrnoError(we.ESPIPE);var a=e.stream_ops.read(e,r,i,n,t);return o||(e.position+=a),a},write:function(e,r,i,n,t,o){if(n<0||t<0)throw new Ee.ErrnoError(we.EINVAL);if(0==(2097155&e.flags))throw new Ee.ErrnoError(we.EBADF);if(Ee.isDir(e.node.mode))throw new Ee.ErrnoError(we.EISDIR);if(!e.stream_ops.write)throw new Ee.ErrnoError(we.EINVAL);1024&e.flags&&Ee.llseek(e,0,2);var a=!0;if(void 0===t)t=e.position,a=!1;else if(!e.seekable)throw new Ee.ErrnoError(we.ESPIPE);var f=e.stream_ops.write(e,r,i,n,t,o);a||(e.position+=f);try{e.path&&Ee.trackingDelegate.onWriteToFile&&Ee.trackingDelegate.onWriteToFile(e.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return f},allocate:function(e,r,i){if(r<0||i<=0)throw new Ee.ErrnoError(we.EINVAL);if(0==(2097155&e.flags))throw new Ee.ErrnoError(we.EBADF);if(!Ee.isFile(e.node.mode)&&!Ee.isDir(node.mode))throw new Ee.ErrnoError(we.ENODEV);if(!e.stream_ops.allocate)throw new Ee.ErrnoError(we.EOPNOTSUPP);e.stream_ops.allocate(e,r,i)},mmap:function(e,r,i,n,t,o,a){if(1==(2097155&e.flags))throw new Ee.ErrnoError(we.EACCES);if(!e.stream_ops.mmap)throw new Ee.ErrnoError(we.ENODEV);return e.stream_ops.mmap(e,r,i,n,t,o,a)},msync:function(e,r,i,n,t){return e&&e.stream_ops.msync?e.stream_ops.msync(e,r,i,n,t):0},munmap:function(e){return 0},ioctl:function(e,r,i){if(!e.stream_ops.ioctl)throw new Ee.ErrnoError(we.ENOTTY);return e.stream_ops.ioctl(e,r,i)},readFile:function(e,r){if((r=r||{}).flags=r.flags||"r",r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error('Invalid encoding type "'+r.encoding+'"');var i,n=Ee.open(e,r.flags),t=Ee.stat(e).size,o=new Uint8Array(t);return Ee.read(n,o,0,t,0),"utf8"===r.encoding?i=d(o,0):"binary"===r.encoding&&(i=o),Ee.close(n),i},writeFile:function(e,r,i){if((i=i||{}).flags=i.flags||"w",i.encoding=i.encoding||"utf8","utf8"!==i.encoding&&"binary"!==i.encoding)throw new Error('Invalid encoding type "'+i.encoding+'"');var n=Ee.open(e,i.flags,i.mode);if("utf8"===i.encoding){var t=new Uint8Array(g(r)+1),o=h(r,t,0,t.length);Ee.write(n,t,0,o,0,i.canOwn)}else"binary"===i.encoding&&Ee.write(n,r,0,r.length,0,i.canOwn);Ee.close(n)},cwd:function(){return Ee.currentPath},chdir:function(e){var r=Ee.lookupPath(e,{follow:!0});if(!Ee.isDir(r.node.mode))throw new Ee.ErrnoError(we.ENOTDIR);var i=Ee.nodePermissions(r.node,"x");if(i)throw new Ee.ErrnoError(i);Ee.currentPath=r.path},createDefaultDirectories:function(){Ee.mkdir("/tmp"),Ee.mkdir("/home"),Ee.mkdir("/home/web_user")},createDefaultDevices:function(){var e;if(Ee.mkdir("/dev"),Ee.registerDevice(Ee.makedev(1,3),{read:function(){return 0},write:function(e,r,i,n,t){return n}}),Ee.mkdev("/dev/null",Ee.makedev(1,3)),pe.register(Ee.makedev(5,0),pe.default_tty_ops),pe.register(Ee.makedev(6,0),pe.default_tty1_ops),Ee.mkdev("/dev/tty",Ee.makedev(5,0)),Ee.mkdev("/dev/tty1",Ee.makedev(6,0)),"undefined"!=typeof crypto){var r=new Uint8Array(1);e=function(){return crypto.getRandomValues(r),r[0]}}else e=function(){return 256*Math.random()|0};Ee.createDevice("/dev","random",e),Ee.createDevice("/dev","urandom",e),Ee.mkdir("/dev/shm"),Ee.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Ee.mkdir("/proc"),Ee.mkdir("/proc/self"),Ee.mkdir("/proc/self/fd"),Ee.mount({mount:function(){var e=Ee.createNode("/proc/self","fd",16895,73);return e.node_ops={lookup:function(e,r){var i=+r,n=Ee.getStream(i);if(!n)throw new Ee.ErrnoError(we.EBADF);var t={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return n.path}}};return t.parent=t}},e}},{},"/proc/self/fd")},createStandardStreams:function(){p.stdin?Ee.createDevice("/dev","stdin",p.stdin):Ee.symlink("/dev/tty","/dev/stdin"),p.stdout?Ee.createDevice("/dev","stdout",null,p.stdout):Ee.symlink("/dev/tty","/dev/stdout"),p.stderr?Ee.createDevice("/dev","stderr",null,p.stderr):Ee.symlink("/dev/tty1","/dev/stderr");var e=Ee.open("/dev/stdin","r");w(0===e.fd,"invalid handle for stdin ("+e.fd+")");var r=Ee.open("/dev/stdout","w");w(1===r.fd,"invalid handle for stdout ("+r.fd+")");var i=Ee.open("/dev/stderr","w");w(2===i.fd,"invalid handle for stderr ("+i.fd+")")},ensureErrnoError:function(){Ee.ErrnoError||(Ee.ErrnoError=function(e,r){this.node=r,this.setErrno=function(e){for(var r in this.errno=e,we)if(we[r]===e){this.code=r;break}},this.setErrno(e),this.message=me[e]},Ee.ErrnoError.prototype=new Error,Ee.ErrnoError.prototype.constructor=Ee.ErrnoError,[we.ENOENT].forEach(function(e){Ee.genericErrors[e]=new Ee.ErrnoError(e),Ee.genericErrors[e].stack=""}))},staticInit:function(){Ee.ensureErrnoError(),Ee.nameTable=new Array(4096),Ee.mount(ve,{},"/"),Ee.createDefaultDirectories(),Ee.createDefaultDevices(),Ee.createSpecialDirectories(),Ee.filesystems={MEMFS:ve,IDBFS:be,NODEFS:{},WORKERFS:ke}},init:function(e,r,i){w(!Ee.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),Ee.init.initialized=!0,Ee.ensureErrnoError(),p.stdin=e||p.stdin,p.stdout=r||p.stdout,p.stderr=i||p.stderr,Ee.createStandardStreams()},quit:function(){Ee.init.initialized=!1;var e=p._fflush;e&&e(0);for(var r=0;rthis.length-1||e<0)){var r=e%this.chunkSize,i=e/this.chunkSize|0;return this.getter(i)[r]}},t.prototype.setDataGetter=function(e){this.getter=e},t.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",a,!1),e.send(null),!(200<=e.status&&e.status<300||304===e.status))throw new Error("Couldn't load "+a+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),i=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,t=1048576;i||(t=n);var o=this;o.setDataGetter(function(e){var r=e*t,i=(e+1)*t-1;if(i=Math.min(i,n-1),void 0===o.chunks[e]&&(o.chunks[e]=function(e,r){if(r=o.length)return 0;var a=Math.min(o.length-t,n);if(w(0<=a),o.slice)for(var f=0;f>t-6&63;t-=6,i+=r[a]}return 2==t?(i+=r[(3&n)<<4],i+="=="):4==t&&(i+=r[(15&n)<<2],i+="="),i}(r),o(l))},l.src=s,Ae.safeSetTimeout(function(){o(l)},1e4)}};p.preloadPlugins.push(r);var i=p.canvas;i&&(i.requestPointerLock=i.requestPointerLock||i.mozRequestPointerLock||i.webkitRequestPointerLock||i.msRequestPointerLock||function(){},i.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},i.exitPointerLock=i.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",n,!1),document.addEventListener("mozpointerlockchange",n,!1),document.addEventListener("webkitpointerlockchange",n,!1),document.addEventListener("mspointerlockchange",n,!1),p.elementPointerLock&&i.addEventListener("click",function(e){!Ae.pointerLock&&i.requestPointerLock&&(i.requestPointerLock(),e.preventDefault())},!1))}function n(){Ae.pointerLock=document.pointerLockElement===i||document.mozPointerLockElement===i||document.webkitPointerLockElement===i||document.msPointerLockElement===i}},createContext:function(e,r,i,n){if(r&&p.ctx&&e==p.canvas)return p.ctx;var t,o;if(r){var a={antialias:!1,alpha:!1};if(n)for(var f in n)a[f]=n[f];(o=GL.createContext(e,a))&&(t=GL.getContext(o).GLctx),e.style.backgroundColor="black"}else t=e.getContext("2d");return t?(i&&(r||w("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),p.ctx=t,r&&GL.makeContextCurrent(o),p.useWebGL=r,Ae.moduleContextCreatedCallbacks.forEach(function(e){e()}),Ae.init()),t):null},destroyContext:function(e,r,i){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,r,i){Ae.lockPointer=e,Ae.resizeCanvas=r,Ae.vrDevice=i,void 0===Ae.lockPointer&&(Ae.lockPointer=!0),void 0===Ae.resizeCanvas&&(Ae.resizeCanvas=!1),void 0===Ae.vrDevice&&(Ae.vrDevice=null);var n=p.canvas;function t(){Ae.isFullScreen=!1;var e=n.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(n.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},n.cancelFullScreen=n.cancelFullScreen.bind(document),Ae.lockPointer&&n.requestPointerLock(),Ae.isFullScreen=!0,Ae.resizeCanvas&&Ae.setFullScreenCanvasSize()):(e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e),Ae.resizeCanvas&&Ae.setWindowedCanvasSize()),p.onFullScreen&&p.onFullScreen(Ae.isFullScreen),Ae.updateCanvasDimensions(n)}Ae.fullScreenHandlersInstalled||(Ae.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",t,!1),document.addEventListener("mozfullscreenchange",t,!1),document.addEventListener("webkitfullscreenchange",t,!1),document.addEventListener("MSFullscreenChange",t,!1));var o=document.createElement("div");n.parentNode.insertBefore(o,n),o.appendChild(n),o.requestFullScreen=o.requestFullScreen||o.mozRequestFullScreen||o.msRequestFullscreen||(o.webkitRequestFullScreen?function(){o.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),i?o.requestFullScreen({vrDisplay:i}):o.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var r=Date.now();if(0===Ae.nextRAF)Ae.nextRAF=r+1e3/60;else for(;r+2>=Ae.nextRAF;)Ae.nextRAF+=1e3/60;var i=Math.max(Ae.nextRAF-r,0);setTimeout(e,i)},requestAnimationFrame:function(e){"undefined"==typeof window?Ae.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Ae.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!s)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Ae.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Ae.allowAsyncCallbacks=!0,0>2];e|=8388608,M[SDL.screen+0*v.QUANTUM_SIZE>>2]=e}Ae.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=N[SDL.screen+0*v.QUANTUM_SIZE>>2];e&=-8388609,M[SDL.screen+0*v.QUANTUM_SIZE>>2]=e}Ae.updateResizeListeners()},updateCanvasDimensions:function(e,r,i){r&&i?(e.widthNative=r,e.heightNative=i):(r=e.widthNative,i=e.heightNative);var n=r,t=i;if(p.forcedAspectRatio&&0>2]=r),r},_emscripten_set_main_loop_timing:ye,_emscripten_memcpy_big:function(e,r,i){return D.set(D.subarray(r,r+i),e),e},_emscripten_set_main_loop:_e,STACKTOP:B,STACK_MAX:T,tempDoublePtr:ce,ABORT:s};var De,Se=function(e,r,i){"use asm";var Xe=new e.Int8Array(i);var Ve=new e.Int16Array(i);var Ge=new e.Int32Array(i);var s=new e.Uint8Array(i);var We=new e.Uint16Array(i);var n=new e.Uint32Array(i);var t=new e.Float32Array(i);var o=new e.Float64Array(i);var Ke=r.STACKTOP|0;var a=r.STACK_MAX|0;var f=r.tempDoublePtr|0;var l=r.ABORT|0;var u=0;var c=0;var d=0;var h=0;var w=e.NaN,m=e.Infinity;var p=0,v=0,b=0,k=0,E=0.0,g=0,y=0,_=0,A=0.0;var D=0;var S=0;var R=0;var M=0;var N=0;var O=0;var L=0;var F=0;var I=0;var T=0;var P=e.Math.floor;var C=e.Math.abs;var B=e.Math.sqrt;var x=e.Math.pow;var U=e.Math.cos;var z=e.Math.sin;var j=e.Math.tan;var q=e.Math.acos;var H=e.Math.asin;var Y=e.Math.atan;var X=e.Math.atan2;var V=e.Math.exp;var G=e.Math.log;var W=e.Math.ceil;var Ze=e.Math.imul;var K=e.Math.min;var Z=e.Math.clz32;var Q=r.abort;var J=r.assert;var $=r._sysconf;var ee=r._pthread_self;var re=r._abort;var ie=r.___setErrNo;var ne=r._sbrk;var te=r._time;var oe=r._emscripten_set_main_loop_timing;var ae=r._emscripten_memcpy_big;var fe=r._emscripten_set_main_loop;var se=0.0;function le(e){e=e|0;var r=0;r=Ke;Ke=Ke+e|0;Ke=Ke+15&-16;return r|0}function ue(){return Ke|0}function ce(e){e=e|0;Ke=e}function de(e,r){e=e|0;r=r|0;Ke=e;a=r}function he(e,r){e=e|0;r=r|0;if(!u){u=e;c=r}}function we(e){e=e|0;Xe[f>>0]=Xe[e>>0];Xe[f+1>>0]=Xe[e+1>>0];Xe[f+2>>0]=Xe[e+2>>0];Xe[f+3>>0]=Xe[e+3>>0]}function me(e){e=e|0;Xe[f>>0]=Xe[e>>0];Xe[f+1>>0]=Xe[e+1>>0];Xe[f+2>>0]=Xe[e+2>>0];Xe[f+3>>0]=Xe[e+3>>0];Xe[f+4>>0]=Xe[e+4>>0];Xe[f+5>>0]=Xe[e+5>>0];Xe[f+6>>0]=Xe[e+6>>0];Xe[f+7>>0]=Xe[e+7>>0]}function pe(e){e=e|0;D=e}function ve(){return D|0}function be(){var e=0,r=0;r=Ke;Ke=Ke+16|0;e=r;Ge[e>>2]=0;Fr(e,31756)|0;Ke=r;return Ge[e>>2]|0}function ke(e){e=e|0;var r=0,i=0;r=Ke;Ke=Ke+16|0;i=r;Ge[i>>2]=e;Ir(i);Ke=r;return}function Ee(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;Se(e,(n|0)==0?(s[r>>0]|0)>>>3&15:15,r+1|0,i,2)|0;return}function ge(e){e=e|0;var r=0;r=Ut(8)|0;Cr(r,r+4|0,e)|0;return r|0}function ye(e){e=e|0;Br(e,e+4|0);zt(e);return}function _e(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0;t=Ke;Ke=Ke+16|0;o=t;Ge[o>>2]=r;i=(xr(Ge[e>>2]|0,Ge[e+4>>2]|0,r,i,n,o,3)|0)<<16>>16;Xe[n>>0]=s[n>>0]|0|4;Ke=t;return i|0}function Ae(e){e=e|0;if(!e)e=-1;else{Ve[e>>1]=4096;e=0}return e|0}function De(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0;u=Ge[o>>2]|0;w=t<<16>>16>0;if(w){a=0;f=0;do{l=Ve[i+(a<<1)>>1]|0;l=Ze(l,l)|0;if((l|0)!=1073741824){s=(l<<1)+f|0;if((l^f|0)>0&(s^f|0)<0){Ge[o>>2]=1;f=(f>>>31)+2147483647|0}else f=s}else{Ge[o>>2]=1;f=2147483647}a=a+1|0}while((a&65535)<<16>>16!=t<<16>>16);if((f|0)==2147483647){Ge[o>>2]=u;l=0;s=0;do{f=Ve[i+(l<<1)>>1]>>2;f=Ze(f,f)|0;if((f|0)!=1073741824){a=(f<<1)+s|0;if((f^s|0)>0&(a^s|0)<0){Ge[o>>2]=1;s=(s>>>31)+2147483647|0}else s=a}else{Ge[o>>2]=1;s=2147483647}l=l+1|0}while((l&65535)<<16>>16!=t<<16>>16)}else h=8}else{f=0;h=8}if((h|0)==8)s=f>>4;if(!s){Ve[e>>1]=0;return}d=((kt(s)|0)&65535)+65535|0;f=d<<16>>16;if((d&65535)<<16>>16>0){a=s<>f|0)==(s|0))s=a;else s=s>>31^2147483647}else{f=0-f<<16;if((f|0)<2031616)s=s>>(f>>16);else s=0}c=Ft(s,o)|0;a=Ge[o>>2]|0;if(w){f=0;s=0;do{u=Ve[r+(f<<1)>>1]|0;u=Ze(u,u)|0;if((u|0)!=1073741824){l=(u<<1)+s|0;if((u^s|0)>0&(l^s|0)<0){Ge[o>>2]=1;s=(s>>>31)+2147483647|0}else s=l}else{Ge[o>>2]=1;s=2147483647}f=f+1|0}while((f&65535)<<16>>16!=t<<16>>16);if((s|0)==2147483647){Ge[o>>2]=a;u=0;s=0;do{l=Ve[r+(u<<1)>>1]>>2;l=Ze(l,l)|0;if((l|0)!=1073741824){f=(l<<1)+s|0;if((l^s|0)>0&(f^s|0)<0){Ge[o>>2]=1;s=(s>>>31)+2147483647|0}else s=f}else{Ge[o>>2]=1;s=2147483647}u=u+1|0}while((u&65535)<<16>>16!=t<<16>>16)}else h=29}else{s=0;h=29}if((h|0)==29)s=s>>4;if(!s)l=0;else{f=(kt(s)|0)<<16>>16;a=d-f|0;l=a&65535;s=(Kn(c,Ft(s<>16;f=s<<7;a=a<<16>>16;if(l<<16>>16>0)a=l<<16>>16<31?f>>a:0;else{h=0-a<<16>>16;a=f<>h|0)==(f|0)?a:s>>24^2147483647}l=(Ze(((at(a,o)|0)<<9)+32768>>16,32767-(n&65535)<<16>>16)|0)>>>15<<16>>16}a=Ve[e>>1]|0;if(w){s=n<<16>>16;f=0;while(1){n=((Ze(a<<16>>16,s)|0)>>>15&65535)+l|0;a=n&65535;Ve[i>>1]=(Ze(Ve[i>>1]|0,n<<16>>16)|0)>>>12;f=f+1<<16>>16;if(f<<16>>16>=t<<16>>16)break;else i=i+2|0}}Ve[e>>1]=a;return}function Qe(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0;a=Ge[n>>2]|0;t=i<<16>>16>0;if(t){f=0;o=0;do{l=Ve[r+(f<<1)>>1]|0;l=Ze(l,l)|0;if((l|0)!=1073741824){s=(l<<1)+o|0;if((l^o|0)>0&(s^o|0)<0){Ge[n>>2]=1;o=(o>>>31)+2147483647|0}else o=s}else{Ge[n>>2]=1;o=2147483647}f=f+1|0}while((f&65535)<<16>>16!=i<<16>>16);if((o|0)==2147483647){Ge[n>>2]=a;l=0;a=0;do{s=Ve[r+(l<<1)>>1]>>2;s=Ze(s,s)|0;if((s|0)!=1073741824){f=(s<<1)+a|0;if((s^a|0)>0&(f^a|0)<0){Ge[n>>2]=1;a=(a>>>31)+2147483647|0}else a=f}else{Ge[n>>2]=1;a=2147483647}l=l+1|0}while((l&65535)<<16>>16!=i<<16>>16)}else d=8}else{o=0;d=8}if((d|0)==8)a=o>>4;if(!a)return;c=((kt(a)|0)&65535)+65535|0;s=c<<16>>16;if((c&65535)<<16>>16>0){f=a<>s|0)==(a|0))a=f;else a=a>>31^2147483647}else{s=0-s<<16;if((s|0)<2031616)a=a>>(s>>16);else a=0}u=Ft(a,n)|0;a=Ge[n>>2]|0;if(t){f=0;o=0;do{l=Ve[e+(f<<1)>>1]|0;l=Ze(l,l)|0;if((l|0)!=1073741824){s=(l<<1)+o|0;if((l^o|0)>0&(s^o|0)<0){Ge[n>>2]=1;o=(o>>>31)+2147483647|0}else o=s}else{Ge[n>>2]=1;o=2147483647}f=f+1|0}while((f&65535)<<16>>16!=i<<16>>16);if((o|0)==2147483647){Ge[n>>2]=a;a=0;f=0;do{l=Ve[e+(a<<1)>>1]>>2;l=Ze(l,l)|0;if((l|0)!=1073741824){s=(l<<1)+f|0;if((l^f|0)>0&(s^f|0)<0){Ge[n>>2]=1;f=(f>>>31)+2147483647|0}else f=s}else{Ge[n>>2]=1;f=2147483647}a=a+1|0}while((a&65535)<<16>>16!=i<<16>>16)}else d=28}else{o=0;d=28}if((d|0)==28)f=o>>4;if(!f)t=0;else{l=kt(f)|0;s=l<<16>>16;if(l<<16>>16>0){a=f<>s|0)==(f|0))f=a;else f=f>>31^2147483647}else{s=0-s<<16;if((s|0)<2031616)f=f>>(s>>16);else f=0}a=c-(l&65535)|0;s=a&65535;o=(Kn(u,Ft(f,n)|0)|0)<<16>>16;t=o<<7;a=a<<16>>16;if(s<<16>>16>0)t=s<<16>>16<31?t>>a:0;else{c=0-a<<16>>16;e=t<>c|0)==(t|0)?e:o>>24^2147483647}t=at(t,n)|0;if((t|0)>4194303)t=2147483647;else t=(t|0)<-4194304?-2147483648:t<<9;t=Ft(t,n)|0}o=(i&65535)+65535&65535;if(o<<16>>16<=-1)return;l=t<<16>>16;s=i+-1<<16>>16<<16>>16;while(1){a=r+(s<<1)|0;t=Ze(Ve[a>>1]|0,l)|0;do{if((t|0)!=1073741824){f=t<<1;if((f|0)<=268435455)if((f|0)<-268435456){Ve[a>>1]=-32768;break}else{Ve[a>>1]=t>>>12;break}else d=52}else{Ge[n>>2]=1;d=52}}while(0);if((d|0)==52){d=0;Ve[a>>1]=32767}o=o+-1<<16>>16;if(o<<16>>16<=-1)break;else s=s+-1|0}return}function Se(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0;s=Ke;Ke=Ke+496|0;f=s;a=(t|0)==2;do{if(!(a&1|(t|0)==4)){if(t){e=-1;Ke=s;return e|0}a=Ve[i>>1]|0;r=i+490|0;t=i+2|0;o=0;while(1){Ve[f+(o<<1)>>1]=Ve[t>>1]|0;o=o+1|0;if((o|0)==244)break;else t=t+2|0}o=a<<16>>16;if(a<<16>>16==7){t=492;r=Ge[e+1760>>2]|0;break}else{t=492;r=Ve[r>>1]|0;break}}else{o=e+1168|0;if(a){Pr(r,i,f,o);o=604}else{ze(r,i,f,o);o=3436}t=Ve[o+(r<<1)>>1]|0;do{if(r>>>0>=8){if((r|0)==8){r=Ve[f+76>>1]<<2|(Ve[f+74>>1]<<1|Ve[f+72>>1]);o=(Ve[f+70>>1]|0)==0?4:5;break}if(r>>>0<15){e=-1;Ke=s;return e|0}else{r=Ge[e+1760>>2]|0;o=7;break}}else o=0}while(0);if(t<<16>>16==-1){e=-1;Ke=s;return e|0}}}while(0);Tr(e,r,f,o,n);Ge[e+1760>>2]=r;e=t;Ke=s;return e|0}function Re(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0;m=Ke;Ke=Ke+48|0;h=m+20|0;w=m;t=h;n=t+20|0;do{Ve[t>>1]=Ve[e>>1]|0;t=t+2|0;e=e+2|0}while((t|0)<(n|0));e=Ve[h+18>>1]|0;d=(e&65535)-((e&65535)>>>15&65535)|0;e:do{if(((d<<16>>31^d)&65535)<<16>>16<=4095){n=9;d=9;while(1){e=e<<16>>16;e=(e<<19>>19|0)==(e|0)?e<<3:e>>>15^32767;c=r+(n<<1)|0;Ve[c>>1]=e;e=e<<16>>16;e=Ze(e,e)|0;if((e|0)==1073741824){Ge[i>>2]=1;t=2147483647}else t=e<<1;e=2147483647-t|0;if((e&t|0)<0){Ge[i>>2]=1;e=2147483647}l=kt(e)|0;u=15-(l&65535)&65535;o=l<<16>>16;if(l<<16>>16>0){t=e<>o|0)!=(e|0))t=e>>31^2147483647}else{t=0-o<<16;if((t|0)<2031616)t=e>>(t>>16);else t=0}t=Kn(16384,Ft(t,i)|0)|0;do{if(d<<16>>16>0){l=n+-1|0;a=t<<16>>16;f=d<<16>>16;s=0;while(1){n=We[h+(s<<1)>>1]|0;e=n<<16;o=Ze(Ve[h+(l-s<<1)>>1]|0,Ve[c>>1]|0)|0;if((o|0)==1073741824){Ge[i>>2]=1;t=2147483647}else t=o<<1;o=e-t|0;if(((o^e)&(t^e)|0)<0){Ge[i>>2]=1;o=(n>>>15)+2147483647|0}o=Ze((Ft(o,i)|0)<<16>>16,a)|0;if((o|0)==1073741824){Ge[i>>2]=1;o=2147483647}else o=o<<1;o=ut(o,u,i)|0;t=o-(o>>>31)|0;if((t>>31^t|0)>32767){o=24;break}Ve[w+(s<<1)>>1]=o;s=s+1|0;if((f|0)<=(s|0)){o=26;break}}if((o|0)==24){o=0;t=r;n=t+20|0;do{Ve[t>>1]=0;t=t+2|0}while((t|0)<(n|0));e=10}else if((o|0)==26){o=0;if(d<<16>>16>0)e=d;else{o=28;break}}t=e+-1<<16>>16;Yt(h|0,w|0,((t&65535)<<1)+2|0)|0;n=t<<16>>16}else o=28}while(0);if((o|0)==28){e=d+-1<<16>>16;if(e<<16>>16>-1){n=e<<16>>16;t=32767}else break}e=Ve[h+(n<<1)>>1]|0;d=(e&65535)-((e&65535)>>>15&65535)|0;if(((d<<16>>31^d)&65535)<<16>>16>4095)break e;else d=t}Ke=m;return}}while(0);t=r;n=t+20|0;do{Ve[t>>1]=0;t=t+2|0}while((t|0)<(n|0));Ke=m;return}function Me(e,r){e=e|0;r=r|0;var i=0,n=0,t=0,o=0,a=0;if(r<<16>>16<=0){e=0;return e|0}n=Ge[e>>2]|0;t=0;i=0;do{a=n&1;i=a|i<<1&131070;o=n>>1;n=(a|0)==(n>>>28&1|0)?o:o|1073741824;t=t+1<<16>>16}while(t<<16>>16>16);Ge[e>>2]=n;a=i&65535;return a|0}function Ne(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0,f=0,s=0;t=r;n=t+80|0;do{Ve[t>>1]=0;t=t+2|0}while((t|0)<(n|0));n=0;t=Ge[e>>2]|0;do{s=t&1;f=t>>1;f=(s|0)==(t>>>28&1|0)?f:f|1073741824;o=f&1;a=f>>1;Ge[e>>2]=(o|0)==(f>>>28&1|0)?a:a|1073741824;o=Gn((Ze(s<<1|o,1310720)|0)>>>17&65535,n,i)|0;s=Ge[e>>2]|0;a=s&1;f=s>>1;t=(a|0)==(s>>>28&1|0)?f:f|1073741824;Ge[e>>2]=t;Ve[r+(o<<16>>16<<1)>>1]=((a&65535)<<13&65535)+-4096<<16>>16;n=n+1<<16>>16}while(n<<16>>16<10);return}function Je(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0;a=Ve[e>>1]|0;if((a*31821|0)==1073741824){Ge[o>>2]=1;f=1073741823}else f=a*63642>>1;a=f+13849|0;if((f|0)>-1&(a^f|0)<0){Ge[o>>2]=1;a=(f>>>31)+2147483647|0}Ve[e>>1]=a;if(r<<16>>16<=0)return;f=0;a=t+((a&127)<<1)|0;while(1){Ve[n+(f<<1)>>1]=(-65536<>1]>>>16^65535)&We[a>>1];f=f+1|0;if((f&65535)<<16>>16==r<<16>>16)break;else a=a+2|0}return}function Oe(e){e=e|0;var r=0;if(!e){r=-1;return r|0}r=e+122|0;do{Ve[e>>1]=0;e=e+2|0}while((e|0)<(r|0));r=0;return r|0}function $e(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0,l=0,u=0,c=0;f=159;a=0;while(1){l=Ve[i+(f<<1)>>1]|0;l=Ze(l,l)|0;l=(l|0)==1073741824?2147483647:l<<1;o=l+a|0;if((l^a|0)>-1&(o^a|0)<0){Ge[t>>2]=1;a=(a>>>31)+2147483647|0}else a=o;if((f|0)>0)f=f+-1|0;else{f=a;break}}t=f>>>14&65535;a=32767;o=59;while(1){l=Ve[e+(o<<1)>>1]|0;a=l<<16>>16>16?l:a;if((o|0)>0)o=o+-1|0;else break}l=(f|0)>536870911?32767:t;t=a<<16>>16;o=t<<20>>16;f=a<<16>>16>0?32767:-32768;i=55;a=Ve[e>>1]|0;while(1){s=Ve[e+(i<<1)>>1]|0;a=a<<16>>16>16?s:a;if((i|0)>1)i=i+-1|0;else break}i=Ve[e+80>>1]|0;s=Ve[e+82>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+84>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+86>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+88>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+90>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+92>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+94>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+96>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+98>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+100>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+102>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+104>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+106>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+108>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+110>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+112>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+114>>1]|0;i=i<<16>>16>16?s:i;s=Ve[e+116>>1]|0;i=i<<16>>16>16?s:i;s=e+118|0;c=Ve[s>>1]|0;do{if((l+-21&65535)<17557&a<<16>>16>20?(l<<16>>16|0)<(((t<<4|0)==(o|0)?o:f)|0)?1:(i<<16>>16>16?c:i)<<16>>16<1953:0){a=e+120|0;o=Ve[a>>1]|0;if(o<<16>>16>29){Ve[a>>1]=30;i=a;f=1;break}else{f=(o&65535)+1&65535;Ve[a>>1]=f;i=a;f=f<<16>>16>1&1;break}}else u=14}while(0);if((u|0)==14){i=e+120|0;Ve[i>>1]=0;f=0}a=0;do{c=a;a=a+1|0;Ve[e+(c<<1)>>1]=Ve[e+(a<<1)>>1]|0}while((a|0)!=59);Ve[s>>1]=l;a=Ve[i>>1]|0;a=a<<16>>16>15?16383:a<<16>>16>8?15565:13926;o=rt(r+8|0,5)|0;if((Ve[i>>1]|0)>20){if(((rt(r,9)|0)<<16>>16|0)>(a|0))u=20}else if((o<<16>>16|0)>(a|0))u=20;if((u|0)==20){Ve[n>>1]=0;return f|0}o=(We[n>>1]|0)+1&65535;if(o<<16>>16>10){Ve[n>>1]=10;return f|0}else{Ve[n>>1]=o;return f|0}return 0}function Le(e){e=e|0;var r=0;if(!e){r=-1;return r|0}r=e+18|0;do{Ve[e>>1]=0;e=e+2|0}while((e|0)<(r|0));r=0;return r|0}function er(e,r,i,n,t,o,a,f,s,l,u,c){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;c=c|0;var d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0;g=e+2|0;Ve[e>>1]=Ve[g>>1]|0;y=e+4|0;Ve[g>>1]=Ve[y>>1]|0;_=e+6|0;Ve[y>>1]=Ve[_>>1]|0;A=e+8|0;Ve[_>>1]=Ve[A>>1]|0;D=e+10|0;Ve[A>>1]=Ve[D>>1]|0;S=e+12|0;Ve[D>>1]=Ve[S>>1]|0;Ve[S>>1]=i;p=0;E=0;do{d=t+(E<<1)|0;w=Ct(Ve[d>>1]|0,Ve[n+(E<<1)>>1]|0,c)|0;w=(w&65535)-((w&65535)>>>15&65535)|0;w=w<<16>>31^w;k=((Et(w&65535)|0)&65535)+65535|0;h=k<<16>>16;if((k&65535)<<16>>16<0){m=0-h<<16;if((m|0)<983040)v=w<<16>>16>>(m>>16)&65535;else v=0}else{m=w<<16>>16;w=m<>16>>h|0)==(m|0))v=w&65535;else v=(m>>>15^32767)&65535}b=Et(Ve[d>>1]|0)|0;w=Ve[d>>1]|0;h=b<<16>>16;if(b<<16>>16<0){m=0-h<<16;if((m|0)<983040)m=w<<16>>16>>(m>>16)&65535;else m=0}else{m=w<<16>>16;w=m<>16>>h|0)==(m|0))m=w&65535;else m=(m>>>15^32767)&65535}h=Kn(v,m)|0;m=(k&65535)+2-(b&65535)|0;w=m&65535;do{if(m&32768){if(w<<16>>16!=-32768){k=0-m|0;m=k<<16>>16;if((k&65535)<<16>>16<0){m=0-m<<16;if((m|0)>=983040){m=0;break}m=h<<16>>16>>(m>>16)&65535;break}}else m=32767;w=h<<16>>16;h=w<>16>>m|0)==(w|0))m=h&65535;else m=(w>>>15^32767)&65535}else m=It(h,w,c)|0}while(0);p=Gn(p,m,c)|0;E=E+1|0}while((E|0)!=10);m=p&65535;w=p<<16>>16>5325;p=e+14|0;if(w){t=(We[p>>1]|0)+1&65535;Ve[p>>1]=t;if(t<<16>>16>10)Ve[e+16>>1]=0}else Ve[p>>1]=0;switch(r|0){case 0:case 1:case 2:case 3:case 6:break;default:{S=e+16|0;c=i;i=Ve[S>>1]|0;i=i&65535;i=i+1|0;i=i&65535;Ve[S>>1]=i;return c|0}}v=(a|o)<<16>>16==0;b=l<<16>>16==0;k=r>>>0<3;p=m+(k&((b|(v&(f<<16>>16==0|s<<16>>16==0)|u<<16>>16<2))^1)?61030:62259)&65535;p=p<<16>>16>0?p:0;if(p<<16>>16<=2048){p=p<<16>>16;if((p<<18>>18|0)==(p|0))s=p<<2;else s=p>>>15^32767}else s=8192;f=e+16|0;u=w|(Ve[f>>1]|0)<40;p=Ve[y>>1]|0;if((p*6554|0)==1073741824){Ge[c>>2]=1;w=2147483647}else w=p*13108|0;p=Ve[_>>1]|0;m=p*6554|0;if((m|0)!=1073741824){p=(p*13108|0)+w|0;if((m^w|0)>0&(p^w|0)<0){Ge[c>>2]=1;p=(w>>>31)+2147483647|0}}else{Ge[c>>2]=1;p=2147483647}m=Ve[A>>1]|0;w=m*6554|0;if((w|0)!=1073741824){m=(m*13108|0)+p|0;if((w^p|0)>0&(m^p|0)<0){Ge[c>>2]=1;m=(p>>>31)+2147483647|0}}else{Ge[c>>2]=1;m=2147483647}p=Ve[D>>1]|0;w=p*6554|0;if((w|0)!=1073741824){p=(p*13108|0)+m|0;if((w^m|0)>0&(p^m|0)<0){Ge[c>>2]=1;w=(m>>>31)+2147483647|0}else w=p}else{Ge[c>>2]=1;w=2147483647}p=Ve[S>>1]|0;m=p*6554|0;if((m|0)!=1073741824){p=(p*13108|0)+w|0;if((m^w|0)>0&(p^w|0)<0){Ge[c>>2]=1;p=(w>>>31)+2147483647|0}}else{Ge[c>>2]=1;p=2147483647}w=Ft(p,c)|0;if(k&((v|b)^1)){p=Ve[e>>1]|0;if((p*4681|0)==1073741824){Ge[c>>2]=1;w=2147483647}else w=p*9362|0;p=Ve[g>>1]|0;m=p*4681|0;if((m|0)!=1073741824){p=(p*9362|0)+w|0;if((m^w|0)>0&(p^w|0)<0){Ge[c>>2]=1;w=(w>>>31)+2147483647|0}else w=p}else{Ge[c>>2]=1;w=2147483647}p=Ve[y>>1]|0;m=p*4681|0;if((m|0)!=1073741824){p=(p*9362|0)+w|0;if((m^w|0)>0&(p^w|0)<0){Ge[c>>2]=1;w=(w>>>31)+2147483647|0}else w=p}else{Ge[c>>2]=1;w=2147483647}p=Ve[_>>1]|0;m=p*4681|0;if((m|0)!=1073741824){p=(p*9362|0)+w|0;if((m^w|0)>0&(p^w|0)<0){Ge[c>>2]=1;p=(w>>>31)+2147483647|0}}else{Ge[c>>2]=1;p=2147483647}m=Ve[A>>1]|0;w=m*4681|0;if((w|0)!=1073741824){m=(m*9362|0)+p|0;if((w^p|0)>0&(m^p|0)<0){Ge[c>>2]=1;p=(p>>>31)+2147483647|0}else p=m}else{Ge[c>>2]=1;p=2147483647}m=Ve[D>>1]|0;w=m*4681|0;if((w|0)!=1073741824){m=(m*9362|0)+p|0;if((w^p|0)>0&(m^p|0)<0){Ge[c>>2]=1;m=(p>>>31)+2147483647|0}}else{Ge[c>>2]=1;m=2147483647}w=Ve[S>>1]|0;d=w*4681|0;if((d|0)!=1073741824){h=(w*9362|0)+m|0;if((d^m|0)>0&(h^m|0)<0){Ge[c>>2]=1;h=(m>>>31)+2147483647|0}}else{Ge[c>>2]=1;h=2147483647}w=Ft(h,c)|0}p=u?8192:s<<16>>16;d=Ze(p,i<<16>>16)|0;if((d|0)==1073741824){Ge[c>>2]=1;m=2147483647}else m=d<<1;w=w<<16>>16;h=w<<13;if((h|0)!=1073741824){d=m+(w<<14)|0;if((m^h|0)>0&(d^m|0)<0){Ge[c>>2]=1;m=(m>>>31)+2147483647|0}else m=d}else{Ge[c>>2]=1;m=2147483647}d=Ze(w,p)|0;if((d|0)==1073741824){Ge[c>>2]=1;h=2147483647}else h=d<<1;d=m-h|0;if(((d^m)&(h^m)|0)<0){Ge[c>>2]=1;d=(m>>>31)+2147483647|0}S=d<<2;i=f;c=Ft((S>>2|0)==(d|0)?S:d>>31^2147483647,c)|0;S=Ve[i>>1]|0;S=S&65535;S=S+1|0;S=S&65535;Ve[i>>1]=S;return c|0}function rr(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0;n=r;t=n+80|0;do{Ve[n>>1]=0;n=n+2|0}while((n|0)<(t|0));n=0;do{a=Ve[e+(n<<1)>>1]|0;t=((a&8)<<10&65535^8192)+-4096<<16>>16;o=n<<16;a=((Ve[i+((a&7)<<1)>>1]|0)*327680|0)+o>>16;Ve[r+(a<<1)>>1]=t;o=((Ve[i+((We[e+(n+5<<1)>>1]&7)<<1)>>1]|0)*327680|0)+o>>16;if((o|0)<(a|0))t=0-(t&65535)&65535;a=r+(o<<1)|0;Ve[a>>1]=(We[a>>1]|0)+(t&65535);n=n+1|0}while((n|0)!=5);return}function ir(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0;t=r<<16>>16;n=(t<<1&2|1)+((t>>>1&7)*5|0)|0;r=t>>>4&3;r=((t>>>6&7)*5|0)+((r|0)==3?4:r)|0;t=i;o=t+80|0;do{Ve[t>>1]=0;t=t+2|0}while((t|0)<(o|0));e=e<<16>>16;Ve[i+(n<<1)>>1]=(0-(e&1)&16383)+57344;Ve[i+(r<<1)>>1]=(0-(e>>>1&1)&16383)+57344;return}function nr(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0;o=i<<16>>16;f=o>>>3;e=e<<16>>16;e=((e<<17>>17|0)==(e|0)?e<<1:e>>>15^32767)+(f&8)<<16;f=(We[n+(e+65536>>16<<1)>>1]|0)+((f&7)*5|0)|0;i=r<<16>>16;a=(0-(i&1)&16383)+57344&65535;e=t+((We[n+(e>>16<<1)>>1]|0)+((o&7)*5|0)<<16>>16<<1)|0;r=t;o=r+80|0;do{Ve[r>>1]=0;r=r+2|0}while((r|0)<(o|0));Ve[e>>1]=a;Ve[t+(f<<16>>16<<1)>>1]=(0-(i>>>1&1)&16383)+57344;return}function tr(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0;r=r<<16>>16;n=(r&7)*5|0;t=(r>>>2&2|1)+((r>>>4&7)*5|0)|0;r=(r>>>6&2)+2+((r>>>8&7)*5|0)|0;o=i;a=o+80|0;do{Ve[o>>1]=0;o=o+2|0}while((o|0)<(a|0));e=e<<16>>16;Ve[i+(n<<1)>>1]=(0-(e&1)&16383)+57344;Ve[i+(t<<1)>>1]=(0-(e>>>1&1)&16383)+57344;Ve[i+(r<<1)>>1]=(0-(e>>>2&1)&16383)+57344;return}function or(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0;r=r<<16>>16;a=Ve[i+((r&7)<<1)>>1]|0;f=Ve[i+((r>>>3&7)<<1)>>1]|0;o=Ve[i+((r>>>6&7)<<1)>>1]|0;i=(r>>>9&1)+3+((Ve[i+((r>>>10&7)<<1)>>1]|0)*5|0)|0;r=n;t=r+80|0;do{Ve[r>>1]=0;r=r+2|0}while((r|0)<(t|0));e=e<<16>>16;Ve[n+(a*327680>>16<<1)>>1]=(0-(e&1)&16383)+57344;Ve[n+((f*327680|0)+65536>>16<<1)>>1]=(0-(e>>>1&1)&16383)+57344;Ve[n+((o*327680|0)+131072>>16<<1)>>1]=(0-(e>>>2&1)&16383)+57344;Ve[n+(i<<16>>16<<1)>>1]=(0-(e>>>3&1)&16383)+57344;return}function ar(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0;d=Ke;Ke=Ke+32|0;c=d+16|0;u=d;o=r;t=o+80|0;do{Ve[o>>1]=0;o=o+2|0}while((o|0)<(t|0));t=Ve[e>>1]|0;Ve[c>>1]=t;Ve[c+2>>1]=Ve[e+2>>1]|0;Ve[c+4>>1]=Ve[e+4>>1]|0;Ve[c+6>>1]=Ve[e+6>>1]|0;s=Ve[e+8>>1]|0;Fe(s>>>3&65535,s&7,0,4,1,u,i);s=Ve[e+10>>1]|0;Fe(s>>>3&65535,s&7,2,6,5,u,i);s=Ve[e+12>>1]|0;n=s>>2;do{if((n*25|0)!=1073741824){o=(Ze(n,1638400)|0)+786432>>21;n=o*6554>>15;if((n|0)>32767){Ge[i>>2]=1;a=1;f=1;e=163835;l=6;break}e=(n<<16>>16)*5|0;a=n&1;if((e|0)==1073741824){Ge[i>>2]=1;f=0;e=65535}else{f=0;l=6}}else{Ge[i>>2]=1;a=0;n=0;f=0;o=0;e=0;l=6}}while(0);if((l|0)==6)e=e&65535;l=o-e|0;a=a<<16>>16==0?l:4-l|0;l=a<<16>>16;Ve[u+6>>1]=Gn(((a<<17>>17|0)==(l|0)?a<<1:l>>>15^32767)&65535,s&1,i)|0;if(f){Ge[i>>2]=1;n=32767}l=n<<16>>16;Ve[u+14>>1]=((n<<17>>17|0)==(l|0)?n<<1:l>>>15^32767)+(s>>>1&1);n=0;while(1){t=t<<16>>16==0?8191:-8191;l=(Ve[u+(n<<1)>>1]<<2)+n<<16;o=l>>16;if((l|0)<2621440)Ve[r+(o<<1)>>1]=t;a=(Ve[u+(n+4<<1)>>1]<<2)+n<<16;e=a>>16;if((e|0)<(o|0))t=0-(t&65535)&65535;if((a|0)<2621440){l=r+(e<<1)|0;Ve[l>>1]=(We[l>>1]|0)+(t&65535)}n=n+1|0;if((n|0)==4)break;t=Ve[c+(n<<1)>>1]|0}Ke=d;return}function Fe(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0,c=0,d=0,h=0;s=e<<16>>16>124?124:e;e=(s<<16>>16)*1311>>15;h=(e|0)>32767;if(!h){f=e<<16>>16;if((f*25|0)==1073741824){Ge[a>>2]=1;f=1073741823}else d=4}else{Ge[a>>2]=1;f=32767;d=4}if((d|0)==4)f=(f*50|0)>>>1;u=(s&65535)-f|0;f=(u<<16>>16)*6554>>15;c=(f|0)>32767;if(!c){s=f<<16>>16;if((s*5|0)==1073741824){Ge[a>>2]=1;l=1073741823}else d=9}else{Ge[a>>2]=1;s=32767;d=9}if((d|0)==9)l=(s*10|0)>>>1;u=u-l|0;d=u<<16>>16;s=r<<16>>16;l=s>>2;s=s-(l<<2)|0;Ve[o+(i<<16>>16<<1)>>1]=((u<<17>>17|0)==(d|0)?u<<1:d>>>15^32767)+(s&1);if(c){Ge[a>>2]=1;f=32767}i=f<<16>>16;Ve[o+(n<<16>>16<<1)>>1]=((f<<17>>17|0)==(i|0)?f<<1:i>>>15^32767)+(s<<16>>17);if(h){Ge[a>>2]=1;e=32767}n=e<<16>>16;Ve[o+(t<<16>>16<<1)>>1]=Gn(l&65535,((e<<17>>17|0)==(n|0)?e<<1:n>>>15^32767)&65535,a)|0;return}function Ie(e){e=e|0;var r=0,i=0,n=0,t=0;if(!e){t=-1;return t|0}et(e+1168|0);Ve[e+460>>1]=40;Ge[e+1164>>2]=0;r=e+646|0;i=e+1216|0;n=e+462|0;t=n+22|0;do{Ve[n>>1]=0;n=n+2|0}while((n|0)<(t|0));Ce(r,Ge[i>>2]|0)|0;Ue(e+686|0)|0;xe(e+700|0)|0;Le(e+608|0)|0;je(e+626|0,Ge[i>>2]|0)|0;Oe(e+484|0)|0;qe(e+730|0)|0;Be(e+748|0)|0;Zn(e+714|0)|0;fr(e,0)|0;t=0;return t|0}function fr(e,r){e=e|0;r=r|0;var i=0,n=0;if(!e){e=-1;return e|0}Ge[e+388>>2]=e+308;Vt(e|0,0,308)|0;r=(r|0)!=8;if(r){i=e+412|0;n=i+20|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(n|0));Ve[e+392>>1]=3e4;Ve[e+394>>1]=26e3;Ve[e+396>>1]=21e3;Ve[e+398>>1]=15e3;Ve[e+400>>1]=8e3;Ve[e+402>>1]=0;Ve[e+404>>1]=-8e3;Ve[e+406>>1]=-15e3;Ve[e+408>>1]=-21e3;Ve[e+410>>1]=-26e3}Ve[e+432>>1]=0;Ve[e+434>>1]=40;Ge[e+1164>>2]=0;Ve[e+436>>1]=0;Ve[e+438>>1]=0;Ve[e+440>>1]=0;Ve[e+460>>1]=40;Ve[e+462>>1]=0;Ve[e+464>>1]=0;if(r){i=e+442|0;n=i+18|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(n|0));i=e+466|0;n=i+18|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(n|0));Le(e+608|0)|0;n=e+1216|0;je(e+626|0,Ge[n>>2]|0)|0;Ce(e+646|0,Ge[n>>2]|0)|0;Ue(e+686|0)|0;xe(e+700|0)|0;Zn(e+714|0)|0}else{i=e+466|0;n=i+18|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(n|0));Le(e+608|0)|0;Ce(e+646|0,Ge[e+1216>>2]|0)|0;Ue(e+686|0)|0;xe(e+700|0)|0}Oe(e+484|0)|0;Ve[e+606>>1]=21845;qe(e+730|0)|0;if(!r){e=0;return e|0}Be(e+748|0)|0;e=0;return e|0}function Te(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0,C=0,B=0,x=0,U=0,z=0,j=0,q=0,H=0,Y=0,X=0,V=0,G=0,W=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,se=0,le=0,ue=0,ce=0,de=0,he=0,we=0,me=0,pe=0,ve=0,be=0,ke=0,Ee=0,ge=0,ye=0,_e=0,Ae=0,De=0,Se=0,Re=0,Me=0,Ne=0,Oe=0,Le=0,Fe=0,Ie=0,Te=0,Pe=0,Ce=0,Be=0,xe=0,Ue=0,ze=0,je=0,qe=0,He=0,Ye=0;Ye=Ke;Ke=Ke+336|0;d=Ye+236|0;c=Ye+216|0;qe=Ye+112|0;je=Ye+12|0;Ce=Ye+256|0;xe=Ye+136|0;Be=Ye+32|0;Te=Ye+8|0;Pe=Ye+6|0;ze=Ye+4|0;Ue=Ye+2|0;He=Ye;Ne=e+1164|0;Oe=e+748|0;Le=vr(Oe,n,Ne)|0;if(Le){fr(e,8)|0;mr(Oe,e+412|0,e+646|0,e+714|0,e+608|0,Le,r,i,e+1168|0,t,o,Ne);He=e+666|0;pt(He,e+392|0,10,Ne);Ar(e+626|0,He,Ne);He=e+1156|0;Ge[He>>2]=Le;Ke=Ye;return}switch(n|0){case 1:{a=1;b=6;break}case 2:case 7:{Je(e+606|0,Ve[(Ge[e+1256>>2]|0)+(r<<1)>>1]|0,Ge[(Ge[e+1260>>2]|0)+(r<<2)>>2]|0,i,Ge[e+1276>>2]|0,Ne);b=9;break}case 3:{b=9;break}default:{a=0;b=6}}do{if((b|0)==6){n=e+440|0;if((Ve[n>>1]|0)==6){Ve[n>>1]=5;Re=0;Me=0;break}else{Ve[n>>1]=0;Re=0;Me=0;break}}else if((b|0)==9){n=e+440|0;Re=(We[n>>1]|0)+1&65535;Ve[n>>1]=Re<<16>>16>6?6:Re;Re=1;Me=1;a=0}}while(0);_e=e+1156|0;switch(Ge[_e>>2]|0){case 1:{Ve[n>>1]=5;Ve[e+436>>1]=0;break}case 2:{Ve[n>>1]=5;Ve[e+436>>1]=1;break}default:{}}s=e+646|0;Ae=e+666|0;f=qe;l=Ae;u=f+20|0;do{Xe[f>>0]=Xe[l>>0]|0;f=f+1|0;l=l+1|0}while((f|0)<(u|0));De=(r|0)!=7;Se=e+1168|0;if(De){hr(s,r,Me,i,Se,d,Ne);f=e+392|0;tt(f,d,o,Ne);i=i+6|0}else{wr(s,Me,i,Se,c,d,Ne);f=e+392|0;it(f,c,d,o,Ne);i=i+10|0}l=d;u=f+20|0;do{Ve[f>>1]=Ve[l>>1]|0;f=f+2|0;l=l+2|0}while((f|0)<(u|0));ye=r>>>0>1;y=r>>>0<4&1;ge=(r|0)==5;Ee=ge?10:5;ge=ge?19:9;D=e+434|0;S=143-ge&65535;R=e+460|0;M=e+462|0;N=e+464|0;_=r>>>0>2;O=e+388|0;L=(r|0)==0;F=r>>>0<2;I=e+1244|0;T=e+432|0;P=r>>>0<6;C=e+1168|0;B=(r|0)==6;x=Me<<16>>16==0;U=e+714|0;z=e+686|0;j=e+436|0;q=e+700|0;H=(r|0)==7;Y=e+482|0;X=r>>>0<3;V=e+608|0;G=e+626|0;W=e+438|0;K=r>>>0<7;Z=e+730|0;A=Re^1;Q=a<<16>>16!=0;ke=Q?Me^1:0;J=e+442|0;$=e+458|0;ee=e+412|0;re=e+80|0;ie=e+1236|0;ne=e+1240|0;te=e+468|0;oe=e+466|0;ae=e+470|0;fe=e+472|0;se=e+474|0;le=e+476|0;ue=e+478|0;ce=e+480|0;de=e+444|0;he=e+446|0;we=e+448|0;me=e+450|0;pe=e+452|0;ve=e+454|0;be=e+456|0;k=0;E=0;h=0;w=0;g=-1;while(1){g=(g<<16>>16)+1|0;u=g&65535;E=1-(E<<16>>16)|0;p=E&65535;c=ye&h<<16>>16==80?0:h;m=i+2|0;d=Ve[i>>1]|0;e:do{if(De){v=Ve[D>>1]|0;f=(v&65535)-Ee&65535;f=f<<16>>16<20?20:f;l=(f&65535)+ge&65535;s=l<<16>>16>143;lr(d,s?S:f,s?143:l,c,v,Te,Pe,y,Ne);c=Ve[Te>>1]|0;Ve[R>>1]=c;if(Re){d=Ve[D>>1]|0;if(d<<16>>16<143){d=(d&65535)+1&65535;Ve[D>>1]=d}Ve[Te>>1]=d;Ve[Pe>>1]=0;if((Ve[M>>1]|0)!=0?!(_|(Ve[N>>1]|0)<5):0){Ve[Te>>1]=c;d=c;c=0}else c=0}else{d=c;c=Ve[Pe>>1]|0}yt(Ge[O>>2]|0,d,c,40,1,Ne);if(F){c=i+6|0;nr(u,Ve[i+4>>1]|0,Ve[m>>1]|0,Ge[I>>2]|0,Ce,Ne);i=Ve[T>>1]|0;v=i<<16>>16;d=v<<1;if((d|0)==(v<<17>>16|0)){l=L;break}l=L;d=i<<16>>16>0?32767:-32768;break}switch(r|0){case 2:{c=i+6|0;ir(Ve[i+4>>1]|0,Ve[m>>1]|0,Ce);i=Ve[T>>1]|0;v=i<<16>>16;d=v<<1;if((d|0)==(v<<17>>16|0)){l=L;break e}l=L;d=i<<16>>16>0?32767:-32768;break e}case 3:{c=i+6|0;tr(Ve[i+4>>1]|0,Ve[m>>1]|0,Ce);i=Ve[T>>1]|0;v=i<<16>>16;d=v<<1;if((d|0)==(v<<17>>16|0)){l=L;break e}l=L;d=i<<16>>16>0?32767:-32768;break e}default:{if(P){c=i+6|0;or(Ve[i+4>>1]|0,Ve[m>>1]|0,Ge[C>>2]|0,Ce);i=Ve[T>>1]|0;v=i<<16>>16;d=v<<1;if((d|0)==(v<<17>>16|0)){l=L;break e}l=L;d=i<<16>>16>0?32767:-32768;break e}if(!B){l=L;b=44;break e}ar(m,Ce,Ne);d=i+16|0;i=Ve[T>>1]|0;v=i<<16>>16;u=v<<1;if((u|0)==(v<<17>>16|0)){c=d;l=L;d=u;break e}c=d;l=L;d=i<<16>>16>0?32767:-32768;break e}}}else{ur(d,18,143,c,Te,Pe,Ne);if(x?c<<16>>16==0|d<<16>>16<61:0){d=Ve[Te>>1]|0;c=Ve[Pe>>1]|0}else{Ve[R>>1]=Ve[Te>>1]|0;d=Ve[D>>1]|0;Ve[Te>>1]=d;Ve[Pe>>1]=0;c=0}yt(Ge[O>>2]|0,d,c,40,0,Ne);l=0;b=44}}while(0);if((b|0)==44){b=0;if(Re)Er(z,Ve[n>>1]|0,ze,Ne);else Ve[ze>>1]=dr(r,Ve[m>>1]|0,Ge[ne>>2]|0)|0;gr(z,Me,Ve[j>>1]|0,ze,Ne);rr(i+4|0,Ce,Ge[C>>2]|0);d=i+24|0;i=Ve[ze>>1]|0;v=i<<16>>16;u=v<<1;if((u|0)==(v<<17>>16|0)){c=d;d=u}else{c=d;d=i<<16>>16>0?32767:-32768}}i=Ve[Te>>1]|0;e:do{if(i<<16>>16<40){f=d<<16>>16;s=i;d=i<<16>>16;while(1){u=Ce+(d<<1)|0;i=(Ze(Ve[Ce+(d-(s<<16>>16)<<1)>>1]|0,f)|0)>>15;if((i|0)>32767){Ge[Ne>>2]=1;i=32767}v=i&65535;Ve[He>>1]=v;Ve[u>>1]=Gn(Ve[u>>1]|0,v,Ne)|0;d=d+1|0;if((d&65535)<<16>>16==40)break e;s=Ve[Te>>1]|0}}}while(0);e:do{if(l){l=(E&65535|0)==0;if(l){i=c;u=w}else{i=c+2|0;u=Ve[c>>1]|0}if(x)sr(U,r,u,Ce,p,ze,Ue,Se,Ne);else{Er(z,Ve[n>>1]|0,ze,Ne);br(q,U,Ve[n>>1]|0,Ue,Ne)}gr(z,Me,Ve[j>>1]|0,ze,Ne);kr(q,Me,Ve[j>>1]|0,Ue,Ne);c=Ve[ze>>1]|0;d=c<<16>>16>13017?13017:c;if(l)b=80;else v=u}else{i=c+2|0;d=Ve[c>>1]|0;switch(r|0){case 1:case 2:case 3:case 4:case 6:{if(x)sr(U,r,d,Ce,p,ze,Ue,Se,Ne);else{Er(z,Ve[n>>1]|0,ze,Ne);br(q,U,Ve[n>>1]|0,Ue,Ne)}gr(z,Me,Ve[j>>1]|0,ze,Ne);kr(q,Me,Ve[j>>1]|0,Ue,Ne);c=Ve[ze>>1]|0;d=c<<16>>16>13017?13017:c;if(!B){u=w;b=80;break e}if((Ve[D>>1]|0)<=45){u=w;b=80;break e}u=w;d=d<<16>>16>>>2&65535;b=80;break e}case 5:{if(Re)Er(z,Ve[n>>1]|0,ze,Ne);else Ve[ze>>1]=dr(5,d,Ge[ne>>2]|0)|0;gr(z,Me,Ve[j>>1]|0,ze,Ne);if(x)cr(U,5,Ve[i>>1]|0,Ce,Ge[ie>>2]|0,Ue,Ne);else br(q,U,Ve[n>>1]|0,Ue,Ne);kr(q,Me,Ve[j>>1]|0,Ue,Ne);d=Ve[ze>>1]|0;i=c+4|0;c=d;u=w;d=d<<16>>16>13017?13017:d;b=80;break e}default:{if(x)cr(U,r,d,Ce,Ge[ie>>2]|0,Ue,Ne);else br(q,U,Ve[n>>1]|0,Ue,Ne);kr(q,Me,Ve[j>>1]|0,Ue,Ne);d=Ve[ze>>1]|0;c=d;u=w;b=80;break e}}}}while(0);if((b|0)==80){b=0;Ve[T>>1]=c<<16>>16>13017?13017:c;v=u}d=d<<16>>16;d=(d<<17>>17|0)==(d|0)?d<<1:d>>>15^32767;p=(d&65535)<<16>>16>16384;e:do{if(p){m=d<<16>>16;if(H)c=0;else{c=0;while(1){d=(Ze(Ve[(Ge[O>>2]|0)+(c<<1)>>1]|0,m)|0)>>15;if((d|0)>32767){Ge[Ne>>2]=1;d=32767}Ve[He>>1]=d;d=Ze(Ve[ze>>1]|0,d<<16>>16)|0;if((d|0)==1073741824){Ge[Ne>>2]=1;d=2147483647}else d=d<<1;Ve[xe+(c<<1)>>1]=Ft(d,Ne)|0;c=c+1|0;if((c|0)==40)break e}}do{d=(Ze(Ve[(Ge[O>>2]|0)+(c<<1)>>1]|0,m)|0)>>15;if((d|0)>32767){Ge[Ne>>2]=1;d=32767}Ve[He>>1]=d;d=Ze(Ve[ze>>1]|0,d<<16>>16)|0;if((d|0)!=1073741824){d=d<<1;if((d|0)<0)d=~((d^-2)>>1);else b=88}else{Ge[Ne>>2]=1;d=2147483647;b=88}if((b|0)==88){b=0;d=d>>1}Ve[xe+(c<<1)>>1]=Ft(d,Ne)|0;c=c+1|0}while((c|0)!=40)}}while(0);if(x){Ve[oe>>1]=Ve[te>>1]|0;Ve[te>>1]=Ve[ae>>1]|0;Ve[ae>>1]=Ve[fe>>1]|0;Ve[fe>>1]=Ve[se>>1]|0;Ve[se>>1]=Ve[le>>1]|0;Ve[le>>1]=Ve[ue>>1]|0;Ve[ue>>1]=Ve[ce>>1]|0;Ve[ce>>1]=Ve[Y>>1]|0;Ve[Y>>1]=Ve[ze>>1]|0}if((Re|(Ve[j>>1]|0)!=0?X&(Ve[M>>1]|0)!=0:0)?(Fe=Ve[ze>>1]|0,Fe<<16>>16>12288):0){b=(((Fe<<16>>16)+118784|0)>>>1)+12288&65535;Ve[ze>>1]=b<<16>>16>14745?14745:b}_r(qe,Ae,h,je,Ne);d=er(V,r,Ve[Ue>>1]|0,je,G,Me,Ve[j>>1]|0,a,Ve[W>>1]|0,Ve[M>>1]|0,Ve[N>>1]|0,Ne)|0;switch(r|0){case 0:case 1:case 2:case 3:case 6:{u=Ve[ze>>1]|0;m=1;break}default:{d=Ve[Ue>>1]|0;u=Ve[ze>>1]|0;if(K)m=1;else{c=u<<16>>16;if(u<<16>>16<0)c=~((c^-2)>>1);else c=c>>>1;u=c&65535;m=2}}}f=u<<16>>16;h=m&65535;c=Ge[O>>2]|0;w=0;do{c=c+(w<<1)|0;Ve[Be+(w<<1)>>1]=Ve[c>>1]|0;c=Ze(Ve[c>>1]|0,f)|0;if((c|0)==1073741824){Ge[Ne>>2]=1;s=2147483647}else s=c<<1;l=Ze(Ve[Ue>>1]|0,Ve[Ce+(w<<1)>>1]|0)|0;if((l|0)!=1073741824){c=(l<<1)+s|0;if((l^s|0)>0&(c^s|0)<0){Ge[Ne>>2]=1;c=(s>>>31)+2147483647|0}}else{Ge[Ne>>2]=1;c=2147483647}b=c<>h|0)==(c|0)?b:c>>31^2147483647,Ne)|0;c=Ge[O>>2]|0;Ve[c+(w<<1)>>1]=b;w=w+1|0}while((w|0)!=40);Sr(Z);if((X?(Ve[N>>1]|0)>3:0)?!((Ve[M>>1]|0)==0|A):0)Dr(Z);Rr(Z,r,Be,d,Ve[ze>>1]|0,Ce,u,m,Se,Ne);d=0;l=0;do{c=Ve[Be+(l<<1)>>1]|0;c=Ze(c,c)|0;if((c|0)!=1073741824){u=(c<<1)+d|0;if((c^d|0)>0&(u^d|0)<0){Ge[Ne>>2]=1;d=(d>>>31)+2147483647|0}else d=u}else{Ge[Ne>>2]=1;d=2147483647}l=l+1|0}while((l|0)!=40);if((d|0)<0)d=~((d^-2)>>1);else d=d>>1;d=Pt(d,He,Ne)|0;u=((Ve[He>>1]|0)>>>1)+15|0;c=u&65535;u=u<<16>>16;if(c<<16>>16>0)if(c<<16>>16<31){d=d>>u;b=135}else{d=0;b=137}else{m=0-u<<16>>16;b=d<>m|0)==(d|0)?b:d>>31^2147483647;b=135}if((b|0)==135){b=0;if((d|0)<0)d=~((d^-4)>>2);else b=137}if((b|0)==137){b=0;d=d>>>2}d=d&65535;do{if(X?(Ie=Ve[N>>1]|0,Ie<<16>>16>5):0)if(Ve[M>>1]|0)if((Ve[n>>1]|0)<4){if(Q){if(!(Re|(Ve[W>>1]|0)!=0))b=145}else if(!Re)b=145;if((b|0)==145?(0,(Ve[j>>1]|0)==0):0){b=147;break}yr(Be,d,J,Ie,Ve[j>>1]|0,ke,Ne)|0;b=147}else b=147;else b=151;else b=147}while(0);do{if((b|0)==147){b=0;if(Ve[M>>1]|0){if(!Re?(Ve[j>>1]|0)==0:0){b=151;break}if((Ve[n>>1]|0)>=4)b=151}else b=151}}while(0);if((b|0)==151){b=0;Ve[J>>1]=Ve[de>>1]|0;Ve[de>>1]=Ve[he>>1]|0;Ve[he>>1]=Ve[we>>1]|0;Ve[we>>1]=Ve[me>>1]|0;Ve[me>>1]=Ve[pe>>1]|0;Ve[pe>>1]=Ve[ve>>1]|0;Ve[ve>>1]=Ve[be>>1]|0;Ve[be>>1]=Ve[$>>1]|0;Ve[$>>1]=d}if(p){d=0;do{p=xe+(d<<1)|0;Ve[p>>1]=Gn(Ve[p>>1]|0,Ve[Be+(d<<1)>>1]|0,Ne)|0;d=d+1|0}while((d|0)!=40);Qe(Be,xe,40,Ne);Ge[Ne>>2]=0;Bt(o,xe,t+(k<<1)|0,40,ee,0)}else{Ge[Ne>>2]=0;Bt(o,Be,t+(k<<1)|0,40,ee,0)}if(!(Ge[Ne>>2]|0))Xt(ee|0,t+(k+30<<1)|0,20)|0;else{u=193;while(1){c=e+(u<<1)|0;p=Ve[c>>1]|0;d=p<<16>>16;if(p<<16>>16<0)d=~((d^-4)>>2);else d=d>>>2;Ve[c>>1]=d;if((u|0)>0)u=u+-1|0;else{u=39;break}}while(1){c=Be+(u<<1)|0;p=Ve[c>>1]|0;d=p<<16>>16;if(p<<16>>16<0)d=~((d^-4)>>2);else d=d>>>2;Ve[c>>1]=d;if((u|0)>0)u=u+-1|0;else break}Bt(o,Be,t+(k<<1)|0,40,ee,1)}Xt(e|0,re|0,308)|0;Ve[D>>1]=Ve[Te>>1]|0;d=k+40|0;h=d&65535;if(h<<16>>16>=160)break;else{k=d<<16>>16;o=o+22|0;w=v}}Ve[M>>1]=$e(e+484|0,e+466|0,t,N,Ne)|0;pr(Oe,Ae,t,Ne);Ve[j>>1]=Me;Ve[W>>1]=a;Ar(e+626|0,Ae,Ne);He=_e;Ge[He>>2]=Le;Ke=Ye;return}function sr(e,r,i,n,t,o,a,f,s){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;var l=0,u=0,c=0,d=0,h=0;h=Ke;Ke=Ke+16|0;c=h+2|0;d=h;i=i<<16>>16;i=(i<<18>>18|0)==(i|0)?i<<2:i>>>15^32767;switch(r|0){case 3:case 4:case 6:{u=i<<16>>16;i=Ge[f+84>>2]|0;Ve[o>>1]=Ve[i+(u<<1)>>1]|0;f=Ve[i+(u+1<<1)>>1]|0;l=Ve[i+(u+3<<1)>>1]|0;o=Ve[i+(u+2<<1)>>1]|0;break}case 0:{f=(i&65535)+(t<<16>>16<<1^2)|0;f=(f&65535)<<16>>16>1022?1022:f<<16>>16;Ve[o>>1]=Ve[782+(f<<1)>>1]|0;o=Ve[782+(f+1<<1)>>1]|0;ft(o<<16>>16,d,c,s);Ve[d>>1]=(We[d>>1]|0)+65524;f=Tt(Ve[c>>1]|0,5,s)|0;u=Ve[d>>1]|0;u=Gn(f,((u<<26>>26|0)==(u|0)?u<<10:u>>>15^32767)&65535,s)|0;f=Ve[c>>1]|0;i=Ve[d>>1]|0;if((i*24660|0)==1073741824){Ge[s>>2]=1;t=2147483647}else t=i*49320|0;l=(f<<16>>16)*24660>>15;i=t+(l<<1)|0;if((t^l|0)>0&(i^t|0)<0){Ge[s>>2]=1;i=(t>>>31)+2147483647|0}l=i<<13;f=o;l=Ft((l>>13|0)==(i|0)?l:i>>31^2147483647,s)|0;o=u;break}default:{u=i<<16>>16;i=Ge[f+80>>2]|0;Ve[o>>1]=Ve[i+(u<<1)>>1]|0;f=Ve[i+(u+1<<1)>>1]|0;l=Ve[i+(u+3<<1)>>1]|0;o=Ve[i+(u+2<<1)>>1]|0}}Qn(e,r,n,d,c,0,0,s);t=Ze((gt(14,Ve[c>>1]|0,s)|0)<<16>>16,f<<16>>16)|0;if((t|0)==1073741824){Ge[s>>2]=1;i=2147483647}else i=t<<1;f=10-(We[d>>1]|0)|0;t=f&65535;f=f<<16>>16;if(t<<16>>16>0){d=t<<16>>16<31?i>>f:0;d=d>>>16;d=d&65535;Ve[a>>1]=d;Jn(e,o,l);Ke=h;return}else{s=0-f<<16>>16;d=i<>s|0)==(i|0)?d:i>>31^2147483647;d=d>>>16;d=d&65535;Ve[a>>1]=d;Jn(e,o,l);Ke=h;return}}function lr(e,r,i,n,t,o,a,f,s){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;if(!(n<<16>>16)){f=e<<16>>16;if(e<<16>>16>=197){Ve[o>>1]=f+65424;Ve[a>>1]=0;return}t=((f<<16)+131072>>16)*10923>>15;if((t|0)>32767){Ge[s>>2]=1;t=32767}e=(t&65535)+19|0;Ve[o>>1]=e;Ve[a>>1]=f+58-((e*196608|0)>>>16);return}if(!(f<<16>>16)){s=e<<16>>16<<16;e=((s+131072>>16)*21846|0)+-65536>>16;Ve[o>>1]=e+(r&65535);Ve[a>>1]=((s+-131072|0)>>>16)-((e*196608|0)>>>16);return}if((Ct(t,r,s)|0)<<16>>16>5)t=(r&65535)+5&65535;f=i<<16>>16;f=(f-(t&65535)&65535)<<16>>16>4?f+65532&65535:t;t=e<<16>>16;if(e<<16>>16<4){Ve[o>>1]=((((f&65535)<<16)+-327680|0)>>>16)+t;Ve[a>>1]=0;return}t=t<<16;if(e<<16>>16<12){s=(((t+-327680>>16)*10923|0)>>>15<<16)+-65536|0;e=s>>16;Ve[o>>1]=(f&65535)+e;Ve[a>>1]=((t+-589824|0)>>>16)-(s>>>15)-e;return}else{Ve[o>>1]=((t+-786432+((f&65535)<<16)|0)>>>16)+1;Ve[a>>1]=0;return}}function ur(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;if(n<<16>>16){a=(We[t>>1]|0)+65531|0;a=(a<<16>>16|0)<(r<<16>>16|0)?r:a&65535;i=i<<16>>16;r=e<<16>>16<<16;e=((r+327680>>16)*10924|0)+-65536>>16;Ve[t>>1]=(((((a&65535)<<16)+589824>>16|0)>(i|0)?i+65527&65535:a)&65535)+e;Ve[o>>1]=((r+-196608|0)>>>16)-((e*393216|0)>>>16);return}n=e<<16>>16;if(e<<16>>16<463){e=((((n<<16)+327680>>16)*10924|0)>>>16)+17|0;Ve[t>>1]=e;Ve[o>>1]=n+105-((e*393216|0)>>>16);return}else{Ve[t>>1]=n+65168;Ve[o>>1]=0;return}}function cr(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0;u=Ke;Ke=Ke+16|0;s=u+6|0;f=u+4|0;Qn(e,r,n,s,f,u+2|0,u,a);l=(i&31)*3|0;n=t+(l<<1)|0;if(!((Ct(r&65535,7,a)|0)<<16>>16)){s=gt(Ve[s>>1]|0,Ve[f>>1]|0,a)|0;f=s<<16>>16;f=(Ze(((s<<20>>20|0)==(f|0)?s<<4:f>>>15^32767)<<16>>16,Ve[n>>1]|0)|0)>>15;if((f|0)>32767){Ge[a>>2]=1;f=32767}n=f<<16;i=n>>16;if((f<<17>>17|0)==(i|0))f=n>>15;else f=i>>>15^32767}else{i=gt(14,Ve[f>>1]|0,a)|0;i=Ze(i<<16>>16,Ve[n>>1]|0)|0;if((i|0)==1073741824){Ge[a>>2]=1;n=2147483647}else n=i<<1;i=Ct(9,Ve[s>>1]|0,a)|0;f=i<<16>>16;if(i<<16>>16>0)f=i<<16>>16<31?n>>f:0;else{a=0-f<<16>>16;f=n<>a|0)==(n|0)?f:n>>31^2147483647}f=f>>>16}Ve[o>>1]=f;Jn(e,Ve[t+(l+1<<1)>>1]|0,Ve[t+(l+2<<1)>>1]|0);Ke=u;return}function dr(e,r,i){e=e|0;r=r|0;i=i|0;r=Ve[i+(r<<16>>16<<1)>>1]|0;if((e|0)!=7){e=r;return e|0}e=r&65532;return e|0}function hr(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0;v=Ke;Ke=Ke+48|0;h=v+20|0;p=v;m=Ge[t+44>>2]|0;w=Ge[t+64>>2]|0;f=Ge[t+4>>2]|0;d=Ge[t+12>>2]|0;l=Ge[t+20>>2]|0;s=Ge[t+56>>2]|0;if(!(i<<16>>16)){u=r>>>0<2;if(u){i=765;c=508;l=Ge[t+52>>2]|0}else{t=(r|0)==5;i=t?1533:765;c=2044;f=t?s:f}s=Ve[n>>1]|0;i=((s*196608>>16|0)>(i&65535|0)?i:s*3&65535)<<16>>16;s=Ve[f+(i<<1)>>1]|0;Ve[h>>1]=s;Ve[h+2>>1]=Ve[f+(i+1<<1)>>1]|0;Ve[h+4>>1]=Ve[f+(i+2<<1)>>1]|0;i=Ve[n+2>>1]|0;if(u)i=i<<16>>16<<1&65535;u=(i<<16>>16)*196608|0;u=(u|0)>100466688?1533:u>>16;Ve[h+6>>1]=Ve[d+(u<<1)>>1]|0;Ve[h+8>>1]=Ve[d+(u+1<<1)>>1]|0;Ve[h+10>>1]=Ve[d+(u+2<<1)>>1]|0;n=Ve[n+4>>1]|0;n=((n<<18>>16|0)>(c&65535|0)?c:n<<2&65535)<<16>>16;Ve[h+12>>1]=Ve[l+(n<<1)>>1]|0;Ve[h+14>>1]=Ve[l+((n|1)<<1)>>1]|0;Ve[h+16>>1]=Ve[l+((n|2)<<1)>>1]|0;Ve[h+18>>1]=Ve[l+((n|3)<<1)>>1]|0;if((r|0)==8){i=0;while(1){w=e+(i<<1)|0;Ve[p+(i<<1)>>1]=Gn(s,Gn(Ve[m+(i<<1)>>1]|0,Ve[w>>1]|0,a)|0,a)|0;Ve[w>>1]=s;i=i+1|0;if((i|0)==10)break;s=Ve[h+(i<<1)>>1]|0}Ot(p,205,10,a);f=e+20|0;s=p;i=f+20|0;do{Xe[f>>0]=Xe[s>>0]|0;f=f+1|0;s=s+1|0}while((f|0)<(i|0));pt(p,o,10,a);Ke=v;return}else f=0;do{s=e+(f<<1)|0;i=(Ze(Ve[w+(f<<1)>>1]|0,Ve[s>>1]|0)|0)>>15;if((i|0)>32767){Ge[a>>2]=1;i=32767}n=Gn(Ve[m+(f<<1)>>1]|0,i&65535,a)|0;r=Ve[h+(f<<1)>>1]|0;Ve[p+(f<<1)>>1]=Gn(r,n,a)|0;Ve[s>>1]=r;f=f+1|0}while((f|0)!=10);Ot(p,205,10,a);f=e+20|0;s=p;i=f+20|0;do{Xe[f>>0]=Xe[s>>0]|0;f=f+1|0;s=s+1|0}while((f|0)<(i|0));pt(p,o,10,a);Ke=v;return}else{f=0;do{i=(Ve[e+20+(f<<1)>>1]|0)*29491>>15;if((i|0)>32767){Ge[a>>2]=1;i=32767}s=(Ve[m+(f<<1)>>1]|0)*3277>>15;if((s|0)>32767){Ge[a>>2]=1;s=32767}Ve[p+(f<<1)>>1]=Gn(s&65535,i&65535,a)|0;f=f+1|0}while((f|0)!=10);if((r|0)==8){f=0;do{w=e+(f<<1)|0;h=Gn(Ve[m+(f<<1)>>1]|0,Ve[w>>1]|0,a)|0;Ve[w>>1]=Ct(Ve[p+(f<<1)>>1]|0,h,a)|0;f=f+1|0}while((f|0)!=10);Ot(p,205,10,a);f=e+20|0;s=p;i=f+20|0;do{Xe[f>>0]=Xe[s>>0]|0;f=f+1|0;s=s+1|0}while((f|0)<(i|0));pt(p,o,10,a);Ke=v;return}else f=0;do{s=e+(f<<1)|0;i=(Ze(Ve[w+(f<<1)>>1]|0,Ve[s>>1]|0)|0)>>15;if((i|0)>32767){Ge[a>>2]=1;i=32767}h=Gn(Ve[m+(f<<1)>>1]|0,i&65535,a)|0;Ve[s>>1]=Ct(Ve[p+(f<<1)>>1]|0,h,a)|0;f=f+1|0}while((f|0)!=10);Ot(p,205,10,a);f=e+20|0;s=p;i=f+20|0;do{Xe[f>>0]=Xe[s>>0]|0;f=f+1|0;s=s+1|0}while((f|0)<(i|0));pt(p,o,10,a);Ke=v;return}}function Pe(e,r,i){e=e|0;r=r|0;i=i|0;Xt(e|0,i+((r<<16>>16)*10<<1)|0,20)|0;return}function wr(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0;v=Ke;Ke=Ke+80|0;d=v+60|0;h=v+40|0;m=v+20|0;p=v;w=Ge[n+48>>2]|0;l=Ge[n+24>>2]|0;u=Ge[n+28>>2]|0;c=Ge[n+32>>2]|0;if(r<<16>>16){f=0;do{d=w+(f<<1)|0;i=Gn(((Ve[d>>1]|0)*1639|0)>>>15&65535,((Ve[e+20+(f<<1)>>1]|0)*31128|0)>>>15&65535,a)|0;Ve[m+(f<<1)>>1]=i;Ve[p+(f<<1)>>1]=i;h=e+(f<<1)|0;Ve[h>>1]=Ct(i,Gn(Ve[d>>1]|0,((Ve[h>>1]|0)*21299|0)>>>15&65535,a)|0,a)|0;f=f+1|0}while((f|0)!=10);Ot(m,205,10,a);Ot(p,205,10,a);f=e+20|0;n=p;r=f+20|0;do{Xe[f>>0]=Xe[n>>0]|0;f=f+1|0;n=n+1|0}while((f|0)<(r|0));pt(m,t,10,a);pt(p,o,10,a);Ke=v;return}r=Ge[n+16>>2]|0;n=Ge[n+8>>2]|0;s=Ve[i>>1]|0;s=((s<<18>>18|0)==(s|0)?s<<2:s>>>15^32767)<<16>>16;Ve[d>>1]=Ve[n+(s<<1)>>1]|0;Ve[d+2>>1]=Ve[n+(s+1<<1)>>1]|0;Ve[h>>1]=Ve[n+(s+2<<1)>>1]|0;Ve[h+2>>1]=Ve[n+(s+3<<1)>>1]|0;s=Ve[i+2>>1]|0;s=((s<<18>>18|0)==(s|0)?s<<2:s>>>15^32767)<<16>>16;Ve[d+4>>1]=Ve[r+(s<<1)>>1]|0;Ve[d+6>>1]=Ve[r+(s+1<<1)>>1]|0;Ve[h+4>>1]=Ve[r+(s+2<<1)>>1]|0;Ve[h+6>>1]=Ve[r+(s+3<<1)>>1]|0;s=Ve[i+4>>1]|0;n=s<<16>>16;if(s<<16>>16<0)r=~((n^-2)>>1);else r=n>>>1;s=r<<16>>16;s=((r<<18>>18|0)==(s|0)?r<<2:s>>>15^32767)<<16>>16;f=l+(s+1<<1)|0;r=Ve[l+(s<<1)>>1]|0;if(!(n&1)){Ve[d+8>>1]=r;Ve[d+10>>1]=Ve[f>>1]|0;Ve[h+8>>1]=Ve[l+(s+2<<1)>>1]|0;Ve[h+10>>1]=Ve[l+(s+3<<1)>>1]|0}else{if(r<<16>>16==-32768)r=32767;else r=0-(r&65535)&65535;Ve[d+8>>1]=r;r=Ve[f>>1]|0;if(r<<16>>16==-32768)r=32767;else r=0-(r&65535)&65535;Ve[d+10>>1]=r;r=Ve[l+(s+2<<1)>>1]|0;if(r<<16>>16==-32768)r=32767;else r=0-(r&65535)&65535;Ve[h+8>>1]=r;r=Ve[l+(s+3<<1)>>1]|0;if(r<<16>>16==-32768)r=32767;else r=0-(r&65535)&65535;Ve[h+10>>1]=r}f=Ve[i+6>>1]|0;f=((f<<18>>18|0)==(f|0)?f<<2:f>>>15^32767)<<16>>16;Ve[d+12>>1]=Ve[u+(f<<1)>>1]|0;Ve[d+14>>1]=Ve[u+(f+1<<1)>>1]|0;Ve[h+12>>1]=Ve[u+(f+2<<1)>>1]|0;Ve[h+14>>1]=Ve[u+(f+3<<1)>>1]|0;f=Ve[i+8>>1]|0;f=((f<<18>>18|0)==(f|0)?f<<2:f>>>15^32767)<<16>>16;Ve[d+16>>1]=Ve[c+(f<<1)>>1]|0;Ve[d+18>>1]=Ve[c+(f+1<<1)>>1]|0;Ve[h+16>>1]=Ve[c+(f+2<<1)>>1]|0;Ve[h+18>>1]=Ve[c+(f+3<<1)>>1]|0;f=0;do{n=e+(f<<1)|0;r=(Ve[n>>1]|0)*21299>>15;if((r|0)>32767){Ge[a>>2]=1;r=32767}c=Gn(Ve[w+(f<<1)>>1]|0,r&65535,a)|0;Ve[m+(f<<1)>>1]=Gn(Ve[d+(f<<1)>>1]|0,c,a)|0;i=Ve[h+(f<<1)>>1]|0;Ve[p+(f<<1)>>1]=Gn(i,c,a)|0;Ve[n>>1]=i;f=f+1|0}while((f|0)!=10);Ot(m,205,10,a);Ot(p,205,10,a);f=e+20|0;n=p;r=f+20|0;do{Xe[f>>0]=Xe[n>>0]|0;f=f+1|0;n=n+1|0}while((f|0)<(r|0));pt(m,t,10,a);pt(p,o,10,a);Ke=v;return}function Ce(e,r){e=e|0;r=r|0;var i=0,n=0;if(!e){n=-1;return n|0}i=e;n=i+20|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(n|0));Xt(e+20|0,r|0,20)|0;n=0;return n|0}function Be(e){e=e|0;var r=0,i=0,n=0,t=0,o=0;if(!e){o=-1;return o|0}Ve[e>>1]=0;Ve[e+2>>1]=8192;r=e+4|0;Ve[r>>1]=3500;Ve[e+6>>1]=3500;Ge[e+8>>2]=1887529304;Ve[e+12>>1]=3e4;Ve[e+14>>1]=26e3;Ve[e+16>>1]=21e3;Ve[e+18>>1]=15e3;Ve[e+20>>1]=8e3;Ve[e+22>>1]=0;Ve[e+24>>1]=-8e3;Ve[e+26>>1]=-15e3;Ve[e+28>>1]=-21e3;Ve[e+30>>1]=-26e3;Ve[e+32>>1]=3e4;Ve[e+34>>1]=26e3;Ve[e+36>>1]=21e3;Ve[e+38>>1]=15e3;Ve[e+40>>1]=8e3;Ve[e+42>>1]=0;Ve[e+44>>1]=-8e3;Ve[e+46>>1]=-15e3;Ve[e+48>>1]=-21e3;Ve[e+50>>1]=-26e3;Ve[e+212>>1]=0;Ve[e+374>>1]=0;Ve[e+392>>1]=0;i=e+52|0;Ve[i>>1]=1384;Ve[e+54>>1]=2077;Ve[e+56>>1]=3420;Ve[e+58>>1]=5108;Ve[e+60>>1]=6742;Ve[e+62>>1]=8122;Ve[e+64>>1]=9863;Ve[e+66>>1]=11092;Ve[e+68>>1]=12714;Ve[e+70>>1]=13701;n=e+72|0;t=i;o=n+20|0;do{Xe[n>>0]=Xe[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(o|0));n=e+92|0;t=i;o=n+20|0;do{Xe[n>>0]=Xe[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(o|0));n=e+112|0;t=i;o=n+20|0;do{Xe[n>>0]=Xe[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(o|0));n=e+132|0;t=i;o=n+20|0;do{Xe[n>>0]=Xe[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(o|0));n=e+152|0;t=i;o=n+20|0;do{Xe[n>>0]=Xe[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(o|0));n=e+172|0;t=i;o=n+20|0;do{Xe[n>>0]=Xe[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(o|0));n=e+192|0;t=i;o=n+20|0;do{Xe[n>>0]=Xe[t>>0]|0;n=n+1|0;t=t+1|0}while((n|0)<(o|0));Vt(e+214|0,0,160)|0;Ve[e+376>>1]=3500;Ve[e+378>>1]=3500;o=Ve[r>>1]|0;Ve[e+380>>1]=o;Ve[e+382>>1]=o;Ve[e+384>>1]=o;Ve[e+386>>1]=o;Ve[e+388>>1]=o;Ve[e+390>>1]=o;Ve[e+394>>1]=0;Ve[e+396>>1]=7;Ve[e+398>>1]=32767;Ve[e+400>>1]=0;Ve[e+402>>1]=0;Ve[e+404>>1]=0;Ge[e+408>>2]=1;Ve[e+412>>1]=0;o=0;return o|0}function mr(e,r,i,n,t,o,a,f,s,l,u,c){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;c=c|0;var d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0,C=0,B=0,x=0,U=0,z=0,j=0,q=0,H=0,Y=0,X=0,V=0;V=Ke;Ke=Ke+304|0;B=V+192|0;T=V+168|0;U=V+148|0;H=V+216|0;z=V+146|0;j=V+144|0;P=V+124|0;C=V+104|0;x=V+84|0;q=V+60|0;F=V+40|0;L=V;X=e+404|0;Y=e+400|0;if((Ve[X>>1]|0)!=0?(Ve[Y>>1]|0)!=0:0){O=e+394|0;Ve[O>>1]=Ve[636+(a<<1)>>1]|0;E=Ve[e+212>>1]|0;k=E+10|0;Xt(e+52+(((k&65535|0)==80?0:k<<16>>16)<<1)|0,e+52+(E<<1)|0,20)|0;E=Ve[e+392>>1]|0;k=E+1|0;Ve[e+376+(((k&65535|0)==8?0:k<<16>>16)<<1)>>1]=Ve[e+376+(E<<1)>>1]|0;k=e+4|0;Ve[k>>1]=0;E=L+36|0;g=L+32|0;y=L+28|0;_=L+24|0;A=L+20|0;D=L+16|0;S=L+12|0;R=L+8|0;M=L+4|0;N=e+52|0;w=L;I=w+40|0;do{Ge[w>>2]=0;w=w+4|0}while((w|0)<(I|0));h=0;d=7;while(1){I=Ve[e+376+(d<<1)>>1]|0;b=I<<16>>16;if(I<<16>>16<0)b=~((b^-8)>>3);else b=b>>>3;h=Gn(h,b&65535,c)|0;Ve[k>>1]=h;p=d*10|0;w=9;while(1){m=L+(w<<2)|0;v=Ge[m>>2]|0;I=Ve[e+52+(w+p<<1)>>1]|0;b=I+v|0;if((I^v|0)>-1&(b^v|0)<0){Ge[c>>2]=1;b=(v>>>31)+2147483647|0}Ge[m>>2]=b;if((w|0)>0)w=w+-1|0;else break}if((d|0)<=0)break;else d=d+-1|0}Ve[F+18>>1]=(Ge[E>>2]|0)>>>3;Ve[F+16>>1]=(Ge[g>>2]|0)>>>3;Ve[F+14>>1]=(Ge[y>>2]|0)>>>3;Ve[F+12>>1]=(Ge[_>>2]|0)>>>3;Ve[F+10>>1]=(Ge[A>>2]|0)>>>3;Ve[F+8>>1]=(Ge[D>>2]|0)>>>3;Ve[F+6>>1]=(Ge[S>>2]|0)>>>3;Ve[F+4>>1]=(Ge[R>>2]|0)>>>3;Ve[F+2>>1]=(Ge[M>>2]|0)>>>3;Ve[F>>1]=(Ge[L>>2]|0)>>>3;pt(F,e+12|0,10,c);Ve[k>>1]=Ct(Ve[k>>1]|0,Ve[O>>1]|0,c)|0;Yt(e+214|0,N|0,160)|0;F=9;while(1){I=Ve[e+214+(F+70<<1)>>1]|0;m=I<<16>>16;L=Ve[e+214+(F+60<<1)>>1]|0;w=(L<<16>>16)+m|0;if((L^I)<<16>>16>-1&(w^m|0)<0){Ge[c>>2]=1;w=(m>>>31)+2147483647|0}I=Ve[e+214+(F+50<<1)>>1]|0;m=I+w|0;if((I^w|0)>-1&(m^w|0)<0){Ge[c>>2]=1;m=(w>>>31)+2147483647|0}I=Ve[e+214+(F+40<<1)>>1]|0;w=I+m|0;if((I^m|0)>-1&(w^m|0)<0){Ge[c>>2]=1;w=(m>>>31)+2147483647|0}I=Ve[e+214+(F+30<<1)>>1]|0;m=I+w|0;if((I^w|0)>-1&(m^w|0)<0){Ge[c>>2]=1;m=(w>>>31)+2147483647|0}I=Ve[e+214+(F+20<<1)>>1]|0;w=I+m|0;if((I^m|0)>-1&(w^m|0)<0){Ge[c>>2]=1;w=(m>>>31)+2147483647|0}I=Ve[e+214+(F+10<<1)>>1]|0;m=I+w|0;if((I^w|0)>-1&(m^w|0)<0){Ge[c>>2]=1;w=(w>>>31)+2147483647|0}else w=m;I=Ve[e+214+(F<<1)>>1]|0;m=I+w|0;if((I^w|0)>-1&(m^w|0)<0){Ge[c>>2]=1;m=(w>>>31)+2147483647|0}if((m|0)<0)m=~((m^-8)>>3);else m=m>>>3;b=m&65535;p=Ve[654+(F<<1)>>1]|0;v=7;while(1){d=e+214+((v*10|0)+F<<1)|0;m=Ct(Ve[d>>1]|0,b,c)|0;Ve[d>>1]=m;m=(Ze(p,m<<16>>16)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}Ve[d>>1]=m;h=(m&65535)-(m>>>15&1)|0;h=h<<16>>31^h;w=h&65535;if(w<<16>>16>655)w=(((h<<16>>16)+261489|0)>>>2)+655&65535;w=w<<16>>16>1310?1310:w;if(!(m&32768))m=w;else m=0-(w&65535)&65535;Ve[d>>1]=m;if((v|0)>0)v=v+-1|0;else break}if((F|0)>0)F=F+-1|0;else break}}if(Ve[Y>>1]|0){b=e+32|0;v=e+12|0;w=b;p=v;I=w+20|0;do{Xe[w>>0]=Xe[p>>0]|0;w=w+1|0;p=p+1|0}while((w|0)<(I|0));p=e+4|0;h=Ve[p>>1]|0;d=e+6|0;Ve[d>>1]=h;do{if(Ve[e+402>>1]|0){w=Ve[e>>1]|0;Ve[e>>1]=0;w=w<<16>>16<32?w:32;I=w<<16>>16;m=I<<10;if((m|0)!=(I<<26>>16|0)){Ge[c>>2]=1;m=w<<16>>16>0?32767:-32768}if(w<<16>>16>1)m=Kn(1024,m&65535)|0;else m=16384;Ve[e+2>>1]=m;Pe(i,Ve[f>>1]|0,Ge[s+60>>2]|0);hr(i,8,0,f+2|0,s,v,c);w=i;I=w+20|0;do{Xe[w>>0]=0;w=w+1|0}while((w|0)<(I|0));h=Ve[f+8>>1]|0;h=h<<16>>16==0?-32768:((h+64&65535)>127?h<<16>>16>0?32767:32768:h<<16>>16<<9)+60416&65535;Ve[p>>1]=h;if((Ve[e+412>>1]|0)!=0?(Ge[e+408>>2]|0)!=0:0)break;w=b;p=v;I=w+20|0;do{Xe[w>>0]=Xe[p>>0]|0;w=w+1|0;p=p+1|0}while((w|0)<(I|0));Ve[d>>1]=h}}while(0);w=h<<16>>16;if(h<<16>>16<0)w=~((w^-2)>>1);else w=w>>>1;w=w+56536|0;m=w<<16;if((m|0)>0)w=0;else w=(m|0)<-946077696?-14436:w&65535;Ve[n>>1]=w;Ve[n+2>>1]=w;Ve[n+4>>1]=w;Ve[n+6>>1]=w;f=((w<<16>>16)*5443|0)>>>15&65535;Ve[n+8>>1]=f;Ve[n+10>>1]=f;Ve[n+12>>1]=f;Ve[n+14>>1]=f}w=((Ve[636+(a<<1)>>1]|0)*104864|0)>>>15<<16;if((w|0)<0)w=~((w>>16^-32)>>5);else w=w>>21;a=e+394|0;Ve[a>>1]=Gn(((Ve[a>>1]|0)*29491|0)>>>15&65535,w&65535,c)|0;n=(We[e>>1]<<16)+65536|0;w=n>>16;s=e+2|0;w=(Ze(((n<<10>>26|0)==(w|0)?n>>>6:w>>>15^32767)<<16>>16,Ve[s>>1]|0)|0)>>15;if((w|0)>32767){Ge[c>>2]=1;w=32767}h=w&65535;if(h<<16>>16<=1024)if(h<<16>>16<-2048)v=-32768;else v=w<<4&65535;else v=16384;f=e+4|0;b=v<<16>>16;m=Ze(Ve[f>>1]|0,b)|0;if((m|0)==1073741824){Ge[c>>2]=1;F=2147483647}else F=m<<1;m=(Ze(Ve[e+30>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}k=m&65535;Ve[B+18>>1]=k;m=(Ze(Ve[e+28>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}Ve[B+16>>1]=m;m=(Ze(Ve[e+26>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}Ve[B+14>>1]=m;m=(Ze(Ve[e+24>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}Ve[B+12>>1]=m;m=(Ze(Ve[e+22>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}Ve[B+10>>1]=m;m=(Ze(Ve[e+20>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}Ve[B+8>>1]=m;m=(Ze(Ve[e+18>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}Ve[B+6>>1]=m;m=(Ze(Ve[e+16>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}Ve[B+4>>1]=m;m=(Ze(Ve[e+14>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}Ve[B+2>>1]=m;m=(Ze(Ve[e+12>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}Ve[B>>1]=m;n=e+6|0;b=16384-(v&65535)<<16>>16;m=Ze(Ve[n>>1]|0,b)|0;if((m|0)!=1073741824){w=(m<<1)+F|0;if((m^F|0)>0&(w^F|0)<0){Ge[c>>2]=1;L=(F>>>31)+2147483647|0}else L=w}else{Ge[c>>2]=1;L=2147483647}w=k;p=9;while(1){h=B+(p<<1)|0;m=(Ze(Ve[e+32+(p<<1)>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}w=Gn(w,m&65535,c)|0;Ve[h>>1]=w;I=w<<16>>16;m=I<<1;if((m|0)!=(I<<17>>16|0)){Ge[c>>2]=1;m=w<<16>>16>0?32767:-32768}Ve[h>>1]=m;m=p+-1|0;if((p|0)<=0)break;w=Ve[B+(m<<1)>>1]|0;p=m}F=e+374|0;m=((We[F>>1]<<16)+-161021952>>16)*9830>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}m=4096-(m&65535)|0;w=m<<16;if((w|0)>268369920)b=32767;else b=(w|0)<0?0:m<<19>>16;O=e+8|0;m=Me(O,3)|0;vt(B,P,10,c);w=C;p=P;I=w+20|0;do{Ve[w>>1]=Ve[p>>1]|0;w=w+2|0;p=p+2|0}while((w|0)<(I|0));w=(m<<16>>16)*10|0;p=9;while(1){h=C+(p<<1)|0;d=Ve[h>>1]|0;m=(Ze(Ve[e+214+(p+w<<1)>>1]|0,b)|0)>>15;if((m|0)>32767){Ge[c>>2]=1;m=32767}Ve[h>>1]=Gn(d,m&65535,c)|0;if((p|0)>0)p=p+-1|0;else break}Ot(P,205,10,c);Ot(C,205,10,c);w=i+20|0;p=P;I=w+20|0;do{Xe[w>>0]=Xe[p>>0]|0;w=w+1|0;p=p+1|0}while((w|0)<(I|0));pt(P,B,10,c);pt(C,x,10,c);ct(B,T,c);ct(x,q,c);w=u;p=T;I=w+22|0;do{Xe[w>>0]=Xe[p>>0]|0;w=w+1|0;p=p+1|0}while((w|0)<(I|0));w=u+22|0;p=T;I=w+22|0;do{Xe[w>>0]=Xe[p>>0]|0;w=w+1|0;p=p+1|0}while((w|0)<(I|0));w=u+44|0;p=T;I=w+22|0;do{Xe[w>>0]=Xe[p>>0]|0;w=w+1|0;p=p+1|0}while((w|0)<(I|0));w=u+66|0;p=T;I=w+22|0;do{Xe[w>>0]=Xe[p>>0]|0;w=w+1|0;p=p+1|0}while((w|0)<(I|0));Re(T+2|0,U,c);m=0;w=32767;do{h=Ve[U+(m<<1)>>1]|0;h=Ze(h,h)|0;if(h>>>0<1073741824)h=32767-(h>>>15)|0;else{Ge[c>>2]=1;h=0}w=(Ze(h<<16>>16,w<<16>>16)|0)>>15;if((w|0)>32767){Ge[c>>2]=1;w=32767}m=m+1|0}while((m|0)!=10);ft(w<<16>>16,z,j,c);w=(We[z>>1]<<16)+-983040|0;h=w>>16;h=It(Ct(0,Gn(((w<<12>>28|0)==(h|0)?w>>>4:h>>>15^32767)&65535,It(Ve[j>>1]|0,3,c)|0,c)|0,c)|0,1,c)|0;w=(Ve[F>>1]|0)*29491>>15;if((w|0)>32767){Ge[c>>2]=1;w=32767}m=h<<16>>16;h=m*3277>>15;if((h|0)>32767){Ge[c>>2]=1;h=32767}Ve[F>>1]=Gn(w&65535,h&65535,c)|0;h=L>>10;d=h+262144|0;if((h|0)>-1&(d^h|0)<0){Ge[c>>2]=1;d=(h>>>31)+2147483647|0}j=m<<4;h=d-j|0;if(((h^d)&(d^j)|0)<0){Ge[c>>2]=1;d=(d>>>31)+2147483647|0}else d=h;j=Ve[a>>1]<<5;h=j+d|0;if((j^d|0)>-1&(h^d|0)<0){Ge[c>>2]=1;h=(d>>>31)+2147483647|0}m=(gt(h>>>16&65535,h>>>1&32767,c)|0)<<16>>16;Ne(O,H,c);d=39;while(1){w=H+(d<<1)|0;h=(Ze(Ve[w>>1]|0,m)|0)>>15;if((h|0)>32767){Ge[c>>2]=1;h=32767}Ve[w>>1]=h;if((d|0)>0)d=d+-1|0;else break}Bt(q,H,l,40,r,1);Ne(O,H,c);d=39;while(1){w=H+(d<<1)|0;h=(Ze(Ve[w>>1]|0,m)|0)>>15;if((h|0)>32767){Ge[c>>2]=1;h=32767}Ve[w>>1]=h;if((d|0)>0)d=d+-1|0;else break}Bt(q,H,l+80|0,40,r,1);Ne(O,H,c);d=39;while(1){w=H+(d<<1)|0;h=(Ze(Ve[w>>1]|0,m)|0)>>15;if((h|0)>32767){Ge[c>>2]=1;h=32767}Ve[w>>1]=h;if((d|0)>0)d=d+-1|0;else break}Bt(q,H,l+160|0,40,r,1);Ne(O,H,c);w=39;while(1){d=H+(w<<1)|0;h=(Ze(Ve[d>>1]|0,m)|0)>>15;if((h|0)>32767){Ge[c>>2]=1;h=32767}Ve[d>>1]=h;if((w|0)>0)w=w+-1|0;else break}Bt(q,H,l+240|0,40,r,1);Ve[t+14>>1]=20;Ve[t+16>>1]=0;if((o|0)==2){h=Ve[e>>1]|0;h=h<<16>>16>32?32:h<<16>>16<1?8:h;l=h<<16>>16;d=l<<10;if((d|0)!=(l<<26>>16|0)){Ge[c>>2]=1;d=h<<16>>16>0?32767:-32768}Ve[s>>1]=Kn(1024,d&65535)|0;Ve[e>>1]=0;w=e+32|0;p=e+12|0;I=w+20|0;do{Xe[w>>0]=Xe[p>>0]|0;w=w+1|0;p=p+1|0}while((w|0)<(I|0));c=Ve[f>>1]|0;Ve[n>>1]=c;Ve[f>>1]=(c&65535)+65280}if(!(Ve[Y>>1]|0)){Ke=V;return}do{if(!(Ve[e+402>>1]|0)){if(Ve[X>>1]|0)break;Ke=V;return}}while(0);Ve[e>>1]=0;Ve[e+412>>1]=1;Ke=V;return}function pr(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0;s=Ke;Ke=Ke+16|0;a=s+2|0;f=s;Ve[f>>1]=0;o=e+212|0;t=(We[o>>1]|0)+10|0;t=(t&65535|0)==80?0:t&65535;Ve[o>>1]=t;Xt(e+52+(t<<16>>16<<1)|0,r|0,20)|0;t=0;o=159;while(1){l=Ve[i+(o<<1)>>1]|0;l=Ze(l,l)|0;l=(l|0)==1073741824?2147483647:l<<1;r=l+t|0;if((l^t|0)>-1&(r^t|0)<0){Ge[n>>2]=1;t=(t>>>31)+2147483647|0}else t=r;if((o|0)>0)o=o+-1|0;else break}ft(t,a,f,n);t=Ve[a>>1]|0;l=t<<16>>16;r=l<<10;if((r|0)!=(l<<26>>16|0)){Ge[n>>2]=1;r=t<<16>>16>0?32767:-32768}Ve[a>>1]=r;l=Ve[f>>1]|0;t=l<<16>>16;if(l<<16>>16<0)t=~((t^-32)>>5);else t=t>>>5;f=e+392|0;l=(We[f>>1]|0)+1|0;l=(l&65535|0)==8?0:l&65535;Ve[f>>1]=l;Ve[e+376+(l<<16>>16<<1)>>1]=t+57015+r;Ke=s;return}function vr(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0,f=0,s=0,l=0,u=0;s=(r|0)==4;l=(r|0)==5;u=(r|0)==6;n=Ge[e+408>>2]|0;e:do{if((r+-4|0)>>>0<3)f=4;else{if((n+-1|0)>>>0<2)switch(r|0){case 2:case 3:case 7:{f=4;break e}default:{}}Ve[e>>1]=0;a=0}}while(0);if((f|0)==4){e:do{if((n|0)==2){switch(r|0){case 2:case 4:case 6:case 7:break;default:{t=1;break e}}t=2}else t=1}while(0);a=(We[e>>1]|0)+1&65535;Ve[e>>1]=a;a=(r|0)!=5&a<<16>>16>50?2:t}o=e+398|0;if(l&(Ve[e+412>>1]|0)==0){Ve[o>>1]=0;t=0}else t=Ve[o>>1]|0;t=Gn(t,1,i)|0;Ve[o>>1]=t;i=e+404|0;Ve[i>>1]=0;e:do{switch(r|0){case 2:case 4:case 5:case 6:case 7:{if(!((r|0)==7&(a|0)==0)){if(t<<16>>16>30){Ve[i>>1]=1;Ve[o>>1]=0;Ve[e+396>>1]=0;break e}t=e+396|0;n=Ve[t>>1]|0;if(!(n<<16>>16)){Ve[o>>1]=0;break e}else{Ve[t>>1]=(n&65535)+65535;break e}}else f=14;break}default:f=14}}while(0);if((f|0)==14)Ve[e+396>>1]=7;if(!a)return a|0;t=e+400|0;Ve[t>>1]=0;n=e+402|0;Ve[n>>1]=0;if(s){Ve[t>>1]=1;return a|0}if(l){Ve[t>>1]=1;Ve[n>>1]=1;return a|0}if(!u)return a|0;Ve[t>>1]=1;Ve[i>>1]=0;return a|0}function xe(e){e=e|0;if(!e){e=-1;return e|0}Ve[e>>1]=1;Ve[e+2>>1]=1;Ve[e+4>>1]=1;Ve[e+6>>1]=1;Ve[e+8>>1]=1;Ve[e+10>>1]=0;Ve[e+12>>1]=1;e=0;return e|0}function br(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0;s=Ke;Ke=Ke+16|0;f=s+2|0;a=s;o=rt(e,5)|0;e=e+10|0;if((Ct(o,Ve[e>>1]|0,t)|0)<<16>>16>0)o=Ve[e>>1]|0;o=(Ze(Ve[674+(i<<16>>16<<1)>>1]|0,o<<16>>16)|0)>>15;if((o|0)>32767){Ge[t>>2]=1;o=32767}Ve[n>>1]=o;$n(r,f,a,t);Jn(r,Ve[f>>1]|0,Ve[a>>1]|0);Ke=s;return}function kr(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;if(!(r<<16>>16)){if(i<<16>>16){r=e+12|0;if((Ct(Ve[n>>1]|0,Ve[r>>1]|0,t)|0)<<16>>16>0)Ve[n>>1]=Ve[r>>1]|0}else r=e+12|0;Ve[r>>1]=Ve[n>>1]|0}Ve[e+10>>1]=Ve[n>>1]|0;t=e+2|0;Ve[e>>1]=Ve[t>>1]|0;i=e+4|0;Ve[t>>1]=Ve[i>>1]|0;t=e+6|0;Ve[i>>1]=Ve[t>>1]|0;e=e+8|0;Ve[t>>1]=Ve[e>>1]|0;Ve[e>>1]=Ve[n>>1]|0;return}function Er(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0;t=rt(e,5)|0;e=e+10|0;if((Ct(t,Ve[e>>1]|0,n)|0)<<16>>16>0)t=Ve[e>>1]|0;t=(Ze(Ve[688+(r<<16>>16<<1)>>1]|0,t<<16>>16)|0)>>15;if((t|0)<=32767){n=t;n=n&65535;Ve[i>>1]=n;return}Ge[n>>2]=1;n=32767;n=n&65535;Ve[i>>1]=n;return}function Ue(e){e=e|0;if(!e){e=-1;return e|0}Ve[e>>1]=1640;Ve[e+2>>1]=1640;Ve[e+4>>1]=1640;Ve[e+6>>1]=1640;Ve[e+8>>1]=1640;Ve[e+10>>1]=0;Ve[e+12>>1]=16384;e=0;return e|0}function gr(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;if(!(r<<16>>16)){if(i<<16>>16){r=e+12|0;if((Ct(Ve[n>>1]|0,Ve[r>>1]|0,t)|0)<<16>>16>0)Ve[n>>1]=Ve[r>>1]|0}else r=e+12|0;Ve[r>>1]=Ve[n>>1]|0}n=Ve[n>>1]|0;r=e+10|0;Ve[r>>1]=n;if((Ct(n,16384,t)|0)<<16>>16>0){Ve[r>>1]=16384;r=16384}else r=Ve[r>>1]|0;t=e+2|0;Ve[e>>1]=Ve[t>>1]|0;n=e+4|0;Ve[t>>1]=Ve[n>>1]|0;t=e+6|0;Ve[n>>1]=Ve[t>>1]|0;e=e+8|0;Ve[t>>1]=Ve[e>>1]|0;Ve[e>>1]=r;return}function yr(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0;s=rt(i,9)|0;l=Ve[i+16>>1]|0;f=l<<16>>16;i=(f+(Ve[i+14>>1]|0)|0)>>>1;i=(f|0)<(i<<16>>16|0)?l:i&65535;if(!(r<<16>>16>5?s<<16>>16>r<<16>>16:0))return 0;f=i<<16>>16;f=((f<<18>>18|0)==(f|0)?f<<2:f>>>15^32767)&65535;if(!(n<<16>>16>6&t<<16>>16==0))f=Ct(f,i,a)|0;s=s<<16>>16>f<<16>>16?f:s;l=Et(r)|0;f=l<<16>>16;if(l<<16>>16<0){i=0-f<<16;if((i|0)<983040)f=r<<16>>16>>(i>>16)&65535;else f=0}else{i=r<<16>>16;t=i<>16>>f|0)==(i|0))f=t&65535;else f=(i>>>15^32767)&65535}n=Ze((Kn(16383,f)|0)<<16>>16,s<<16>>16)|0;if((n|0)==1073741824){Ge[a>>2]=1;t=2147483647}else t=n<<1;n=Ct(20,l,a)|0;f=n<<16>>16;if(n<<16>>16>0)n=n<<16>>16<31?t>>f:0;else{r=0-f<<16>>16;n=t<>r|0)==(t|0)?n:t>>31^2147483647}n=(n|0)>32767?32767:n&65535;n=o<<16>>16!=0&n<<16>>16>3072?3072:n<<16>>16;i=0;do{t=e+(i<<1)|0;f=Ze(Ve[t>>1]|0,n)|0;if((f|0)==1073741824){Ge[a>>2]=1;f=2147483647}else f=f<<1;Ve[t>>1]=f>>>11;i=i+1|0}while((i|0)!=40);return 0}function ze(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0;t=Ge[n+104>>2]|0;o=Ge[n+96>>2]|0;if(e>>>0>=8){Ve[i>>1]=(s[r>>0]|0)>>>4&1;Ve[i+2>>1]=(s[r>>0]|0)>>>5&1;Ve[i+4>>1]=(s[r>>0]|0)>>>6&1;Ve[i+6>>1]=(s[r>>0]|0)>>>7&255;t=t+(e<<1)|0;if((Ve[t>>1]|0)>1){e=1;n=1;o=4}else return;while(1){a=r+e|0;e=o|1;Ve[i+(o<<16>>16<<1)>>1]=s[a>>0]&1;Ve[i+(e<<16>>16<<1)>>1]=(s[a>>0]|0)>>>1&1;f=o|3;Ve[i+(e+1<<16>>16<<16>>16<<1)>>1]=(s[a>>0]|0)>>>2&1;Ve[i+(f<<16>>16<<1)>>1]=(s[a>>0]|0)>>>3&1;Ve[i+(f+1<<16>>16<<16>>16<<1)>>1]=(s[a>>0]|0)>>>4&1;Ve[i+(f+2<<16>>16<<16>>16<<1)>>1]=(s[a>>0]|0)>>>5&1;Ve[i+(f+3<<16>>16<<16>>16<<1)>>1]=(s[a>>0]|0)>>>6&1;Ve[i+(f+4<<16>>16<<16>>16<<1)>>1]=(s[a>>0]|0)>>>7&255;n=n+1<<16>>16;if(n<<16>>16<(Ve[t>>1]|0)){e=n<<16>>16;o=o+8<<16>>16}else break}return}f=Ge[(Ge[n+100>>2]|0)+(e<<2)>>2]|0;Ve[i+(Ve[f>>1]<<1)>>1]=(s[r>>0]|0)>>>4&1;Ve[i+(Ve[f+2>>1]<<1)>>1]=(s[r>>0]|0)>>>5&1;Ve[i+(Ve[f+4>>1]<<1)>>1]=(s[r>>0]|0)>>>6&1;Ve[i+(Ve[f+6>>1]<<1)>>1]=(s[r>>0]|0)>>>7&255;a=t+(e<<1)|0;if((Ve[a>>1]|0)<=1)return;n=o+(e<<1)|0;t=1;e=1;o=4;while(1){t=r+t|0;o=o<<16>>16;if((o|0)<(Ve[n>>1]|0)){Ve[i+(Ve[f+(o<<1)>>1]<<1)>>1]=s[t>>0]&1;o=o+1|0;if((o|0)<(Ve[n>>1]|0)){Ve[i+(Ve[f+(o<<1)>>1]<<1)>>1]=(s[t>>0]|0)>>>1&1;o=o+1|0;if((o|0)<(Ve[n>>1]|0)){Ve[i+(Ve[f+(o<<1)>>1]<<1)>>1]=(s[t>>0]|0)>>>2&1;o=o+1|0;if((o|0)<(Ve[n>>1]|0)){Ve[i+(Ve[f+(o<<1)>>1]<<1)>>1]=(s[t>>0]|0)>>>3&1;o=o+1|0;if((o|0)<(Ve[n>>1]|0)){Ve[i+(Ve[f+(o<<1)>>1]<<1)>>1]=(s[t>>0]|0)>>>4&1;o=o+1|0;if((o|0)<(Ve[n>>1]|0)){Ve[i+(Ve[f+(o<<1)>>1]<<1)>>1]=(s[t>>0]|0)>>>5&1;o=o+1|0;if((o|0)<(Ve[n>>1]|0)){Ve[i+(Ve[f+(o<<1)>>1]<<1)>>1]=(s[t>>0]|0)>>>6&1;o=o+1|0;if((o|0)<(Ve[n>>1]|0)){Ve[i+(Ve[f+(o<<1)>>1]<<1)>>1]=(s[t>>0]|0)>>>7&1;o=o+1|0}}}}}}}}e=e+1<<16>>16;if(e<<16>>16<(Ve[a>>1]|0))t=e<<16>>16;else break}return}function _r(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0;switch(i<<16>>16){case 0:{s=9;while(1){f=Ve[e+(s<<1)>>1]|0;i=f<<16>>16;if(f<<16>>16<0)i=~((i^-4)>>2);else i=i>>>2;a=Ve[r+(s<<1)>>1]|0;o=a<<16>>16;if(a<<16>>16<0)a=~((o^-4)>>2);else a=o>>>2;Ve[n+(s<<1)>>1]=Gn((f&65535)-i&65535,a&65535,t)|0;if((s|0)>0)s=s+-1|0;else break}return}case 40:{a=9;while(1){t=Ve[e+(a<<1)>>1]|0;i=t<<16>>16;if(t<<16>>16<0)o=~((i^-2)>>1);else o=i>>>1;t=Ve[r+(a<<1)>>1]|0;i=t<<16>>16;if(t<<16>>16<0)i=~((i^-2)>>1);else i=i>>>1;Ve[n+(a<<1)>>1]=i+o;if((a|0)>0)a=a+-1|0;else break}return}case 80:{s=9;while(1){f=Ve[e+(s<<1)>>1]|0;i=f<<16>>16;if(f<<16>>16<0)f=~((i^-4)>>2);else f=i>>>2;i=Ve[r+(s<<1)>>1]|0;o=i<<16>>16;if(i<<16>>16<0)a=~((o^-4)>>2);else a=o>>>2;Ve[n+(s<<1)>>1]=Gn(f&65535,(i&65535)-a&65535,t)|0;if((s|0)>0)s=s+-1|0;else break}return}case 120:{Ve[n+18>>1]=Ve[r+18>>1]|0;Ve[n+16>>1]=Ve[r+16>>1]|0;Ve[n+14>>1]=Ve[r+14>>1]|0;Ve[n+12>>1]=Ve[r+12>>1]|0;Ve[n+10>>1]=Ve[r+10>>1]|0;Ve[n+8>>1]=Ve[r+8>>1]|0;Ve[n+6>>1]=Ve[r+6>>1]|0;Ve[n+4>>1]=Ve[r+4>>1]|0;Ve[n+2>>1]=Ve[r+2>>1]|0;Ve[n>>1]=Ve[r>>1]|0;return}default:return}}function je(e,r){e=e|0;r=r|0;if(!e){e=-1;return e|0}Xt(e|0,r|0,20)|0;e=0;return e|0}function Ar(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0,f=0,s=0,l=0;l=0;do{s=e+(l<<1)|0;n=Ve[s>>1]|0;a=n&65535;f=a<<16;n=n<<16>>16;if((n*5243|0)==1073741824){Ge[i>>2]=1;o=2147483647}else o=n*10486|0;t=f-o|0;if(((t^f)&(o^f)|0)<0){Ge[i>>2]=1;o=(a>>>15)+2147483647|0}else o=t;n=Ve[r+(l<<1)>>1]|0;t=n*5243|0;if((t|0)!=1073741824){n=(n*10486|0)+o|0;if((t^o|0)>0&(n^o|0)<0){Ge[i>>2]=1;n=(o>>>31)+2147483647|0}}else{Ge[i>>2]=1;n=2147483647}Ve[s>>1]=Ft(n,i)|0;l=l+1|0}while((l|0)!=10);return}function qe(e){e=e|0;var r=0;if(!e){r=-1;return r|0}r=e+18|0;do{Ve[e>>1]=0;e=e+2|0}while((e|0)<(r|0));r=0;return r|0}function Dr(e){e=e|0;Ve[e+14>>1]=1;return}function Sr(e){e=e|0;Ve[e+14>>1]=0;return}function Rr(e,r,i,n,t,o,a,f,s,l){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;var u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0;D=Ke;Ke=Ke+160|0;y=D+80|0;_=D;b=Ge[s+120>>2]|0;k=Ge[s+124>>2]|0;E=Ge[s+128>>2]|0;v=Ge[s+132>>2]|0;c=e+6|0;p=e+8|0;Ve[p>>1]=Ve[c>>1]|0;w=e+4|0;Ve[c>>1]=Ve[w>>1]|0;m=e+2|0;Ve[w>>1]=Ve[m>>1]|0;Ve[m>>1]=Ve[e>>1]|0;Ve[e>>1]=t;s=t<<16>>16<14746?t<<16>>16>9830&1:2;u=e+12|0;t=Ve[u>>1]|0;d=t<<15;do{if((d|0)<=536870911)if((d|0)<-536870912){Ge[l>>2]=1;t=-2147483648;break}else{t=t<<17;break}else{Ge[l>>2]=1;t=2147483647}}while(0);g=n<<16>>16;h=e+16|0;if((Ft(t,l)|0)<<16>>16>=n<<16>>16){d=Ve[h>>1]|0;if(d<<16>>16>0){d=(d&65535)+65535&65535;Ve[h>>1]=d}if(!(d<<16>>16)){t=(Ve[e>>1]|0)<9830;t=(Ve[m>>1]|0)<9830?t?2:1:t&1;if((Ve[w>>1]|0)<9830)t=(t&65535)+1&65535;if((Ve[c>>1]|0)<9830)t=(t&65535)+1&65535;if((Ve[p>>1]|0)<9830)t=(t&65535)+1&65535;d=0;s=t<<16>>16>2?0:s}}else{Ve[h>>1]=2;d=2}m=s<<16>>16;p=e+10|0;m=(d<<16>>16==0?(m|0)>((Ve[p>>1]|0)+1|0):0)?m+65535&65535:s;e=(Ve[e+14>>1]|0)==1?0:n<<16>>16<10?2:m<<16>>16<2&d<<16>>16>0?(m&65535)+1&65535:m;Ve[p>>1]=e;Ve[u>>1]=n;switch(r|0){case 4:case 6:case 7:break;default:if(e<<16>>16<2){d=0;s=0;c=o;u=y;while(1){if(!(Ve[c>>1]|0))t=0;else{s=s<<16>>16;Ve[_+(s<<1)>>1]=d;t=Ve[c>>1]|0;s=s+1&65535}Ve[u>>1]=t;Ve[c>>1]=0;d=d+1<<16>>16;if(d<<16>>16>=40){p=s;break}else{c=c+2|0;u=u+2|0}}m=e<<16>>16==0;m=(r|0)==5?m?b:k:m?E:v;if(p<<16>>16>0){w=0;do{h=Ve[_+(w<<1)>>1]|0;s=h<<16>>16;e=Ve[y+(s<<1)>>1]|0;if(h<<16>>16<40){d=e<<16>>16;c=39-h&65535;u=h;s=o+(s<<1)|0;t=m;while(1){r=(Ze(Ve[t>>1]|0,d)|0)>>>15&65535;Ve[s>>1]=Gn(Ve[s>>1]|0,r,l)|0;u=u+1<<16>>16;if(u<<16>>16>=40)break;else{s=s+2|0;t=t+2|0}}if(h<<16>>16>0){s=m+(c+1<<1)|0;A=36}}else{s=m;A=36}if((A|0)==36){A=0;t=e<<16>>16;d=0;c=o;while(1){r=(Ze(Ve[s>>1]|0,t)|0)>>>15&65535;Ve[c>>1]=Gn(Ve[c>>1]|0,r,l)|0;d=d+1<<16>>16;if(d<<16>>16>=h<<16>>16)break;else{c=c+2|0;s=s+2|0}}}w=w+1|0}while((w&65535)<<16>>16!=p<<16>>16)}}}w=a<<16>>16;m=g<<1;t=f<<16>>16;u=0-t<<16;s=u>>16;if(f<<16>>16>0){d=0;c=i;while(1){e=Ze(Ve[i+(d<<1)>>1]|0,w)|0;if((e|0)==1073741824){Ge[l>>2]=1;u=2147483647}else u=e<<1;f=Ze(m,Ve[o>>1]|0)|0;e=f+u|0;if((f^u|0)>-1&(e^u|0)<0){Ge[l>>2]=1;e=(u>>>31)+2147483647|0}f=e<>1]=Ft((f>>t|0)==(e|0)?f:e>>31^2147483647,l)|0;d=d+1|0;if((d|0)==40)break;else{o=o+2|0;c=c+2|0}}Ke=D;return}if((u|0)<2031616){d=0;c=i;while(1){e=Ze(Ve[i+(d<<1)>>1]|0,w)|0;if((e|0)==1073741824){Ge[l>>2]=1;u=2147483647}else u=e<<1;f=Ze(m,Ve[o>>1]|0)|0;e=f+u|0;if((f^u|0)>-1&(e^u|0)<0){Ge[l>>2]=1;e=(u>>>31)+2147483647|0}Ve[c>>1]=Ft(e>>s,l)|0;d=d+1|0;if((d|0)==40)break;else{o=o+2|0;c=c+2|0}}Ke=D;return}else{c=0;u=i;while(1){e=Ze(Ve[i+(c<<1)>>1]|0,w)|0;if((e|0)==1073741824){Ge[l>>2]=1;e=2147483647}else e=e<<1;f=Ze(m,Ve[o>>1]|0)|0;if((f^e|0)>-1&(f+e^e|0)<0)Ge[l>>2]=1;Ve[u>>1]=Ft(0,l)|0;c=c+1|0;if((c|0)==40)break;else{o=o+2|0;u=u+2|0}}Ke=D;return}}function He(e){e=e|0;if(!e){e=-1;return e|0}Ve[e>>1]=0;Ve[e+2>>1]=0;Ve[e+4>>1]=0;Ve[e+6>>1]=0;Ve[e+8>>1]=0;Ve[e+10>>1]=0;e=0;return e|0}function Ye(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0;if(i<<16>>16<=0)return;t=e+10|0;s=e+8|0;u=e+4|0;c=e+6|0;d=e+2|0;o=Ve[u>>1]|0;a=Ve[c>>1]|0;f=Ve[e>>1]|0;l=Ve[d>>1]|0;h=0;while(1){w=Ve[t>>1]|0;m=Ve[s>>1]|0;Ve[t>>1]=m;p=Ve[r>>1]|0;Ve[s>>1]=p;w=((p<<16>>16)*7699|0)+((Ze(f<<16>>16,-7667)|0)+(((o<<16>>16)*15836|0)+((a<<16>>16)*15836>>15))+((Ze(l<<16>>16,-7667)|0)>>15))+(Ze(m<<16>>16,-15398)|0)+((w<<16>>16)*7699|0)|0;m=w<<3;w=(m>>3|0)==(w|0)?m:w>>31^2147483647;m=w<<1;Ve[r>>1]=Ft((m>>1|0)==(w|0)?m:w>>31^2147483647,n)|0;f=Ve[u>>1]|0;Ve[e>>1]=f;l=Ve[c>>1]|0;Ve[d>>1]=l;o=w>>>16&65535;Ve[u>>1]=o;a=(w>>>1)-(w>>16<<15)&65535;Ve[c>>1]=a;h=h+1<<16>>16;if(h<<16>>16>=i<<16>>16)break;else r=r+2|0}return}function Mr(e){e=e|0;if(!e)e=-1;else{Ve[e>>1]=0;e=0}return e|0}function Nr(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0;f=n<<16>>16;o=r+(f+-1<<1)|0;f=f+-2|0;s=Ve[o>>1]|0;if(n<<16>>16<2)n=i<<16>>16;else{n=i<<16>>16;a=0;r=r+(f<<1)|0;while(1){i=(Ze(Ve[r>>1]|0,n)|0)>>15;if((i|0)>32767){Ge[t>>2]=1;i=32767}Ve[o>>1]=Ct(Ve[o>>1]|0,i&65535,t)|0;o=o+-2|0;a=a+1<<16>>16;if((a<<16>>16|0)>(f|0))break;else r=r+-2|0}}n=(Ze(Ve[e>>1]|0,n)|0)>>15;if((n|0)<=32767){f=n;f=f&65535;a=Ve[o>>1]|0;t=Ct(a,f,t)|0;Ve[o>>1]=t;Ve[e>>1]=s;return}Ge[t>>2]=1;f=32767;f=f&65535;a=Ve[o>>1]|0;t=Ct(a,f,t)|0;Ve[o>>1]=t;Ve[e>>1]=s;return}function Or(e){e=e|0;var r=0,i=0,n=0;if(!e){n=-1;return n|0}Vt(e+104|0,0,340)|0;r=e+102|0;i=e;n=i+100|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(n|0));Ae(r)|0;Mr(e+100|0)|0;n=0;return n|0}function Lr(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0;b=Ke;Ke=Ke+96|0;w=b+22|0;m=b;p=b+44|0;Xt(e+124|0,i|0,320)|0;u=p+22|0;c=e+100|0;d=e+80|0;h=e+102|0;if((r&-2|0)==6){l=0;while(1){xt(n,702,w);xt(n,722,m);s=e+104+(l+10<<1)|0;Lt(w,s,e,40);a=p;o=w;r=a+22|0;do{Ve[a>>1]=Ve[o>>1]|0;a=a+2|0;o=o+2|0}while((a|0)<(r|0));a=u;r=a+22|0;do{Ve[a>>1]=0;a=a+2|0}while((a|0)<(r|0));Bt(m,p,p,22,u,0);r=0;a=21;do{o=Ve[p+(a<<16>>16<<1)>>1]|0;o=Ze(o,o)|0;if((o|0)==1073741824){v=7;break}f=o<<1;o=f+r|0;if((f^r|0)>-1&(o^r|0)<0){Ge[t>>2]=1;r=(r>>>31)+2147483647|0}else r=o;a=a+-1<<16>>16}while(a<<16>>16>-1);if((v|0)==7){v=0;Ge[t>>2]=1}f=r>>>16&65535;o=20;r=0;a=20;while(1){o=Ze(Ve[p+(o+1<<1)>>1]|0,Ve[p+(o<<1)>>1]|0)|0;if((o|0)==1073741824){v=13;break}k=o<<1;o=k+r|0;if((k^r|0)>-1&(o^r|0)<0){Ge[t>>2]=1;r=(r>>>31)+2147483647|0}else r=o;o=(a&65535)+-1<<16>>16;if(o<<16>>16>-1){o=o<<16>>16;a=a+-1|0}else break}if((v|0)==13){v=0;Ge[t>>2]=1}r=r>>16;if((r|0)<1)r=0;else r=Kn((r*26214|0)>>>15&65535,f)|0;Nr(c,e,r,40,t);r=i+(l<<1)|0;Bt(m,e,r,40,d,1);De(h,s,r,29491,40,t);r=(l<<16)+2621440|0;if((r|0)<10485760){l=r>>16;n=n+22|0}else break}a=e+104|0;o=e+424|0;r=a+20|0;do{Xe[a>>0]=Xe[o>>0]|0;a=a+1|0;o=o+1|0}while((a|0)<(r|0));Ke=b;return}else{l=0;while(1){xt(n,742,w);xt(n,762,m);s=e+104+(l+10<<1)|0;Lt(w,s,e,40);a=p;o=w;r=a+22|0;do{Ve[a>>1]=Ve[o>>1]|0;a=a+2|0;o=o+2|0}while((a|0)<(r|0));a=u;r=a+22|0;do{Ve[a>>1]=0;a=a+2|0}while((a|0)<(r|0));Bt(m,p,p,22,u,0);r=0;a=21;do{o=Ve[p+(a<<16>>16<<1)>>1]|0;o=Ze(o,o)|0;if((o|0)==1073741824){v=22;break}k=o<<1;o=k+r|0;if((k^r|0)>-1&(o^r|0)<0){Ge[t>>2]=1;r=(r>>>31)+2147483647|0}else r=o;a=a+-1<<16>>16}while(a<<16>>16>-1);if((v|0)==22){v=0;Ge[t>>2]=1}f=r>>>16&65535;o=20;r=0;a=20;while(1){o=Ze(Ve[p+(o+1<<1)>>1]|0,Ve[p+(o<<1)>>1]|0)|0;if((o|0)==1073741824){v=28;break}k=o<<1;o=k+r|0;if((k^r|0)>-1&(o^r|0)<0){Ge[t>>2]=1;r=(r>>>31)+2147483647|0}else r=o;o=(a&65535)+-1<<16>>16;if(o<<16>>16>-1){o=o<<16>>16;a=a+-1|0}else break}if((v|0)==28){v=0;Ge[t>>2]=1}r=r>>16;if((r|0)<1)r=0;else r=Kn((r*26214|0)>>>15&65535,f)|0;Nr(c,e,r,40,t);r=i+(l<<1)|0;Bt(m,e,r,40,d,1);De(h,s,r,29491,40,t);r=(l<<16)+2621440|0;if((r|0)<10485760){l=r>>16;n=n+22|0}else break}a=e+104|0;o=e+424|0;r=a+20|0;do{Xe[a>>0]=Xe[o>>0]|0;a=a+1|0;o=o+1|0}while((a|0)<(r|0));Ke=b;return}}function Fr(e,r){e=e|0;r=r|0;var i=0,n=0;if(!e){e=-1;return e|0}Ge[e>>2]=0;i=Ut(1764)|0;if(!i){e=-1;return e|0}if((Ie(i)|0)<<16>>16==0?(n=i+1748|0,(He(n)|0)<<16>>16==0):0){fr(i,0)|0;Or(i+1304|0)|0;He(n)|0;Ge[i+1760>>2]=0;Ge[e>>2]=i;e=0;return e|0}r=Ge[i>>2]|0;if(!r){e=-1;return e|0}zt(r);Ge[i>>2]=0;e=-1;return e|0}function Ir(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zt(r);Ge[e>>2]=0;return}function Tr(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0;v=Ke;Ke=Ke+208|0;p=v+88|0;m=v;w=e+1164|0;o=Ge[e+1256>>2]|0;if((n+-5|0)>>>0<2){h=o+16|0;if((Ve[h>>1]|0)>0){d=Ge[(Ge[e+1260>>2]|0)+32>>2]|0;c=0;o=0;while(1){u=d+(c<<1)|0;s=Ve[u>>1]|0;if(s<<16>>16>0){f=i;l=0;a=0;while(1){a=We[f>>1]|a<<1&131070;l=l+1<<16>>16;if(l<<16>>16>=s<<16>>16)break;else f=f+2|0}a=a&65535}else a=0;Ve[p+(c<<1)>>1]=a;o=o+1<<16>>16;if(o<<16>>16<(Ve[h>>1]|0)){i=i+(Ve[u>>1]<<1)|0;c=o<<16>>16}else break}}}else{d=o+(r<<1)|0;if((Ve[d>>1]|0)>0){h=Ge[(Ge[e+1260>>2]|0)+(r<<2)>>2]|0;u=0;o=0;while(1){c=h+(u<<1)|0;s=Ve[c>>1]|0;if(s<<16>>16>0){f=i;l=0;a=0;while(1){a=We[f>>1]|a<<1&131070;l=l+1<<16>>16;if(l<<16>>16>=s<<16>>16)break;else f=f+2|0}a=a&65535}else a=0;Ve[p+(u<<1)>>1]=a;o=o+1<<16>>16;if(o<<16>>16<(Ve[d>>1]|0)){i=i+(Ve[c>>1]<<1)|0;u=o<<16>>16}else break}}}Te(e,r,p,n,t,m);Lr(e+1304|0,r,t,m,w);Ye(e+1748|0,t,160,w);o=0;do{e=t+(o<<1)|0;Ve[e>>1]=We[e>>1]&65528;o=o+1|0}while((o|0)!=160);Ke=v;return}function Pr(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0;o=Ge[n+100>>2]|0;a=(We[(Ge[n+96>>2]|0)+(e<<1)>>1]|0)+65535|0;n=a&65535;t=n<<16>>16>-1;if(e>>>0<8){if(!t)return;o=Ge[o+(e<<2)>>2]|0;t=a<<16>>16;while(1){Ve[i+(Ve[o+(t<<1)>>1]<<1)>>1]=(s[r+(t>>3)>>0]|0)>>>(t&7^7)&1;n=n+-1<<16>>16;if(n<<16>>16>-1)t=n<<16>>16;else break}return}else{if(!t)return;t=a<<16>>16;while(1){Ve[i+(t<<1)>>1]=(s[r+(t>>3)>>0]|0)>>>(t&7^7)&1;n=n+-1<<16>>16;if(n<<16>>16>-1)t=n<<16>>16;else break}return}}function Cr(e,r,i){e=e|0;r=r|0;i=i|0;e=Dn(e,i,31764)|0;return((yn(r)|0|e)<<16>>16!=0)<<31>>31|0}function Br(e,r){e=e|0;r=r|0;Sn(e);_n(r);return}function xr(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0,c=0;c=Ke;Ke=Ke+512|0;f=c+8|0;s=c+4|0;l=c;Ge[l>>2]=0;u=a<<16>>16==3;if(!((a&65535)<2|u&1)){if(a<<16>>16!=2){t=-1;Ke=c;return t|0}Rn(e,i,n,f+2|0,l);e=Ge[l>>2]|0;Ge[o>>2]=e;An(r,e,s);r=Ge[s>>2]|0;Ve[f>>1]=r;Ve[f+490>>1]=(r|0)==3?-1:i&65535;Xe[t>>0]=r;r=1;do{f=f+1|0;Xe[t+r>>0]=Xe[f>>0]|0;r=r+1|0}while((r|0)!=492);f=492;Ke=c;return f|0}Rn(e,i,n,f,l);An(r,Ge[l>>2]|0,s);n=Ge[s>>2]|0;if((n|0)!=3){r=Ge[l>>2]|0;Ge[o>>2]=r;if((r|0)==8){switch(n|0){case 1:{Ve[f+70>>1]=0;break}case 2:{l=f+70|0;Ve[l>>1]=We[l>>1]|0|1;break}default:{}}Ve[f+72>>1]=i&1;Ve[f+74>>1]=i>>>1&1;Ve[f+76>>1]=i>>>2&1;r=8}}else{Ge[o>>2]=15;r=15}if(u){yi(r,f,t,(Ge[e+4>>2]|0)+2392|0);t=Ve[3404+(Ge[o>>2]<<16>>16<<1)>>1]|0;Ke=c;return t|0}switch(a<<16>>16){case 0:{gi(r,f,t,(Ge[e+4>>2]|0)+2392|0);t=Ve[3404+(Ge[o>>2]<<16>>16<<1)>>1]|0;Ke=c;return t|0}case 1:{Ei(r,f,t,(Ge[e+4>>2]|0)+2392|0);t=Ve[3436+(Ge[o>>2]<<16>>16<<1)>>1]|0;Ke=c;return t|0}default:{t=-1;Ke=c;return t|0}}return 0}function Ur(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0;y=Ke;Ke=Ke+480|0;g=y;o=240;l=t;s=e;f=g;a=0;while(1){E=((Ze(Ve[l>>1]|0,Ve[s>>1]|0)|0)+16384|0)>>>15;Ve[f>>1]=E;E=E<<16;a=(Ze(E>>15,E>>16)|0)+a|0;if((a|0)<0){u=4;break}o=o+-1|0;if(!((o&65535)<<16>>16)){o=0;break}else{l=l+2|0;s=s+2|0;f=f+2|0}}if((u|0)==4){a=o&65535;f=240-o|0;if(!(a<<16>>16))o=0;else{l=a;s=t+(f<<1)|0;o=e+(f<<1)|0;a=g+(f<<1)|0;while(1){Ve[a>>1]=((Ze(Ve[s>>1]|0,Ve[o>>1]|0)|0)+16384|0)>>>15;l=l+-1<<16>>16;if(!(l<<16>>16)){o=0;break}else{s=s+2|0;o=o+2|0;a=a+2|0}}}do{s=o&65535;o=120;f=g;a=0;while(1){E=(Ve[f>>1]|0)>>>2;b=f+2|0;Ve[f>>1]=E;E=E<<16>>16;E=Ze(E,E)|0;k=(Ve[b>>1]|0)>>>2;Ve[b>>1]=k;k=k<<16>>16;a=((Ze(k,k)|0)+E<<1)+a|0;o=o+-1<<16>>16;if(!(o<<16>>16))break;else f=f+4|0}o=s+4|0}while((a|0)<1)}E=a+1|0;k=(kt(E)|0)<<16>>16;E=E<>1]=E>>>16;Ve[n>>1]=(E>>>1)-(E>>16<<15);E=g+478|0;l=r<<16>>16;if(r<<16>>16<=0){g=k-o|0;g=g&65535;Ke=y;return g|0}m=g+476|0;p=k+1|0;v=239-l|0;b=g+(236-l<<1)|0;r=l;i=i+(l<<1)|0;n=n+(l<<1)|0;while(1){u=Ze((v>>>1)+65535&65535,-2)|0;s=g+(u+236<<1)|0;u=b+(u<<1)|0;t=240-r|0;w=t+-1|0;f=g+(w<<1)|0;e=w>>>1&65535;t=g+(t+-2<<1)|0;l=Ze(Ve[E>>1]|0,Ve[f>>1]|0)|0;if(!(e<<16>>16)){u=t;s=m}else{h=m;d=E;while(1){a=f+-4|0;c=d+-4|0;l=(Ze(Ve[h>>1]|0,Ve[t>>1]|0)|0)+l|0;e=e+-1<<16>>16;l=(Ze(Ve[c>>1]|0,Ve[a>>1]|0)|0)+l|0;if(!(e<<16>>16))break;else{t=f+-6|0;h=d+-6|0;f=a;d=c}}}if(w&1)l=(Ze(Ve[s>>1]|0,Ve[u>>1]|0)|0)+l|0;w=l<>1]=w>>>16;Ve[n>>1]=(w>>>1)-(w>>16<<15);if((r&65535)+-1<<16>>16<<16>>16>0){v=v+1|0;b=b+2|0;r=r+-1|0;i=i+-2|0;n=n+-2|0}else break}g=k-o|0;g=g&65535;Ke=y;return g|0}function zr(e,r,i,n,t,o,a,f){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;var s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0;R=Ke;Ke=Ke+3440|0;S=R+3420|0;y=R+3400|0;_=R+3224|0;D=R;E=R+3320|0;A=R+3240|0;g=R+24|0;ui(i,e,E,2,f);gn(E,r,A,_,5,y,5,f);si(i,A,g,f);kn(10,5,5,E,g,y,_,D,f);r=n;f=r+80|0;do{Ve[r>>1]=0;r=r+2|0}while((r|0)<(f|0));Ve[o>>1]=65535;Ve[o+2>>1]=65535;Ve[o+4>>1]=65535;Ve[o+6>>1]=65535;Ve[o+8>>1]=65535;d=0;h=D;w=S;do{e=Ve[h>>1]|0;h=h+2|0;s=(e*6554|0)>>>15;l=s<<16>>16;r=n+(e<<1)|0;f=Ve[r>>1]|0;if((Ve[A+(e<<1)>>1]|0)>0){Ve[r>>1]=f+4096;Ve[w>>1]=8192;u=s}else{Ve[r>>1]=f+61440;Ve[w>>1]=-8192;u=l+8|0}w=w+2|0;c=u&65535;r=e-(s<<2)-l<<16>>16;s=o+(r<<1)|0;f=Ve[s>>1]|0;e=f<<16>>16;do{if(f<<16>>16>=0){l=u<<16>>16;if(!((l^e)&8)){r=o+(r+5<<1)|0;if((e|0)>(l|0)){Ve[r>>1]=f;Ve[s>>1]=c;break}else{Ve[r>>1]=c;break}}else{r=o+(r+5<<1)|0;if((e&7)>>>0>(l&7)>>>0){Ve[r>>1]=c;break}else{Ve[r>>1]=f;Ve[s>>1]=c;break}}}else Ve[s>>1]=c}while(0);d=d+1<<16>>16}while(d<<16>>16<10);w=S+2|0;d=S+4|0;u=S+6|0;l=S+8|0;s=S+10|0;r=S+12|0;f=S+14|0;e=S+16|0;m=S+18|0;p=40;v=i+(0-(Ve[D>>1]|0)<<1)|0;b=i+(0-(Ve[D+2>>1]|0)<<1)|0;k=i+(0-(Ve[D+4>>1]|0)<<1)|0;E=i+(0-(Ve[D+6>>1]|0)<<1)|0;g=i+(0-(Ve[D+8>>1]|0)<<1)|0;y=i+(0-(Ve[D+10>>1]|0)<<1)|0;_=i+(0-(Ve[D+12>>1]|0)<<1)|0;A=i+(0-(Ve[D+14>>1]|0)<<1)|0;n=i+(0-(Ve[D+16>>1]|0)<<1)|0;h=i+(0-(Ve[D+18>>1]|0)<<1)|0;c=t;while(1){I=(Ze(Ve[S>>1]|0,Ve[v>>1]|0)|0)>>7;F=(Ze(Ve[w>>1]|0,Ve[b>>1]|0)|0)>>7;L=(Ze(Ve[d>>1]|0,Ve[k>>1]|0)|0)>>7;O=(Ze(Ve[u>>1]|0,Ve[E>>1]|0)|0)>>7;N=(Ze(Ve[l>>1]|0,Ve[g>>1]|0)|0)>>7;M=(Ze(Ve[s>>1]|0,Ve[y>>1]|0)|0)>>7;D=(Ze(Ve[r>>1]|0,Ve[_>>1]|0)|0)>>7;i=(Ze(Ve[f>>1]|0,Ve[A>>1]|0)|0)>>>7;t=(Ze(Ve[e>>1]|0,Ve[n>>1]|0)|0)>>>7;Ve[c>>1]=(I+128+F+L+O+N+M+D+i+t+((Ze(Ve[m>>1]|0,Ve[h>>1]|0)|0)>>>7)|0)>>>8;p=p+-1<<16>>16;if(!(p<<16>>16))break;else{v=v+2|0;b=b+2|0;k=k+2|0;E=E+2|0;g=g+2|0;y=y+2|0;_=_+2|0;A=A+2|0;n=n+2|0;h=h+2|0;c=c+2|0}}r=0;do{f=o+(r<<1)|0;e=Ve[f>>1]|0;if((r|0)<5)e=(We[a+((e&7)<<1)>>1]|e&8)&65535;else e=Ve[a+((e&7)<<1)>>1]|0;Ve[f>>1]=e;r=r+1|0}while((r|0)!=10);Ke=R;return}function jr(e,r,i,n,t,o,a,f){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;var s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0,C=0;C=Ke;Ke=Ke+3456|0;L=C+3448|0;N=C+3360|0;R=C+3368|0;d=C+3280|0;O=C+3200|0;M=C;I=(n&65535)<<17;P=i<<16>>16;F=i<<16>>16<40;if(F){n=I>>16;i=P;do{l=(Ze(Ve[r+(i-P<<1)>>1]|0,n)|0)>>15;if((l|0)>32767){Ge[f>>2]=1;l=32767}S=r+(i<<1)|0;Ve[S>>1]=Gn(Ve[S>>1]|0,l&65535,f)|0;i=i+1|0}while((i&65535)<<16>>16!=40)}ui(r,e,R,1,f);En(R,O,d,8);si(r,O,M,f);S=N+2|0;Ve[N>>1]=0;Ve[S>>1]=1;e=1;l=0;c=1;d=0;u=-1;do{A=Ve[2830+(d<<1)>>1]|0;D=A<<16>>16;_=0;do{g=Ve[2834+(_<<1)>>1]|0;y=g<<16>>16;E=e;b=D;v=c;k=A;p=u;while(1){s=Ve[R+(b<<1)>>1]|0;w=Ve[M+(b*80|0)+(b<<1)>>1]|0;i=y;c=1;m=g;e=g;u=-1;while(1){n=Gn(s,Ve[R+(i<<1)>>1]|0,f)|0;n=n<<16>>16;n=(Ze(n,n)|0)>>>15;h=(Ve[M+(b*80|0)+(i<<1)>>1]<<15)+32768+((Ve[M+(i*80|0)+(i<<1)>>1]|0)+w<<14)|0;if(((Ze(n<<16>>16,c<<16>>16)|0)-(Ze(h>>16,u<<16>>16)|0)<<1|0)>0){c=h>>>16&65535;e=m;u=n&65535}h=i+5|0;m=h&65535;if(m<<16>>16>=40)break;else i=h<<16>>16}if(((Ze(u<<16>>16,v<<16>>16)|0)-(Ze(c<<16>>16,p<<16>>16)|0)<<1|0)>0){Ve[N>>1]=k;Ve[S>>1]=e;l=k}else{e=E;c=v;u=p}h=b+5|0;k=h&65535;if(k<<16>>16>=40)break;else{E=e;b=h<<16>>16;v=c;p=u}}_=_+1|0}while((_|0)!=4);d=d+1|0}while((d|0)!=2);w=e;m=l;n=t;i=n+80|0;do{Ve[n>>1]=0;n=n+2|0}while((n|0)<(i|0));c=m;i=0;h=0;n=0;while(1){l=c<<16>>16;s=Ve[O+(l<<1)>>1]|0;e=(l*6554|0)>>>15;c=e<<16;d=c>>15;u=l-(d+(e<<3)<<16>>17)|0;switch(u<<16>>16|0){case 0:{d=c>>10;e=1;break}case 1:{if(!((i&65535)<<16>>16))e=0;else{d=e<<22>>16|16;e=1}break}case 2:{d=e<<22>>16|32;e=1;break}case 3:{d=e<<17>>16|1;e=0;break}case 4:{d=e<<22>>16|48;e=1;break}default:{d=e;e=u&65535}}d=d&65535;u=t+(l<<1)|0;if(s<<16>>16>0){Ve[u>>1]=8191;Ve[L+(i<<1)>>1]=32767;l=e<<16>>16;if(e<<16>>16<0){l=0-l<<16;if((l|0)<983040)l=1>>>(l>>16)&65535;else l=0}else{M=1<>16>>l|0)==1?M&65535:32767}n=Gn(n,l,f)|0}else{Ve[u>>1]=-8192;Ve[L+(i<<1)>>1]=-32768}l=Gn(h,d,f)|0;i=i+1|0;if((i|0)==2){h=l;break}c=Ve[N+(i<<1)>>1]|0;h=l}Ve[a>>1]=n;d=L+2|0;c=Ve[L>>1]|0;e=0;u=r+(0-(m<<16>>16)<<1)|0;l=r+(0-(w<<16>>16)<<1)|0;do{n=Ze(Ve[u>>1]|0,c)|0;u=u+2|0;if((n|0)!=1073741824?(T=n<<1,!((n|0)>0&(T|0)<0)):0)s=T;else{Ge[f>>2]=1;s=2147483647}i=Ze(Ve[d>>1]|0,Ve[l>>1]|0)|0;l=l+2|0;if((i|0)!=1073741824){n=(i<<1)+s|0;if((i^s|0)>0&(n^s|0)<0){Ge[f>>2]=1;n=(s>>>31)+2147483647|0}}else{Ge[f>>2]=1;n=2147483647}Ve[o+(e<<1)>>1]=Ft(n,f)|0;e=e+1|0}while((e|0)!=40);if(!F){Ke=C;return h|0}i=I>>16;n=P;do{s=(Ze(Ve[t+(n-P<<1)>>1]|0,i)|0)>>15;if((s|0)>32767){Ge[f>>2]=1;s=32767}o=t+(n<<1)|0;Ve[o>>1]=Gn(Ve[o>>1]|0,s&65535,f)|0;n=n+1|0}while((n&65535)<<16>>16!=40);Ke=C;return h|0}function qr(e,r,i,n,t,o,a,f,s,l){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;var u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0;E=Ke;Ke=Ke+3456|0;w=E+3360|0;m=E+3368|0;p=E+3280|0;v=E+3200|0;b=E;k=t<<16>>16;d=k<<1;if((d|0)==(k<<17>>16|0))h=d;else{Ge[l>>2]=1;h=t<<16>>16>0?32767:-32768}k=n<<16>>16;u=n<<16>>16<40;if(u){t=h<<16>>16;c=k;do{n=i+(c<<1)|0;d=(Ze(Ve[i+(c-k<<1)>>1]|0,t)|0)>>15;if((d|0)>32767){Ge[l>>2]=1;d=32767}Ve[n>>1]=Gn(Ve[n>>1]|0,d&65535,l)|0;c=c+1|0}while((c&65535)<<16>>16!=40)}ui(i,r,m,1,l);En(m,v,p,8);si(i,v,b,l);Hr(e,m,b,s,w);d=Yr(e,w,v,o,i,a,f,l)|0;if(!u){Ke=E;return d|0}c=h<<16>>16;t=k;do{n=o+(t<<1)|0;u=(Ze(Ve[o+(t-k<<1)>>1]|0,c)|0)>>15;if((u|0)>32767){Ge[l>>2]=1;u=32767}Ve[n>>1]=Gn(Ve[n>>1]|0,u&65535,l)|0;t=t+1|0}while((t&65535)<<16>>16!=40);Ke=E;return d|0}function Hr(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0;g=t+2|0;Ve[t>>1]=0;Ve[g>>1]=1;k=e<<16>>16<<1;o=1;E=0;e=-1;do{b=(E<<3)+k<<16>>16;s=Ve[n+(b<<1)>>1]|0;b=Ve[n+((b|1)<<1)>>1]|0;a=s<<16>>16;e:do{if(s<<16>>16<40){v=b<<16>>16;if(b<<16>>16<40)p=o;else while(1){if((e<<16>>16|0)<(0-(o<<16>>16)|0)){Ve[t>>1]=s;Ve[g>>1]=b;f=1;e=-1}else f=o;o=a+5|0;s=o&65535;if(s<<16>>16>=40){o=f;break e}else{a=o<<16>>16;o=f}}while(1){w=Ve[i+(a*80|0)+(a<<1)>>1]|0;h=We[r+(a<<1)>>1]|0;d=v;o=1;m=b;f=b;l=-1;while(1){c=(We[r+(d<<1)>>1]|0)+h<<16>>16;c=(Ze(c,c)|0)>>>15;u=(Ve[i+(a*80|0)+(d<<1)>>1]<<15)+32768+((Ve[i+(d*80|0)+(d<<1)>>1]|0)+w<<14)|0;if(((Ze(c<<16>>16,o<<16>>16)|0)-(Ze(u>>16,l<<16>>16)|0)<<1|0)>0){o=u>>>16&65535;f=m;l=c&65535}u=d+5|0;m=u&65535;if(m<<16>>16>=40)break;else d=u<<16>>16}if(((Ze(l<<16>>16,p<<16>>16)|0)-(Ze(o<<16>>16,e<<16>>16)|0)<<1|0)>0){Ve[t>>1]=s;Ve[g>>1]=f;e=l}else o=p;a=a+5|0;s=a&65535;if(s<<16>>16>=40)break;else{a=a<<16>>16;p=o}}}}while(0);E=E+1|0}while((E|0)!=2);return}function Yr(e,r,i,n,t,o,a,f){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;var s=0,l=0,u=0,c=0,d=0,h=0;s=n;l=s+80|0;do{Ve[s>>1]=0;s=s+2|0}while((s|0)<(l|0));s=Ve[r>>1]|0;d=(s*6554|0)>>>15;l=d<<16>>16;c=(748250>>>((s+(Ze(l,-5)|0)<<16>>16)+((e<<16>>16)*5|0)|0)&1|0)==0;u=(Ve[i+(s<<1)>>1]|0)>0;h=u?32767:-32768;Ve[n+(s<<1)>>1]=u?8191:-8192;s=r+2|0;e=Ve[s>>1]|0;n=n+(e<<1)|0;if((Ve[i+(e<<1)>>1]|0)>0){Ve[n>>1]=8191;i=32767;n=(u&1|2)&65535}else{Ve[n>>1]=-8192;i=-32768;n=u&1}d=((e*6554|0)>>>15<<3)+(c?d:l+64|0)&65535;Ve[a>>1]=n;c=0;u=t+(0-(Ve[r>>1]|0)<<1)|0;n=t+(0-(Ve[s>>1]|0)<<1)|0;do{s=Ze(h,Ve[u>>1]|0)|0;u=u+2|0;if((s|0)==1073741824){Ge[f>>2]=1;e=2147483647}else e=s<<1;l=Ze(i,Ve[n>>1]|0)|0;n=n+2|0;if((l|0)!=1073741824){s=(l<<1)+e|0;if((l^e|0)>0&(s^e|0)<0){Ge[f>>2]=1;s=(e>>>31)+2147483647|0}}else{Ge[f>>2]=1;s=2147483647}Ve[o+(c<<1)>>1]=Ft(s,f)|0;c=c+1|0}while((c|0)!=40);return d|0}function Xr(e,r,i,n,t,o,a,f){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;var s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0,C=0,B=0,x=0,U=0,z=0,j=0,q=0;q=Ke;Ke=Ke+3440|0;T=q+3360|0;P=q+3280|0;B=q+3200|0;C=q;U=(n&65535)<<17;j=i<<16>>16;x=i<<16>>16<40;if(x){i=U>>16;s=j;do{n=(Ze(Ve[r+(s-j<<1)>>1]|0,i)|0)>>15;if((n|0)>32767){Ge[f>>2]=1;n=32767}I=r+(s<<1)|0;Ve[I>>1]=Gn(Ve[I>>1]|0,n&65535,f)|0;s=s+1|0}while((s&65535)<<16>>16!=40)}ui(r,e,T,1,f);En(T,B,P,6);si(r,B,C,f);I=1;l=2;u=1;n=0;s=1;e=-1;c=1;while(1){F=2;w=2;while(1){N=0;O=0;L=c;M=w;while(1){if(O<<16>>16<40){A=L<<16>>16;D=L<<16>>16<40;S=M<<16>>16;R=M<<16>>16<40;y=O<<16>>16;_=O;while(1){if((Ve[P+(y<<1)>>1]|0)>-1){k=Ve[C+(y*80|0)+(y<<1)>>1]|0;if(D){E=We[T+(y<<1)>>1]|0;b=A;h=1;g=L;i=L;w=0;d=-1;while(1){p=(We[T+(b<<1)>>1]|0)+E|0;v=p<<16>>16;v=(Ze(v,v)|0)>>>15;m=(Ve[C+(y*80|0)+(b<<1)>>1]<<15)+32768+((Ve[C+(b*80|0)+(b<<1)>>1]|0)+k<<14)|0;if(((Ze(v<<16>>16,h<<16>>16)|0)-(Ze(m>>16,d<<16>>16)|0)<<1|0)>0){h=m>>>16&65535;i=g;w=p&65535;d=v&65535}m=b+5|0;g=m&65535;if(g<<16>>16>=40)break;else b=m<<16>>16}}else{h=1;i=L;w=0}if(R){E=w&65535;g=i<<16>>16;b=(h<<16>>16<<14)+32768|0;v=S;w=1;k=M;d=M;h=-1;while(1){p=(We[T+(v<<1)>>1]|0)+E<<16>>16;p=(Ze(p,p)|0)>>>15;m=b+(Ve[C+(v*80|0)+(v<<1)>>1]<<12)+((Ve[C+(y*80|0)+(v<<1)>>1]|0)+(Ve[C+(g*80|0)+(v<<1)>>1]|0)<<13)|0;if(((Ze(p<<16>>16,w<<16>>16)|0)-(Ze(m>>16,h<<16>>16)|0)<<1|0)>0){w=m>>>16&65535;d=k;h=p&65535}m=v+5|0;k=m&65535;if(k<<16>>16>=40){b=w;v=h;break}else v=m<<16>>16}}else{b=1;d=M;v=-1}w=Ze(v<<16>>16,s<<16>>16)|0;if((w|0)==1073741824){Ge[f>>2]=1;m=2147483647}else m=w<<1;w=Ze(b<<16>>16,e<<16>>16)|0;if((w|0)==1073741824){Ge[f>>2]=1;h=2147483647}else h=w<<1;w=m-h|0;if(((w^m)&(h^m)|0)<0){Ge[f>>2]=1;w=(m>>>31)+2147483647|0}g=(w|0)>0;l=g?d:l;u=g?i:u;n=g?_:n;s=g?b:s;e=g?v:e}w=y+5|0;_=w&65535;if(_<<16>>16>=40)break;else y=w<<16>>16}}N=N+1<<16>>16;if(N<<16>>16>=3)break;else{R=M;M=L;L=O;O=R}}i=F+2|0;w=i&65535;if(w<<16>>16>=5)break;else F=i&65535}i=I+2|0;c=i&65535;if(c<<16>>16<4)I=i&65535;else{w=l;l=u;break}}i=t;s=i+80|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(s|0));v=n<<16>>16;e=Ve[B+(v<<1)>>1]|0;n=(v*6554|0)>>>15;i=n<<16;s=v-(((i>>16)*327680|0)>>>16)|0;switch(s<<16>>16|0){case 1:{n=i>>12;break}case 2:{n=i>>8;s=2;break}case 3:{n=n<<20>>16|8;s=1;break}case 4:{n=n<<24>>16|128;s=2;break}default:{}}i=t+(v<<1)|0;if(e<<16>>16>0){Ve[i>>1]=8191;g=32767;u=65536<<(s<<16>>16)>>>16&65535}else{Ve[i>>1]=-8192;g=-32768;u=0}m=l<<16>>16;l=Ve[B+(m<<1)>>1]|0;i=(m*6554|0)>>>15;s=i<<16;e=m-(((s>>16)*327680|0)>>>16)|0;switch(e<<16>>16|0){case 1:{i=s>>12;break}case 2:{i=s>>8;e=2;break}case 3:{i=i<<20>>16|8;e=1;break}case 4:{i=i<<24>>16|128;e=2;break}default:{}}s=t+(m<<1)|0;if(l<<16>>16>0){Ve[s>>1]=8191;p=32767;u=(65536<<(e<<16>>16)>>>16)+(u&65535)&65535}else{Ve[s>>1]=-8192;p=-32768}c=i+n|0;h=w<<16>>16;l=Ve[B+(h<<1)>>1]|0;n=(h*6554|0)>>>15;i=n<<16;s=h-(((i>>16)*327680|0)>>>16)|0;switch(s<<16>>16|0){case 1:{i=i>>12;break}case 2:{i=i>>8;s=2;break}case 3:{i=n<<20>>16|8;s=1;break}case 4:{i=n<<24>>16|128;s=2;break}default:i=n}n=t+(h<<1)|0;if(l<<16>>16>0){Ve[n>>1]=8191;w=32767;n=(65536<<(s<<16>>16)>>>16)+(u&65535)&65535}else{Ve[n>>1]=-8192;w=-32768;n=u}d=c+i|0;Ve[a>>1]=n;u=0;c=r+(0-v<<1)|0;e=r+(0-m<<1)|0;l=r+(0-h<<1)|0;do{n=Ze(Ve[c>>1]|0,g)|0;c=c+2|0;if((n|0)!=1073741824?(z=n<<1,!((n|0)>0&(z|0)<0)):0)s=z;else{Ge[f>>2]=1;s=2147483647}n=Ze(Ve[e>>1]|0,p)|0;e=e+2|0;if((n|0)!=1073741824){i=(n<<1)+s|0;if((n^s|0)>0&(i^s|0)<0){Ge[f>>2]=1;i=(s>>>31)+2147483647|0}}else{Ge[f>>2]=1;i=2147483647}s=Ze(Ve[l>>1]|0,w)|0;l=l+2|0;if((s|0)!=1073741824){n=(s<<1)+i|0;if((s^i|0)>0&(n^i|0)<0){Ge[f>>2]=1;n=(i>>>31)+2147483647|0}}else{Ge[f>>2]=1;n=2147483647}Ve[o+(u<<1)>>1]=Ft(n,f)|0;u=u+1|0}while((u|0)!=40);n=d&65535;if(!x){Ke=q;return n|0}s=U>>16;i=j;do{e=(Ze(Ve[t+(i-j<<1)>>1]|0,s)|0)>>15;if((e|0)>32767){Ge[f>>2]=1;e=32767}o=t+(i<<1)|0;Ve[o>>1]=Gn(Ve[o>>1]|0,e&65535,f)|0;i=i+1|0}while((i&65535)<<16>>16!=40);Ke=q;return n|0}function Vr(e,r,i,n,t,o,a,f,s){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;var l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0,C=0,B=0,x=0,U=0,z=0,j=0,q=0,H=0,Y=0,X=0,V=0,G=0,W=0,K=0,Z=0,Q=0,J=0;J=Ke;Ke=Ke+3456|0;G=J+3448|0;X=J+3360|0;q=J+3368|0;H=J+3280|0;V=J+3200|0;Y=J;K=(n&65535)<<17;Q=i<<16>>16;W=i<<16>>16<40;if(W){i=K>>16;l=Q;do{n=(Ze(Ve[r+(l-Q<<1)>>1]|0,i)|0)>>15;if((n|0)>32767){Ge[s>>2]=1;n=32767}j=r+(l<<1)|0;Ve[j>>1]=Gn(Ve[j>>1]|0,n&65535,s)|0;l=l+1|0}while((l&65535)<<16>>16!=40)}ui(r,e,q,1,s);En(q,V,H,4);si(r,V,Y,s);U=X+2|0;Ve[X>>1]=0;z=X+4|0;Ve[U>>1]=1;j=X+6|0;Ve[z>>1]=2;Ve[j>>1]=3;h=3;c=2;u=1;n=0;i=1;l=-1;d=3;do{T=0;P=0;C=d;B=1;x=2;while(1){if(P<<16>>16<40){M=B<<16>>16;N=B<<16>>16<40;O=x<<16>>16;L=x<<16>>16<40;F=C<<16>>16;I=C<<16>>16<40;R=P<<16>>16;S=c;A=u;_=i;D=P;while(1){if((Ve[H+(R<<1)>>1]|0)>-1){m=Ve[Y+(R*80|0)+(R<<1)>>1]|0;if(N){w=We[q+(R<<1)>>1]|0;p=M;g=1;c=B;u=B;k=0;E=-1;while(1){b=(We[q+(p<<1)>>1]|0)+w|0;v=b<<16>>16;v=(Ze(v,v)|0)>>>15;y=(Ve[Y+(R*80|0)+(p<<1)>>1]<<15)+32768+((Ve[Y+(p*80|0)+(p<<1)>>1]|0)+m<<14)|0;if(((Ze(v<<16>>16,g<<16>>16)|0)-(Ze(y>>16,E<<16>>16)|0)<<1|0)>0){g=y>>>16&65535;u=c;k=b&65535;E=v&65535}y=p+5|0;c=y&65535;if(c<<16>>16>=40)break;else p=y<<16>>16}}else{g=1;u=B;k=0}if(L){i=k&65535;e=u<<16>>16;m=(g<<16>>16<<14)+32768|0;p=O;y=1;w=x;c=x;E=0;k=-1;while(1){b=(We[q+(p<<1)>>1]|0)+i|0;v=b<<16>>16;v=(Ze(v,v)|0)>>>15;g=m+(Ve[Y+(p*80|0)+(p<<1)>>1]<<12)+((Ve[Y+(R*80|0)+(p<<1)>>1]|0)+(Ve[Y+(e*80|0)+(p<<1)>>1]|0)<<13)|0;if(((Ze(v<<16>>16,y<<16>>16)|0)-(Ze(g>>16,k<<16>>16)|0)<<1|0)>0){y=g>>>16&65535;c=w;E=b&65535;k=v&65535}g=p+5|0;w=g&65535;if(w<<16>>16>=40)break;else p=g<<16>>16}}else{y=1;c=x;E=0}if(I){m=E&65535;w=c<<16>>16;e=u<<16>>16;v=(y&65535)<<16|32768;b=F;i=1;p=C;g=C;y=-1;while(1){k=(We[q+(b<<1)>>1]|0)+m<<16>>16;k=(Ze(k,k)|0)>>>15;E=(Ve[Y+(b*80|0)+(b<<1)>>1]<<12)+v+((Ve[Y+(e*80|0)+(b<<1)>>1]|0)+(Ve[Y+(w*80|0)+(b<<1)>>1]|0)+(Ve[Y+(R*80|0)+(b<<1)>>1]|0)<<13)|0;if(((Ze(k<<16>>16,i<<16>>16)|0)-(Ze(E>>16,y<<16>>16)|0)<<1|0)>0){i=E>>>16&65535;g=p;y=k&65535}E=b+5|0;p=E&65535;if(p<<16>>16>=40)break;else b=E<<16>>16}}else{i=1;g=C;y=-1}if(((Ze(y<<16>>16,_<<16>>16)|0)-(Ze(i<<16>>16,l<<16>>16)|0)<<1|0)>0){Ve[X>>1]=D;Ve[U>>1]=u;Ve[z>>1]=c;Ve[j>>1]=g;h=g;n=D;l=y}else{c=S;u=A;i=_}}else{c=S;u=A;i=_}b=R+5|0;D=b&65535;if(D<<16>>16>=40)break;else{R=b<<16>>16;S=c;A=u;_=i}}}T=T+1<<16>>16;if(T<<16>>16>=4)break;else{F=x;I=C;x=B;B=P;C=F;P=I}}d=d+1<<16>>16}while(d<<16>>16<5);y=h;g=c;E=u;k=n;n=t;i=n+80|0;do{Ve[n>>1]=0;n=n+2|0}while((n|0)<(i|0));e=k;i=0;l=0;n=0;while(1){c=e<<16>>16;d=Ve[V+(c<<1)>>1]|0;e=c*13108>>16;u=c-((e*327680|0)>>>16)|0;e=Ve[f+(e<<1)>>1]|0;switch(u<<16>>16|0){case 1:{h=e<<16>>16<<3&65535;break}case 2:{h=e<<16>>16<<6&65535;break}case 3:{h=e<<16>>16<<10&65535;break}case 4:{h=((e&65535)<<10|512)&65535;u=3;break}default:h=e}e=t+(c<<1)|0;if(d<<16>>16>0){Ve[e>>1]=8191;e=32767;n=(65536<<(u<<16>>16)>>>16)+(n&65535)&65535}else{Ve[e>>1]=-8192;e=-32768}Ve[G+(i<<1)>>1]=e;l=(h&65535)+(l&65535)|0;i=i+1|0;if((i|0)==4){b=l;break}e=Ve[X+(i<<1)>>1]|0}Ve[a>>1]=n;m=G+2|0;p=G+4|0;v=G+6|0;e=Ve[G>>1]|0;w=0;u=r+(0-(k<<16>>16)<<1)|0;c=r+(0-(E<<16>>16)<<1)|0;d=r+(0-(g<<16>>16)<<1)|0;h=r+(0-(y<<16>>16)<<1)|0;do{n=Ze(Ve[u>>1]|0,e)|0;u=u+2|0;if((n|0)!=1073741824?(Z=n<<1,!((n|0)>0&(Z|0)<0)):0)l=Z;else{Ge[s>>2]=1;l=2147483647}n=Ze(Ve[m>>1]|0,Ve[c>>1]|0)|0;c=c+2|0;if((n|0)!=1073741824){i=(n<<1)+l|0;if((n^l|0)>0&(i^l|0)<0){Ge[s>>2]=1;i=(l>>>31)+2147483647|0}}else{Ge[s>>2]=1;i=2147483647}n=Ze(Ve[p>>1]|0,Ve[d>>1]|0)|0;d=d+2|0;if((n|0)!=1073741824){l=(n<<1)+i|0;if((n^i|0)>0&(l^i|0)<0){Ge[s>>2]=1;l=(i>>>31)+2147483647|0}}else{Ge[s>>2]=1;l=2147483647}i=Ze(Ve[v>>1]|0,Ve[h>>1]|0)|0;h=h+2|0;if((i|0)!=1073741824){n=(i<<1)+l|0;if((i^l|0)>0&(n^l|0)<0){Ge[s>>2]=1;n=(l>>>31)+2147483647|0}}else{Ge[s>>2]=1;n=2147483647}Ve[o+(w<<1)>>1]=Ft(n,s)|0;w=w+1|0}while((w|0)!=40);n=b&65535;if(((Q<<16)+-2621440|0)>-1|W^1){Ke=J;return n|0}l=K>>16;i=Q;do{e=(Ze(Ve[t+(i-Q<<1)>>1]|0,l)|0)>>15;if((e|0)>32767){Ge[s>>2]=1;e=32767}o=t+(i<<1)|0;Ve[o>>1]=Gn(Ve[o>>1]|0,e&65535,s)|0;i=i+1|0}while((i&65535)<<16>>16!=40);Ke=J;return n|0}function Gr(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0;I=Ke;Ke=Ke+3440|0;m=I+3424|0;M=I+3408|0;N=I+3240|0;p=I+3224|0;S=I+3328|0;w=I+3248|0;R=I+24|0;F=I+16|0;L=I;li(i,e,S,2,4,4,a);gn(S,r,w,N,4,M,4,a);si(i,w,R,a);kn(8,4,4,S,R,M,N,p,a);r=n;e=r+80|0;do{Ve[r>>1]=0;r=r+2|0}while((r|0)<(e|0));Ve[L>>1]=-1;Ve[F>>1]=-1;A=L+2|0;Ve[A>>1]=-1;D=F+2|0;Ve[D>>1]=-1;S=L+4|0;Ve[S>>1]=-1;R=F+4|0;Ve[R>>1]=-1;N=L+6|0;Ve[N>>1]=-1;M=F+6|0;Ve[M>>1]=-1;d=0;do{u=Ve[p+(d<<1)>>1]|0;r=u>>>2;s=r&65535;e=u&3;l=(Ve[w+(u<<1)>>1]|0)>0;u=n+(u<<1)|0;h=l&1^1;Ve[u>>1]=(We[u>>1]|0)+(l?8191:57345);Ve[m+(d<<1)>>1]=l?32767:-32768;l=L+(e<<1)|0;u=Ve[l>>1]|0;do{if(u<<16>>16>=0){c=F+(e<<1)|0;f=(u<<16>>16|0)<=(r<<16>>16|0);r=L+((e|4)<<1)|0;if((h&65535|0)==(We[c>>1]&1|0))if(f){Ve[r>>1]=s;break}else{Ve[r>>1]=u;Ve[l>>1]=s;Ve[c>>1]=h;break}else if(f){Ve[r>>1]=u;Ve[l>>1]=s;Ve[c>>1]=h;break}else{Ve[r>>1]=s;break}}else{Ve[l>>1]=s;Ve[F+(e<<1)>>1]=h}}while(0);d=d+1|0}while((d|0)!=8);v=m+2|0;b=m+4|0;k=m+6|0;E=m+8|0;g=m+10|0;y=m+12|0;_=m+14|0;m=Ve[m>>1]|0;d=0;c=i+(0-(Ve[p>>1]|0)<<1)|0;u=i+(0-(Ve[p+2>>1]|0)<<1)|0;l=i+(0-(Ve[p+4>>1]|0)<<1)|0;s=i+(0-(Ve[p+6>>1]|0)<<1)|0;r=i+(0-(Ve[p+8>>1]|0)<<1)|0;e=i+(0-(Ve[p+10>>1]|0)<<1)|0;f=i+(0-(Ve[p+12>>1]|0)<<1)|0;i=i+(0-(Ve[p+14>>1]|0)<<1)|0;do{h=Ze(Ve[c>>1]|0,m)|0;c=c+2|0;if((h|0)!=1073741824?(O=h<<1,!((h|0)>0&(O|0)<0)):0)h=O;else{Ge[a>>2]=1;h=2147483647}w=Ze(Ve[v>>1]|0,Ve[u>>1]|0)|0;u=u+2|0;if((w|0)!=1073741824){n=(w<<1)+h|0;if((w^h|0)>0&(n^h|0)<0){Ge[a>>2]=1;h=(h>>>31)+2147483647|0}else h=n}else{Ge[a>>2]=1;h=2147483647}w=Ze(Ve[b>>1]|0,Ve[l>>1]|0)|0;l=l+2|0;if((w|0)!=1073741824){n=(w<<1)+h|0;if((w^h|0)>0&(n^h|0)<0){Ge[a>>2]=1;n=(h>>>31)+2147483647|0}}else{Ge[a>>2]=1;n=2147483647}w=Ze(Ve[k>>1]|0,Ve[s>>1]|0)|0;s=s+2|0;if((w|0)!=1073741824){h=(w<<1)+n|0;if((w^n|0)>0&(h^n|0)<0){Ge[a>>2]=1;h=(n>>>31)+2147483647|0}}else{Ge[a>>2]=1;h=2147483647}w=Ze(Ve[E>>1]|0,Ve[r>>1]|0)|0;r=r+2|0;if((w|0)!=1073741824){n=(w<<1)+h|0;if((w^h|0)>0&(n^h|0)<0){Ge[a>>2]=1;n=(h>>>31)+2147483647|0}}else{Ge[a>>2]=1;n=2147483647}w=Ze(Ve[g>>1]|0,Ve[e>>1]|0)|0;e=e+2|0;if((w|0)!=1073741824){h=(w<<1)+n|0;if((w^n|0)>0&(h^n|0)<0){Ge[a>>2]=1;h=(n>>>31)+2147483647|0}}else{Ge[a>>2]=1;h=2147483647}w=Ze(Ve[y>>1]|0,Ve[f>>1]|0)|0;f=f+2|0;if((w|0)!=1073741824){n=(w<<1)+h|0;if((w^h|0)>0&(n^h|0)<0){Ge[a>>2]=1;n=(h>>>31)+2147483647|0}}else{Ge[a>>2]=1;n=2147483647}w=Ze(Ve[_>>1]|0,Ve[i>>1]|0)|0;i=i+2|0;if((w|0)!=1073741824){h=(w<<1)+n|0;if((w^n|0)>0&(h^n|0)<0){Ge[a>>2]=1;h=(n>>>31)+2147483647|0}}else{Ge[a>>2]=1;h=2147483647}Ve[t+(d<<1)>>1]=Ft(h,a)|0;d=d+1|0}while((d|0)!=40);Ve[o>>1]=Ve[F>>1]|0;Ve[o+2>>1]=Ve[D>>1]|0;Ve[o+4>>1]=Ve[R>>1]|0;Ve[o+6>>1]=Ve[M>>1]|0;e=Ve[L>>1]|0;r=Ve[L+8>>1]|0;f=Ve[A>>1]|0;Ve[o+8>>1]=r<<1&2|e&1|f<<2&4|(((r>>1)*327680|0)+(e>>>1<<16)+(Ze(f>>1,1638400)|0)|0)>>>13&65528;f=Ve[S>>1]|0;e=Ve[L+12>>1]|0;r=Ve[L+10>>1]|0;Ve[o+10>>1]=e<<1&2|f&1|r<<2&4|(((e>>1)*327680|0)+(f>>>1<<16)+(Ze(r>>1,1638400)|0)|0)>>>13&65528;r=Ve[L+14>>1]|0;f=Ve[N>>1]|0;e=f<<16>>16>>>1;if(!(r&2)){t=e;a=r<<16>>16;F=a>>1;F=F*327680|0;t=t<<16;F=t+F|0;F=F<<5;F=F>>16;F=F|12;F=F*2622|0;F=F>>>16;t=f&65535;t=t&1;a=a<<17;a=a&131072;F=F<<18;a=F|a;a=a>>>16;t=a|t;t=t&65535;o=o+12|0;Ve[o>>1]=t;Ke=I;return}t=4-(e<<16>>16)|0;a=r<<16>>16;F=a>>1;F=F*327680|0;t=t<<16;F=t+F|0;F=F<<5;F=F>>16;F=F|12;F=F*2622|0;F=F>>>16;t=f&65535;t=t&1;a=a<<17;a=a&131072;F=F<<18;a=F|a;a=a>>>16;t=a|t;t=t&65535;o=o+12|0;Ve[o>>1]=t;Ke=I;return}function Wr(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0;m=i<<16>>16;o=0-m|0;i=t+(o<<2)|0;t=((m-(n<<16>>16)|0)>>>2)+1&65535;if(t<<16>>16<=0)return;m=r<<16>>16>>>1&65535;if(!(m<<16>>16)){while(1){Ge[i>>2]=0;Ge[i+4>>2]=0;Ge[i+8>>2]=0;Ge[i+12>>2]=0;if(t<<16>>16>1){i=i+16|0;t=t+-1<<16>>16}else break}return}w=e+(o<<1)|0;while(1){l=w+4|0;c=Ve[l>>1]|0;f=Ve[w>>1]|0;u=c;s=m;d=e;h=w;w=w+8|0;a=0;o=0;n=0;r=0;while(1){v=Ve[d>>1]|0;p=(Ze(f<<16>>16,v)|0)+a|0;a=Ve[h+2>>1]|0;o=(Ze(a,v)|0)+o|0;f=(Ze(u<<16>>16,v)|0)+n|0;n=Ve[h+6>>1]|0;u=(Ze(n,v)|0)+r|0;r=Ve[d+2>>1]|0;a=p+(Ze(r,a)|0)|0;o=o+(Ze(c<<16>>16,r)|0)|0;l=l+4|0;n=f+(Ze(r,n)|0)|0;f=Ve[l>>1]|0;r=u+(Ze(f<<16>>16,r)|0)|0;s=s+-1<<16>>16;if(!(s<<16>>16))break;v=c;u=f;c=Ve[h+8>>1]|0;d=d+4|0;h=h+4|0;f=v}Ge[i>>2]=a<<1;Ge[i+4>>2]=o<<1;Ge[i+8>>2]=n<<1;Ge[i+12>>2]=r<<1;if(t<<16>>16<=1)break;else{i=i+16|0;t=t+-1<<16>>16}}return}function Kr(e,r,i,n,t,o,a,f,s){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;var l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0;E=Ke;Ke=Ke+16|0;b=E+2|0;k=E;do{if(t<<16>>16>0){w=n<<16>>16;p=0;c=0;n=0;u=0;m=0;while(1){l=Ve[e+(p<<1)>>1]|0;d=l<<16>>16;c=(Ze(d,d)|0)+c|0;d=Ve[r+(p<<1)>>1]|0;n=(Ze(d,d)|0)+n|0;u=(Ze(Ve[i+(p<<1)>>1]|0,d)|0)+u|0;d=Ze(d,w)|0;if((d|0)==1073741824){Ge[s>>2]=1;h=2147483647}else h=d<<1;d=h<<1;d=(Ct(l,Ft((d>>1|0)==(h|0)?d:h>>31^2147483647,s)|0,s)|0)<<16>>16;d=Ze(d,d)|0;if((d|0)!=1073741824){l=(d<<1)+m|0;if((d^m|0)>0&(l^m|0)<0){Ge[s>>2]=1;l=(m>>>31)+2147483647|0}}else{Ge[s>>2]=1;l=2147483647}p=p+1|0;if((p&65535)<<16>>16==t<<16>>16){m=l;break}else m=l}c=c<<1;n=n<<1;u=u<<1;if((c|0)>=0){if((c|0)<400){l=m;v=14;break}}else{Ge[s>>2]=1;c=2147483647}h=kt(c)|0;d=h<<16>>16;if(h<<16>>16>0){l=c<>d|0)!=(c|0))l=c>>31^2147483647}else{l=0-d<<16;if((l|0)<2031616)l=c>>(l>>16);else l=0}Ve[o>>1]=l>>>16;c=n;w=u;l=m;n=15-(h&65535)&65535}else{n=0;u=0;l=0;v=14}}while(0);if((v|0)==14){Ve[o>>1]=0;c=n;w=u;n=-15}Ve[a>>1]=n;if((c|0)<0){Ge[s>>2]=1;c=2147483647}d=kt(c)|0;u=d<<16>>16;if(d<<16>>16>0){n=c<>u|0)!=(c|0))n=c>>31^2147483647}else{n=0-u<<16;if((n|0)<2031616)n=c>>(n>>16);else n=0}Ve[o+2>>1]=n>>>16;Ve[a+2>>1]=15-(d&65535);c=kt(w)|0;u=c<<16>>16;if(c<<16>>16>0){n=w<>u|0)!=(w|0))n=w>>31^2147483647}else{n=0-u<<16;if((n|0)<2031616)n=w>>(n>>16);else n=0}Ve[o+4>>1]=n>>>16;Ve[a+4>>1]=2-(c&65535);c=kt(l)|0;n=c<<16>>16;if(c<<16>>16>0){u=l<>n|0)!=(l|0))u=l>>31^2147483647}else{n=0-n<<16;if((n|0)<2031616)u=l>>(n>>16);else u=0}n=u>>>16&65535;l=15-(c&65535)&65535;Ve[o+6>>1]=n;Ve[a+6>>1]=l;if((u>>16|0)<=0){s=0;Ve[f>>1]=s;Ke=E;return}u=Ve[o>>1]|0;if(!(u<<16>>16)){s=0;Ve[f>>1]=s;Ke=E;return}n=Kn(It(u,1,s)|0,n)|0;n=(n&65535)<<16;u=((Ct(l,Ve[a>>1]|0,s)|0)&65535)+3|0;l=u&65535;u=u<<16>>16;if(l<<16>>16>0)l=l<<16>>16<31?n>>u:0;else{a=0-u<<16>>16;l=n<>a|0)==(n|0)?l:n>>31^2147483647}ft(l,b,k,s);k=Bi((We[b>>1]|0)+65509&65535,Ve[k>>1]|0,s)|0;b=k<<13;s=Ft((b>>13|0)==(k|0)?b:k>>31^2147483647,s)|0;Ve[f>>1]=s;Ke=E;return}function Zr(e,r,i,n,t,o,a,f,s,l,u){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;var c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0;E=Ke;Ke=Ke+80|0;v=E;Ve[a>>1]=Ve[o>>1]|0;Ve[f>>1]=Ve[o+2>>1]|0;h=Ve[o+4>>1]|0;if(h<<16>>16==-32768)h=32767;else h=0-(h&65535)&65535;Ve[a+2>>1]=h;Ve[f+2>>1]=(We[o+6>>1]|0)+1;switch(e|0){case 0:case 5:{p=0;d=0;c=0;m=0;break}default:{p=0;d=1;c=1;m=1}}while(1){w=(Ve[t+(p<<1)>>1]|0)>>>3;Ve[v+(p<<1)>>1]=w;w=w<<16>>16;h=Ze(w,w)|0;if((h|0)!=1073741824){o=(h<<1)+d|0;if((h^d|0)>0&(o^d|0)<0){Ge[u>>2]=1;d=(d>>>31)+2147483647|0}else d=o}else{Ge[u>>2]=1;d=2147483647}h=Ze(Ve[r+(p<<1)>>1]|0,w)|0;if((h|0)!=1073741824){o=(h<<1)+c|0;if((h^c|0)>0&(o^c|0)<0){Ge[u>>2]=1;c=(c>>>31)+2147483647|0}else c=o}else{Ge[u>>2]=1;c=2147483647}h=Ze(Ve[n+(p<<1)>>1]|0,w)|0;if((h|0)!=1073741824){o=(h<<1)+m|0;if((h^m|0)>0&(o^m|0)<0){Ge[u>>2]=1;o=(m>>>31)+2147483647|0}}else{Ge[u>>2]=1;o=2147483647}p=p+1|0;if((p|0)==40){n=o;w=c;break}else m=o}c=kt(d)|0;o=c<<16>>16;if(c<<16>>16>0){h=d<>o|0)!=(d|0))h=d>>31^2147483647}else{h=0-o<<16;if((h|0)<2031616)h=d>>(h>>16);else h=0}t=a+4|0;Ve[t>>1]=h>>>16;r=f+4|0;Ve[r>>1]=-3-(c&65535);d=kt(w)|0;o=d<<16>>16;if(d<<16>>16>0){h=w<>o|0)!=(w|0))h=w>>31^2147483647}else{h=0-o<<16;if((h|0)<2031616)h=w>>(h>>16);else h=0}o=h>>>16;Ve[a+6>>1]=(o|0)==32768?32767:0-o&65535;Ve[f+6>>1]=7-(d&65535);d=kt(n)|0;o=d<<16>>16;if(d<<16>>16>0){h=n<>o|0)!=(n|0))h=n>>31^2147483647}else{h=0-o<<16;if((h|0)<2031616)h=n>>(h>>16);else h=0}Ve[a+8>>1]=h>>>16;Ve[f+8>>1]=7-(d&65535);switch(e|0){case 0:case 5:{h=0;c=0;break}default:{Ke=E;return}}do{c=(Ze(Ve[v+(h<<1)>>1]|0,Ve[i+(h<<1)>>1]|0)|0)+c|0;h=h+1|0}while((h|0)!=40);o=c<<1;h=kt(o)|0;d=h<<16>>16;if(h<<16>>16>0){c=o<>d|0)==(o|0)){b=c;k=40}else{b=o>>31^2147483647;k=40}}else{c=0-d<<16;if((c|0)<2031616){b=o>>(c>>16);k=40}}if((k|0)==40?(b>>16|0)>=1:0){u=It(b>>>16&65535,1,u)|0;Ve[s>>1]=Kn(u,Ve[t>>1]|0)|0;Ve[l>>1]=65528-(h&65535)-(We[r>>1]|0);Ke=E;return}Ve[s>>1]=0;Ve[l>>1]=0;Ke=E;return}function Qr(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0;o=0;t=0;do{a=Ve[e+(o<<1)>>1]|0;t=(Ze(a,a)|0)+t|0;o=o+1|0}while((o|0)!=40);if((t|0)<0){Ge[n>>2]=1;t=2147483647}n=kt(t)|0;e=n<<16>>16;if(n<<16>>16>0){o=t<>e|0)==(t|0))t=o;else t=t>>31^2147483647}else{e=0-e<<16;if((e|0)<2031616)t=t>>(e>>16);else t=0}Ve[i>>1]=t>>>16;Ve[r>>1]=16-(n&65535);return}function Jr(e,r,i,n,t,o,a,f,s,l,u,c,d){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;c=c|0;d=d|0;var h=0,w=0,m=0,p=0;w=Ke;Ke=Ke+16|0;h=w;if(l>>>0<2){a=qr(u,e,r,i,n,a,f,h,Ge[c+76>>2]|0,d)|0;d=Ge[s>>2]|0;Ve[d>>1]=a;a=Ve[h>>1]|0;Ge[s>>2]=d+4;Ve[d+2>>1]=a;Ke=w;return}switch(l|0){case 2:{a=jr(e,r,i,n,a,f,h,d)|0;d=Ge[s>>2]|0;Ve[d>>1]=a;a=Ve[h>>1]|0;Ge[s>>2]=d+4;Ve[d+2>>1]=a;Ke=w;return}case 3:{a=Xr(e,r,i,n,a,f,h,d)|0;d=Ge[s>>2]|0;Ve[d>>1]=a;a=Ve[h>>1]|0;Ge[s>>2]=d+4;Ve[d+2>>1]=a;Ke=w;return}default:{if((l&-2|0)==4){a=Vr(e,r,i,n,a,f,h,Ge[c+36>>2]|0,d)|0;d=Ge[s>>2]|0;Ve[d>>1]=a;a=Ve[h>>1]|0;Ge[s>>2]=d+4;Ve[d+2>>1]=a;Ke=w;return}if((l|0)!=6){u=t<<16>>16;u=(u<<17>>17|0)==(u|0)?u<<1:u>>>15^32767;t=i<<16>>16<40;if(!t){zr(e,o,r,a,f,Ge[s>>2]|0,Ge[c+36>>2]|0,d);Ge[s>>2]=(Ge[s>>2]|0)+20;Ke=w;return}h=i<<16>>16;l=u<<16>>16;n=h;do{p=(Ze(Ve[r+(n-h<<1)>>1]|0,l)|0)>>>15&65535;m=r+(n<<1)|0;Ve[m>>1]=Gn(Ve[m>>1]|0,p,d)|0;n=n+1|0}while((n&65535)<<16>>16!=40);zr(e,o,r,a,f,Ge[s>>2]|0,Ge[c+36>>2]|0,d);Ge[s>>2]=(Ge[s>>2]|0)+20;if(!t){Ke=w;return}t=i<<16>>16;l=u<<16>>16;h=t;do{n=(Ze(Ve[a+(h-t<<1)>>1]|0,l)|0)>>15;if((n|0)>32767){Ge[d>>2]=1;n=32767}p=a+(h<<1)|0;Ve[p>>1]=Gn(Ve[p>>1]|0,n&65535,d)|0;h=h+1|0}while((h&65535)<<16>>16!=40);Ke=w;return}c=n<<16>>16;c=(c<<17>>17|0)==(c|0)?c<<1:c>>>15^32767;u=i<<16>>16<40;if(!u){Gr(e,o,r,a,f,Ge[s>>2]|0,d);Ge[s>>2]=(Ge[s>>2]|0)+14;Ke=w;return}h=i<<16>>16;l=c<<16>>16;n=h;do{t=(Ze(Ve[r+(n-h<<1)>>1]|0,l)|0)>>15;if((t|0)>32767){Ge[d>>2]=1;t=32767}p=r+(n<<1)|0;Ve[p>>1]=Gn(Ve[p>>1]|0,t&65535,d)|0;n=n+1|0}while((n&65535)<<16>>16!=40);Gr(e,o,r,a,f,Ge[s>>2]|0,d);Ge[s>>2]=(Ge[s>>2]|0)+14;if(!u){Ke=w;return}t=i<<16>>16;l=c<<16>>16;h=t;do{n=(Ze(Ve[a+(h-t<<1)>>1]|0,l)|0)>>15;if((n|0)>32767){Ge[d>>2]=1;n=32767}p=a+(h<<1)|0;Ve[p>>1]=Gn(Ve[p>>1]|0,n&65535,d)|0;h=h+1|0}while((h&65535)<<16>>16!=40);Ke=w;return}}}function $r(e){e=e|0;var r=0;if(!e){e=-1;return e|0}Ge[e>>2]=0;r=Ut(4)|0;if(!r){e=-1;return e|0}if(!((Ki(r)|0)<<16>>16)){Zi(Ge[r>>2]|0)|0;Ge[e>>2]=r;e=0;return e|0}else{Qi(r);zt(r);e=-1;return e|0}return 0}function ei(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;Qi(r);zt(Ge[e>>2]|0);Ge[e>>2]=0;return}function ri(e){e=e|0;if(!e){e=-1;return e|0}Zi(Ge[e>>2]|0)|0;e=0;return e|0}function ii(e,r,i,n,t,o,a,f,s,l,u,c,d,h,w,m,p,v,b,k){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;c=c|0;d=d|0;h=h|0;w=w|0;m=m|0;p=p|0;v=v|0;b=b|0;k=k|0;var E=0,g=0,y=0,_=0;g=Ke;Ke=Ke+16|0;_=g+2|0;y=g;Ve[d>>1]=Ji(Ge[e>>2]|0,i,t,a,s,o,40,n,h,y,_,k)|0;e=Ve[_>>1]|0;n=Ge[p>>2]|0;Ge[p>>2]=n+2;Ve[n>>1]=e;yt(a,Ve[d>>1]|0,Ve[h>>1]|0,40,Ve[y>>1]|0,k);fi(a,o,c,40);Ve[w>>1]=Fi(i,s,c,m,40,k)|0;Ve[v>>1]=32767;if(l<<16>>16!=0?(E=Ve[w>>1]|0,E<<16>>16>15565):0)E=Tn(r,E,k)|0;else E=0;if(i>>>0<2){_=Ve[w>>1]|0;Ve[w>>1]=_<<16>>16>13926?13926:_;if(E<<16>>16)Ve[v>>1]=15565}else{if(E<<16>>16){Ve[v>>1]=15565;Ve[w>>1]=15565}if((i|0)==7){y=vn(7,Ve[v>>1]|0,w,0,0,b,k)|0;_=Ge[p>>2]|0;Ge[p>>2]=_+2;Ve[_>>1]=y}}d=Ve[w>>1]|0;E=0;while(1){y=Ze(Ve[c>>1]|0,d)|0;Ve[u>>1]=(We[s>>1]|0)-(y>>>14);y=(Ze(Ve[a>>1]|0,d)|0)>>>14;_=f+(E<<1)|0;Ve[_>>1]=(We[_>>1]|0)-y;E=E+1|0;if((E|0)==40)break;else{a=a+2|0;s=s+2|0;u=u+2|0;c=c+2|0}}Ke=g;return}function ni(e,r){e=e|0;r=r|0;var i=0,n=0,t=0,o=0;o=Ke;Ke=Ke+16|0;t=o;if(!e){e=-1;Ke=o;return e|0}Ge[e>>2]=0;i=Ut(2532)|0;Ge[t>>2]=i;if(!i){e=-1;Ke=o;return e|0}et(i+2392|0);Ge[i+2188>>2]=0;Ge[(Ge[t>>2]|0)+2192>>2]=0;Ge[(Ge[t>>2]|0)+2196>>2]=0;Ge[(Ge[t>>2]|0)+2200>>2]=0;Ge[(Ge[t>>2]|0)+2204>>2]=0;Ge[(Ge[t>>2]|0)+2208>>2]=0;Ge[(Ge[t>>2]|0)+2212>>2]=0;Ge[(Ge[t>>2]|0)+2220>>2]=0;n=Ge[t>>2]|0;Ge[n+2216>>2]=r;Ge[n+2528>>2]=0;i=n;if(((((((($r(n+2196|0)|0)<<16>>16==0?(dt(n+2192|0)|0)<<16>>16==0:0)?(Ri(n+2200|0)|0)<<16>>16==0:0)?(rn(n+2204|0)|0)<<16>>16==0:0)?(On(n+2208|0)|0)<<16>>16==0:0)?(Cn(n+2212|0)|0)<<16>>16==0:0)?(di(n+2220|0,Ge[n+2432>>2]|0)|0)<<16>>16==0:0)?(Yi(n+2188|0)|0)<<16>>16==0:0){oi(n)|0;Ge[e>>2]=i;e=0;Ke=o;return e|0}ti(t);e=-1;Ke=o;return e|0}function ti(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;Xi(r+2188|0);wt((Ge[e>>2]|0)+2192|0);Mi((Ge[e>>2]|0)+2200|0);ei((Ge[e>>2]|0)+2196|0);tn((Ge[e>>2]|0)+2204|0);Fn((Ge[e>>2]|0)+2208|0);xn((Ge[e>>2]|0)+2212|0);wi((Ge[e>>2]|0)+2220|0);zt(Ge[e>>2]|0);Ge[e>>2]=0;return}function oi(e){e=e|0;var r=0,i=0,n=0,t=0;if(!e){t=-1;return t|0}Ge[e+652>>2]=e+320;Ge[e+640>>2]=e+240;Ge[e+644>>2]=e+160;Ge[e+648>>2]=e+80;Ge[e+1264>>2]=e+942;Ge[e+1912>>2]=e+1590;n=e+1938|0;Ge[e+2020>>2]=n;Ge[e+2384>>2]=e+2304;r=e+2028|0;Ge[e+2024>>2]=e+2108;Ge[e+2528>>2]=0;Vt(e|0,0,640)|0;Vt(e+1282|0,0,308)|0;Vt(e+656|0,0,286)|0;i=e+2224|0;t=n+80|0;do{Ve[n>>1]=0;n=n+2|0}while((n|0)<(t|0));n=r;t=n+80|0;do{Ve[n>>1]=0;n=n+2|0}while((n|0)<(t|0));r=e+1268|0;n=i;t=n+80|0;do{Ve[n>>1]=0;n=n+2|0}while((n|0)<(t|0));Ve[r>>1]=40;Ve[e+1270>>1]=40;Ve[e+1272>>1]=40;Ve[e+1274>>1]=40;Ve[e+1276>>1]=40;Vi(Ge[e+2188>>2]|0)|0;ht(Ge[e+2192>>2]|0)|0;ri(Ge[e+2196>>2]|0)|0;Ni(Ge[e+2200>>2]|0)|0;nn(Ge[e+2204>>2]|0)|0;Ln(Ge[e+2208>>2]|0)|0;Bn(Ge[e+2212>>2]|0)|0;hi(Ge[e+2220>>2]|0,Ge[e+2432>>2]|0)|0;Ve[e+2388>>1]=0;t=0;return t|0}function ai(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0,C=0,B=0,x=0,U=0,z=0,j=0,q=0,H=0,Y=0,X=0,V=0,G=0,W=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,se=0,le=0,ue=0,ce=0,de=0,he=0;he=Ke;Ke=Ke+1184|0;q=he;u=he+1096|0;c=he+1008|0;s=he+904|0;fe=he+928|0;se=he+824|0;V=he+744|0;ue=he+664|0;ce=he+584|0;W=he+328|0;te=he+504|0;oe=he+424|0;le=he+344|0;de=he+248|0;G=he+168|0;ee=he+88|0;ie=he+68|0;ne=he+48|0;re=he+28|0;ae=he+24|0;J=he+22|0;Z=he+20|0;X=he+16|0;H=he+12|0;Y=he+10|0;Q=he+8|0;K=he+6|0;$=he+4|0;Ge[q>>2]=n;j=e+2528|0;a=e+652|0;Yt(Ge[a>>2]|0,i|0,320)|0;Ge[t>>2]=r;l=e+2216|0;if(!(Ge[l>>2]|0)){i=e+2220|0;n=0}else{n=Hn(Ge[e+2212>>2]|0,Ge[a>>2]|0,j)|0;z=e+2220|0;i=z;n=vi(Ge[z>>2]|0,n,t,j)|0}z=e+2392|0;Gi(Ge[e+2188>>2]|0,r,Ge[e+644>>2]|0,Ge[e+648>>2]|0,u,z,j);f=e+2192|0;mt(Ge[f>>2]|0,r,Ge[t>>2]|0,u,c,s,q,j);pi(Ge[i>>2]|0,s,Ge[a>>2]|0,j);if((Ge[t>>2]|0)==8){mi(Ge[i>>2]|0,n,Ge[(Ge[f>>2]|0)+40>>2]|0,(Ge[e+2200>>2]|0)+32|0,q,j);Vt(e+1282|0,0,308)|0;a=e+2244|0;h=a+20|0;do{Ve[a>>1]=0;a=a+2|0}while((a|0)<(h|0));a=e+2284|0;h=a+20|0;do{Ve[a>>1]=0;a=a+2|0}while((a|0)<(h|0));a=Ge[e+2020>>2]|0;h=a+80|0;do{Ve[a>>1]=0;a=a+2|0}while((a|0)<(h|0));a=e+2028|0;h=a+80|0;do{Ve[a>>1]=0;a=a+2|0}while((a|0)<(h|0));ht(Ge[f>>2]|0)|0;a=Ge[f>>2]|0;i=s;h=a+20|0;do{Ve[a>>1]=Ve[i>>1]|0;a=a+2|0;i=i+2|0}while((a|0)<(h|0));a=(Ge[f>>2]|0)+20|0;i=s;h=a+20|0;do{Ve[a>>1]=Ve[i>>1]|0;a=a+2|0;i=i+2|0}while((a|0)<(h|0));ri(Ge[e+2196>>2]|0)|0;Ve[e+2388>>1]=0;U=0}else U=In(Ge[e+2208>>2]|0,Ge[f>>2]|0,j)|0;C=e+640|0;f=e+2264|0;a=e+1264|0;i=e+2204|0;n=e+2212|0;B=e+1268|0;x=e+1278|0;an(r,2842,2862,2882,u,0,Ge[C>>2]|0,f,Ge[a>>2]|0,j);if(r>>>0>1){Wi(Ge[i>>2]|0,Ge[n>>2]|0,r,Ge[a>>2]|0,X,B,x,0,Ge[l>>2]|0,j);an(r,2842,2862,2882,u,80,Ge[C>>2]|0,f,Ge[a>>2]|0,j);Wi(Ge[i>>2]|0,Ge[n>>2]|0,r,(Ge[a>>2]|0)+160|0,X+2|0,B,x,1,Ge[l>>2]|0,j)}else{an(r,2842,2862,2882,u,80,Ge[C>>2]|0,f,Ge[a>>2]|0,j);Wi(Ge[i>>2]|0,Ge[n>>2]|0,r,Ge[a>>2]|0,X,B,x,1,Ge[l>>2]|0,j);Ve[X+2>>1]=Ve[X>>1]|0}if(Ge[l>>2]|0)qn(Ge[n>>2]|0,X,j);if((Ge[t>>2]|0)==8){ce=e+656|0;de=e+976|0;Yt(ce|0,de|0,286)|0;de=e+320|0;Yt(e|0,de|0,320)|0;Ke=he;return 0}y=e+2224|0;_=e+2244|0;A=e+2284|0;D=e+2388|0;S=e+2020|0;R=e+1916|0;M=e+1912|0;N=e+2024|0;O=e+2384|0;L=e+2196|0;F=e+2208|0;I=e+2464|0;T=e+2200|0;P=e+2224|0;k=e+2244|0;E=e+1270|0;g=e+1280|0;b=0;l=0;s=0;m=0;p=0;f=0;v=-1;while(1){d=v;v=v+1<<16>>16;m=1-(m<<16>>16)|0;n=m&65535;w=(m&65535|0)!=0;i=Ge[t>>2]|0;a=(i|0)==0;do{if(w)if(a){a=ie;i=y;h=a+20|0;do{Ve[a>>1]=Ve[i>>1]|0;a=a+2|0;i=i+2|0}while((a|0)<(h|0));a=ne;i=_;h=a+20|0;do{Ve[a>>1]=Ve[i>>1]|0;a=a+2|0;i=i+2|0}while((a|0)<(h|0));a=re;i=A;h=a+20|0;do{Ve[a>>1]=Ve[i>>1]|0;a=a+2|0;i=i+2|0}while((a|0)<(h|0));Ve[ae>>1]=Ve[D>>1]|0;r=(Ge[C>>2]|0)+(b<<1)|0;a=20;break}else{r=(Ge[C>>2]|0)+(b<<1)|0;a=19;break}else{r=(Ge[C>>2]|0)+(b<<1)|0;if(a)a=20;else a=19}}while(0);if((a|0)==19)Mn(i,2842,2862,2882,u,c,r,A,k,Ge[S>>2]|0,R,(Ge[M>>2]|0)+(b<<1)|0,Ge[N>>2]|0,fe,te,Ge[O>>2]|0);else if((a|0)==20?(0,Mn(0,2842,2862,2882,u,c,r,A,ne,Ge[S>>2]|0,R,(Ge[M>>2]|0)+(b<<1)|0,Ge[N>>2]|0,fe,te,Ge[O>>2]|0),w):0){a=ee;i=Ge[N>>2]|0;h=a+80|0;do{Ve[a>>1]=Ve[i>>1]|0;a=a+2|0;i=i+2|0}while((a|0)<(h|0))}a=oe;i=te;h=a+80|0;do{Ve[a>>1]=Ve[i>>1]|0;a=a+2|0;i=i+2|0}while((a|0)<(h|0));ii(Ge[L>>2]|0,Ge[F>>2]|0,Ge[t>>2]|0,p,X,Ge[N>>2]|0,(Ge[M>>2]|0)+(b<<1)|0,oe,fe,U,se,ue,H,Y,Q,W,q,$,Ge[I>>2]|0,j);switch(d<<16>>16){case-1:{if((Ve[x>>1]|0)>0)Ve[E>>1]=Ve[H>>1]|0;break}case 2:{if((Ve[g>>1]|0)>0)Ve[B>>1]=Ve[H>>1]|0;break}default:{}}Jr(se,Ge[N>>2]|0,Ve[H>>1]|0,Ve[D>>1]|0,Ve[Q>>1]|0,oe,V,ce,q,Ge[t>>2]|0,v,z,j);Oi(Ge[T>>2]|0,Ge[t>>2]|0,te,(Ge[M>>2]|0)+(b<<1)|0,V,fe,se,ue,ce,W,n,Ve[$>>1]|0,J,Z,Q,K,q,z,j);Pn(Ge[F>>2]|0,Ve[Q>>1]|0,j);r=Ge[t>>2]|0;do{if(!r)if(w){a=le;i=fe;h=a+80|0;do{Ve[a>>1]=Ve[i>>1]|0;a=a+2|0;i=i+2|0}while((a|0)<(h|0));a=de;i=ce;h=a+80|0;do{Ve[a>>1]=Ve[i>>1]|0;a=a+2|0;i=i+2|0}while((a|0)<(h|0));a=G;i=V;h=a+80|0;do{Ve[a>>1]=Ve[i>>1]|0;a=a+2|0;i=i+2|0}while((a|0)<(h|0));s=Ve[H>>1]|0;l=Ve[Y>>1]|0;Nn(Ge[C>>2]|0,0,p,Ve[Q>>1]|0,Ve[K>>1]|0,c,o,fe,V,ue,ce,ie,A,ne,Ge[M>>2]|0,D,j);Ve[D>>1]=Ve[ae>>1]|0;f=p;break}else{a=A;i=re;h=a+20|0;do{Ve[a>>1]=Ve[i>>1]|0;a=a+2|0;i=i+2|0}while((a|0)<(h|0));w=f<<16>>16;yt((Ge[M>>2]|0)+(w<<1)|0,s,l,40,1,j);fi((Ge[M>>2]|0)+(w<<1)|0,ee,ue,40);Nn(Ge[C>>2]|0,Ge[t>>2]|0,f,Ve[J>>1]|0,Ve[Z>>1]|0,c+-22|0,o,le,G,ue,de,P,A,k,Ge[M>>2]|0,ae,j);Mn(Ge[t>>2]|0,2842,2862,2882,u,c,(Ge[C>>2]|0)+(b<<1)|0,A,k,Ge[S>>2]|0,R,(Ge[M>>2]|0)+(b<<1)|0,Ge[N>>2]|0,fe,te,Ge[O>>2]|0);yt((Ge[M>>2]|0)+(b<<1)|0,Ve[H>>1]|0,Ve[Y>>1]|0,40,1,j);fi((Ge[M>>2]|0)+(b<<1)|0,Ge[N>>2]|0,ue,40);Nn(Ge[C>>2]|0,Ge[t>>2]|0,p,Ve[Q>>1]|0,Ve[K>>1]|0,c,o,fe,V,ue,ce,P,A,k,Ge[M>>2]|0,D,j);break}else Nn(Ge[C>>2]|0,r,p,Ve[Q>>1]|0,Ve[K>>1]|0,c,o,fe,V,ue,ce,P,A,k,Ge[M>>2]|0,D,j)}while(0);r=b+40|0;p=r&65535;if(p<<16>>16>=160)break;else{b=r<<16>>16;u=u+22|0;c=c+22|0}}Yt(e+1282|0,e+1602|0,308)|0;ce=e+656|0;de=e+976|0;Yt(ce|0,de|0,286)|0;de=e+320|0;Yt(e|0,de|0,320)|0;Ke=he;return 0}function fi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0;h=n<<16>>16;if(n<<16>>16>1)d=1;else return;while(1){t=Ve[e>>1]|0;f=r+(d+-1<<1)|0;n=Ze(Ve[r+(d<<1)>>1]|0,t)|0;l=Ve[f>>1]|0;t=Ze(l<<16>>16,t)|0;a=(d+131071|0)>>>1;s=a&65535;o=Ve[e+2>>1]|0;if(!(s<<16>>16)){r=f;a=l}else{u=(a<<1)+131070&131070;c=d-u|0;a=e;do{m=(Ze(l<<16>>16,o)|0)+n|0;w=a;a=a+4|0;n=Ve[f+-2>>1]|0;o=(Ze(n,o)|0)+t|0;t=Ve[a>>1]|0;f=f+-4|0;n=m+(Ze(t,n)|0)|0;l=Ve[f>>1]|0;t=o+(Ze(l<<16>>16,t)|0)|0;s=s+-1<<16>>16;o=Ve[w+6>>1]|0}while(s<<16>>16!=0);a=r+(c+-3<<1)|0;e=e+(u+2<<1)|0;r=a;a=Ve[a>>1]|0}n=(Ze(a<<16>>16,o)|0)+n|0;Ve[i>>1]=t>>>12;Ve[i+2>>1]=n>>>12;n=(d<<16)+131072>>16;if((n|0)<(h|0)){i=i+4|0;e=e+(1-d<<1)|0;d=n}else break}return}function si(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0;_=Ke;Ke=Ke+80|0;y=_;a=20;o=e;t=1;while(1){g=Ve[o>>1]|0;g=(Ze(g,g)|0)+t|0;t=Ve[o+2>>1]|0;t=g+(Ze(t,t)|0)|0;a=a+-1<<16>>16;if(!(a<<16>>16))break;else o=o+4|0}t=t<<1;if((t|0)<0){o=20;t=e;n=y;while(1){Ve[n>>1]=(Ve[t>>1]|0)>>>1;Ve[n+2>>1]=(Ve[t+2>>1]|0)>>>1;o=o+-1<<16>>16;if(!(o<<16>>16)){g=y;break}else{t=t+4|0;n=n+4|0}}}else{t=at(t>>1,n)|0;if((t|0)<16777215)t=((t>>9)*32440|0)>>>15<<16>>16;else t=32440;a=20;o=e;n=y;while(1){Ve[n>>1]=((Ze(Ve[o>>1]|0,t)|0)+32|0)>>>6;Ve[n+2>>1]=((Ze(Ve[o+2>>1]|0,t)|0)+32|0)>>>6;a=a+-1<<16>>16;if(!(a<<16>>16)){g=y;break}else{o=o+4|0;n=n+4|0}}}a=20;o=g;n=i+3198|0;t=0;while(1){E=Ve[o>>1]|0;E=(Ze(E,E)|0)+t|0;Ve[n>>1]=(E+16384|0)>>>15;k=Ve[o+2>>1]|0;t=(Ze(k,k)|0)+E|0;Ve[n+-82>>1]=(t+16384|0)>>>15;a=a+-1<<16>>16;if(!(a<<16>>16))break;else{o=o+4|0;n=n+-164|0}}E=r+78|0;k=1;while(1){t=39-k|0;e=i+3120+(t<<1)|0;n=i+(t*80|0)+78|0;t=r+(t<<1)|0;s=y+(k<<1)|0;o=65575-k|0;f=o&65535;a=Ve[g>>1]|0;if(!(f<<16>>16)){f=E;o=0}else{m=o+65535&65535;v=m*41|0;b=(Ze(k,-40)|0)-v|0;p=0-k|0;v=p-v|0;p=p-m|0;w=k+m|0;h=Ve[s>>1]|0;c=g;d=E;l=i+((38-k|0)*80|0)+78|0;o=0;u=0;while(1){s=s+2|0;o=(Ze(h<<16>>16,a)|0)+o|0;c=c+2|0;h=Ve[s>>1]|0;u=(Ze(h<<16>>16,a)|0)+u|0;D=t;t=t+-2|0;a=Ve[t>>1]|0;A=Ve[d>>1]<<1;D=(Ze((Ze(A,Ve[D>>1]|0)|0)>>16,(o<<1)+32768>>16)|0)>>>15&65535;Ve[n>>1]=D;Ve[e>>1]=D;a=(Ze((Ze(A,a)|0)>>16,(u<<1)+32768>>16)|0)>>>15&65535;Ve[e+-2>>1]=a;Ve[l>>1]=a;f=f+-1<<16>>16;a=Ve[c>>1]|0;if(!(f<<16>>16))break;else{d=d+-2|0;e=e+-82|0;n=n+-82|0;l=l+-82|0}}s=y+(w+1<<1)|0;f=r+(38-m<<1)|0;t=r+(p+38<<1)|0;e=i+3040+(v+38<<1)|0;n=i+3040+(b+38<<1)|0}D=(Ze(Ve[s>>1]|0,a)|0)+o|0;D=(Ze((D<<1)+32768>>16,(Ze(Ve[f>>1]<<1,Ve[t>>1]|0)|0)>>16)|0)>>>15&65535;Ve[e>>1]=D;Ve[n>>1]=D;n=(k<<16)+131072|0;if((n|0)<2621440)k=n>>16;else break}Ke=_;return}function li(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0;w=Ke;Ke=Ke+160|0;h=w;if(t<<16>>16>0){c=o&65535;d=0;f=5;do{if((d|0)<40){u=d;l=d&65535;o=0;while(1){if(l<<16>>16<40){l=l<<16>>16;s=0;do{s=(Ze(Ve[e+(l-u<<1)>>1]|0,Ve[r+(l<<1)>>1]|0)|0)+s|0;l=l+1|0}while((l&65535)<<16>>16!=40)}else s=0;s=s<<1;Ge[h+(u<<2)>>2]=s;s=Pi(s)|0;o=(s|0)>(o|0)?s:o;s=u+c|0;l=s&65535;if(l<<16>>16>=40)break;else u=s<<16>>16}}else o=0;f=(o>>1)+f|0;d=d+1|0}while((d&65535)<<16>>16!=t<<16>>16)}else f=5;n=((kt(f)|0)&65535)-(n&65535)|0;o=n<<16>>16;s=0-o<<16;f=(s|0)<2031616;s=s>>16;if((n&65535)<<16>>16>0)if(f){f=0;do{n=Ge[h+(f<<2)>>2]|0;r=n<>1]=Ft((r>>o|0)==(n|0)?r:n>>31^2147483647,a)|0;f=f+1|0}while((f|0)!=40);Ke=w;return}else{f=0;do{n=Ge[h+(f<<2)>>2]|0;r=n<>1]=Ft((r>>o|0)==(n|0)?r:n>>31^2147483647,a)|0;f=f+1|0}while((f|0)!=40);Ke=w;return}else if(f){f=0;do{Ve[i+(f<<1)>>1]=Ft(Ge[h+(f<<2)>>2]>>s,a)|0;f=f+1|0}while((f|0)!=40);Ke=w;return}else{f=0;do{Ve[i+(f<<1)>>1]=Ft(0,a)|0;f=f+1|0}while((f|0)!=40);Ke=w;return}}function ui(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0;y=Ke;Ke=Ke+160|0;g=y;b=e+2|0;k=Ve[e>>1]|0;E=0;t=5;do{v=E;f=0;while(1){u=r+(v<<1)|0;p=40-v|0;o=(p+131071|0)>>>1&65535;s=r+(v+1<<1)|0;a=Ze(Ve[u>>1]<<1,k)|0;if(!(o<<16>>16))o=b;else{m=131111-v+131070&131070;w=v+m|0;h=b;d=e;c=u;while(1){l=c+4|0;u=d+4|0;a=(Ze(Ve[s>>1]<<1,Ve[h>>1]|0)|0)+a|0;o=o+-1<<16>>16;a=(Ze(Ve[l>>1]<<1,Ve[u>>1]|0)|0)+a|0;if(!(o<<16>>16))break;else{s=c+6|0;h=d+6|0;d=u;c=l}}s=r+(w+3<<1)|0;o=e+(m+3<<1)|0}if(!(p&1))a=(Ze(Ve[s>>1]<<1,Ve[o>>1]|0)|0)+a|0;Ge[g+(v<<2)>>2]=a;a=(a|0)<0?0-a|0:a;f=(a|0)>(f|0)?a:f;a=v+5|0;if((a&65535)<<16>>16<40)v=a<<16>>16;else break}t=(f>>1)+t|0;E=E+1|0}while((E|0)!=5);n=((kt(t)|0)&65535)-(n&65535)|0;a=n<<16>>16;t=0-a<<16;f=t>>16;if((n&65535)<<16>>16>0){o=20;t=g;while(1){g=Ge[t>>2]|0;n=g<>1]=(((n>>a|0)==(g|0)?n:g>>31^2147483647)+32768|0)>>>16;g=Ge[t+4>>2]|0;n=g<>1]=(((n>>a|0)==(g|0)?n:g>>31^2147483647)+32768|0)>>>16;o=o+-1<<16>>16;if(!(o<<16>>16))break;else{i=i+4|0;t=t+8|0}}Ke=y;return}if((t|0)<2031616){o=20;t=g;while(1){Ve[i>>1]=((Ge[t>>2]>>f)+32768|0)>>>16;Ve[i+2>>1]=((Ge[t+4>>2]>>f)+32768|0)>>>16;o=o+-1<<16>>16;if(!(o<<16>>16))break;else{i=i+4|0;t=t+8|0}}Ke=y;return}else{Ve[i>>1]=0;g=i+4|0;Ve[i+2>>1]=0;Ve[g>>1]=0;n=g+4|0;Ve[g+2>>1]=0;Ve[n>>1]=0;g=n+4|0;Ve[n+2>>1]=0;Ve[g>>1]=0;n=g+4|0;Ve[g+2>>1]=0;Ve[n>>1]=0;g=n+4|0;Ve[n+2>>1]=0;Ve[g>>1]=0;n=g+4|0;Ve[g+2>>1]=0;Ve[n>>1]=0;g=n+4|0;Ve[n+2>>1]=0;Ve[g>>1]=0;n=g+4|0;Ve[g+2>>1]=0;Ve[n>>1]=0;g=n+4|0;Ve[n+2>>1]=0;Ve[g>>1]=0;n=g+4|0;Ve[g+2>>1]=0;Ve[n>>1]=0;g=n+4|0;Ve[n+2>>1]=0;Ve[g>>1]=0;n=g+4|0;Ve[g+2>>1]=0;Ve[n>>1]=0;g=n+4|0;Ve[n+2>>1]=0;Ve[g>>1]=0;n=g+4|0;Ve[g+2>>1]=0;Ve[n>>1]=0;g=n+4|0;Ve[n+2>>1]=0;Ve[g>>1]=0;n=g+4|0;Ve[g+2>>1]=0;Ve[n>>1]=0;g=n+4|0;Ve[n+2>>1]=0;Ve[g>>1]=0;n=g+4|0;Ve[g+2>>1]=0;Ve[n>>1]=0;g=n+4|0;Ve[n+2>>1]=0;Ve[g>>1]=0;Ve[g+2>>1]=0;Ke=y;return}}function ci(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0;a=(Kn(16383,r)|0)<<16>>16;r=Ze(a,r<<16>>16)|0;if((r|0)==1073741824){Ge[n>>2]=1;t=2147483647}else t=r<<1;o=(Ze(a,i<<16>>16)|0)>>15;r=t+(o<<1)|0;if((t^o|0)>0&(r^t|0)<0){Ge[n>>2]=1;r=(t>>>31)+2147483647|0}t=2147483647-r|0;i=t>>16;r=Ze(i,a)|0;if((r|0)==1073741824){Ge[n>>2]=1;o=2147483647}else o=r<<1;a=(Ze((t>>>1)-(i<<15)<<16>>16,a)|0)>>15;r=o+(a<<1)|0;if((o^a|0)>0&(r^o|0)<0){Ge[n>>2]=1;r=(o>>>31)+2147483647|0}o=r>>16;a=e>>16;i=Ze(o,a)|0;i=(i|0)==1073741824?2147483647:i<<1;t=(Ze((r>>>1)-(o<<15)<<16>>16,a)|0)>>15;n=(t<<1)+i|0;n=(t^i|0)>0&(n^i|0)<0?(i>>>31)+2147483647|0:n;a=(Ze(o,(e>>>1)-(a<<15)<<16>>16)|0)>>15;e=n+(a<<1)|0;e=(n^a|0)>0&(e^n|0)<0?(n>>>31)+2147483647|0:e;n=e<<2;return((n>>2|0)==(e|0)?n:e>>31^2147483647)|0}function di(e,r){e=e|0;r=r|0;var i=0,n=0,t=0,o=0;if(!e){o=-1;return o|0}Ge[e>>2]=0;i=Ut(192)|0;if(!i){o=-1;return o|0}n=i+176|0;Ve[n>>1]=0;Ve[n+2>>1]=0;Ve[n+4>>1]=0;Ve[n+6>>1]=0;Ve[n+8>>1]=0;Ve[n+10>>1]=0;n=i;t=r;o=n+20|0;do{Ve[n>>1]=Ve[t>>1]|0;n=n+2|0;t=t+2|0}while((n|0)<(o|0));n=i+20|0;t=r;o=n+20|0;do{Ve[n>>1]=Ve[t>>1]|0;n=n+2|0;t=t+2|0}while((n|0)<(o|0));n=i+40|0;t=r;o=n+20|0;do{Ve[n>>1]=Ve[t>>1]|0;n=n+2|0;t=t+2|0}while((n|0)<(o|0));n=i+60|0;t=r;o=n+20|0;do{Ve[n>>1]=Ve[t>>1]|0;n=n+2|0;t=t+2|0}while((n|0)<(o|0));n=i+80|0;t=r;o=n+20|0;do{Ve[n>>1]=Ve[t>>1]|0;n=n+2|0;t=t+2|0}while((n|0)<(o|0));n=i+100|0;t=r;o=n+20|0;do{Ve[n>>1]=Ve[t>>1]|0;n=n+2|0;t=t+2|0}while((n|0)<(o|0));n=i+120|0;t=r;o=n+20|0;do{Ve[n>>1]=Ve[t>>1]|0;n=n+2|0;t=t+2|0}while((n|0)<(o|0));n=i+140|0;t=r;o=n+20|0;do{Ve[n>>1]=Ve[t>>1]|0;n=n+2|0;t=t+2|0}while((n|0)<(o|0));n=i+160|0;o=n+20|0;do{Ve[n>>1]=0;n=n+2|0}while((n|0)<(o|0));Ve[i+188>>1]=7;Ve[i+190>>1]=32767;Ge[e>>2]=i;o=0;return o|0}function hi(e,r){e=e|0;r=r|0;var i=0,n=0,t=0;if(!e){t=-1;return t|0}i=e+176|0;Ve[i>>1]=0;Ve[i+2>>1]=0;Ve[i+4>>1]=0;Ve[i+6>>1]=0;Ve[i+8>>1]=0;Ve[i+10>>1]=0;i=e;n=r;t=i+20|0;do{Ve[i>>1]=Ve[n>>1]|0;i=i+2|0;n=n+2|0}while((i|0)<(t|0));i=e+20|0;n=r;t=i+20|0;do{Ve[i>>1]=Ve[n>>1]|0;i=i+2|0;n=n+2|0}while((i|0)<(t|0));i=e+40|0;n=r;t=i+20|0;do{Ve[i>>1]=Ve[n>>1]|0;i=i+2|0;n=n+2|0}while((i|0)<(t|0));i=e+60|0;n=r;t=i+20|0;do{Ve[i>>1]=Ve[n>>1]|0;i=i+2|0;n=n+2|0}while((i|0)<(t|0));i=e+80|0;n=r;t=i+20|0;do{Ve[i>>1]=Ve[n>>1]|0;i=i+2|0;n=n+2|0}while((i|0)<(t|0));i=e+100|0;n=r;t=i+20|0;do{Ve[i>>1]=Ve[n>>1]|0;i=i+2|0;n=n+2|0}while((i|0)<(t|0));i=e+120|0;n=r;t=i+20|0;do{Ve[i>>1]=Ve[n>>1]|0;i=i+2|0;n=n+2|0}while((i|0)<(t|0));i=e+140|0;n=r;t=i+20|0;do{Ve[i>>1]=Ve[n>>1]|0;i=i+2|0;n=n+2|0}while((i|0)<(t|0));i=e+160|0;t=i+20|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(t|0));Ve[e+188>>1]=7;Ve[e+190>>1]=32767;t=1;return t|0}function wi(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zt(r);Ge[e>>2]=0;return}function mi(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0;D=Ke;Ke=Ke+112|0;y=D+80|0;_=D+60|0;A=D+40|0;g=D;if(r<<16>>16==0?(a=e+178|0,(Ve[a>>1]|0)!=0):0){A=e+180|0;o=e+182|0;i=a;A=Ve[A>>1]|0;n=Ge[t>>2]|0;_=n+2|0;Ve[n>>1]=A;o=Ve[o>>1]|0;A=n+4|0;Ve[_>>1]=o;_=e+184|0;_=Ve[_>>1]|0;o=n+6|0;Ve[A>>1]=_;A=e+186|0;A=Ve[A>>1]|0;e=n+8|0;Ve[o>>1]=A;i=Ve[i>>1]|0;n=n+10|0;Ge[t>>2]=n;Ve[e>>1]=i;Ke=D;return}m=g+36|0;p=g+32|0;v=g+28|0;b=g+24|0;k=g+20|0;E=g+16|0;d=g+12|0;h=g+8|0;w=g+4|0;r=g;a=r+40|0;do{Ge[r>>2]=0;r=r+4|0}while((r|0)<(a|0));c=7;r=0;while(1){u=Ve[e+160+(c<<1)>>1]|0;a=u<<16>>16;if(u<<16>>16<0)a=~((a^-4)>>2);else a=a>>>2;r=Gn(r,a&65535,o)|0;s=c*10|0;u=9;while(1){l=g+(u<<2)|0;f=Ge[l>>2]|0;S=Ve[e+(u+s<<1)>>1]|0;a=S+f|0;if((S^f|0)>-1&(a^f|0)<0){Ge[o>>2]=1;a=(f>>>31)+2147483647|0}Ge[l>>2]=a;if((u|0)>0)u=u+-1|0;else break}if((c|0)>0)c=c+-1|0;else break}a=r<<16>>16;if(r<<16>>16<0)a=~((a^-2)>>1);else a=a>>>1;Ve[_+18>>1]=(Ge[m>>2]|0)>>>3;Ve[_+16>>1]=(Ge[p>>2]|0)>>>3;Ve[_+14>>1]=(Ge[v>>2]|0)>>>3;Ve[_+12>>1]=(Ge[b>>2]|0)>>>3;Ve[_+10>>1]=(Ge[k>>2]|0)>>>3;Ve[_+8>>1]=(Ge[E>>2]|0)>>>3;Ve[_+6>>1]=(Ge[d>>2]|0)>>>3;Ve[_+4>>1]=(Ge[h>>2]|0)>>>3;Ve[_+2>>1]=(Ge[w>>2]|0)>>>3;Ve[_>>1]=(Ge[g>>2]|0)>>>3;r=e+178|0;a=(((a<<16)+167772160|0)>>>16)+128|0;Ve[r>>1]=a;a=a<<16;if((a|0)<0)a=~((a>>16^-256)>>8);else a=a>>24;Ve[r>>1]=a;if((a|0)<=63){if((a|0)<0){Ve[r>>1]=0;a=0}}else{Ve[r>>1]=63;a=63}S=Ct(a<<8&65535,11560,o)|0;S=S<<16>>16>0?0:S<<16>>16<-14436?-14436:S;Ve[n>>1]=S;Ve[n+2>>1]=S;Ve[n+4>>1]=S;Ve[n+6>>1]=S;S=((S<<16>>16)*5443|0)>>>15&65535;Ve[n+8>>1]=S;Ve[n+10>>1]=S;Ve[n+12>>1]=S;Ve[n+14>>1]=S;vt(_,y,10,o);Ot(y,205,10,o);pt(y,_,10,o);n=e+182|0;S=e+180|0;_t(i,8,_,A,n,S,o);o=n;n=r;S=Ve[S>>1]|0;i=Ge[t>>2]|0;A=i+2|0;Ve[i>>1]=S;o=Ve[o>>1]|0;S=i+4|0;Ve[A>>1]=o;A=e+184|0;A=Ve[A>>1]|0;o=i+6|0;Ve[S>>1]=A;e=e+186|0;e=Ve[e>>1]|0;S=i+8|0;Ve[o>>1]=e;e=Ve[n>>1]|0;i=i+10|0;Ge[t>>2]=i;Ve[S>>1]=e;Ke=D;return}function pi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0;l=Ke;Ke=Ke+16|0;a=l+2|0;s=l;f=e+176|0;o=(We[f>>1]|0)+1|0;o=(o&65535|0)==8?0:o&65535;Ve[f>>1]=o;o=e+((o<<16>>16)*10<<1)|0;t=o+20|0;do{Ve[o>>1]=Ve[r>>1]|0;o=o+2|0;r=r+2|0}while((o|0)<(t|0));r=0;t=160;while(1){o=Ve[i>>1]|0;r=(Ze(o<<1,o)|0)+r|0;if((r|0)<0){r=2147483647;break}t=t+-1<<16>>16;if(!(t<<16>>16))break;else i=i+2|0}ft(r,a,s,n);r=Ve[a>>1]|0;a=r<<16>>16;i=a<<10;if((i|0)!=(a<<26>>16|0)){Ge[n>>2]=1;i=r<<16>>16>0?32767:-32768}Ve[e+160+(Ve[f>>1]<<1)>>1]=(((Ve[s>>1]|0)>>>5)+i<<16)+-558432256>>17;Ke=l;return}function vi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0;o=e+190|0;a=Gn(Ve[o>>1]|0,1,n)|0;Ve[o>>1]=a;t=e+188|0;do{if(!(r<<16>>16)){e=Ve[t>>1]|0;if(!(e<<16>>16)){Ve[o>>1]=0;Ge[i>>2]=8;e=1;break}o=(e&65535)+65535&65535;Ve[t>>1]=o;if((Gn(a,o,n)|0)<<16>>16<30){Ge[i>>2]=8;e=0}else e=0}else{Ve[t>>1]=7;e=0}}while(0);return e|0}function bi(e,r,i,n,t,o,a,f){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;if(!(o<<16>>16)){o=e<<16>>16;if(((o<<16)+-5570560|0)<65536){r=(o*3|0)+-58+(r<<16>>16)|0;r=r&65535;return r|0}else{r=o+112|0;r=r&65535;return r|0}}if(!(a<<16>>16)){f=(e&65535)-(n&65535)<<16;r=(r<<16>>16)+2+(f>>15)+(f>>16)|0;r=r&65535;return r|0}n=n<<16>>16;n=(((i&65535)-n<<16)+-327680|0)>0?n+5&65535:i;t=t<<16>>16;i=e<<16>>16;n=(((t-(n&65535)<<16)+-262144|0)>0?t+65532&65535:n)<<16>>16;t=n*196608|0;e=t+-393216>>16;o=((r&65535)<<16)+(i*196608|0)>>16;if(!(e-o&32768)){r=i+5-n|0;r=r&65535;return r|0}if((t+196608>>16|0)>(o|0)){r=o+3-e|0;r=r&65535;return r|0}else{r=i+11-n|0;r=r&65535;return r|0}return 0}function ki(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;t=e<<16>>16;do{if(!(n<<16>>16))if(e<<16>>16<95){t=((t*393216|0)+-6881280>>16)+(r<<16>>16)|0;break}else{t=t+368|0;break}else t=((((t-(i&65535)|0)*393216|0)+196608|0)>>>16)+(r&65535)|0}while(0);return t&65535|0}function Ei(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0;t=Ge[n+96>>2]|0;if(e>>>0<8){s=(Ge[n+100>>2]|0)+(e<<2)|0;f=Ge[s>>2]|0;Xe[i>>0]=Ve[r+(Ve[f>>1]<<1)>>1]<<4|e|Ve[r+(Ve[f+2>>1]<<1)>>1]<<5|Ve[r+(Ve[f+4>>1]<<1)>>1]<<6|Ve[r+(Ve[f+6>>1]<<1)>>1]<<7;f=t+(e<<1)|0;n=Ve[f>>1]|0;if((n+-7|0)>4){t=4;a=4;e=1;while(1){l=Ve[r+(Ve[(Ge[s>>2]|0)+(t<<1)>>1]<<1)>>1]|0;n=i+(e<<16>>16)|0;Xe[n>>0]=l;l=We[r+(Ve[(Ge[s>>2]|0)+((a|1)<<16>>16<<1)>>1]<<1)>>1]<<1|l&65535;Xe[n>>0]=l;l=We[r+(Ve[(Ge[s>>2]|0)+((a|2)<<16>>16<<1)>>1]<<1)>>1]<<2|l;Xe[n>>0]=l;l=We[r+(Ve[(Ge[s>>2]|0)+((a|3)<<16>>16<<1)>>1]<<1)>>1]<<3|l;Xe[n>>0]=l;l=We[r+(Ve[(Ge[s>>2]|0)+(a+4<<16>>16<<16>>16<<1)>>1]<<1)>>1]<<4|l;Xe[n>>0]=l;l=We[r+(Ve[(Ge[s>>2]|0)+(a+5<<16>>16<<16>>16<<1)>>1]<<1)>>1]<<5|l;Xe[n>>0]=l;l=We[r+(Ve[(Ge[s>>2]|0)+(a+6<<16>>16<<16>>16<<1)>>1]<<1)>>1]<<6|l;Xe[n>>0]=l;o=a+8<<16>>16;e=e+1<<16>>16;Xe[n>>0]=We[r+(Ve[(Ge[s>>2]|0)+(a+7<<16>>16<<16>>16<<1)>>1]<<1)>>1]<<7|l;t=o<<16>>16;n=Ve[f>>1]|0;if((t|0)>=(n+-7|0))break;else a=o}}else{o=4;e=1}f=n+4&7;if(!f)return;t=i+(e<<16>>16)|0;Xe[t>>0]=0;n=0;a=0;e=0;while(1){a=(We[r+(Ve[(Ge[s>>2]|0)+(o<<16>>16<<1)>>1]<<1)>>1]&255)<>0]=a;e=e+1<<16>>16;n=e<<16>>16;if((n|0)>=(f|0))break;else o=o+1<<16>>16}return}if((e|0)==15){Xe[i>>0]=15;return}Xe[i>>0]=Ve[r>>1]<<4|e|Ve[r+2>>1]<<5|Ve[r+4>>1]<<6|Ve[r+6>>1]<<7;n=t+(e<<1)|0;e=Ve[n>>1]|0;t=((e&65535)<<16)+262144>>16;s=t&-8;a=(s+524281|0)>>>3&65535;if(a<<16>>16>0){t=((t&-8)+524281|0)>>>3;f=((t<<3)+524280&524280)+12|0;o=1;e=r+8|0;while(1){Xe[i+(o<<16>>16)>>0]=We[e+2>>1]<<1|We[e>>1]|We[e+4>>1]<<2|We[e+6>>1]<<3|We[e+8>>1]<<4|We[e+10>>1]<<5|We[e+12>>1]<<6|We[e+14>>1]<<7;if(a<<16>>16>1){a=a+-1<<16>>16;o=o+1<<16>>16;e=e+16|0}else break}e=Ve[n>>1]|0;o=(t<<16)+65536>>16}else{f=4;o=1}e=(0-s|4)+(e&65535)<<16;a=e>>16;if(!a)return;o=i+o|0;Xe[o>>0]=0;if((e|0)>0){e=0;t=0;n=0}else return;do{t=t&255|Ve[r+(f+e<<1)>>1]<>0]=t;n=n+1<<16>>16;e=n<<16>>16}while((e|0)<(a|0));return}function gi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0;u=Ge[n+100>>2]|0;l=Ge[n+96>>2]|0;Xe[i>>0]=e&15;l=l+(e<<1)|0;t=Ve[l>>1]|0;if(e>>>0>=8){f=((t&65535)<<16)+-458752|0;if((f|0)>0){s=1;a=r;while(1){r=a+16|0;n=s+1<<16>>16;Xe[i+(s<<16>>16)>>0]=We[a+14>>1]|We[a+12>>1]<<1|((We[a+2>>1]<<6|We[a>>1]<<7|We[a+4>>1]<<5|We[a+6>>1]<<4)&240|We[a+8>>1]<<3|We[a+10>>1]<<2)&252;f=f+-524288&-65536;if((f|0)<=0)break;else{s=n;a=r}}t=Ve[l>>1]|0}else n=1;s=t&7;t=i+(n<<16>>16)|0;Xe[t>>0]=0;if(!s)return;else{o=0;a=0;f=0;n=r}while(1){a=a&255|Ve[n>>1]<<7-o;Xe[t>>0]=a;f=f+1<<16>>16;o=f<<16>>16;if((o|0)>=(s|0))break;else n=n+2|0}return}a=t<<16>>16;if(t<<16>>16>7){t=u+(e<<2)|0;n=0;s=0;o=1;while(1){c=We[r+(Ve[(Ge[t>>2]|0)+(n<<1)>>1]<<1)>>1]<<7;a=i+(o<<16>>16)|0;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|1)<<16>>16<<1)>>1]<<1)>>1]<<6|c;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|2)<<16>>16<<1)>>1]<<1)>>1]<<5|c;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|3)<<16>>16<<1)>>1]<<1)>>1]<<4|c;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|4)<<16>>16<<1)>>1]<<1)>>1]<<3|c&240;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|5)<<16>>16<<1)>>1]<<1)>>1]<<2|c;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|6)<<16>>16<<1)>>1]<<1)>>1]<<1|c;Xe[a>>0]=c;f=s+8<<16>>16;o=o+1<<16>>16;Xe[a>>0]=c&254|We[r+(Ve[(Ge[t>>2]|0)+((s|7)<<16>>16<<1)>>1]<<1)>>1];n=f<<16>>16;a=Ve[l>>1]|0;if((n|0)>=(a+-7|0))break;else s=f}}else{f=0;o=1}l=a&7;s=i+(o<<16>>16)|0;Xe[s>>0]=0;if(!l)return;o=u+(e<<2)|0;t=0;n=0;a=0;while(1){n=(We[r+(Ve[(Ge[o>>2]|0)+(f<<16>>16<<1)>>1]<<1)>>1]&255)<<7-t|n&255;Xe[s>>0]=n;a=a+1<<16>>16;t=a<<16>>16;if((t|0)>=(l|0))break;else f=f+1<<16>>16}return}function yi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0;u=Ge[n+100>>2]|0;l=Ge[n+96>>2]|0;Xe[i>>0]=e<<3;l=l+(e<<1)|0;t=Ve[l>>1]|0;if(e>>>0>=8){f=((t&65535)<<16)+-458752|0;if((f|0)>0){s=1;a=r;while(1){r=a+16|0;n=s+1<<16>>16;Xe[i+(s<<16>>16)>>0]=We[a+14>>1]|We[a+12>>1]<<1|((We[a+2>>1]<<6|We[a>>1]<<7|We[a+4>>1]<<5|We[a+6>>1]<<4)&240|We[a+8>>1]<<3|We[a+10>>1]<<2)&252;f=f+-524288&-65536;if((f|0)<=0)break;else{s=n;a=r}}t=Ve[l>>1]|0}else n=1;s=t&7;t=i+(n<<16>>16)|0;Xe[t>>0]=0;if(!s)return;else{o=0;a=0;f=0;n=r}while(1){a=a&255|Ve[n>>1]<<7-o;Xe[t>>0]=a;f=f+1<<16>>16;o=f<<16>>16;if((o|0)>=(s|0))break;else n=n+2|0}return}a=t<<16>>16;if(t<<16>>16>7){t=u+(e<<2)|0;n=0;s=0;o=1;while(1){c=We[r+(Ve[(Ge[t>>2]|0)+(n<<1)>>1]<<1)>>1]<<7;a=i+(o<<16>>16)|0;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|1)<<16>>16<<1)>>1]<<1)>>1]<<6|c;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|2)<<16>>16<<1)>>1]<<1)>>1]<<5|c;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|3)<<16>>16<<1)>>1]<<1)>>1]<<4|c;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|4)<<16>>16<<1)>>1]<<1)>>1]<<3|c&240;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|5)<<16>>16<<1)>>1]<<1)>>1]<<2|c;Xe[a>>0]=c;c=We[r+(Ve[(Ge[t>>2]|0)+((s|6)<<16>>16<<1)>>1]<<1)>>1]<<1|c;Xe[a>>0]=c;f=s+8<<16>>16;o=o+1<<16>>16;Xe[a>>0]=c&254|We[r+(Ve[(Ge[t>>2]|0)+((s|7)<<16>>16<<1)>>1]<<1)>>1];n=f<<16>>16;a=Ve[l>>1]|0;if((n|0)>=(a+-7|0))break;else s=f}}else{f=0;o=1}l=a&7;s=i+(o<<16>>16)|0;Xe[s>>0]=0;if(!l)return;o=u+(e<<2)|0;t=0;n=0;a=0;while(1){n=(We[r+(Ve[(Ge[o>>2]|0)+(f<<16>>16<<1)>>1]<<1)>>1]&255)<<7-t|n&255;Xe[s>>0]=n;a=a+1<<16>>16;t=a<<16>>16;if((t|0)>=(l|0))break;else f=f+1<<16>>16}return}function _i(e){e=e|0;var r=0;if(!e){e=-1;return e|0}Ge[e>>2]=0;r=Ut(16)|0;if(!r){e=-1;return e|0}Ve[r>>1]=0;Ve[r+2>>1]=0;Ve[r+4>>1]=0;Ve[r+6>>1]=0;Ve[r+8>>1]=0;Ve[r+10>>1]=0;Ve[r+12>>1]=0;Ve[r+14>>1]=0;Ge[e>>2]=r;e=0;return e|0}function Ai(e){e=e|0;if(!e){e=-1;return e|0}Ve[e>>1]=0;Ve[e+2>>1]=0;Ve[e+4>>1]=0;Ve[e+6>>1]=0;Ve[e+8>>1]=0;Ve[e+10>>1]=0;Ve[e+12>>1]=0;Ve[e+14>>1]=0;e=0;return e|0}function Di(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zt(r);Ge[e>>2]=0;return}function Si(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0,l=0;f=r<<16>>16<2722?0:r<<16>>16<5444?1:2;a=Tt(i,1,t)|0;l=e+4|0;if(!(i<<16>>16>200?a<<16>>16>(Ve[l>>1]|0):0)){a=Ve[e>>1]|0;if(a<<16>>16){o=a+-1<<16>>16;Ve[e>>1]=o;o=o<<16>>16!=0;s=5}}else{Ve[e>>1]=8;o=1;s=5}if((s|0)==5)if((f&65535)<2&o)f=(f&65535)+1&65535;s=e+6|0;Ve[s>>1]=r;o=rt(s,5)|0;if(!(f<<16>>16!=0|o<<16>>16>5443))if(o<<16>>16<0)o=16384;else{o=o<<16>>16;o=(((o<<18>>18|0)==(o|0)?o<<2:o>>>15^32767)<<16>>16)*24660>>15;if((o|0)>32767){Ge[t>>2]=1;o=32767}o=16384-o&65535}else o=0;a=e+2|0;if(!(Ve[a>>1]|0))o=It(o,1,t)|0;Ve[n>>1]=o;Ve[a>>1]=o;Ve[l>>1]=i;n=e+12|0;Ve[e+14>>1]=Ve[n>>1]|0;i=e+10|0;Ve[n>>1]=Ve[i>>1]|0;e=e+8|0;Ve[i>>1]=Ve[e>>1]|0;Ve[e>>1]=Ve[s>>1]|0;return}function Ri(e){e=e|0;var r=0,i=0,n=0,t=0,o=0,a=0;if(!e){e=-1;return e|0}Ge[e>>2]=0;r=Ut(68)|0;n=r;if(!r){e=-1;return e|0}Ge[r+28>>2]=0;t=r+64|0;Ge[t>>2]=0;o=r+32|0;if(((Zn(o)|0)<<16>>16==0?(a=r+48|0,(Zn(a)|0)<<16>>16==0):0)?(_i(t)|0)<<16>>16==0:0){i=r+32|0;do{Ve[r>>1]=0;r=r+2|0}while((r|0)<(i|0));Zn(o)|0;Zn(a)|0;Ai(Ge[t>>2]|0)|0;Ge[e>>2]=n;e=0;return e|0}Di(t);zt(r);e=-1;return e|0}function Mi(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;Di(r+64|0);zt(Ge[e>>2]|0);Ge[e>>2]=0;return}function Ni(e){e=e|0;var r=0,i=0,n=0;if(!e){n=-1;return n|0}r=e+32|0;i=e;n=i+32|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(n|0));Zn(r)|0;Zn(e+48|0)|0;Ai(Ge[e+64>>2]|0)|0;n=0;return n|0}function Oi(e,r,i,n,t,o,a,f,s,l,u,c,d,h,w,m,p,v,b){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;c=c|0;d=d|0;h=h|0;w=w|0;m=m|0;p=p|0;v=v|0;b=b|0;var k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0;N=Ke;Ke=Ke+48|0;E=N+34|0;y=N+32|0;A=N+30|0;_=N+28|0;g=N+18|0;k=N+8|0;D=N+6|0;S=N+4|0;R=N+2|0;M=N;if(r){u=e+32|0;Qn(u,r,t,E,y,D,S,b);do{if((r|0)!=7){Zr(r,o,a,f,s,l,g,k,M,R,b);if((r|0)==5){mn(Ge[e+64>>2]|0,i,n,t,g,k,Ve[D>>1]|0,Ve[S>>1]|0,Ve[E>>1]|0,Ve[y>>1]|0,40,Ve[M>>1]|0,Ve[R>>1]|0,c,w,m,A,_,p,v,b);break}else{e=bn(r,Ve[E>>1]|0,Ve[y>>1]|0,g,k,c,w,m,A,_,v,b)|0;o=Ge[p>>2]|0;Ge[p>>2]=o+2;Ve[o>>1]=e;break}}else{Ve[m>>1]=Li(a,s,b)|0;e=pn(7,Ve[E>>1]|0,Ve[y>>1]|0,m,A,_,Ge[v+68>>2]|0,b)|0;o=Ge[p>>2]|0;Ge[p>>2]=o+2;Ve[o>>1]=e}}while(0);Jn(u,Ve[A>>1]|0,Ve[_>>1]|0);Ke=N;return}if(!(u<<16>>16)){Qn(e+48|0,0,t,E,y,D,S,b);Zr(0,o,a,f,s,l,g,k,M,R,b);Qr(o,D,S,b);o=hn(e+32|0,Ve[e>>1]|0,Ve[e+2>>1]|0,e+8|0,e+18|0,Ve[e+4>>1]|0,Ve[e+6>>1]|0,t,Ve[E>>1]|0,Ve[y>>1]|0,k,g,Ve[D>>1]|0,Ve[S>>1]|0,c,d,h,w,m,b)|0;Ve[Ge[e+28>>2]>>1]=o;Ke=N;return}u=Ge[p>>2]|0;Ge[p>>2]=u+2;Ge[e+28>>2]=u;u=e+48|0;i=e+32|0;d=i;d=We[d>>1]|We[d+2>>1]<<16;i=i+4|0;i=We[i>>1]|We[i+2>>1]<<16;p=u;h=p;Ve[h>>1]=d;Ve[h+2>>1]=d>>>16;p=p+4|0;Ve[p>>1]=i;Ve[p+2>>1]=i>>>16;p=e+40|0;i=p;i=We[i>>1]|We[i+2>>1]<<16;p=p+4|0;p=We[p>>1]|We[p+2>>1]<<16;h=e+56|0;d=h;Ve[d>>1]=i;Ve[d+2>>1]=i>>>16;h=h+4|0;Ve[h>>1]=p;Ve[h+2>>1]=p>>>16;h=e+2|0;Qn(u,0,t,e,h,D,S,b);Zr(0,o,a,f,s,l,e+18|0,e+8|0,M,R,b);f=(We[R>>1]|0)+1|0;p=Ve[M>>1]|0;d=f<<16>>16;if((f&65535)<<16>>16<0){v=0-d<<16;if((v|0)<983040)v=p<<16>>16>>(v>>16)&65535;else v=0}else{p=p<<16>>16;v=p<>16>>d|0)==(p|0))v=v&65535;else v=(p>>>15^32767)&65535}Ve[m>>1]=v;Qr(o,e+4|0,e+6|0,b);dn(u,Ve[e>>1]|0,Ve[h>>1]|0,Ve[R>>1]|0,Ve[M>>1]|0,b);Ke=N;return}function Li(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0;t=10;i=e;n=r;e=0;while(1){e=(Ze(Ve[n>>1]>>1,Ve[i>>1]|0)|0)+e|0;e=e+(Ze(Ve[n+2>>1]>>1,Ve[i+2>>1]|0)|0)|0;e=e+(Ze(Ve[n+4>>1]>>1,Ve[i+4>>1]|0)|0)|0;e=e+(Ze(Ve[n+6>>1]>>1,Ve[i+6>>1]|0)|0)|0;t=t+-1<<16>>16;if(!(t<<16>>16))break;else{i=i+8|0;n=n+8|0}}i=e<<1;t=kt(i|1)|0;o=t<<16>>16;i=(t<<16>>16<17?i>>17-o:i<>16<1){r=0;return r|0}else{t=20;n=r;e=0}while(1){r=Ve[n>>1]>>1;r=((Ze(r,r)|0)>>>2)+e|0;e=Ve[n+2>>1]>>1;e=r+((Ze(e,e)|0)>>>2)|0;t=t+-1<<16>>16;if(!(t<<16>>16))break;else n=n+4|0}e=e<<3;t=kt(e)|0;r=t<<16>>16;i=Kn(i,(t<<16>>16<16?e>>16-r:e<>16;if((r|0)>65536)e=i<<16>>16>>e+-1;else e=i<<16>>16<<1-e;r=e&65535;return r|0}function Fi(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0;Ge[o>>2]=0;u=t<<16>>16;s=u>>>2&65535;d=s<<16>>16==0;if(d)f=0;else{l=s;a=i;f=0;while(1){h=Ve[a>>1]|0;h=(Ze(h,h)|0)+f|0;f=Ve[a+2>>1]|0;f=h+(Ze(f,f)|0)|0;h=Ve[a+4>>1]|0;h=f+(Ze(h,h)|0)|0;f=Ve[a+6>>1]|0;f=h+(Ze(f,f)|0)|0;l=l+-1<<16>>16;if(!(l<<16>>16))break;else a=a+8|0}}if(!((f>>>31^1)&(f|0)<1073741824)){f=u>>>1&65535;if(!(f<<16>>16))f=1;else{a=f;l=i;f=0;while(1){h=Ve[l>>1]>>2;h=(Ze(h,h)|0)+f|0;f=Ve[l+2>>1]>>2;f=h+(Ze(f,f)|0)|0;a=a+-1<<16>>16;if(!(a<<16>>16))break;else l=l+4|0}f=f<<1|1}h=(kt(f)|0)<<16>>16;c=h+65532&65535;h=Ft(f<>16),o)|0}Ge[o>>2]=0;do{if(!(t<<16>>16)){f=1;w=14}else{u=t;l=r;f=i;t=0;while(1){m=Ze(Ve[f>>1]|0,Ve[l>>1]|0)|0;a=m+t|0;if((m^t|0)>0&(a^t|0)<0)break;u=u+-1<<16>>16;if(!(u<<16>>16)){w=13;break}else{l=l+2|0;f=f+2|0;t=a}}if((w|0)==13){f=a<<1|1;w=14;break}Ge[o>>2]=1;if(d)f=1;else{f=r;a=0;while(1){a=(Ze(Ve[i>>1]>>2,Ve[f>>1]|0)|0)+a|0;a=a+(Ze(Ve[i+2>>1]>>2,Ve[f+2>>1]|0)|0)|0;a=a+(Ze(Ve[i+4>>1]>>2,Ve[f+4>>1]|0)|0)|0;a=a+(Ze(Ve[i+6>>1]>>2,Ve[f+6>>1]|0)|0)|0;s=s+-1<<16>>16;if(!(s<<16>>16))break;else{f=f+8|0;i=i+8|0}}f=a<<1|1}i=(kt(f)|0)<<16>>16;a=i+65532&65535;i=Ft(f<>16),o)|0}Ve[n>>1]=h;f=c<<16>>16;Ve[n+2>>1]=15-f;Ve[n+4>>1]=i;a=a<<16>>16;Ve[n+6>>1]=15-a;if(i<<16>>16<4){m=0;return m|0}a=It(Kn(i<<16>>16>>>1&65535,h)|0,a-f&65535,o)|0;a=a<<16>>16>19661?19661:a;if((e|0)!=7){m=a;return m|0}m=a&65532;return m|0}function Ii(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0,c=0,d=0;s=(n&65535)+65535&65535;if(s<<16>>16>t<<16>>16){c=n+-1<<16>>16<<16>>16;n=-2147483648;while(1){l=Ge[e+(0-c<<2)>>2]|0;f=l<<1;l=(f>>1|0)==(l|0)?f:l>>31^2147483647;f=Ge[e+(~c<<2)>>2]|0;u=l-f|0;if(((u^l)&(l^f)|0)<0){Ge[a>>2]=1;u=(l>>>31)+2147483647|0}l=Ge[e+(1-c<<2)>>2]|0;f=u-l|0;if(((f^u)&(l^u)|0)<0){Ge[a>>2]=1;f=(u>>>31)+2147483647|0}u=Pi(f)|0;n=(u|0)<(n|0)?n:u;s=s+-1<<16>>16;if(s<<16>>16<=t<<16>>16){t=n;break}else c=c+-1|0}}else t=-2147483648;e=i<<16>>16>0;if(e){n=0;f=r;s=0;while(1){u=Ve[f>>1]|0;u=Ze(u,u)|0;if((u|0)!=1073741824){l=(u<<1)+s|0;if((u^s|0)>0&(l^s|0)<0){Ge[a>>2]=1;s=(s>>>31)+2147483647|0}else s=l}else{Ge[a>>2]=1;s=2147483647}n=n+1<<16>>16;if(n<<16>>16>=i<<16>>16)break;else f=f+2|0}if(e){e=0;c=r;n=r+-2|0;f=0;while(1){u=Ze(Ve[n>>1]|0,Ve[c>>1]|0)|0;if((u|0)!=1073741824){l=(u<<1)+f|0;if((u^f|0)>0&(l^f|0)<0){Ge[a>>2]=1;f=(f>>>31)+2147483647|0}else f=l}else{Ge[a>>2]=1;f=2147483647}e=e+1<<16>>16;if(e<<16>>16>=i<<16>>16)break;else{c=c+2|0;n=n+2|0}}}else f=0}else{s=0;f=0}n=s<<1;n=(n>>1|0)==(s|0)?n:s>>31^2147483647;i=f<<1;i=(i>>1|0)==(f|0)?i:f>>31^2147483647;s=n-i|0;if(((s^n)&(i^n)|0)<0){Ge[a>>2]=1;s=(n>>>31)+2147483647|0}e=Pi(s)|0;c=((kt(t)|0)&65535)+65535|0;s=c<<16>>16;if((c&65535)<<16>>16>0){n=t<>s|0)!=(t|0))n=t>>31^2147483647}else{s=0-s<<16;if((s|0)<2031616)n=t>>(s>>16);else n=0}u=kt(e)|0;f=u<<16>>16;if(u<<16>>16>0){s=e<>f|0)==(e|0))d=33;else{s=e>>31^2147483647;d=33}}else{s=0-f<<16;if((s|0)<2031616){s=e>>(s>>16);d=33}else l=0}if((d|0)==33)if(s>>>0>65535)l=Kn(n>>>16&65535,s>>>16&65535)|0;else l=0;s=u&65535;d=(c&65535)-s|0;n=d&65535;if(!(d&32768)){a=It(l,n,a)|0;Ve[o>>1]=a;return 0}if(n<<16>>16!=-32768){a=s-c|0;f=a<<16>>16;if((a&65535)<<16>>16<0){f=0-f<<16;if((f|0)>=983040){a=0;Ve[o>>1]=a;return 0}a=l<<16>>16>>(f>>16)&65535;Ve[o>>1]=a;return 0}}else f=32767;n=l<<16>>16;s=n<>16>>f|0)==(n|0)){a=s&65535;Ve[o>>1]=a;return 0}a=(n>>>15^32767)&65535;Ve[o>>1]=a;return 0}function Ti(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;if(i<<16>>16)r=r<<16>>16<<1&65535;if(r<<16>>16<0){e=e+-2|0;r=(r&65535)+6&65535}i=r<<16>>16;n=6-i<<16>>16;r=(Ze(Ve[3468+(i<<1)>>1]|0,Ve[e>>1]|0)|0)+16384|0;r=r+(Ze(Ve[3468+(n<<1)>>1]|0,Ve[e+2>>1]|0)|0)|0;r=r+(Ze(Ve[3468+(i+6<<1)>>1]|0,Ve[e+-2>>1]|0)|0)|0;r=r+(Ze(Ve[3468+(n+6<<1)>>1]|0,Ve[e+4>>1]|0)|0)|0;r=(Ze(Ve[3468+(i+12<<1)>>1]|0,Ve[e+-4>>1]|0)|0)+r|0;r=r+(Ze(Ve[3468+(n+12<<1)>>1]|0,Ve[e+6>>1]|0)|0)|0;i=r+(Ze(Ve[3468+(i+18<<1)>>1]|0,Ve[e+-6>>1]|0)|0)|0;return(i+(Ze(Ve[3468+(n+18<<1)>>1]|0,Ve[e+8>>1]|0)|0)|0)>>>15&65535|0}function Pi(e){e=e|0;e=e-(e>>>31)|0;return e>>31^e|0}function Ci(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0;if(!(e<<16>>16))return;else{t=3518;o=3538;n=i}while(1){n=n+2|0;r=r+2|0;s=Ve[r>>1]|0;f=Ve[t>>1]|0;i=Ze(f,s)|0;i=(i|0)==1073741824?2147483647:i<<1;s=(Ze(Ve[o>>1]|0,s)|0)>>15;a=(s<<1)+i|0;a=(i^s|0)>0&(a^i|0)<0?(i>>>31)+2147483647|0:a;f=(Ze(f,Ve[n>>1]|0)|0)>>15;i=a+(f<<1)|0;i=(a^f|0)>0&(i^a|0)<0?(a>>>31)+2147483647|0:i;Ve[r>>1]=i>>>16;Ve[n>>1]=(i>>>1)-(i>>16<<15);e=e+-1<<16>>16;if(!(e<<16>>16))break;else{t=t+2|0;o=o+2|0}}return}function Bi(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0;n=e&65535;t=n<<16;r=r<<16>>16;e=(r<<1)+t|0;if(!((r^t|0)>0&(e^t|0)<0)){t=e;return t|0}Ge[i>>2]=1;t=(n>>>15)+2147483647|0;return t|0}function xi(e){e=e|0;var r=0,i=0,n=0;if(!e){n=-1;return n|0}Ge[e>>2]=0;r=Ut(22)|0;if(!r){n=-1;return n|0}Ve[r>>1]=4096;i=r+2|0;n=i+20|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(n|0));Ge[e>>2]=r;n=0;return n|0}function Ui(e){e=e|0;var r=0;if(!e){r=-1;return r|0}Ve[e>>1]=4096;e=e+2|0;r=e+20|0;do{Ve[e>>1]=0;e=e+2|0}while((e|0)<(r|0));r=0;return r|0}function zi(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zt(r);Ge[e>>2]=0;return}function ji(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0;I=Ke;Ke=Ke+96|0;L=I+66|0;F=I+44|0;O=I+22|0;f=I;S=r+2|0;N=i+2|0;M=(Ve[N>>1]<<1)+(We[S>>1]<<16)|0;a=Pi(M)|0;a=ci(a,Ve[r>>1]|0,Ve[i>>1]|0,o)|0;if((M|0)>0)a=Hi(a)|0;A=a>>16;Ve[t>>1]=Ft(a,o)|0;b=a>>20;R=L+2|0;Ve[R>>1]=b;M=F+2|0;Ve[M>>1]=(a>>>5)-(b<<15);b=Ze(A,A)|0;b=(b|0)==1073741824?2147483647:b<<1;A=(Ze((a>>>1)-(A<<15)<<16>>16,A)|0)>>15;D=A<<1;_=D+b|0;_=(A^b|0)>0&(_^b|0)<0?(b>>>31)+2147483647|0:_;D=_+D|0;D=2147483647-(Pi((_^A|0)>0&(D^_|0)<0?(_>>>31)+2147483647|0:D)|0)|0;_=D>>16;A=Ve[r>>1]|0;b=Ze(_,A)|0;b=(b|0)==1073741824?2147483647:b<<1;A=(Ze((D>>>1)-(_<<15)<<16>>16,A)|0)>>15;D=(A<<1)+b|0;D=(A^b|0)>0&(D^b|0)<0?(b>>>31)+2147483647|0:D;_=(Ze(Ve[i>>1]|0,_)|0)>>15;b=D+(_<<1)|0;b=(D^_|0)>0&(b^D|0)<0?(D>>>31)+2147483647|0:b;D=kt(b)|0;b=b<<(D<<16>>16);_=O+2|0;A=f+2|0;s=b;b=(b>>>1)-(b>>16<<15)|0;k=f+4|0;E=O+4|0;g=2;y=2;while(1){v=s>>>16;a=v&65535;w=b&65535;m=y+-1|0;u=L+(m<<1)|0;p=F+(m<<1)|0;h=1;d=u;c=p;l=S;f=N;s=0;while(1){T=Ve[l>>1]|0;P=((Ze(Ve[c>>1]|0,T)|0)>>15)+s|0;s=Ve[d>>1]|0;s=P+(Ze(s,T)|0)+((Ze(s,Ve[f>>1]|0)|0)>>15)|0;h=h+1<<16>>16;if((h<<16>>16|0)>=(y|0))break;else{d=d+-2|0;c=c+-2|0;l=l+2|0;f=f+2|0}}P=(We[r+(y<<1)>>1]<<16)+(s<<5)+(Ve[i+(y<<1)>>1]<<1)|0;s=ci(Pi(P)|0,a,w,o)|0;if((P|0)>0)s=Hi(s)|0;f=D<<16>>16;if(D<<16>>16>0){a=s<>f|0)!=(s|0))a=s>>31^2147483647}else{f=0-f<<16;if((f|0)<2031616)a=s>>(f>>16);else a=0}h=a>>16;if((y|0)<5)Ve[t+(m<<1)>>1]=(a+32768|0)>>>16;P=(a>>>16)-(a>>>31)|0;if(((P<<16>>31^P)&65535)<<16>>16>32750){a=16;break}c=(a>>>1)-(h<<15)<<16>>16;d=1;s=p;f=_;l=A;while(1){T=(Ze(Ve[s>>1]|0,h)|0)>>15;p=Ve[u>>1]|0;P=(Ze(p,c)|0)>>15;p=Ze(p,h)|0;P=p+T+(Ve[F+(d<<1)>>1]|0)+(Ve[L+(d<<1)>>1]<<15)+P|0;Ve[f>>1]=P>>>15;Ve[l>>1]=P&32767;d=d+1|0;if((d&65535)<<16>>16==g<<16>>16)break;else{u=u+-2|0;s=s+-2|0;f=f+2|0;l=l+2|0}}Ve[E>>1]=a>>20;Ve[k>>1]=(a>>>5)-(Ve[O+(y<<1)>>1]<<15);T=Ze(h,h)|0;T=(T|0)==1073741824?2147483647:T<<1;a=(Ze(c,h)|0)>>15;P=a<<1;f=P+T|0;f=(a^T|0)>0&(f^T|0)<0?(T>>>31)+2147483647|0:f;P=f+P|0;P=2147483647-(Pi((f^a|0)>0&(P^f|0)<0?(f>>>31)+2147483647|0:P)|0)|0;f=P>>16;a=v<<16>>16;a=((Ze(f,b<<16>>16)|0)>>15)+(Ze(f,a)|0)+((Ze((P>>>1)-(f<<15)<<16>>16,a)|0)>>15)<<1;f=(kt(a)|0)<<16>>16;a=a<=11){a=20;break}else{D=f+(D&65535)&65535;s=a;b=(a>>1)-(a>>16<<15)|0;k=k+2|0;E=E+2|0;g=g+1<<16>>16}}if((a|0)==16){a=n+22|0;do{Ve[n>>1]=Ve[e>>1]|0;n=n+2|0;e=e+2|0}while((n|0)<(a|0));P=t;T=P;Ve[T>>1]=0;Ve[T+2>>1]=0>>>16;P=P+4|0;Ve[P>>1]=0;Ve[P+2>>1]=0>>>16;Ke=I;return 0}else if((a|0)==20){Ve[n>>1]=4096;P=((Ve[M>>1]|0)+8192+(Ve[R>>1]<<15)|0)>>>14&65535;Ve[n+2>>1]=P;Ve[e+2>>1]=P;P=((Ve[F+4>>1]|0)+8192+(Ve[L+4>>1]<<15)|0)>>>14&65535;Ve[n+4>>1]=P;Ve[e+4>>1]=P;P=((Ve[F+6>>1]|0)+8192+(Ve[L+6>>1]<<15)|0)>>>14&65535;Ve[n+6>>1]=P;Ve[e+6>>1]=P;P=((Ve[F+8>>1]|0)+8192+(Ve[L+8>>1]<<15)|0)>>>14&65535;Ve[n+8>>1]=P;Ve[e+8>>1]=P;P=((Ve[F+10>>1]|0)+8192+(Ve[L+10>>1]<<15)|0)>>>14&65535;Ve[n+10>>1]=P;Ve[e+10>>1]=P;P=((Ve[F+12>>1]|0)+8192+(Ve[L+12>>1]<<15)|0)>>>14&65535;Ve[n+12>>1]=P;Ve[e+12>>1]=P;P=((Ve[F+14>>1]|0)+8192+(Ve[L+14>>1]<<15)|0)>>>14&65535;Ve[n+14>>1]=P;Ve[e+14>>1]=P;P=((Ve[F+16>>1]|0)+8192+(Ve[L+16>>1]<<15)|0)>>>14&65535;Ve[n+16>>1]=P;Ve[e+16>>1]=P;P=((Ve[F+18>>1]|0)+8192+(Ve[L+18>>1]<<15)|0)>>>14&65535;Ve[n+18>>1]=P;Ve[e+18>>1]=P;P=((Ve[F+20>>1]|0)+8192+(Ve[L+20>>1]<<15)|0)>>>14&65535;Ve[n+20>>1]=P;Ve[e+20>>1]=P;Ke=I;return 0}return 0}function qi(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;n=e>>16;Ve[r>>1]=n;Ve[i>>1]=(e>>>1)-(n<<15);return}function Hi(e){e=e|0;return((e|0)==-2147483648?2147483647:0-e|0)|0}function Yi(e){e=e|0;var r=0;if(!e){e=-1;return e|0}Ge[e>>2]=0;r=Ut(4)|0;if(!r){e=-1;return e|0}Ge[r>>2]=0;if(!((xi(r)|0)<<16>>16)){Ui(Ge[r>>2]|0)|0;Ge[e>>2]=r;e=0;return e|0}else{zi(r);zt(r);e=-1;return e|0}return 0}function Xi(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zi(r);zt(Ge[e>>2]|0);Ge[e>>2]=0;return}function Vi(e){e=e|0;if(!e){e=-1;return e|0}Ui(Ge[e>>2]|0)|0;e=0;return e|0}function Gi(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0;u=Ke;Ke=Ke+64|0;l=u+48|0;s=u+22|0;f=u;if((r|0)==7){i=Ge[o+116>>2]|0;Ur(n,10,f,s,Ge[o+112>>2]|0,a)|0;Ci(10,f,s,a);ji(Ge[e>>2]|0,f,s,t+22|0,l,a)|0;Ur(n,10,f,s,i,a)|0;Ci(10,f,s,a);ji(Ge[e>>2]|0,f,s,t+66|0,l,a)|0;Ke=u;return}else{Ur(i,10,f,s,Ge[o+108>>2]|0,a)|0;Ci(10,f,s,a);ji(Ge[e>>2]|0,f,s,t+66|0,l,a)|0;Ke=u;return}}function Wi(e,r,i,n,t,o,a,f,s,l){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;if((i|0)==6){Ve[t>>1]=on(e,r,n,20,143,80,o,a,f,s,l)|0;return}Ve[a>>1]=0;Ve[a+2>>1]=0;if(i>>>0<2){Ve[t>>1]=$i(r,i,n,20,143,160,f,s,l)|0;return}if(i>>>0<6){Ve[t>>1]=$i(r,i,n,20,143,80,f,s,l)|0;return}else{Ve[t>>1]=$i(r,i,n,18,143,80,f,s,l)|0;return}}function Ki(e){e=e|0;var r=0;if((e|0)!=0?(Ge[e>>2]=0,r=Ut(2)|0,(r|0)!=0):0){Ve[r>>1]=0;Ge[e>>2]=r;r=0}else r=-1;return r|0}function Zi(e){e=e|0;if(!e)e=-1;else{Ve[e>>1]=0;e=0}return e|0}function Qi(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zt(r);Ge[e>>2]=0;return}function Ji(e,r,i,n,t,o,a,f,s,l,u,c){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;c=c|0;var d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0,C=0,B=0,x=0,U=0,z=0,j=0,q=0,H=0;H=Ke;Ke=Ke+240|0;v=H+160|0;b=H+80|0;B=H;C=Ve[3558+(r*18|0)>>1]|0;q=Ve[3558+(r*18|0)+2>>1]|0;d=Ve[3558+(r*18|0)+4>>1]|0;x=Ve[3558+(r*18|0)+6>>1]|0;m=Ve[3558+(r*18|0)+12>>1]|0;w=Ve[3558+(r*18|0)+14>>1]|0;h=Ve[3558+(r*18|0)+16>>1]|0;e:do{switch(f<<16>>16){case 0:case 80:if(r>>>0<2&f<<16>>16==80){U=(We[e>>1]|0)-(m&65535)|0;U=(U<<16>>16|0)<(h<<16>>16|0)?h:U&65535;P=w<<16>>16;z=(U&65535)+P&65535;j=z<<16>>16>143;U=j?143-P&65535:U;z=j?143:z;j=1;break e}else{U=(We[i+((f<<16>>16!=0&1)<<1)>>1]|0)-(We[3558+(r*18|0)+8>>1]|0)|0;U=(U<<16>>16|0)<(h<<16>>16|0)?h:U&65535;P=Ve[3558+(r*18|0)+10>>1]|0;z=(U&65535)+P&65535;j=z<<16>>16>143;U=j?143-P&65535:U;z=j?143:z;j=0;break e}default:{U=(We[e>>1]|0)-(m&65535)|0;U=(U<<16>>16|0)<(h<<16>>16|0)?h:U&65535;P=w<<16>>16;z=(U&65535)+P&65535;j=z<<16>>16>143;U=j?143-P&65535:U;z=j?143:z;j=1}}}while(0);T=U&65535;f=T+65532|0;p=f&65535;I=(z&65535)+4&65535;P=f<<16>>16;f=0-(f&65535)|0;m=f&65535;fi(n+(f<<16>>16<<1)|0,o,v,a);f=a<<16>>16;A=f>>>1&65535;k=A<<16>>16==0;if(k)a=1;else{a=A;h=v;i=b;w=0;while(1){F=Ve[h>>1]|0;Ve[i>>1]=F>>>2;F=(Ze(F,F)|0)+w|0;w=Ve[h+2>>1]|0;Ve[i+2>>1]=w>>>2;w=F+(Ze(w,w)|0)|0;a=a+-1<<16>>16;if(!(a<<16>>16))break;else{h=h+4|0;i=i+4|0}}a=(w|0)<33554433}F=a?0:2;_=a?v:b;E=a?v:b;e:do{if(p<<16>>16<=I<<16>>16){g=f+-1|0;N=_+(g<<1)|0;O=o+(g<<1)|0;L=_+(f+-2<<1)|0;S=g>>>1;R=S&65535;y=R<<16>>16==0;M=a?12:14;S=(S<<1)+131070&131070;i=f+-3-S|0;D=_+(i<<1)|0;S=_+(f+-4-S<<1)|0;o=o+(i<<1)|0;if(!k){k=P;while(1){b=A;v=E;h=t;w=0;a=0;while(1){b=b+-1<<16>>16;f=Ve[v>>1]|0;w=(Ze(f,Ve[h>>1]|0)|0)+w|0;f=(Ze(f,f)|0)+a|0;a=Ve[v+2>>1]|0;w=w+(Ze(a,Ve[h+2>>1]|0)|0)|0;a=f+(Ze(a,a)|0)|0;if(!(b<<16>>16))break;else{v=v+4|0;h=h+4|0}}v=at(a<<1,c)|0;a=v>>16;h=w<<1>>16;b=Ze(a,h)|0;b=(b|0)==1073741824?2147483647:b<<1;h=(Ze((v>>>1)-(a<<15)<<16>>16,h)|0)>>15;v=(h<<1)+b|0;v=(h^b|0)>0&(v^b|0)<0?(b>>>31)+2147483647|0:v;a=(Ze(a,w&32767)|0)>>15;b=v+(a<<1)|0;Ve[B+(k-P<<1)>>1]=(v^a|0)>0&(b^v|0)<0?(v>>>31)+65535|0:b;if(p<<16>>16!=I<<16>>16){m=m+-1<<16>>16;b=Ve[n+(m<<16>>16<<1)>>1]|0;if(y){v=g;a=L;w=O;h=N}else{v=R;a=L;w=O;h=N;while(1){k=(Ze(Ve[w>>1]|0,b)|0)>>M;Ve[h>>1]=k+(We[a>>1]|0);k=(Ze(Ve[w+-2>>1]|0,b)|0)>>M;Ve[h+-2>>1]=k+(We[a+-2>>1]|0);v=v+-1<<16>>16;if(!(v<<16>>16)){v=i;a=S;w=o;h=D;break}else{a=a+-4|0;w=w+-4|0;h=h+-4|0}}}k=(Ze(Ve[w>>1]|0,b)|0)>>M;Ve[h>>1]=k+(We[a>>1]|0);Ve[_+(v+-1<<1)>>1]=b>>F}p=p+1<<16>>16;if(p<<16>>16>I<<16>>16)break e;else k=p<<16>>16}}if(y){a=_+(f+-2<<1)|0;w=P;while(1){at(0,c)|0;Ve[B+(w-P<<1)>>1]=0;if(p<<16>>16!=I<<16>>16){m=m+-1<<16>>16;t=Ve[n+(m<<16>>16<<1)>>1]|0;R=(Ze(Ve[O>>1]|0,t)|0)>>M;Ve[N>>1]=R+(We[L>>1]|0);Ve[a>>1]=t>>F}p=p+1<<16>>16;if(p<<16>>16>I<<16>>16)break e;else w=p<<16>>16}}v=_+(i+-1<<1)|0;a=P;while(1){at(0,c)|0;Ve[B+(a-P<<1)>>1]=0;if(p<<16>>16!=I<<16>>16){m=m+-1<<16>>16;a=Ve[n+(m<<16>>16<<1)>>1]|0;w=R;h=L;i=O;f=N;while(1){t=(Ze(Ve[i>>1]|0,a)|0)>>M;Ve[f>>1]=t+(We[h>>1]|0);t=(Ze(Ve[i+-2>>1]|0,a)|0)>>M;Ve[f+-2>>1]=t+(We[h+-2>>1]|0);w=w+-1<<16>>16;if(!(w<<16>>16))break;else{h=h+-4|0;i=i+-4|0;f=f+-4|0}}t=(Ze(Ve[o>>1]|0,a)|0)>>M;Ve[D>>1]=t+(We[S>>1]|0);Ve[v>>1]=a>>F}p=p+1<<16>>16;if(p<<16>>16>I<<16>>16)break;else a=p<<16>>16}}}while(0);p=U<<16>>16;i=T+1&65535;if(i<<16>>16>z<<16>>16)o=U;else{m=U;f=Ve[B+(p-P<<1)>>1]|0;while(1){w=Ve[B+((i<<16>>16)-P<<1)>>1]|0;h=w<<16>>16>16;m=h?m:i;i=i+1<<16>>16;if(i<<16>>16>z<<16>>16){o=m;break}else f=h?f:w}}e:do{if(!(j<<16>>16==0?o<<16>>16>C<<16>>16:0)){if(!(r>>>0<4&j<<16>>16!=0)){m=B+((o<<16>>16)-P<<1)|0;w=Ti(m,d,q,c)|0;i=(d&65535)+1&65535;if(i<<16>>16<=x<<16>>16)while(1){h=Ti(m,i,q,c)|0;f=h<<16>>16>w<<16>>16;d=f?i:d;i=i+1<<16>>16;if(i<<16>>16>x<<16>>16)break;else w=f?h:w}if((r+-7|0)>>>0<2){x=d<<16>>16==-3;i=(x<<31>>31)+o<<16>>16;d=x?3:d;break}switch(d<<16>>16){case-2:{i=o+-1<<16>>16;d=1;break e}case 2:{i=o+1<<16>>16;d=-1;break e}default:{i=o;break e}}}C=Ve[e>>1]|0;C=((C<<16>>16)-p|0)>5?p+5&65535:C;f=z<<16>>16;C=(f-(C<<16>>16)|0)>4?f+65532&65535:C;f=o<<16>>16;i=C<<16>>16;if((f|0)==(i+-1|0)?1:o<<16>>16==C<<16>>16){m=B+(f-P<<1)|0;f=Ti(m,d,q,c)|0;i=(d&65535)+1&65535;if(i<<16>>16<=x<<16>>16)while(1){w=Ti(m,i,q,c)|0;h=w<<16>>16>f<<16>>16;d=h?i:d;i=i+1<<16>>16;if(i<<16>>16>x<<16>>16)break;else f=h?w:f}if((r+-7|0)>>>0<2){x=d<<16>>16==-3;i=(x<<31>>31)+o<<16>>16;d=x?3:d;break}switch(d<<16>>16){case-2:{i=o+-1<<16>>16;d=1;break e}case 2:{i=o+1<<16>>16;d=-1;break e}default:{i=o;break e}}}if((f|0)==(i+-2|0)){i=B+(f-P<<1)|0;f=Ti(i,0,q,c)|0;if((r|0)!=8){d=0;m=1;while(1){w=Ti(i,m,q,c)|0;h=w<<16>>16>f<<16>>16;d=h?m:d;m=m+1<<16>>16;if(m<<16>>16>x<<16>>16)break;else f=h?w:f}if((r+-7|0)>>>0>=2)switch(d<<16>>16){case-2:{i=o+-1<<16>>16;d=1;break e}case 2:{i=o+1<<16>>16;d=-1;break e}default:{i=o;break e}}}else d=0;x=d<<16>>16==-3;i=(x<<31>>31)+o<<16>>16;d=x?3:d;break}if((f|0)==(i+1|0)){m=B+(f-P<<1)|0;i=Ti(m,d,q,c)|0;f=(d&65535)+1&65535;if(f<<16>>16<=0)while(1){h=Ti(m,f,q,c)|0;w=h<<16>>16>i<<16>>16;d=w?f:d;f=f+1<<16>>16;if(f<<16>>16>0)break;else i=w?h:i}if((r+-7|0)>>>0<2){x=d<<16>>16==-3;i=(x<<31>>31)+o<<16>>16;d=x?3:d;break}switch(d<<16>>16){case-2:{i=o+-1<<16>>16;d=1;break e}case 2:{i=o+1<<16>>16;d=-1;break e}default:{i=o;break e}}}else{i=o;d=0}}else{i=o;d=0}}while(0);if((r+-7|0)>>>0>1){x=e;e=bi(i,d,Ve[e>>1]|0,U,z,j,r>>>0<4&1,c)|0;Ve[u>>1]=e;Ve[x>>1]=i;Ve[l>>1]=q;Ve[s>>1]=d;Ke=H;return i|0}else{c=ki(i,d,U,j,c)|0;Ve[u>>1]=c;Ve[e>>1]=i;Ve[l>>1]=q;Ve[s>>1]=d;Ke=H;return i|0}return 0}function $i(e,r,i,n,t,o,a,f,s){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;var l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0;S=Ke;Ke=Ke+1200|0;A=S+1188|0;_=S+580|0;D=S+578|0;y=S+576|0;b=S;E=S+582|0;g=(f|0)!=0;do{if(g)if(r>>>0<2){jn(e,1,s);break}else{jn(e,0,s);break}}while(0);k=t<<16>>16;c=0-k|0;u=i+(c<<1)|0;c=c&65535;m=o<<16>>16;do{if(c<<16>>16>16){w=c;h=u;c=0;while(1){p=Ve[h>>1]|0;c=(Ze(p<<1,p)|0)+c|0;if((c|0)<0)break;w=w+1<<16>>16;if(w<<16>>16>=o<<16>>16){v=14;break}else h=h+2|0}if((v|0)==14){if((c|0)<1048576){v=15;break}Yt(E|0,u|0,m+k<<1|0)|0;p=0;break}l=m+k|0;d=l>>>1;w=d&65535;if(!(w<<16>>16))c=E;else{p=((d<<1)+131070&131070)+2|0;m=p-k|0;h=E;while(1){Ve[h>>1]=(Ve[u>>1]|0)>>>3;Ve[h+2>>1]=(Ve[u+2>>1]|0)>>>3;w=w+-1<<16>>16;if(!(w<<16>>16))break;else{u=u+4|0;h=h+4|0}}u=i+(m<<1)|0;c=E+(p<<1)|0}if(!(l&1))p=3;else{Ve[c>>1]=(Ve[u>>1]|0)>>>3;p=3}}else v=15}while(0);if((v|0)==15){p=m+k|0;c=p>>>1;d=c&65535;if(!(d<<16>>16))c=E;else{m=((c<<1)+131070&131070)+2|0;h=m-k|0;w=E;while(1){Ve[w>>1]=Ve[u>>1]<<3;Ve[w+2>>1]=Ve[u+2>>1]<<3;d=d+-1<<16>>16;if(!(d<<16>>16))break;else{u=u+4|0;w=w+4|0}}u=i+(h<<1)|0;c=E+(m<<1)|0}if(!(p&1))p=-3;else{Ve[c>>1]=Ve[u>>1]<<3;p=-3}}m=b+(k<<2)|0;h=E+(k<<1)|0;Wr(h,o,t,n,m);l=(r|0)==7&1;c=n<<16>>16;u=c<<2;if((u|0)!=(c<<18>>16|0)){Ge[s>>2]=1;u=n<<16>>16>0?32767:-32768}w=en(e,m,h,p,l,o,t,u&65535,A,f,s)|0;c=c<<1;d=en(e,m,h,p,l,o,u+65535&65535,c&65535,_,f,s)|0;c=en(e,m,h,p,l,o,c+65535&65535,n,D,f,s)|0;if(a<<16>>16==1&g){Ii(m,h,o,t,n,y,s)|0;Un(e,Ve[y>>1]|0)}u=Ve[A>>1]|0;l=Ve[_>>1]|0;if(((u<<16>>16)*55706>>16|0)>=(l<<16>>16|0)){_=u;A=w;_=_<<16>>16;_=_*55706|0;_=_>>16;D=Ve[D>>1]|0;D=D<<16>>16;D=(_|0)<(D|0);D=D?c:A;Ke=S;return D|0}Ve[A>>1]=l;_=l;A=d;_=_<<16>>16;_=_*55706|0;_=_>>16;D=Ve[D>>1]|0;D=D<<16>>16;D=(_|0)<(D|0);D=D?c:A;Ke=S;return D|0}function en(e,r,i,n,t,o,a,f,s,l,u){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;var c=0,d=0,h=0,w=0,m=0;if(a<<16>>16>16){f=-2147483648;h=a}else{h=a;c=-2147483648;d=r+(0-(a<<16>>16)<<2)|0;r=a;while(1){a=Ge[d>>2]|0;m=(a|0)<(c|0);r=m?r:h;c=m?c:a;h=h+-1<<16>>16;if(h<<16>>16>16){f=c;h=r;break}else d=d+4|0}}r=o<<16>>16>>>2&65535;if(!(r<<16>>16))r=0;else{c=r;a=i+(0-(h<<16>>16)<<1)|0;r=0;while(1){m=Ve[a>>1]|0;m=(Ze(m,m)|0)+r|0;r=Ve[a+2>>1]|0;r=m+(Ze(r,r)|0)|0;m=Ve[a+4>>1]|0;m=r+(Ze(m,m)|0)|0;r=Ve[a+6>>1]|0;r=m+(Ze(r,r)|0)|0;c=c+-1<<16>>16;if(!(c<<16>>16))break;else a=a+8|0}r=r<<1}if(l)zn(e,f,r,u);r=at(r,u)|0;a=t<<16>>16!=0;if(a)r=(r|0)>1073741823?2147483647:r<<1;t=f>>16;e=r>>16;u=Ze(e,t)|0;u=(u|0)==1073741824?2147483647:u<<1;r=(Ze((r>>>1)-(e<<15)<<16>>16,t)|0)>>15;m=(r<<1)+u|0;m=(r^u|0)>0&(m^u|0)<0?(u>>>31)+2147483647|0:m;t=(Ze(e,(f>>>1)-(t<<15)<<16>>16)|0)>>15;r=m+(t<<1)|0;r=(m^t|0)>0&(r^m|0)<0?(m>>>31)+2147483647|0:r;if(!a){Ve[s>>1]=r;return h|0}a=n<<16>>16;if(n<<16>>16>0)if(n<<16>>16<31){a=r>>a;w=16}else a=0;else{w=0-a<<16>>16;a=r<>w|0)==(r|0)?a:r>>31^2147483647;w=16}if((w|0)==16){if((a|0)>65535){Ve[s>>1]=32767;return h|0}if((a|0)<-65536){Ve[s>>1]=-32768;return h|0}}Ve[s>>1]=a>>>1;return h|0}function rn(e){e=e|0;var r=0;if(!e){e=-1;return e|0}Ge[e>>2]=0;r=Ut(6)|0;if(!r){e=-1;return e|0}Ve[r>>1]=40;Ve[r+2>>1]=0;Ve[r+4>>1]=0;Ge[e>>2]=r;e=0;return e|0}function nn(e){e=e|0;if(!e){e=-1;return e|0}Ve[e>>1]=40;Ve[e+2>>1]=0;Ve[e+4>>1]=0;e=0;return e|0}function tn(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zt(r);Ge[e>>2]=0;return}function on(e,r,i,n,t,o,a,f,s,l,u){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;var c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0;M=Ke;Ke=Ke+1200|0;k=M+1186|0;E=M+1184|0;R=M+1182|0;b=M;y=M+576|0;g=t<<16>>16;S=y+(g<<1)|0;c=(0-g&65535)<<16>>16>16;if(c){m=0-t<<16>>16<<16>>16;d=0;do{w=Ve[i+(m<<1)>>1]|0;w=Ze(w,w)|0;if((w|0)!=1073741824){h=(w<<1)+d|0;if((w^d|0)>0&(h^d|0)<0){Ge[u>>2]=1;d=(d>>>31)+2147483647|0}else d=h}else{Ge[u>>2]=1;d=2147483647}m=m+1|0}while((m&65535)<<16>>16!=o<<16>>16)}else d=0;if((2147483646-d&d|0)>=0)if((d|0)==2147483647){if(c){d=0-t<<16>>16<<16>>16;do{Ve[y+(d+g<<1)>>1]=It(Ve[i+(d<<1)>>1]|0,3,u)|0;d=d+1|0}while((d&65535)<<16>>16!=o<<16>>16)}}else p=14;else{Ge[u>>2]=1;p=14}do{if((p|0)==14){if((1048575-d&d|0)<0){Ge[u>>2]=1;d=(d>>>31)+2147483647|0}else d=d+-1048576|0;if((d|0)>=0){if(!c)break;D=0-t<<16>>16<<16>>16;Yt(y+(g+D<<1)|0,i+(D<<1)|0,(((o+t<<16>>16)+-1&65535)<<1)+2|0)|0;break}if(c){d=0-t<<16>>16<<16>>16;do{D=Ve[i+(d<<1)>>1]|0;Ve[y+(d+g<<1)>>1]=(D<<19>>19|0)==(D|0)?D<<3:D>>>15^32767;d=d+1|0}while((d&65535)<<16>>16!=o<<16>>16)}}}while(0);A=b+(g<<2)|0;Wr(S,o,t,n,A);m=Ve[e>>1]|0;D=e+4|0;_=f+(s<<16>>16<<1)|0;e:do{if(t<<16>>16>16)v=t;else{if((Ve[D>>1]|0)<=0){i=t;f=-2147483648;w=t;p=3402;while(1){qi(Ge[b+(g-(i<<16>>16)<<2)>>2]|0,k,E,u);h=Ve[E>>1]|0;d=Ve[p>>1]|0;m=Ze(d,Ve[k>>1]|0)|0;if((m|0)==1073741824){Ge[u>>2]=1;c=2147483647}else c=m<<1;v=(Ze(d,h<<16>>16)|0)>>15;m=c+(v<<1)|0;if((c^v|0)>0&(m^c|0)<0){Ge[u>>2]=1;m=(c>>>31)+2147483647|0}h=(m|0)<(f|0);w=h?w:i;i=i+-1<<16>>16;if(i<<16>>16>16){v=w;break e}else{f=h?f:m;p=p+-2|0}}}f=t;c=-2147483648;w=t;v=2902+(g+123-(m<<16>>16)<<1)|0;i=3402;while(1){qi(Ge[b+(g-(f<<16>>16)<<2)>>2]|0,k,E,u);p=Ve[E>>1]|0;h=Ve[i>>1]|0;m=Ze(h,Ve[k>>1]|0)|0;if((m|0)==1073741824){Ge[u>>2]=1;d=2147483647}else d=m<<1;p=(Ze(h,p<<16>>16)|0)>>15;m=d+(p<<1)|0;if((d^p|0)>0&(m^d|0)<0){Ge[u>>2]=1;m=(d>>>31)+2147483647|0}qi(m,k,E,u);p=Ve[E>>1]|0;h=Ve[v>>1]|0;m=Ze(h,Ve[k>>1]|0)|0;if((m|0)==1073741824){Ge[u>>2]=1;d=2147483647}else d=m<<1;p=(Ze(h,p<<16>>16)|0)>>15;m=d+(p<<1)|0;if((d^p|0)>0&(m^d|0)<0){Ge[u>>2]=1;m=(d>>>31)+2147483647|0}h=(m|0)<(c|0);w=h?w:f;f=f+-1<<16>>16;if(f<<16>>16>16){v=w;break}else{c=h?c:m;v=v+-2|0;i=i+-2|0}}}}while(0);if(o<<16>>16>0){f=0;i=S;p=y+(g-(v<<16>>16)<<1)|0;w=0;d=0;while(1){m=Ve[p>>1]|0;h=Ze(m,Ve[i>>1]|0)|0;if((h|0)!=1073741824){c=(h<<1)+w|0;if((h^w|0)>0&(c^w|0)<0){Ge[u>>2]=1;w=(w>>>31)+2147483647|0}else w=c}else{Ge[u>>2]=1;w=2147483647}c=Ze(m,m)|0;if((c|0)!=1073741824){h=(c<<1)+d|0;if((c^d|0)>0&(h^d|0)<0){Ge[u>>2]=1;d=(d>>>31)+2147483647|0}else d=h}else{Ge[u>>2]=1;d=2147483647}f=f+1<<16>>16;if(f<<16>>16>=o<<16>>16)break;else{i=i+2|0;p=p+2|0}}}else{w=0;d=0}h=(l|0)==0;if(!h){jn(r,0,u);zn(r,w,d,u)}c=(Ft(d,u)|0)<<16>>16;if((c*13107|0)==1073741824){Ge[u>>2]=1;d=2147483647}else d=c*26214|0;c=w-d|0;if(((c^w)&(d^w)|0)<0){Ge[u>>2]=1;c=(w>>>31)+2147483647|0}l=Ft(c,u)|0;Ve[_>>1]=l;if(l<<16>>16>0){c=a+6|0;Ve[a+8>>1]=Ve[c>>1]|0;l=a+4|0;Ve[c>>1]=Ve[l>>1]|0;c=a+2|0;Ve[l>>1]=Ve[c>>1]|0;Ve[c>>1]=Ve[a>>1]|0;Ve[a>>1]=v;Ve[e>>1]=rt(a,5)|0;Ve[e+2>>1]=32767;c=32767}else{Ve[e>>1]=v;e=e+2|0;c=((Ve[e>>1]|0)*29491|0)>>>15&65535;Ve[e>>1]=c}Ve[D>>1]=((Ct(c,9830,u)|0)&65535)>>>15^1;if(h){Ke=M;return v|0}if((Ct(s,1,u)|0)<<16>>16){Ke=M;return v|0}Ii(A,S,o,t,n,R,u)|0;Un(r,Ve[R>>1]|0);Ke=M;return v|0}function an(e,r,i,n,t,o,a,f,s,l){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;var u=0,c=0;l=Ke;Ke=Ke+48|0;c=l+22|0;u=l;r=e>>>0<6?r:i;i=o<<16>>16>0?22:0;e=t+(i<<1)|0;xt(e,r,c);xt(e,n,u);e=o<<16>>16;o=s+(e<<1)|0;Lt(c,a+(e<<1)|0,o,40);Bt(u,o,o,40,f,1);i=t+(((i<<16)+720896|0)>>>16<<1)|0;xt(i,r,c);xt(i,n,u);e=(e<<16)+2621440>>16;s=s+(e<<1)|0;Lt(c,a+(e<<1)|0,s,40);Bt(u,s,s,40,f,1);Ke=l;return}function fn(e){e=e|0;var r=0;if(!e){e=-1;return e|0}Ge[e>>2]=0;r=Ut(12)|0;if(!r){e=-1;return e|0}Ve[r>>1]=0;Ve[r+2>>1]=0;Ve[r+4>>1]=0;Ve[r+6>>1]=0;Ve[r+8>>1]=0;Ve[r+10>>1]=0;Ge[e>>2]=r;e=0;return e|0}function sn(e){e=e|0;if(!e){e=-1;return e|0}Ve[e>>1]=0;Ve[e+2>>1]=0;Ve[e+4>>1]=0;Ve[e+6>>1]=0;Ve[e+8>>1]=0;Ve[e+10>>1]=0;e=0;return e|0}function ln(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zt(r);Ge[e>>2]=0;return}function un(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0;c=e+10|0;t=Ve[c>>1]|0;d=e+8|0;n=Ve[d>>1]|0;if(!(i<<16>>16)){e=n;u=t;Ve[c>>1]=u;Ve[d>>1]=e;return}f=e+4|0;s=e+6|0;l=e+2|0;a=Ve[s>>1]|0;u=Ve[f>>1]|0;o=i;i=t;while(1){h=(Ze(Ve[e>>1]|0,-3733)|0)+(((u<<16>>16)*7807|0)+((a<<16>>16)*7807>>15))|0;Ve[e>>1]=u;h=h+((Ze(Ve[l>>1]|0,-3733)|0)>>15)|0;Ve[l>>1]=a;h=((i<<16>>16)*1899|0)+h+(Ze(n<<16>>16,-3798)|0)|0;i=Ve[r>>1]|0;h=h+((i<<16>>16)*1899|0)|0;Ve[r>>1]=(h+2048|0)>>>12;t=h>>>12;u=t&65535;Ve[f>>1]=u;a=(h<<3)-(t<<15)&65535;Ve[s>>1]=a;o=o+-1<<16>>16;if(!(o<<16>>16))break;else{h=n;r=r+2|0;n=i;i=h}}Ve[c>>1]=n;Ve[d>>1]=i;return}function cn(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0;t=Ve[(Ge[n+88>>2]|0)+(e<<1)>>1]|0;if(!(t<<16>>16))return;f=i;a=Ge[(Ge[n+92>>2]|0)+(e<<2)>>2]|0;while(1){i=Ve[a>>1]|0;if(!(i<<16>>16))i=0;else{e=Ve[r>>1]|0;o=i;n=f+((i<<16>>16)+-1<<1)|0;while(1){i=e<<16>>16;Ve[n>>1]=i&1;o=o+-1<<16>>16;if(!(o<<16>>16))break;else{e=i>>>1&65535;n=n+-2|0}}i=Ve[a>>1]|0}r=r+2|0;t=t+-1<<16>>16;if(!(t<<16>>16))break;else{f=f+(i<<16>>16<<1)|0;a=a+2|0}}return}function dn(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0,s=0,l=0,u=0;u=Ke;Ke=Ke+16|0;s=u+2|0;l=u;a=t<<16>>16;if(t<<16>>16<1){o=-5443;l=-32768;Jn(e,l,o);Ke=u;return}f=gt(14,i,o)|0;if((a|0)<(f<<16>>16|0))i=n;else{i=(n&65535)+1&65535;t=a>>>1&65535}n=Kn(t,f&65535)|0;Ve[l>>1]=n;ft(n<<16>>16,s,l,o);Ve[s>>1]=((((i&65535)-(r&65535)<<16)+-65536|0)>>>16)+(We[s>>1]|0);n=Tt(Ve[l>>1]|0,5,o)|0;a=Ve[s>>1]|0;n=((a&65535)<<10)+(n&65535)&65535;if(n<<16>>16>18284){o=3037;l=18284;Jn(e,l,o);Ke=u;return}t=Ve[l>>1]|0;a=a<<16>>16;if((a*24660|0)==1073741824){Ge[o>>2]=1;i=2147483647}else i=a*49320|0;l=(t<<16>>16)*24660>>15;a=i+(l<<1)|0;if((i^l|0)>0&(a^i|0)<0){Ge[o>>2]=1;a=(i>>>31)+2147483647|0}l=a<<13;o=Ft((l>>13|0)==(a|0)?l:a>>31^2147483647,o)|0;l=n;Jn(e,l,o);Ke=u;return}function hn(e,r,i,n,t,o,a,f,s,l,u,c,d,h,w,m,p,v,b,k){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;c=c|0;d=d|0;h=h|0;w=w|0;m=m|0;p=p|0;v=v|0;b=b|0;k=k|0;var E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0,C=0,B=0,x=0,U=0,z=0,j=0,q=0,H=0,Y=0,X=0,V=0,G=0,W=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ie=0;ie=Ke;Ke=Ke+80|0;J=ie+66|0;$=ie+64|0;ee=ie+62|0;re=ie+60|0;C=ie+40|0;B=ie+20|0;T=ie;Ve[J>>1]=r;Ve[$>>1]=s;Ve[ee>>1]=l;I=gt(14,i,k)|0;Q=I&65535;Ve[re>>1]=Q;P=gt(14,l,k)|0;F=(We[n>>1]|0)+65523|0;Ve[T>>1]=F;S=(We[n+2>>1]|0)+65522|0;R=T+2|0;Ve[R>>1]=S;M=((r&65535)<<16)+-720896|0;_=M>>16;M=(M>>>15)+15+(We[n+4>>1]|0)|0;N=T+4|0;Ve[N>>1]=M;O=(We[n+6>>1]|0)+_|0;L=T+6|0;Ve[L>>1]=O;_=_+1+(We[n+8>>1]|0)|0;A=T+8|0;Ve[A>>1]=_;E=(We[u>>1]|0)+65523&65535;Ve[T+10>>1]=E;D=(We[u+2>>1]|0)+65522&65535;Ve[T+12>>1]=D;g=((s&65535)<<16)+-720896|0;n=g>>16;g=(g>>>15)+15+(We[u+4>>1]|0)&65535;Ve[T+14>>1]=g;y=(We[u+6>>1]|0)+n&65535;Ve[T+16>>1]=y;n=n+1+(We[u+8>>1]|0)&65535;Ve[T+18>>1]=n;K=(o&65535)-(d&65535)<<16;s=K>>16;if((K|0)>0){l=a;i=h<<16>>16>>s&65535}else{l=a<<16>>16>>0-s&65535;i=h}if((Tt(i,1,k)|0)<<16>>16>l<<16>>16)i=1;else i=(((l<<16>>16)+3>>2|0)>(i<<16>>16|0))<<31>>31;u=F+i&65535;Ve[T>>1]=u;K=S+i&65535;Ve[R>>1]=K;W=M+i&65535;Ve[N>>1]=W;G=O+i&65535;Ve[L>>1]=G;V=_+i&65535;Ve[A>>1]=V;s=n<<16>>16>u<<16>>16?n:u;s=y<<16>>16>s<<16>>16?y:s;s=g<<16>>16>s<<16>>16?g:s;s=D<<16>>16>s<<16>>16?D:s;s=E<<16>>16>s<<16>>16?E:s;s=V<<16>>16>s<<16>>16?V:s;s=G<<16>>16>s<<16>>16?G:s;s=W<<16>>16>s<<16>>16?W:s;s=(K<<16>>16>s<<16>>16?K:s)+1&65535;n=0;while(1){i=s-(u&65535)|0;u=i&65535;l=We[t>>1]<<16;i=i<<16>>16;if(u<<16>>16>0)u=u<<16>>16<31?l>>i:0;else{K=0-i<<16>>16;u=l<>K|0)==(l|0)?u:l>>31^2147483647}K=u>>16;Ve[C+(n<<1)>>1]=K;Ve[B+(n<<1)>>1]=(u>>>1)-(K<<15);n=n+1|0;if((n|0)==5){i=5;l=c;break}u=Ve[T+(n<<1)>>1]|0;t=t+2|0}while(1){n=s-(E&65535)|0;E=n&65535;u=We[l>>1]<<16;n=n<<16>>16;if(E<<16>>16>0)u=E<<16>>16<31?u>>n:0;else{W=0-n<<16>>16;K=u<>W|0)==(u|0)?K:u>>31^2147483647}K=u>>16;Ve[C+(i<<1)>>1]=K;Ve[B+(i<<1)>>1]=(u>>>1)-(K<<15);u=i+1|0;if((u&65535)<<16>>16==10)break;E=Ve[T+(u<<1)>>1]|0;i=u;l=l+2|0}x=I<<16>>16;U=Ve[C>>1]|0;z=Ve[B>>1]|0;j=Ve[C+2>>1]|0;q=Ve[B+2>>1]|0;H=Ve[C+4>>1]|0;Y=Ve[B+4>>1]|0;X=Ve[C+6>>1]|0;V=Ve[B+6>>1]|0;G=Ve[C+8>>1]|0;W=Ve[B+8>>1]|0;K=w&65535;d=P<<16>>16;o=Ve[C+10>>1]|0;y=Ve[B+10>>1]|0;g=Ve[C+12>>1]|0;t=Ve[B+12>>1]|0;i=Ve[C+14>>1]|0;l=Ve[B+14>>1]|0;n=Ve[C+16>>1]|0;E=Ve[B+16>>1]|0;_=Ve[C+18>>1]|0;B=Ve[B+18>>1]|0;s=2147483647;C=0;u=0;A=782;do{T=Ve[A>>1]|0;O=(Ze(x,Ve[A+2>>1]|0)|0)>>>15<<16;c=O>>16;M=T<<1;F=(Ze(M,T)|0)>>16;h=Ze(F,U)|0;if((h|0)==1073741824){Ge[k>>2]=1;L=2147483647}else L=h<<1;P=(Ze(z,F)|0)>>15;h=L+(P<<1)|0;if((L^P|0)>0&(h^L|0)<0){Ge[k>>2]=1;h=(L>>>31)+2147483647|0}F=Ze(j,T)|0;if((F|0)==1073741824){Ge[k>>2]=1;L=2147483647}else L=F<<1;P=(Ze(q,T)|0)>>15;F=L+(P<<1)|0;if((L^P|0)>0&(F^L|0)<0){Ge[k>>2]=1;F=(L>>>31)+2147483647|0}O=(Ze(O>>15,c)|0)>>16;L=Ze(H,O)|0;if((L|0)==1073741824){Ge[k>>2]=1;N=2147483647}else N=L<<1;P=(Ze(Y,O)|0)>>15;L=N+(P<<1)|0;if((N^P|0)>0&(L^N|0)<0){Ge[k>>2]=1;L=(N>>>31)+2147483647|0}O=Ze(X,c)|0;if((O|0)==1073741824){Ge[k>>2]=1;N=2147483647}else N=O<<1;P=(Ze(V,c)|0)>>15;O=N+(P<<1)|0;if((N^P|0)>0&(O^N|0)<0){Ge[k>>2]=1;P=(N>>>31)+2147483647|0}else P=O;N=(Ze(M,c)|0)>>16;O=Ze(G,N)|0;if((O|0)==1073741824){Ge[k>>2]=1;M=2147483647}else M=O<<1;I=(Ze(W,N)|0)>>15;O=M+(I<<1)|0;if((M^I|0)>0&(O^M|0)<0){Ge[k>>2]=1;O=(M>>>31)+2147483647|0}N=Ve[A+4>>1]|0;M=Ve[A+6>>1]|0;A=A+8|0;if((T-K&65535)<<16>>16<1?(Z=N<<16>>16,N<<16>>16<=w<<16>>16):0){S=(Ze(M<<16>>16,d)|0)>>>15<<16;T=S>>16;D=Z<<1;M=(Ze(D,Z)|0)>>16;N=Ze(o,M)|0;if((N|0)==1073741824){Ge[k>>2]=1;R=2147483647}else R=N<<1;I=(Ze(y,M)|0)>>15;N=R+(I<<1)|0;if((R^I|0)>0&(N^R|0)<0){Ge[k>>2]=1;N=(R>>>31)+2147483647|0}M=Ze(g,Z)|0;if((M|0)==1073741824){Ge[k>>2]=1;R=2147483647}else R=M<<1;I=(Ze(t,Z)|0)>>15;M=R+(I<<1)|0;if((R^I|0)>0&(M^R|0)<0){Ge[k>>2]=1;I=(R>>>31)+2147483647|0}else I=M;R=(Ze(S>>15,T)|0)>>16;M=Ze(i,R)|0;if((M|0)==1073741824){Ge[k>>2]=1;S=2147483647}else S=M<<1;c=(Ze(l,R)|0)>>15;M=S+(c<<1)|0;if((S^c|0)>0&(M^S|0)<0){Ge[k>>2]=1;c=(S>>>31)+2147483647|0}else c=M;M=Ze(n,T)|0;if((M|0)==1073741824){Ge[k>>2]=1;R=2147483647}else R=M<<1;S=(Ze(E,T)|0)>>15;M=R+(S<<1)|0;if((R^S|0)>0&(M^R|0)<0){Ge[k>>2]=1;a=(R>>>31)+2147483647|0}else a=M;R=(Ze(D,T)|0)>>16;M=Ze(_,R)|0;if((M|0)==1073741824){Ge[k>>2]=1;S=2147483647}else S=M<<1;T=(Ze(B,R)|0)>>15;M=S+(T<<1)|0;if((S^T|0)>0&(M^S|0)<0){Ge[k>>2]=1;M=(S>>>31)+2147483647|0}T=F+h+L+P+O+N+I+c+a+M|0;P=(T|0)<(s|0);s=P?T:s;u=P?C:u}C=C+1<<16>>16}while(C<<16>>16<256);w=(u&65535)<<18>>16;wn(e,782+(w<<1)|0,Q,r,m,p,k);Qn(e,0,f,$,ee,J,re,k);f=(gt(14,Ve[ee>>1]|0,k)|0)&65535;wn(e,782+((w|2)<<1)|0,f,Ve[$>>1]|0,v,b,k);Ke=ie;return u|0}function wn(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0;u=Ke;Ke=Ke+16|0;s=u+2|0;l=u;Ve[t>>1]=Ve[r>>1]|0;f=Ve[r+2>>1]|0;i=Ze(i<<16>>16<<1,f)|0;t=10-(n&65535)|0;r=t&65535;t=t<<16>>16;if(r<<16>>16>0)r=r<<16>>16<31?i>>t:0;else{t=0-t<<16>>16;r=i<>t|0)==(i|0)?r:i>>31^2147483647}Ve[o>>1]=r>>>16;ft(f,s,l,a);Ve[s>>1]=(We[s>>1]|0)+65524;t=Tt(Ve[l>>1]|0,5,a)|0;n=Ve[s>>1]|0;t=((n&65535)<<10)+(t&65535)&65535;i=Ve[l>>1]|0;n=n<<16>>16;if((n*24660|0)==1073741824){Ge[a>>2]=1;r=2147483647}else r=n*49320|0;l=(i<<16>>16)*24660>>15;n=r+(l<<1)|0;if(!((r^l|0)>0&(n^r|0)<0)){a=n;a=a<<13;a=a+32768|0;a=a>>>16;a=a&65535;Jn(e,t,a);Ke=u;return}Ge[a>>2]=1;a=(r>>>31)+2147483647|0;a=a<<13;a=a+32768|0;a=a>>>16;a=a&65535;Jn(e,t,a);Ke=u;return}function mn(e,r,i,n,t,o,a,f,s,l,u,c,d,h,w,m,p,v,b,k,E){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;c=c|0;d=d|0;h=h|0;w=w|0;m=m|0;p=p|0;v=v|0;b=b|0;k=k|0;E=E|0;var g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0,C=0,B=0,x=0,U=0,z=0,j=0,q=0,H=0,Y=0,X=0,V=0,G=0,W=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0;ae=Ke;Ke=Ke+80|0;ne=ae+72|0;te=ae+70|0;oe=ae+68|0;re=ae+66|0;ie=ae+56|0;G=ae+24|0;V=ae+12|0;Y=ae+48|0;X=ae+40|0;U=ae+34|0;j=ae+22|0;B=ae+6|0;x=ae;vn(5,h,w,B,x,Ge[k+72>>2]|0,E)|0;_=gt(14,l,E)|0;z=k+68|0;C=Ge[z>>2]|0;H=s<<16>>16;q=H+65526|0;h=(We[o>>1]|0)+65523&65535;Ve[ie>>1]=h;k=(We[o+2>>1]|0)+65522&65535;Ve[ie+2>>1]=k;J=q<<16>>16;$=((q<<17>>17|0)==(J|0)?q<<1:J>>>15^32767)+15+(We[o+4>>1]|0)&65535;Ve[ie+4>>1]=$;ee=(We[o+6>>1]|0)+J&65535;Ve[ie+6>>1]=ee;o=J+1+(We[o+8>>1]|0)&65535;Ve[ie+8>>1]=o;k=k<<16>>16>h<<16>>16?k:h;k=$<<16>>16>k<<16>>16?$:k;k=ee<<16>>16>k<<16>>16?ee:k;k=(Gn(o<<16>>16>k<<16>>16?o:k,1,E)|0)&65535;o=h;h=0;while(1){l=k-(o&65535)|0;o=l&65535;y=We[t+(h<<1)>>1]<<16;l=l<<16>>16;if(o<<16>>16>0)l=o<<16>>16<31?y>>l:0;else{ee=0-l<<16>>16;l=y<>ee|0)==(y|0)?l:y>>31^2147483647}qi(l,G+(h<<1)|0,V+(h<<1)|0,E);l=h+1|0;if((l|0)==5)break;o=Ve[ie+(l<<1)>>1]|0;h=l}T=G+2|0;P=V+2|0;ee=_<<16>>16;W=G+4|0;K=V+4|0;Z=G+6|0;Q=V+6|0;J=G+8|0;$=V+8|0;S=0;o=2147483647;t=0;l=0;while(1){I=Ve[B+(t<<1)>>1]|0;_=Ze(I,I)|0;if(_>>>0>1073741823){Ge[E>>2]=1;_=32767}else _=_>>>15;k=Ve[V>>1]|0;y=_<<16>>16;_=Ze(y,Ve[G>>1]|0)|0;if((_|0)==1073741824){Ge[E>>2]=1;h=2147483647}else h=_<<1;F=(Ze(k<<16>>16,y)|0)>>15;_=h+(F<<1)|0;if((h^F|0)>0&(_^h|0)<0){Ge[E>>2]=1;_=(h>>>31)+2147483647|0}k=Ve[P>>1]|0;y=Ze(Ve[T>>1]|0,I)|0;if((y|0)!=1073741824){h=(y<<1)+_|0;if((y^_|0)>0&(h^_|0)<0){Ge[E>>2]=1;h=(_>>>31)+2147483647|0}}else{Ge[E>>2]=1;h=2147483647}_=(Ze(k<<16>>16,I)|0)>>15;if((_|0)>32767){Ge[E>>2]=1;_=32767}F=_<<16;_=(F>>15)+h|0;if((F>>16^h|0)>0&(_^h|0)<0){Ge[E>>2]=1;F=(h>>>31)+2147483647|0}else F=_;O=(F>>>31)+2147483647|0;L=t&65535;_=S;M=0;N=C;do{y=(Ze(Ve[N>>1]|0,ee)|0)>>15;N=N+6|0;if((y|0)>32767){Ge[E>>2]=1;y=32767}R=y<<16>>16;y=Ze(R,R)|0;if((y|0)==1073741824){Ge[E>>2]=1;D=2147483647}else D=y<<1;qi(D,ne,te,E);y=Ze(R,I)|0;if((y|0)==1073741824){Ge[E>>2]=1;D=2147483647}else D=y<<1;qi(D,oe,re,E);h=Ve[K>>1]|0;A=Ve[te>>1]|0;y=Ve[W>>1]|0;k=Ve[ne>>1]|0;S=Ze(k,y)|0;if((S|0)!=1073741824){D=(S<<1)+F|0;if((S^F|0)>0&(D^F|0)<0){Ge[E>>2]=1;D=O}}else{Ge[E>>2]=1;D=2147483647}S=(Ze(A<<16>>16,y)|0)>>15;if((S|0)>32767){Ge[E>>2]=1;S=32767}A=S<<16;S=(A>>15)+D|0;if((A>>16^D|0)>0&(S^D|0)<0){Ge[E>>2]=1;S=(D>>>31)+2147483647|0}D=(Ze(k,h<<16>>16)|0)>>15;if((D|0)>32767){Ge[E>>2]=1;D=32767}A=D<<16;D=(A>>15)+S|0;if((A>>16^S|0)>0&(D^S|0)<0){Ge[E>>2]=1;D=(S>>>31)+2147483647|0}y=Ve[Q>>1]|0;S=Ze(Ve[Z>>1]|0,R)|0;if((S|0)!=1073741824){A=(S<<1)+D|0;if((S^D|0)>0&(A^D|0)<0){Ge[E>>2]=1;A=(D>>>31)+2147483647|0}}else{Ge[E>>2]=1;A=2147483647}y=(Ze(y<<16>>16,R)|0)>>15;if((y|0)>32767){Ge[E>>2]=1;y=32767}R=y<<16;y=(R>>15)+A|0;if((R>>16^A|0)>0&(y^A|0)<0){Ge[E>>2]=1;y=(A>>>31)+2147483647|0}k=Ve[$>>1]|0;A=Ve[re>>1]|0;h=Ve[J>>1]|0;g=Ve[oe>>1]|0;S=Ze(g,h)|0;do{if((S|0)==1073741824){Ge[E>>2]=1;S=2147483647}else{D=(S<<1)+y|0;if(!((S^y|0)>0&(D^y|0)<0)){S=D;break}Ge[E>>2]=1;S=(y>>>31)+2147483647|0}}while(0);D=(Ze(A<<16>>16,h)|0)>>15;if((D|0)>32767){Ge[E>>2]=1;D=32767}R=D<<16;D=(R>>15)+S|0;if((R>>16^S|0)>0&(D^S|0)<0){Ge[E>>2]=1;D=(S>>>31)+2147483647|0}y=(Ze(g,k<<16>>16)|0)>>15;if((y|0)>32767){Ge[E>>2]=1;y=32767}R=y<<16;y=(R>>15)+D|0;if((R>>16^D|0)>0&(y^D|0)<0){Ge[E>>2]=1;y=(D>>>31)+2147483647|0}R=(y|0)<(o|0);_=R?M:_;l=R?L:l;o=R?y:o;M=M+1<<16>>16}while(M<<16>>16<32);t=t+1|0;if((t|0)==3){y=_;t=l;break}else S=_}P=(y<<16>>16)*3|0;o=Ve[C+(P<<1)>>1]|0;Ve[p>>1]=Ve[C+(P+1<<1)>>1]|0;Ve[v>>1]=Ve[C+(P+2<<1)>>1]|0;o=Ze(o<<16>>16,ee)|0;if((o|0)==1073741824){Ge[E>>2]=1;_=2147483647}else _=o<<1;P=9-H|0;C=P&65535;P=P<<16>>16;T=C<<16>>16>0;if(T)_=C<<16>>16<31?_>>P:0;else{F=0-P<<16>>16;I=_<>F|0)==(_|0)?I:_>>31^2147483647}Ve[m>>1]=_>>>16;I=t<<16>>16;B=Ve[B+(I<<1)>>1]|0;Ve[w>>1]=B;x=Ve[x+(I<<1)>>1]|0;Kr(r,i,n,B,u,Y,X,U,E);Si(e,Ve[U>>1]|0,Ve[m>>1]|0,j,E);if(!((Ve[Y>>1]|0)!=0&(Ve[j>>1]|0)>0)){E=y;p=Ge[b>>2]|0;m=p+2|0;Ve[p>>1]=x;p=p+4|0;Ge[b>>2]=p;Ve[m>>1]=E;Ke=ae;return}R=Y+6|0;Ve[R>>1]=f;D=X+6|0;Ve[D>>1]=a;s=((Ct(d,s,E)|0)&65535)+10|0;k=s<<16>>16;if((s&65535)<<16>>16<0){l=0-k<<16;if((l|0)<983040)c=c<<16>>16>>(l>>16)&65535;else c=0}else{l=c<<16>>16;h=l<>16>>k|0)==(l|0))c=h&65535;else c=(l>>>15^32767)&65535}o=Ve[w>>1]|0;_=Ve[j>>1]|0;z=Ge[z>>2]|0;h=Ve[m>>1]|0;j=10-H|0;k=j<<16>>16;if((j&65535)<<16>>16<0){l=0-k<<16;if((l|0)<983040)f=h<<16>>16>>(l>>16)&65535;else f=0}else{l=h<<16>>16;h=l<>16>>k|0)==(l|0))f=h&65535;else f=(l>>>15^32767)&65535}t=o<<16>>16;l=Ze(t,t)|0;if(l>>>0>1073741823){Ge[E>>2]=1;o=32767}else o=l>>>15;y=Gn(32767-(_&65535)&65535,1,E)|0;_=_<<16>>16;l=Ze(Ve[Y+2>>1]|0,_)|0;if((l|0)==1073741824){Ge[E>>2]=1;l=2147483647}else l=l<<1;j=l<<1;l=Ze(((j>>1|0)==(l|0)?j:l>>31^2147418112)>>16,o<<16>>16)|0;if((l|0)==1073741824){Ge[E>>2]=1;S=2147483647}else S=l<<1;A=(We[X+2>>1]|0)+65521|0;k=A&65535;l=Ze(Ve[Y+4>>1]|0,_)|0;if((l|0)==1073741824){Ge[E>>2]=1;o=2147483647}else o=l<<1;l=o<<1;l=(Ze(((l>>1|0)==(o|0)?l:o>>31^2147418112)>>16,t)|0)>>15;if((l|0)>32767){Ge[E>>2]=1;l=32767}Ve[W>>1]=l;o=q&65535;Ve[ne>>1]=o;o=Gn(Ve[X+4>>1]|0,o,E)|0;l=Ze(Ve[R>>1]|0,_)|0;if((l|0)==1073741824){Ge[E>>2]=1;l=2147483647}else l=l<<1;g=l<<1;Ve[Z>>1]=((g>>1|0)==(l|0)?g:l>>31^2147418112)>>>16;g=((H<<17>>17|0)==(H|0)?H<<1:H>>>15^32767)+65529&65535;Ve[ne>>1]=g;g=Gn(Ve[D>>1]|0,g,E)|0;l=(Ze(Ve[R>>1]|0,y<<16>>16)|0)>>15;if((l|0)>32767){Ge[E>>2]=1;l=32767}Ve[J>>1]=l;y=Gn(g,1,E)|0;h=Ze(Ve[Y>>1]|0,_)|0;if((h|0)==1073741824){Ge[E>>2]=1;l=2147483647}else l=h<<1;D=Pt(l,ne,E)|0;t=(We[ne>>1]|0)+47|0;Ve[ne>>1]=t;t=(We[X>>1]|0)-(t&65535)|0;_=t+31&65535;_=k<<16>>16>_<<16>>16?k:_;_=o<<16>>16>_<<16>>16?o:_;_=g<<16>>16>_<<16>>16?g:_;_=(y<<16>>16>_<<16>>16?y:_)<<16>>16;h=_-(A&65535)|0;l=h&65535;h=h<<16>>16;if(l<<16>>16>0)F=l<<16>>16<31?S>>h:0;else{X=0-h<<16>>16;F=S<>X|0)==(S|0)?F:S>>31^2147483647}k=_-(o&65535)|0;l=k&65535;h=We[W>>1]<<16;k=k<<16>>16;if(l<<16>>16>0)h=l<<16>>16<31?h>>k:0;else{Y=0-k<<16>>16;X=h<>Y|0)==(h|0)?X:h>>31^2147483647}qi(h,W,K,E);g=_-(g&65535)|0;h=g&65535;k=We[Z>>1]<<16;g=g<<16>>16;if(h<<16>>16>0)h=h<<16>>16<31?k>>g:0;else{X=0-g<<16>>16;h=k<>X|0)==(k|0)?h:k>>31^2147483647}qi(h,Z,Q,E);g=_-(y&65535)|0;h=g&65535;k=We[J>>1]<<16;g=g<<16>>16;if(h<<16>>16>0)h=h<<16>>16<31?k>>g:0;else{X=0-g<<16>>16;h=k<>X|0)==(k|0)?h:k>>31^2147483647}qi(h,J,$,E);g=_+65505|0;Ve[ne>>1]=g;g=g-(t&65535)|0;h=It(g&65535,1,E)|0;k=h<<16>>16;if(h<<16>>16>0)k=h<<16>>16<31?D>>k:0;else{X=0-k<<16>>16;k=D<>X|0)==(D|0)?k:D>>31^2147483647}do{if(!(g&1))S=k;else{qi(k,G,V,E);h=Ve[V>>1]|0;k=Ve[G>>1]|0;if((k*23170|0)==1073741824){Ge[E>>2]=1;g=2147483647}else g=k*46340|0;G=(h<<16>>16)*23170>>15;k=g+(G<<1)|0;if(!((g^G|0)>0&(k^g|0)<0)){S=k;break}Ge[E>>2]=1;S=(g>>>31)+2147483647|0}}while(0);R=(F>>>31)+2147483647|0;D=2147483647;A=0;k=0;M=z;while(1){h=(Ze(Ve[M>>1]|0,ee)|0)>>15;M=M+6|0;if((h|0)>32767){Ge[E>>2]=1;h=32767}g=h&65535;if(g<<16>>16>=f<<16>>16)break;o=h<<16>>16;h=Ze(o,o)|0;if((h|0)==1073741824){Ge[E>>2]=1;l=2147483647}else l=h<<1;qi(l,te,oe,E);h=(Ct(g,c,E)|0)<<16>>16;h=Ze(h,h)|0;if((h|0)==1073741824){Ge[E>>2]=1;h=2147483647}else h=h<<1;qi(h,re,ie,E);g=Ve[K>>1]|0;l=Ze(Ve[W>>1]|0,o)|0;do{if((l|0)==1073741824){Ge[E>>2]=1;l=2147483647}else{h=(l<<1)+F|0;if(!((l^F|0)>0&(h^F|0)<0)){l=h;break}Ge[E>>2]=1;l=R}}while(0);h=(Ze(g<<16>>16,o)|0)>>15;if((h|0)>32767){Ge[E>>2]=1;h=32767}G=h<<16;h=(G>>15)+l|0;if((G>>16^l|0)>0&(h^l|0)<0){Ge[E>>2]=1;h=(l>>>31)+2147483647|0}t=Ve[Q>>1]|0;y=Ve[oe>>1]|0;o=Ve[Z>>1]|0;_=Ve[te>>1]|0;l=Ze(_,o)|0;do{if((l|0)==1073741824){Ge[E>>2]=1;g=2147483647}else{g=(l<<1)+h|0;if(!((l^h|0)>0&(g^h|0)<0))break;Ge[E>>2]=1;g=(h>>>31)+2147483647|0}}while(0);l=(Ze(y<<16>>16,o)|0)>>15;if((l|0)>32767){Ge[E>>2]=1;l=32767}G=l<<16;l=(G>>15)+g|0;if((G>>16^g|0)>0&(l^g|0)<0){Ge[E>>2]=1;l=(g>>>31)+2147483647|0}h=(Ze(_,t<<16>>16)|0)>>15;if((h|0)>32767){Ge[E>>2]=1;h=32767}G=h<<16;h=(G>>15)+l|0;if((G>>16^l|0)>0&(h^l|0)<0){Ge[E>>2]=1;h=(l>>>31)+2147483647|0}h=Pt(h,ne,E)|0;g=It(Ve[ne>>1]|0,1,E)|0;l=g<<16>>16;if(g<<16>>16>0)g=g<<16>>16<31?h>>l:0;else{G=0-l<<16>>16;g=h<>G|0)==(h|0)?g:h>>31^2147483647}h=g-S|0;if(((h^g)&(g^S)|0)<0){Ge[E>>2]=1;h=(g>>>31)+2147483647|0}h=(Ft(h,E)|0)<<16>>16;h=Ze(h,h)|0;if((h|0)==1073741824){Ge[E>>2]=1;g=2147483647}else g=h<<1;_=Ve[$>>1]|0;o=Ve[ie>>1]|0;y=Ve[J>>1]|0;t=Ve[re>>1]|0;l=Ze(t,y)|0;do{if((l|0)==1073741824){Ge[E>>2]=1;h=2147483647}else{h=(l<<1)+g|0;if(!((l^g|0)>0&(h^g|0)<0))break;Ge[E>>2]=1;h=(g>>>31)+2147483647|0}}while(0);l=(Ze(o<<16>>16,y)|0)>>15;if((l|0)>32767){Ge[E>>2]=1;l=32767}G=l<<16;l=(G>>15)+h|0;if((G>>16^h|0)>0&(l^h|0)<0){Ge[E>>2]=1;l=(h>>>31)+2147483647|0}h=(Ze(t,_<<16>>16)|0)>>15;if((h|0)>32767){Ge[E>>2]=1;h=32767}G=h<<16;h=(G>>15)+l|0;if((G>>16^l|0)>0&(h^l|0)<0){Ge[E>>2]=1;h=(l>>>31)+2147483647|0}l=(h|0)<(D|0);k=l?A:k;A=A+1<<16>>16;if(A<<16>>16>=32)break;else D=l?h:D}oe=(k<<16>>16)*3|0;g=Ve[z+(oe<<1)>>1]|0;Ve[p>>1]=Ve[z+(oe+1<<1)>>1]|0;Ve[v>>1]=Ve[z+(oe+2<<1)>>1]|0;g=Ze(g<<16>>16,ee)|0;if((g|0)==1073741824){Ge[E>>2]=1;g=2147483647}else g=g<<1;if(T)g=C<<16>>16<31?g>>P:0;else{p=0-P<<16>>16;E=g<>p|0)==(g|0)?E:g>>31^2147483647}Ve[m>>1]=g>>>16;E=k;p=Ge[b>>2]|0;m=p+2|0;Ve[p>>1]=x;p=p+4|0;Ge[b>>2]=p;Ve[m>>1]=E;Ke=ae;return}function pn(e,r,i,n,t,o,a,f){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;var s=0,l=0,u=0,c=0,d=0;d=(e|0)==7;s=Ve[n>>1]|0;if(d){s=s<<16>>16>>>1&65535;c=gt(r,i,f)|0;r=c<<16;e=r>>16;if((c<<20>>20|0)==(e|0))e=r>>12;else e=e>>>15^32767}else{c=gt(r,i,f)|0;r=c<<16;e=r>>16;if((c<<21>>21|0)==(e|0))e=r>>11;else e=e>>>15^32767}c=e<<16>>16;f=s<<16>>16;r=f-((Ze(c,Ve[a>>1]|0)|0)>>>15&65535)|0;r=((r&32768|0)!=0?0-r|0:r)&65535;l=1;e=0;u=a;while(1){u=u+6|0;s=f-((Ze(Ve[u>>1]|0,c)|0)>>>15&65535)|0;i=s<<16;s=(i|0)<0?0-(i>>16)|0:s;i=(s<<16>>16|0)<(r<<16>>16|0);e=i?l:e;l=l+1<<16>>16;if(l<<16>>16>=32)break;else r=i?s&65535:r}u=(e<<16>>16)*196608>>16;Ve[n>>1]=(Ze(Ve[a+(u<<1)>>1]|0,c)|0)>>>15<<(d&1);Ve[t>>1]=Ve[a+(u+1<<1)>>1]|0;Ve[o>>1]=Ve[a+(u+2<<1)>>1]|0;return e|0}function vn(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0,c=0,d=0;f=Ct(Ve[i>>1]|0,Ve[o>>1]|0,a)|0;f=(f&65535)-((f&65535)>>>15&65535)|0;f=(f<<16>>31^f)&65535;l=0;u=1;while(1){s=Ve[o+(u<<1)>>1]|0;if(s<<16>>16>r<<16>>16)s=f;else{s=Ct(Ve[i>>1]|0,s,a)|0;s=(s&65535)-((s&65535)>>>15&65535)|0;s=(s<<16>>31^s)&65535;d=s<<16>>16>16;s=d?s:f;l=d?u&65535:l}u=u+1|0;if((u|0)==16)break;else f=s}if((e|0)!=5){f=Ve[o+(l<<16>>16<<1)>>1]|0;if((e|0)==7){Ve[i>>1]=f&65532;return l|0}else{Ve[i>>1]=f;return l|0}}s=l<<16>>16;switch(l<<16>>16){case 0:{f=0;break}case 15:{c=8;break}default:if((Ve[o+(s+1<<1)>>1]|0)>r<<16>>16)c=8;else f=s+65535&65535}if((c|0)==8)f=s+65534&65535;Ve[t>>1]=f;d=f<<16>>16;Ve[n>>1]=Ve[o+(d<<1)>>1]|0;d=d+1|0;Ve[t+2>>1]=d;d=d<<16>>16;Ve[n+2>>1]=Ve[o+(d<<1)>>1]|0;d=d+1|0;Ve[t+4>>1]=d;Ve[n+4>>1]=Ve[o+(d<<16>>16<<1)>>1]|0;Ve[i>>1]=Ve[o+(s<<1)>>1]|0;return l|0}function bn(e,r,i,n,t,o,a,f,s,l,u,c){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;c=c|0;var d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0;F=Ke;Ke=Ke+32|0;w=F+20|0;m=F+10|0;h=F;switch(e|0){case 3:case 4:case 6:{u=u+84|0;L=128;break}default:{u=u+80|0;L=64}}O=Ge[u>>2]|0;d=gt(14,i,c)|0;N=r<<16>>16;M=N+65525|0;e=(We[t>>1]|0)+65523&65535;Ve[h>>1]=e;r=(We[t+2>>1]|0)+65522&65535;Ve[h+2>>1]=r;R=M<<16>>16;R=Gn(Ve[t+4>>1]|0,((M<<17>>17|0)==(R|0)?M<<1:R>>>15^32767)+15&65535,c)|0;Ve[h+4>>1]=R;M=Gn(Ve[t+6>>1]|0,M&65535,c)|0;Ve[h+6>>1]=M;t=Gn(Ve[t+8>>1]|0,N+65526&65535,c)|0;Ve[h+8>>1]=t;r=r<<16>>16>e<<16>>16?r:e;r=R<<16>>16>r<<16>>16?R:r;r=M<<16>>16>r<<16>>16?M:r;r=(t<<16>>16>r<<16>>16?t:r)+1&65535;t=0;while(1){i=r-(e&65535)|0;u=i&65535;e=We[n+(t<<1)>>1]<<16;i=i<<16>>16;if(u<<16>>16>0)u=u<<16>>16<31?e>>i:0;else{M=0-i<<16>>16;u=e<>M|0)==(e|0)?u:e>>31^2147483647}qi(u,w+(t<<1)|0,m+(t<<1)|0,c);u=t+1|0;if((u|0)==5)break;e=Ve[h+(u<<1)>>1]|0;t=u}M=d<<16>>16;E=Ve[w>>1]|0;g=Ve[m>>1]|0;y=Ve[w+2>>1]|0;_=Ve[m+2>>1]|0;A=Ve[w+4>>1]|0;D=Ve[m+4>>1]|0;S=Ve[w+6>>1]|0;R=Ve[m+6>>1]|0;k=Ve[w+8>>1]|0;p=Ve[m+8>>1]|0;r=2147483647;v=0;u=0;b=O;while(1){t=Ve[b>>1]|0;if(t<<16>>16>o<<16>>16)d=r;else{d=(Ze(Ve[b+2>>1]|0,M)|0)>>15;if((d|0)>32767){Ge[c>>2]=1;d=32767}m=t<<16>>16;t=Ze(m,m)|0;if(t>>>0>1073741823){Ge[c>>2]=1;h=32767}else h=t>>>15;i=d<<16>>16;d=Ze(i,i)|0;if(d>>>0>1073741823){Ge[c>>2]=1;w=32767}else w=d>>>15;n=(Ze(i,m)|0)>>15;if((n|0)>32767){Ge[c>>2]=1;n=32767}d=h<<16>>16;h=Ze(E,d)|0;if((h|0)==1073741824){Ge[c>>2]=1;t=2147483647}else t=h<<1;d=(Ze(g,d)|0)>>15;h=t+(d<<1)|0;if((t^d|0)>0&(h^t|0)<0){Ge[c>>2]=1;h=(t>>>31)+2147483647|0}d=Ze(y,m)|0;if((d|0)==1073741824){Ge[c>>2]=1;t=2147483647}else t=d<<1;m=(Ze(_,m)|0)>>15;d=t+(m<<1)|0;if((t^m|0)>0&(d^t|0)<0){Ge[c>>2]=1;d=(t>>>31)+2147483647|0}t=d+h|0;if((d^h|0)>-1&(t^h|0)<0){Ge[c>>2]=1;t=(h>>>31)+2147483647|0}d=w<<16>>16;h=Ze(A,d)|0;if((h|0)==1073741824){Ge[c>>2]=1;e=2147483647}else e=h<<1;m=(Ze(D,d)|0)>>15;h=e+(m<<1)|0;if((e^m|0)>0&(h^e|0)<0){Ge[c>>2]=1;h=(e>>>31)+2147483647|0}d=h+t|0;if((h^t|0)>-1&(d^t|0)<0){Ge[c>>2]=1;e=(t>>>31)+2147483647|0}else e=d;d=Ze(S,i)|0;if((d|0)==1073741824){Ge[c>>2]=1;h=2147483647}else h=d<<1;m=(Ze(R,i)|0)>>15;d=h+(m<<1)|0;if((h^m|0)>0&(d^h|0)<0){Ge[c>>2]=1;d=(h>>>31)+2147483647|0}t=d+e|0;if((d^e|0)>-1&(t^e|0)<0){Ge[c>>2]=1;h=(e>>>31)+2147483647|0}else h=t;t=n<<16>>16;d=Ze(k,t)|0;if((d|0)==1073741824){Ge[c>>2]=1;e=2147483647}else e=d<<1;m=(Ze(p,t)|0)>>15;d=e+(m<<1)|0;if((e^m|0)>0&(d^e|0)<0){Ge[c>>2]=1;t=(e>>>31)+2147483647|0}else t=d;d=t+h|0;if((t^h|0)>-1&(d^h|0)<0){Ge[c>>2]=1;d=(h>>>31)+2147483647|0}m=(d|0)<(r|0);d=m?d:r;u=m?v:u}b=b+8|0;v=v+1<<16>>16;if((v<<16>>16|0)>=(L|0))break;else r=d}o=u<<16>>16;o=((o<<18>>18|0)==(o|0)?o<<2:o>>>15^32767)<<16>>16;Ve[a>>1]=Ve[O+(o<<1)>>1]|0;r=Ve[O+(o+1<<1)>>1]|0;Ve[s>>1]=Ve[O+(o+2<<1)>>1]|0;Ve[l>>1]=Ve[O+(o+3<<1)>>1]|0;r=Ze(r<<16>>16,M)|0;if((r|0)==1073741824){Ge[c>>2]=1;e=2147483647}else e=r<<1;i=10-N|0;r=i&65535;i=i<<16>>16;if(r<<16>>16>0){c=r<<16>>16<31?e>>i:0;c=c>>>16;c=c&65535;Ve[f>>1]=c;Ke=F;return u|0}else{s=0-i<<16>>16;c=e<>s|0)==(e|0)?c:e>>31^2147483647;c=c>>>16;c=c&65535;Ve[f>>1]=c;Ke=F;return u|0}return 0}function kn(e,r,i,n,t,o,a,f,s){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;var l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0,C=0,B=0,x=0,U=0,z=0,j=0,q=0,H=0,Y=0,X=0,V=0,G=0,W=0,K=0,Z=0,Q=0,J=0,$=0,ee=0,re=0,ie=0,ne=0,te=0,oe=0,ae=0,fe=0,se=0,le=0,ue=0,ce=0,de=0,he=0,we=0,me=0,pe=0,ve=0,be=0;be=Ke;Ke=Ke+160|0;ve=be;u=e<<16>>16;me=e<<16>>16==10;pe=Ve[a+(Ve[o>>1]<<1)>>1]|0;if(e<<16>>16>0){s=0;l=f;while(1){Ve[l>>1]=s;s=s+1<<16>>16;if(s<<16>>16>=e<<16>>16)break;else l=l+2|0}}if(i<<16>>16<=1){Ke=be;return}he=o+2|0;we=pe<<16>>16;ue=n+(we<<1)|0;ce=t+(we*80|0)+(we<<1)|0;de=o+6|0;V=r&65535;G=o+4|0;W=o+10|0;K=o+8|0;Z=o+14|0;Q=o+12|0;J=o+18|0;$=o+16|0;ee=f+2|0;re=f+4|0;ie=f+6|0;ne=f+8|0;te=f+10|0;oe=f+12|0;ae=f+14|0;fe=f+16|0;se=f+18|0;le=e<<16>>16>2;Y=o+(u+-1<<1)|0;q=1;X=1;C=0;B=0;H=-1;while(1){j=Ve[a+(Ve[he>>1]<<1)>>1]|0;z=j<<16>>16;r=(We[n+(z<<1)>>1]|0)+(We[ue>>1]|0)|0;l=(Ve[t+(we*80|0)+(z<<1)>>1]<<13)+32768+((Ve[t+(z*80|0)+(z<<1)>>1]|0)+(Ve[ce>>1]|0)<<12)|0;u=Ve[de>>1]|0;if(u<<16>>16<40){u=u<<16>>16;c=ve;while(1){x=(Ve[t+(u*80|0)+(u<<1)>>1]|0)>>>1;P=Ve[t+(u*80|0)+(we<<1)>>1]|0;U=Ve[t+(u*80|0)+(z<<1)>>1]|0;Ve[c>>1]=r+(We[n+(u<<1)>>1]|0);Ve[c+2>>1]=(P+2+x+U|0)>>>2;u=u+V|0;if((u&65535)<<16>>16<40){u=u<<16>>16;c=c+4|0}else break}A=Ve[de>>1]|0}else A=u;r=Ve[G>>1]|0;_=l>>12;u=r<<16>>16;e:do{if(r<<16>>16<40){y=A<<16>>16;if(A<<16>>16<40){c=1;h=r;m=A;w=0;d=-1}else while(1){u=u+V|0;if((u&65535)<<16>>16<40)u=u<<16>>16;else{c=1;U=r;x=A;u=0;break e}}while(1){g=((Ve[t+(u*80|0)+(u<<1)>>1]|0)+_>>1)+(Ve[t+(u*80|0)+(we<<1)>>1]|0)+(Ve[t+(u*80|0)+(z<<1)>>1]|0)|0;E=We[n+(u<<1)>>1]|0;b=y;k=A;v=ve;p=w;while(1){l=(We[v>>1]|0)+E|0;s=l<<16>>16;s=(Ze(s,s)|0)>>>15;w=(g+(Ve[t+(u*80|0)+(b<<1)>>1]|0)>>2)+(Ve[v+2>>1]|0)>>1;if((Ze(s<<16>>16,c<<16>>16)|0)>(Ze(w,d<<16>>16)|0)){c=w&65535;h=r;m=k;w=l&65535;d=s&65535}else w=p;l=b+V|0;k=l&65535;if(k<<16>>16>=40)break;else{b=l<<16>>16;v=v+4|0;p=w}}u=u+V|0;r=u&65535;if(r<<16>>16<40)u=u<<16>>16;else{U=h;x=m;u=w;break}}}else{c=1;U=r;x=A;u=0}}while(0);h=c<<16>>16<<15;c=Ve[W>>1]|0;if(c<<16>>16<40){l=U<<16>>16;s=x<<16>>16;r=u&65535;c=c<<16>>16;u=ve;while(1){F=Ve[t+(c*80|0)+(c<<1)>>1]>>1;L=Ve[t+(c*80|0)+(we<<1)>>1]|0;I=Ve[t+(c*80|0)+(z<<1)>>1]|0;T=Ve[t+(c*80|0)+(l<<1)>>1]|0;P=Ve[t+(c*80|0)+(s<<1)>>1]|0;Ve[u>>1]=(We[n+(c<<1)>>1]|0)+r;Ve[u+2>>1]=(L+2+F+I+T+P|0)>>>2;c=c+V|0;if((c&65535)<<16>>16<40){c=c<<16>>16;u=u+4|0}else break}F=Ve[W>>1]|0}else F=c;d=Ve[K>>1]|0;c=d<<16>>16;e:do{if(d<<16>>16<40){D=U<<16>>16;S=x<<16>>16;R=F<<16>>16;A=h+32768|0;if(F<<16>>16<40){w=1;h=d;r=F;m=d;u=0;d=-1}else while(1){c=c+V|0;if((c&65535)<<16>>16<40)c=c<<16>>16;else{c=1;P=d;T=F;u=0;break e}}while(1){s=We[n+(c<<1)>>1]|0;_=(Ve[t+(c*80|0)+(z<<1)>>1]|0)+(Ve[t+(c*80|0)+(we<<1)>>1]|0)+(Ve[t+(c*80|0)+(D<<1)>>1]|0)+(Ve[t+(c*80|0)+(S<<1)>>1]|0)|0;y=A+(Ve[t+(c*80|0)+(c<<1)>>1]<<11)|0;E=R;b=F;g=ve;while(1){p=(We[g>>1]|0)+s|0;l=y+(Ve[g+2>>1]<<14)+(_+(Ve[t+(c*80|0)+(E<<1)>>1]|0)<<12)|0;v=p<<16>>16;v=(Ze(v,v)|0)>>>15;if((Ze(v<<16>>16,w<<16>>16)|0)>(Ze(l>>16,d<<16>>16)|0)){w=l>>>16&65535;k=m;r=b;u=p&65535;d=v&65535}else k=h;h=E+V|0;b=h&65535;if(b<<16>>16>=40){h=k;break}else{E=h<<16>>16;h=k;g=g+4|0}}c=c+V|0;m=c&65535;if(m<<16>>16<40)c=c<<16>>16;else{c=w;P=h;T=r;break}}}else{c=1;P=d;T=F;u=0}}while(0);w=c<<16>>16<<15;c=Ve[Z>>1]|0;if(c<<16>>16<40){l=U<<16>>16;s=x<<16>>16;d=P<<16>>16;h=T<<16>>16;r=u&65535;c=c<<16>>16;u=ve;while(1){M=Ve[t+(c*80|0)+(c<<1)>>1]>>1;R=Ve[t+(we*80|0)+(c<<1)>>1]|0;N=Ve[t+(z*80|0)+(c<<1)>>1]|0;O=Ve[t+(l*80|0)+(c<<1)>>1]|0;L=Ve[t+(s*80|0)+(c<<1)>>1]|0;F=Ve[t+(d*80|0)+(c<<1)>>1]|0;I=Ve[t+(h*80|0)+(c<<1)>>1]|0;Ve[u>>1]=(We[n+(c<<1)>>1]|0)+r;Ve[u+2>>1]=(R+4+M+N+O+L+F+I|0)>>>3;c=c+V|0;if((c&65535)<<16>>16<40){c=c<<16>>16;u=u+4|0}else break}r=Ve[Z>>1]|0}else r=c;m=Ve[Q>>1]|0;if(m<<16>>16<40){F=U<<16>>16;M=x<<16>>16;R=P<<16>>16;S=T<<16>>16;D=r<<16>>16;A=r<<16>>16<40;N=w+32768|0;L=m<<16>>16;s=1;k=m;b=r;O=m;h=0;c=-1;while(1){if(A){w=We[n+(L<<1)>>1]|0;u=(Ve[t+(L*80|0)+(z<<1)>>1]|0)+(Ve[t+(L*80|0)+(we<<1)>>1]|0)+(Ve[t+(L*80|0)+(F<<1)>>1]|0)+(Ve[t+(L*80|0)+(M<<1)>>1]|0)+(Ve[t+(L*80|0)+(R<<1)>>1]|0)+(Ve[t+(L*80|0)+(S<<1)>>1]|0)|0;d=N+(Ve[t+(L*80|0)+(L<<1)>>1]<<10)|0;v=D;m=r;y=b;_=ve;while(1){g=(We[_>>1]|0)+w|0;b=d+(Ve[_+2>>1]<<14)+(u+(Ve[t+(L*80|0)+(v<<1)>>1]|0)<<11)|0;E=g<<16>>16;E=(Ze(E,E)|0)>>>15;if((Ze(E<<16>>16,s<<16>>16)|0)>(Ze(b>>16,c<<16>>16)|0)){s=b>>>16&65535;k=O;b=m;h=g&65535;c=E&65535}else b=y;p=v+V|0;m=p&65535;if(m<<16>>16>=40)break;else{v=p<<16>>16;y=b;_=_+4|0}}}m=L+V|0;O=m&65535;if(O<<16>>16>=40){I=b;break}else L=m<<16>>16}}else{s=1;k=m;I=r;h=0;c=-1}if(me){v=s<<16>>16<<15;c=Ve[J>>1]|0;if(c<<16>>16<40){u=U<<16>>16;r=x<<16>>16;l=P<<16>>16;s=T<<16>>16;w=k<<16>>16;m=I<<16>>16;d=h&65535;c=c<<16>>16;h=ve;while(1){R=Ve[t+(c*80|0)+(c<<1)>>1]>>1;S=Ve[t+(we*80|0)+(c<<1)>>1]|0;M=Ve[t+(z*80|0)+(c<<1)>>1]|0;N=Ve[t+(u*80|0)+(c<<1)>>1]|0;O=Ve[t+(r*80|0)+(c<<1)>>1]|0;L=Ve[t+(l*80|0)+(c<<1)>>1]|0;F=Ve[t+(s*80|0)+(c<<1)>>1]|0;C=Ve[t+(w*80|0)+(c<<1)>>1]|0;B=Ve[t+(m*80|0)+(c<<1)>>1]|0;Ve[h>>1]=(We[n+(c<<1)>>1]|0)+d;Ve[h+2>>1]=(S+4+R+M+N+O+L+F+C+B|0)>>>3;c=c+V|0;if((c&65535)<<16>>16<40){c=c<<16>>16;h=h+4|0}else break}F=Ve[J>>1]|0}else F=c;w=Ve[$>>1]|0;if(w<<16>>16<40){R=U<<16>>16;S=x<<16>>16;D=P<<16>>16;l=T<<16>>16;M=k<<16>>16;N=I<<16>>16;O=F<<16>>16;L=F<<16>>16<40;A=v+32768|0;u=w<<16>>16;s=1;m=w;h=F;r=w;c=-1;while(1){if(L){v=We[n+(u<<1)>>1]|0;d=(Ve[t+(z*80|0)+(u<<1)>>1]|0)+(Ve[t+(we*80|0)+(u<<1)>>1]|0)+(Ve[t+(R*80|0)+(u<<1)>>1]|0)+(Ve[t+(S*80|0)+(u<<1)>>1]|0)+(Ve[t+(D*80|0)+(u<<1)>>1]|0)+(Ve[t+(l*80|0)+(u<<1)>>1]|0)+(Ve[t+(M*80|0)+(u<<1)>>1]|0)+(Ve[t+(N*80|0)+(u<<1)>>1]|0)|0;w=A+(Ve[t+(u*80|0)+(u<<1)>>1]<<9)|0;_=O;E=F;y=ve;while(1){g=(We[y>>1]|0)+v<<16>>16;g=(Ze(g,g)|0)>>>15;b=w+(Ve[y+2>>1]<<13)+(d+(Ve[t+(u*80|0)+(_<<1)>>1]|0)<<10)|0;if((Ze(g<<16>>16,s<<16>>16)|0)>(Ze(b>>16,c<<16>>16)|0)){s=b>>>16&65535;m=r;h=E;c=g&65535}p=_+V|0;E=p&65535;if(E<<16>>16>=40)break;else{_=p<<16>>16;y=y+4|0}}}w=u+V|0;r=w&65535;if(r<<16>>16>=40)break;else u=w<<16>>16}}else{s=1;m=w;h=F;c=-1}}else{m=C;h=B}if((Ze(c<<16>>16,q<<16>>16)|0)>(Ze(s<<16>>16,H<<16>>16)|0)){Ve[f>>1]=pe;Ve[ee>>1]=j;Ve[re>>1]=U;Ve[ie>>1]=x;Ve[ne>>1]=P;Ve[te>>1]=T;Ve[oe>>1]=k;Ve[ae>>1]=I;if(me){Ve[fe>>1]=m;Ve[se>>1]=h}}else{s=q;c=H}u=Ve[he>>1]|0;if(le){r=1;l=2;while(1){Ve[o+(r<<1)>>1]=Ve[o+(l<<1)>>1]|0;l=l+1|0;if((l&65535)<<16>>16==e<<16>>16)break;else r=r+1|0}}Ve[Y>>1]=u;X=X+1<<16>>16;if(X<<16>>16>=i<<16>>16)break;else{q=s;C=m;B=h;H=c}}Ke=be;return}function En(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0;f=39;while(1){a=e+(f<<1)|0;o=Ve[a>>1]|0;t=r+(f<<1)|0;if(o<<16>>16>-1)Ve[t>>1]=32767;else{Ve[t>>1]=-32767;if(o<<16>>16==-32768)o=32767;else o=0-(o&65535)&65535;Ve[a>>1]=o}Ve[i+(f<<1)>>1]=o;if((f|0)>0)f=f+-1|0;else break}l=8-(n<<16>>16)|0;if((l|0)>0){s=0;t=0}else return;do{n=0;e=0;a=32767;while(1){r=Ve[i+(n<<1)>>1]|0;f=r<<16>>16>-1?r<<16>>16>16:0;t=f?e:t;o=n+5|0;e=o&65535;if(e<<16>>16>=40)break;else{n=o<<16>>16;a=f?r:a}}Ve[i+(t<<16>>16<<1)>>1]=-1;s=s+1<<16>>16}while((s<<16>>16|0)<(l|0));s=0;do{r=1;e=1;o=32767;while(1){n=Ve[i+(r<<1)>>1]|0;f=n<<16>>16>-1?n<<16>>16>16:0;t=f?e:t;a=r+5|0;e=a&65535;if(e<<16>>16>=40)break;else{r=a<<16>>16;o=f?n:o}}Ve[i+(t<<16>>16<<1)>>1]=-1;s=s+1<<16>>16}while((s<<16>>16|0)<(l|0));s=0;do{r=2;e=2;o=32767;while(1){n=Ve[i+(r<<1)>>1]|0;f=n<<16>>16>-1?n<<16>>16>16:0;t=f?e:t;a=r+5|0;e=a&65535;if(e<<16>>16>=40)break;else{r=a<<16>>16;o=f?n:o}}Ve[i+(t<<16>>16<<1)>>1]=-1;s=s+1<<16>>16}while((s<<16>>16|0)<(l|0));s=0;while(1){r=3;e=3;o=32767;while(1){n=Ve[i+(r<<1)>>1]|0;f=n<<16>>16>-1?n<<16>>16>16:0;t=f?e:t;a=r+5|0;e=a&65535;if(e<<16>>16>=40){o=t;break}else{r=a<<16>>16;o=f?n:o}}Ve[i+(o<<16>>16<<1)>>1]=-1;s=s+1<<16>>16;if((s<<16>>16|0)>=(l|0)){t=0;break}else t=o}do{r=4;e=4;s=32767;while(1){n=Ve[i+(r<<1)>>1]|0;f=n<<16>>16>-1?n<<16>>16>16:0;o=f?e:o;a=r+5|0;e=a&65535;if(e<<16>>16>=40)break;else{r=a<<16>>16;s=f?n:s}}Ve[i+(o<<16>>16<<1)>>1]=-1;t=t+1<<16>>16}while((t<<16>>16|0)<(l|0));return}function gn(e,r,i,n,t,o,a,f){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;var s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0;g=Ke;Ke=Ke+80|0;E=g;d=40;h=r;w=e;l=256;u=256;while(1){s=Ve[h>>1]|0;h=h+2|0;s=Ze(s,s)|0;if((s|0)!=1073741824){c=(s<<1)+l|0;if((s^l|0)>0&(c^l|0)<0){Ge[f>>2]=1;l=(l>>>31)+2147483647|0}else l=c}else{Ge[f>>2]=1;l=2147483647}k=Ve[w>>1]|0;u=(Ze(k<<1,k)|0)+u|0;d=d+-1<<16>>16;if(!(d<<16>>16))break;else w=w+2|0}k=at(l,f)|0;v=k<<5;k=((v>>5|0)==(k|0)?v:k>>31^2147418112)>>16;v=(at(u,f)|0)<<5>>16;b=39;m=r+78|0;p=E+78|0;s=i+78|0;while(1){w=Ze(Ve[m>>1]|0,k)|0;m=m+-2|0;h=w<<1;r=e+(b<<1)|0;l=Ve[r>>1]|0;d=Ze(l<<16>>16,v)|0;if((d|0)!=1073741824){c=(d<<1)+h|0;if((d^h|0)>0&(c^h|0)<0){Ge[f>>2]=1;c=(w>>>30&1)+2147483647|0}}else{Ge[f>>2]=1;c=2147483647}u=c<<10;u=Ft((u>>10|0)==(c|0)?u:c>>31^2147483647,f)|0;if(u<<16>>16>-1)Ve[s>>1]=32767;else{Ve[s>>1]=-32767;if(u<<16>>16==-32768)u=32767;else u=0-(u&65535)&65535;if(l<<16>>16==-32768)c=32767;else c=0-(l&65535)&65535;Ve[r>>1]=c}s=s+-2|0;Ve[p>>1]=u;if((b|0)<=0)break;else{b=b+-1|0;p=p+-2|0}}r=t<<16>>16;if(t<<16>>16<=0){Ve[o+(r<<1)>>1]=Ve[o>>1]|0;Ke=g;return}w=a&65535;h=0;d=-1;s=0;while(1){if((h|0)<40){u=h;c=h&65535;l=-1;while(1){f=Ve[E+(u<<1)>>1]|0;a=f<<16>>16>l<<16>>16;l=a?f:l;s=a?c:s;u=u+w|0;c=u&65535;if(c<<16>>16>=40)break;else u=u<<16>>16}}else l=-1;Ve[n+(h<<1)>>1]=s;if(l<<16>>16>d<<16>>16)Ve[o>>1]=h;else l=d;h=h+1|0;if((h&65535)<<16>>16==t<<16>>16)break;else d=l}s=Ve[o>>1]|0;Ve[o+(r<<1)>>1]=s;if(t<<16>>16>1)l=1;else{Ke=g;return}do{n=s+1<<16>>16;s=n<<16>>16>=t<<16>>16?0:n;Ve[o+(l<<1)>>1]=s;Ve[o+(l+r<<1)>>1]=s;l=l+1|0}while((l&65535)<<16>>16!=t<<16>>16);Ke=g;return}function yn(e){e=e|0;var r=0;if(!e){e=-1;return e|0}Ge[e>>2]=0;r=Ut(12)|0;if(!r){e=-1;return e|0}Ve[r>>1]=8;Ge[e>>2]=r;Ve[r+2>>1]=3;Ve[r+4>>1]=0;Ge[r+8>>2]=0;e=0;return e|0}function _n(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zt(r);Ge[e>>2]=0;return}function An(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0;do{if((r|0)==8){n=e+2|0;t=(Ve[n>>1]|0)+-1<<16>>16;Ve[n>>1]=t;r=e+8|0;if(!(Ge[r>>2]|0)){Ge[i>>2]=1;Ve[n>>1]=3;break}o=e+4|0;if(t<<16>>16>2&(Ve[o>>1]|0)>0){Ge[i>>2]=2;Ve[o>>1]=(Ve[o>>1]|0)+-1<<16>>16;break}if(!(t<<16>>16)){Ge[i>>2]=2;Ve[n>>1]=Ve[e>>1]|0;break}else{Ge[i>>2]=3;break}}else{Ve[e+2>>1]=Ve[e>>1]|0;Ge[i>>2]=0;r=e+8|0}}while(0);Ge[r>>2]=Ge[i>>2];return}function Dn(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0;if(!e){e=-1;return e|0}Ge[e>>2]=0;i=Ut(12)|0;n=i;if(!i){e=-1;return e|0}Ge[i>>2]=0;t=i+4|0;Ge[t>>2]=0;o=i+8|0;Ge[o>>2]=r;if((fn(i)|0)<<16>>16==0?(ni(t,Ge[o>>2]|0)|0)<<16>>16==0:0){sn(Ge[i>>2]|0)|0;oi(Ge[t>>2]|0)|0;Ge[e>>2]=n;e=0;return e|0}ln(i);ti(t);zt(i);e=-1;return e|0}function Sn(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;ln(r);ti((Ge[e>>2]|0)+4|0);zt(Ge[e>>2]|0);Ge[e>>2]=0;return}function Rn(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0,l=0;s=Ke;Ke=Ke+448|0;a=s+320|0;f=s;Vt(n|0,0,488)|0;o=0;do{l=i+(o<<1)|0;Ve[l>>1]=(We[l>>1]|0)&65528;o=o+1|0}while((o|0)!=160);un(Ge[e>>2]|0,i,160);l=e+4|0;ai(Ge[l>>2]|0,r,i,a,t,f)|0;cn(Ge[t>>2]|0,a,n,(Ge[l>>2]|0)+2392|0);Ke=s;return}function Mn(e,r,i,n,t,o,a,f,s,l,u,c,d,h,w,m){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;c=c|0;d=d|0;h=h|0;w=w|0;m=m|0;var p=0,v=0,b=0;b=Ke;Ke=Ke+48|0;p=b+22|0;v=b;xt(t,(e&-2|0)==6?i:r,p);xt(t,n,v);i=u;r=p;t=i+22|0;do{Ve[i>>1]=Ve[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(t|0));Bt(o,u,d,40,l,0);Bt(v,d,d,40,l,0);Lt(o,a,w,40);i=c;r=w;t=i+80|0;do{Ve[i>>1]=Ve[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(t|0));Bt(o,c,m,40,f,0);Lt(p,m,h,40);Bt(v,h,h,40,s,0);Ke=b;return}function Nn(e,r,i,n,t,o,a,f,s,l,u,c,d,h,w,m,p){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;s=s|0;l=l|0;u=u|0;c=c|0;d=d|0;h=h|0;w=w|0;m=m|0;p=p|0;var v=0,b=0,k=0,E=0,g=0;if((r|0)==7){k=11;r=n<<16>>16>>>1&65535;v=2}else{k=13;r=n;v=1}Ve[m>>1]=n<<16>>16<13017?n:13017;b=i<<16>>16;w=w+(b<<1)|0;m=r<<16>>16;t=t<<16>>16;i=20;r=s;p=w;while(1){s=p+2|0;g=Ze(Ve[p>>1]|0,m)|0;E=Ze(Ve[s>>1]|0,m)|0;g=(Ze(Ve[r>>1]|0,t)|0)+g<<1;E=(Ze(Ve[r+2>>1]|0,t)|0)+E<<1<>1]=((g<>>16;Ve[s>>1]=(E+32768|0)>>>16;i=i+-1<<16>>16;if(!(i<<16>>16))break;else{r=r+4|0;p=p+4|0}}r=n<<16>>16;Bt(o,w,a+(b<<1)|0,40,c,1);i=30;p=0;while(1){E=i+b|0;Ve[d+(p<<1)>>1]=(We[e+(E<<1)>>1]|0)-(We[a+(E<<1)>>1]|0);E=Ze(Ve[l+(i<<1)>>1]|0,r)|0;g=(Ze(Ve[u+(i<<1)>>1]|0,t)|0)>>k;Ve[h+(p<<1)>>1]=(We[f+(i<<1)>>1]|0)-(E>>>14)-g;p=p+1|0;if((p|0)==10)break;else i=i+1|0}return}function On(e){e=e|0;var r=0;if(!e){e=-1;return e|0}Ge[e>>2]=0;r=Ut(16)|0;if(!r){e=-1;return e|0}Ve[r>>1]=0;Ve[r+2>>1]=0;Ve[r+4>>1]=0;Ve[r+6>>1]=0;Ve[r+8>>1]=0;Ve[r+10>>1]=0;Ve[r+12>>1]=0;Ve[r+14>>1]=0;Ge[e>>2]=r;e=0;return e|0}function Ln(e){e=e|0;if(!e){e=-1;return e|0}Ve[e>>1]=0;Ve[e+2>>1]=0;Ve[e+4>>1]=0;Ve[e+6>>1]=0;Ve[e+8>>1]=0;Ve[e+10>>1]=0;Ve[e+12>>1]=0;Ve[e+14>>1]=0;e=0;return e|0}function Fn(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zt(r);Ge[e>>2]=0;return}function In(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0;n=We[r+6>>1]|0;i=We[r+8>>1]|0;t=n-i|0;t=(t&65535|0)!=32767?t&65535:32767;o=We[r+10>>1]|0;i=i-o|0;t=(i<<16>>16|0)<(t<<16>>16|0)?i&65535:t;i=We[r+12>>1]|0;o=o-i|0;t=(o<<16>>16|0)<(t<<16>>16|0)?o&65535:t;o=We[r+14>>1]|0;i=i-o|0;t=(i<<16>>16|0)<(t<<16>>16|0)?i&65535:t;o=o-(We[r+16>>1]|0)|0;i=Ve[r+2>>1]|0;a=We[r+4>>1]|0;r=(i&65535)-a|0;r=(r&65535|0)!=32767?r&65535:32767;n=a-n|0;if(((o<<16>>16|0)<(t<<16>>16|0)?o&65535:t)<<16>>16<1500?1:(((n<<16>>16|0)<(r<<16>>16|0)?n&65535:r)<<16>>16|0)<((i<<16>>16>32e3?600:i<<16>>16>30500?800:1100)|0)){o=(Ve[e>>1]|0)+1<<16>>16;a=o<<16>>16>11;Ve[e>>1]=a?12:o;return a&1|0}else{Ve[e>>1]=0;return 0}return 0}function Tn(e,r,i){e=e|0;r=r|0;i=i|0;r=It(r,3,i)|0;r=Gn(r,Ve[e+2>>1]|0,i)|0;r=Gn(r,Ve[e+4>>1]|0,i)|0;r=Gn(r,Ve[e+6>>1]|0,i)|0;r=Gn(r,Ve[e+8>>1]|0,i)|0;r=Gn(r,Ve[e+10>>1]|0,i)|0;r=Gn(r,Ve[e+12>>1]|0,i)|0;return(Gn(r,Ve[e+14>>1]|0,i)|0)<<16>>16>15565|0}function Pn(e,r,i){e=e|0;r=r|0;i=i|0;var n=0;i=e+4|0;Ve[e+2>>1]=Ve[i>>1]|0;n=e+6|0;Ve[i>>1]=Ve[n>>1]|0;i=e+8|0;Ve[n>>1]=Ve[i>>1]|0;n=e+10|0;Ve[i>>1]=Ve[n>>1]|0;i=e+12|0;Ve[n>>1]=Ve[i>>1]|0;e=e+14|0;Ve[i>>1]=Ve[e>>1]|0;Ve[e>>1]=r<<16>>16>>>3;return}function Cn(e){e=e|0;var r=0,i=0,n=0;if(!e){n=-1;return n|0}Ge[e>>2]=0;r=Ut(128)|0;if(!r){n=-1;return n|0}i=r+72|0;n=i+46|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(n|0));Ve[r>>1]=150;Ve[r+36>>1]=150;Ve[r+18>>1]=150;Ve[r+54>>1]=0;Ve[r+2>>1]=150;Ve[r+38>>1]=150;Ve[r+20>>1]=150;Ve[r+56>>1]=0;Ve[r+4>>1]=150;Ve[r+40>>1]=150;Ve[r+22>>1]=150;Ve[r+58>>1]=0;Ve[r+6>>1]=150;Ve[r+42>>1]=150;Ve[r+24>>1]=150;Ve[r+60>>1]=0;Ve[r+8>>1]=150;Ve[r+44>>1]=150;Ve[r+26>>1]=150;Ve[r+62>>1]=0;Ve[r+10>>1]=150;Ve[r+46>>1]=150;Ve[r+28>>1]=150;Ve[r+64>>1]=0;Ve[r+12>>1]=150;Ve[r+48>>1]=150;Ve[r+30>>1]=150;Ve[r+66>>1]=0;Ve[r+14>>1]=150;Ve[r+50>>1]=150;Ve[r+32>>1]=150;Ve[r+68>>1]=0;Ve[r+16>>1]=150;Ve[r+52>>1]=150;Ve[r+34>>1]=150;Ve[r+70>>1]=0;Ve[r+118>>1]=13106;Ve[r+120>>1]=0;Ve[r+122>>1]=0;Ve[r+124>>1]=0;Ve[r+126>>1]=13106;Ge[e>>2]=r;n=0;return n|0}function Bn(e){e=e|0;var r=0,i=0;if(!e){i=-1;return i|0}r=e+72|0;i=r+46|0;do{Ve[r>>1]=0;r=r+2|0}while((r|0)<(i|0));Ve[e>>1]=150;Ve[e+36>>1]=150;Ve[e+18>>1]=150;Ve[e+54>>1]=0;Ve[e+2>>1]=150;Ve[e+38>>1]=150;Ve[e+20>>1]=150;Ve[e+56>>1]=0;Ve[e+4>>1]=150;Ve[e+40>>1]=150;Ve[e+22>>1]=150;Ve[e+58>>1]=0;Ve[e+6>>1]=150;Ve[e+42>>1]=150;Ve[e+24>>1]=150;Ve[e+60>>1]=0;Ve[e+8>>1]=150;Ve[e+44>>1]=150;Ve[e+26>>1]=150;Ve[e+62>>1]=0;Ve[e+10>>1]=150;Ve[e+46>>1]=150;Ve[e+28>>1]=150;Ve[e+64>>1]=0;Ve[e+12>>1]=150;Ve[e+48>>1]=150;Ve[e+30>>1]=150;Ve[e+66>>1]=0;Ve[e+14>>1]=150;Ve[e+50>>1]=150;Ve[e+32>>1]=150;Ve[e+68>>1]=0;Ve[e+16>>1]=150;Ve[e+52>>1]=150;Ve[e+34>>1]=150;Ve[e+70>>1]=0;Ve[e+118>>1]=13106;Ve[e+120>>1]=0;Ve[e+122>>1]=0;Ve[e+124>>1]=0;Ve[e+126>>1]=13106;i=0;return i|0}function xn(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zt(r);Ge[e>>2]=0;return}function Un(e,r){e=e|0;r=r|0;Ve[e+118>>1]=r;return}function zn(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0;i=Ft(i,n)|0;if(i<<16>>16<=0)return;i=i<<16>>16;if((i*21298|0)==1073741824){Ge[n>>2]=1;t=2147483647}else t=i*42596|0;i=r-t|0;if(((i^r)&(t^r)|0)<0){Ge[n>>2]=1;i=(r>>>31)+2147483647|0}if((i|0)<=0)return;e=e+104|0;Ve[e>>1]=We[e>>1]|0|16384;return}function jn(e,r,i){e=e|0;r=r|0;i=i|0;var n=0;e=e+104|0;n=It(Ve[e>>1]|0,1,i)|0;Ve[e>>1]=n;if(!(r<<16>>16))return;Ve[e>>1]=(It(n,1,i)|0)&65535|8192;return}function qn(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0;t=e+112|0;n=Ct(Ve[t>>1]|0,Ve[r>>1]|0,i)|0;n=(n&65535)-((n&65535)>>>15&65535)|0;n=((n<<16>>31^n)&65535)<<16>>16<4;o=Ve[r>>1]|0;Ve[t>>1]=o;r=r+2|0;o=Ct(o,Ve[r>>1]|0,i)|0;o=(o&65535)-((o&65535)>>>15&65535)|0;n=((o<<16>>31^o)&65535)<<16>>16<4?n?2:1:n&1;Ve[t>>1]=Ve[r>>1]|0;t=e+102|0;Ve[t>>1]=It(Ve[t>>1]|0,1,i)|0;r=e+110|0;if((Gn(Ve[r>>1]|0,n,i)|0)<<16>>16<=3){Ve[r>>1]=n;return}Ve[t>>1]=We[t>>1]|0|16384;Ve[r>>1]=n;return}function Hn(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0;D=Ke;Ke=Ke+352|0;l=D+24|0;_=D;a=0;t=0;do{n=Ve[r+(a+-40<<1)>>1]|0;n=Ze(n,n)|0;if((n|0)!=1073741824){o=(n<<1)+t|0;if((n^t|0)>0&(o^t|0)<0){Ge[i>>2]=1;t=(t>>>31)+2147483647|0}else t=o}else{Ge[i>>2]=1;t=2147483647}a=a+1|0}while((a|0)!=160);u=t;if((343039-u&u|0)<0){Ge[i>>2]=1;t=(u>>>31)+2147483647|0}else t=u+-343040|0;if((t|0)<0){y=e+102|0;Ve[y>>1]=We[y>>1]&16383}s=u+-15e3|0;c=(14999-u&u|0)<0;if(c){Ge[i>>2]=1;o=(u>>>31)+2147483647|0}else o=s;if((o|0)<0){y=e+108|0;Ve[y>>1]=We[y>>1]&16383}n=e+72|0;f=e+74|0;o=Ve[n>>1]|0;a=Ve[f>>1]|0;t=0;do{y=t<<2;E=Ct((Ve[r+(y<<1)>>1]|0)>>>2&65535,((o<<16>>16)*21955|0)>>>15&65535,i)|0;v=((E<<16>>16)*21955|0)>>>15&65535;p=Gn(o,v,i)|0;k=y|1;g=Ct((Ve[r+(k<<1)>>1]|0)>>>2&65535,((a<<16>>16)*6390|0)>>>15&65535,i)|0;b=((g<<16>>16)*6390|0)>>>15&65535;o=Gn(a,b,i)|0;Ve[l+(y<<1)>>1]=Gn(p,o,i)|0;Ve[l+(k<<1)>>1]=Ct(p,o,i)|0;k=y|2;o=Ct((Ve[r+(k<<1)>>1]|0)>>>2&65535,v,i)|0;E=Gn(E,((o<<16>>16)*21955|0)>>>15&65535,i)|0;y=y|3;a=Ct((Ve[r+(y<<1)>>1]|0)>>>2&65535,b,i)|0;g=Gn(g,((a<<16>>16)*6390|0)>>>15&65535,i)|0;Ve[l+(k<<1)>>1]=Gn(E,g,i)|0;Ve[l+(y<<1)>>1]=Ct(E,g,i)|0;t=t+1|0}while((t|0)!=40);Ve[n>>1]=o;Ve[f>>1]=a;a=e+76|0;o=e+80|0;t=0;do{y=t<<2;Yn(l+(y<<1)|0,l+((y|2)<<1)|0,a,i);Yn(l+((y|1)<<1)|0,l+((y|3)<<1)|0,o,i);t=t+1|0}while((t|0)!=40);a=e+84|0;o=e+86|0;t=e+92|0;n=0;do{y=n<<3;Xn(l+(y<<1)|0,l+((y|4)<<1)|0,a,i);Xn(l+((y|2)<<1)|0,l+((y|6)<<1)|0,o,i);Xn(l+((y|3)<<1)|0,l+((y|7)<<1)|0,t,i);n=n+1|0}while((n|0)!=20);a=e+88|0;o=e+90|0;t=0;do{y=t<<4;Xn(l+(y<<1)|0,l+((y|8)<<1)|0,a,i);Xn(l+((y|4)<<1)|0,l+((y|12)<<1)|0,o,i);t=t+1|0}while((t|0)!=10);m=Vn(l,e+70|0,32,40,4,1,15,i)|0;Ve[_+16>>1]=m;p=Vn(l,e+68|0,16,20,8,7,16,i)|0;Ve[_+14>>1]=p;v=Vn(l,e+66|0,16,20,8,3,16,i)|0;Ve[_+12>>1]=v;b=Vn(l,e+64|0,16,20,8,2,16,i)|0;Ve[_+10>>1]=b;k=Vn(l,e+62|0,16,20,8,6,16,i)|0;Ve[_+8>>1]=k;E=Vn(l,e+60|0,8,10,16,4,16,i)|0;Ve[_+6>>1]=E;g=Vn(l,e+58|0,8,10,16,12,16,i)|0;Ve[_+4>>1]=g;y=Vn(l,e+56|0,8,10,16,8,16,i)|0;Ve[_+2>>1]=y;w=Vn(l,e+54|0,8,10,16,0,16,i)|0;Ve[_>>1]=w;a=0;n=0;do{o=e+(n<<1)|0;r=Et(Ve[o>>1]|0)|0;o=Ve[o>>1]|0;t=r<<16>>16;if(r<<16>>16<0){f=0-t<<16;if((f|0)<983040)f=o<<16>>16>>(f>>16)&65535;else f=0}else{f=o<<16>>16;o=f<>16>>t|0)==(f|0))f=o&65535;else f=(f>>>15^32767)&65535}o=Kn(It(Ve[_+(n<<1)>>1]|0,1,i)|0,f)|0;h=Ct(r,5,i)|0;t=h<<16>>16;if(h<<16>>16<0){f=0-t<<16;if((f|0)<983040)f=o<<16>>16>>(f>>16);else f=0}else{o=o<<16>>16;f=o<>16>>t|0)!=(o|0))f=o>>>15^32767}f=f<<16>>16;f=Ze(f,f)|0;if((f|0)!=1073741824){o=(f<<1)+a|0;if((f^a|0)>0&(o^a|0)<0){Ge[i>>2]=1;a=(a>>>31)+2147483647|0}else a=o}else{Ge[i>>2]=1;a=2147483647}n=n+1|0}while((n|0)!=9);h=a<<6;a=(((h>>6|0)==(a|0)?h:a>>31^2147418112)>>16)*3641>>15;if((a|0)>32767){Ge[i>>2]=1;a=32767}h=Ve[e>>1]|0;f=h<<16>>16;d=Ve[e+2>>1]|0;o=(d<<16>>16)+f|0;if((d^h)<<16>>16>-1&(o^f|0)<0){Ge[i>>2]=1;o=(f>>>31)+2147483647|0}h=Ve[e+4>>1]|0;f=h+o|0;if((h^o|0)>-1&(f^o|0)<0){Ge[i>>2]=1;f=(o>>>31)+2147483647|0}h=Ve[e+6>>1]|0;o=h+f|0;if((h^f|0)>-1&(o^f|0)<0){Ge[i>>2]=1;o=(f>>>31)+2147483647|0}h=Ve[e+8>>1]|0;f=h+o|0;if((h^o|0)>-1&(f^o|0)<0){Ge[i>>2]=1;f=(o>>>31)+2147483647|0}h=Ve[e+10>>1]|0;o=h+f|0;if((h^f|0)>-1&(o^f|0)<0){Ge[i>>2]=1;o=(f>>>31)+2147483647|0}h=Ve[e+12>>1]|0;f=h+o|0;if((h^o|0)>-1&(f^o|0)<0){Ge[i>>2]=1;f=(o>>>31)+2147483647|0}h=Ve[e+14>>1]|0;o=h+f|0;if((h^f|0)>-1&(o^f|0)<0){Ge[i>>2]=1;o=(f>>>31)+2147483647|0}h=Ve[e+16>>1]|0;f=h+o|0;if((h^o|0)>-1&(f^o|0)<0){Ge[i>>2]=1;f=(o>>>31)+2147483647|0}d=f<<13;d=((d>>13|0)==(f|0)?d:f>>31^2147418112)>>>16&65535;f=(Ze((Ct(d,0,i)|0)<<16>>16,-2808)|0)>>15;if((f|0)>32767){Ge[i>>2]=1;f=32767}l=Gn(f&65535,1260,i)|0;h=e+100|0;f=It(Ve[h>>1]|0,1,i)|0;if((a<<16>>16|0)>((l<<16>>16<720?720:l<<16>>16)|0))f=(f&65535|16384)&65535;Ve[h>>1]=f;if(c){Ge[i>>2]=1;s=(u>>>31)+2147483647|0}t=Ve[e+118>>1]|0;c=e+126|0;f=Ve[c>>1]|0;n=f<<16>>16<19660;n=t<<16>>16>16?n?2621:6553:n?2621:655;r=f&65535;a=r<<16;f=Ze(n,f<<16>>16)|0;if((f|0)==1073741824){Ge[i>>2]=1;f=2147483647}else f=f<<1;o=a-f|0;if(((o^a)&(f^a)|0)<0){Ge[i>>2]=1;o=(r>>>15)+2147483647|0}a=Ze(n,t<<16>>16)|0;do{if((a|0)==1073741824){Ge[i>>2]=1;f=2147483647}else{f=o+(a<<1)|0;if(!((o^a|0)>0&(f^o|0)<0))break;Ge[i>>2]=1;f=(o>>>31)+2147483647|0}}while(0);r=Ft(f,i)|0;u=(s|0)>-1;Ve[c>>1]=u?r<<16>>16<13106?13106:r:13106;r=e+106|0;Ve[r>>1]=It(Ve[r>>1]|0,1,i)|0;o=e+108|0;f=It(Ve[o>>1]|0,1,i)|0;Ve[o>>1]=f;a=Ve[c>>1]|0;e:do{if(u){do{if(a<<16>>16>19660)Ve[r>>1]=We[r>>1]|16384;else{if(a<<16>>16>16383)break;a=e+116|0;f=0;break e}}while(0);Ve[o>>1]=f&65535|16384;A=62}else A=62}while(0);do{if((A|0)==62){f=e+116|0;if(a<<16>>16<=22936){a=f;f=0;break}a=f;f=Gn(Ve[f>>1]|0,1,i)|0}}while(0);Ve[a>>1]=f;if((Ve[r>>1]&32640)!=32640){l=(Ve[o>>1]&32767)==32767;Ve[e+122>>1]=l&1;if(l)A=67}else{Ve[e+122>>1]=1;A=67}do{if((A|0)==67){a=e+98|0;if((Ve[a>>1]|0)>=5)break;Ve[a>>1]=5}}while(0);l=e+102|0;do{if((Ve[l>>1]&24576)==24576)A=71;else{if((Ve[e+104>>1]&31744)==31744){A=71;break}if(!(Ve[h>>1]&32640)){Ve[e+98>>1]=20;o=32767;break}else{o=w;a=0;f=0}while(1){n=Ve[e+18+(a<<1)>>1]|0;t=o<<16>>16>n<<16>>16;s=t?o:n;o=t?n:o;s=s<<16>>16<184?184:s;o=o<<16>>16<184?184:o;n=Et(o)|0;t=n<<16>>16;do{if(n<<16>>16<0){r=0-t<<16;if((r|0)>=983040){r=0;break}r=o<<16>>16>>(r>>16)&65535}else{r=o<<16>>16;o=r<>16>>t|0)==(r|0)){r=o&65535;break}r=(r>>>15^32767)&65535}}while(0);s=Kn(It(s,1,i)|0,r)|0;f=Gn(f,It(s,Ct(8,n,i)|0,i)|0,i)|0;a=a+1|0;if((a|0)==9)break;o=Ve[_+(a<<1)>>1]|0}if(f<<16>>16>1e3){Ve[e+98>>1]=20;o=32767;break}o=Ve[h>>1]|0;a=e+98|0;f=Ve[a>>1]|0;do{if(!(o&16384))A=86;else{if(!(f<<16>>16)){f=o;break}f=Ct(f,1,i)|0;Ve[a>>1]=f;A=86}}while(0);if((A|0)==86){if(f<<16>>16==20){o=32767;break}f=Ve[h>>1]|0}o=(f&16384)==0?16383:3276}}while(0);if((A|0)==71){Ve[e+98>>1]=20;o=32767}a=w;f=0;while(1){s=e+18+(f<<1)|0;r=bt(o,Ct(a,Ve[s>>1]|0,i)|0,i)|0;Ve[s>>1]=Gn(Ve[s>>1]|0,r,i)|0;f=f+1|0;if((f|0)==9)break;a=Ve[_+(f<<1)>>1]|0}do{if(!(Ve[h>>1]&30720)){if(Ve[l>>1]&30720){A=95;break}if(!(Ve[e+114>>1]|0)){t=2097;n=1638;r=2}else A=95}else A=95}while(0);do{if((A|0)==95){if((Ve[e+98>>1]|0)==0?(Ve[e+114>>1]|0)==0:0){t=1867;n=491;r=2;break}t=1638;n=0;r=0}}while(0);o=0;do{a=e+(o<<1)|0;f=Ct(Ve[e+36+(o<<1)>>1]|0,Ve[a>>1]|0,i)|0;if(f<<16>>16<0){f=bt(t,f,i)|0;f=Gn(-2,Gn(Ve[a>>1]|0,f,i)|0,i)|0;f=f<<16>>16<40?40:f}else{f=bt(n,f,i)|0;f=Gn(r,Gn(Ve[a>>1]|0,f,i)|0,i)|0;f=f<<16>>16>16e3?16e3:f}Ve[a>>1]=f;o=o+1|0}while((o|0)!=9);Ve[e+36>>1]=w;Ve[e+38>>1]=y;Ve[e+40>>1]=g;Ve[e+42>>1]=E;Ve[e+44>>1]=k;Ve[e+46>>1]=b;Ve[e+48>>1]=v;Ve[e+50>>1]=p;Ve[e+52>>1]=m;a=d<<16>>16>100;o=a?7:4;a=a?4:5;if(!u){Ve[e+94>>1]=0;Ve[e+96>>1]=0;Ve[e+114>>1]=0;Ve[e+116>>1]=0;i=0;e=e+120|0;Ve[e>>1]=i;Ke=D;return i|0}t=e+114|0;n=Ve[t>>1]|0;do{if((Ve[e+116>>1]|0)<=100){if(n<<16>>16)break;n=Ve[h>>1]|0;do{if(!(n&16368)){if((Ve[c>>1]|0)>21298)n=1;else break;e=e+120|0;Ve[e>>1]=n;Ke=D;return n|0}}while(0);t=e+94|0;if(!(n&16384)){Ve[t>>1]=0;n=e+96|0;t=Ve[n>>1]|0;if(t<<16>>16<=0){i=0;e=e+120|0;Ve[e>>1]=i;Ke=D;return i|0}Ve[n>>1]=Ct(t,1,i)|0;i=1;e=e+120|0;Ve[e>>1]=i;Ke=D;return i|0}else{i=Gn(Ve[t>>1]|0,1,i)|0;Ve[t>>1]=i;if((i<<16>>16|0)<(a|0)){i=1;e=e+120|0;Ve[e>>1]=i;Ke=D;return i|0}Ve[e+96>>1]=o;i=1;e=e+120|0;Ve[e>>1]=i;Ke=D;return i|0}}else{if(n<<16>>16>=250)break;Ve[t>>1]=250;n=250}}while(0);Ve[e+94>>1]=4;Ve[t>>1]=Ct(n,1,i)|0;i=1;e=e+120|0;Ve[e>>1]=i;Ke=D;return i|0}function Yn(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0;t=(Ve[i>>1]|0)*21955>>15;if((t|0)>32767){Ge[n>>2]=1;t=32767}o=Ct(Ve[e>>1]|0,t&65535,n)|0;t=(o<<16>>16)*21955>>15;if((t|0)>32767){Ge[n>>2]=1;t=32767}a=Gn(Ve[i>>1]|0,t&65535,n)|0;Ve[i>>1]=o;i=i+2|0;t=(Ve[i>>1]|0)*6390>>15;if((t|0)>32767){Ge[n>>2]=1;t=32767}o=Ct(Ve[r>>1]|0,t&65535,n)|0;t=(o<<16>>16)*6390>>15;if((t|0)>32767){Ge[n>>2]=1;t=32767}t=Gn(Ve[i>>1]|0,t&65535,n)|0;Ve[i>>1]=o;Ve[e>>1]=It(Gn(a,t,n)|0,1,n)|0;Ve[r>>1]=It(Ct(a,t,n)|0,1,n)|0;return}function Xn(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0;t=(Ve[i>>1]|0)*13363>>15;if((t|0)>32767){Ge[n>>2]=1;t=32767}o=Ct(Ve[r>>1]|0,t&65535,n)|0;t=(o<<16>>16)*13363>>15;if((t|0)>32767){Ge[n>>2]=1;t=32767}t=Gn(Ve[i>>1]|0,t&65535,n)|0;Ve[i>>1]=o;Ve[r>>1]=It(Ct(Ve[e>>1]|0,t,n)|0,1,n)|0;Ve[e>>1]=It(Gn(Ve[e>>1]|0,t,n)|0,1,n)|0;return}function Vn(e,r,i,n,t,o,a,f){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;var s=0,l=0,u=0,c=0,d=0,h=0;if(i<<16>>16>16){c=t<<16>>16;s=o<<16>>16;d=i<<16>>16;l=0;do{h=Ve[e+((Ze(d,c)|0)+s<<1)>>1]|0;h=(h&65535)-((h&65535)>>>15&65535)|0;h=(h<<16>>31^h)<<16;u=(h>>15)+l|0;if((h>>16^l|0)>0&(u^l|0)<0){Ge[f>>2]=1;l=(l>>>31)+2147483647|0}else l=u;d=d+1|0}while((d&65535)<<16>>16!=n<<16>>16);d=l}else d=0;l=Ve[r>>1]|0;h=Ct(16,a,f)|0;s=h<<16>>16;if(h<<16>>16>0){n=l<>s|0)!=(l|0))n=l>>31^2147483647}else{s=0-s<<16;if((s|0)<2031616)n=l>>(s>>16);else n=0}s=n+d|0;if((n^d|0)>-1&(s^d|0)<0){Ge[f>>2]=1;s=(d>>>31)+2147483647|0}h=a<<16>>16;a=a<<16>>16>0;if(a){n=d<>h|0)!=(d|0))n=d>>31^2147483647}else{n=0-h<<16;if((n|0)<2031616)n=d>>(n>>16);else n=0}Ve[r>>1]=n>>>16;if(i<<16>>16>0){c=t<<16>>16;l=o<<16>>16;u=0;do{o=Ve[e+((Ze(u,c)|0)+l<<1)>>1]|0;o=(o&65535)-((o&65535)>>>15&65535)|0;o=(o<<16>>31^o)<<16;n=(o>>15)+s|0;if((o>>16^s|0)>0&(n^s|0)<0){Ge[f>>2]=1;s=(s>>>31)+2147483647|0}else s=n;u=u+1|0}while((u&65535)<<16>>16!=i<<16>>16)}if(a){n=s<>h|0)==(s|0)){f=n;f=f>>>16;f=f&65535;return f|0}f=s>>31^2147483647;f=f>>>16;f=f&65535;return f|0}else{n=0-h<<16;if((n|0)>=2031616){f=0;f=f>>>16;f=f&65535;return f|0}f=s>>(n>>16);f=f>>>16;f=f&65535;return f|0}return 0}function Gn(e,r,i){e=e|0;r=r|0;i=i|0;e=(r<<16>>16)+(e<<16>>16)|0;if((e|0)<=32767){if((e|0)<-32768){Ge[i>>2]=1;e=-32768}}else{Ge[i>>2]=1;e=32767}return e&65535|0}function Wn(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0;y=Ke;Ke=Ke+32|0;E=y+12|0;g=y;Ve[E>>1]=1024;Ve[g>>1]=1024;s=Ve[e+2>>1]|0;a=Ve[e+20>>1]|0;n=((a+s|0)>>>2)+64512|0;Ve[E+2>>1]=n;a=((s-a|0)>>>2)+1024|0;Ve[g+2>>1]=a;s=Ve[e+4>>1]|0;t=Ve[e+18>>1]|0;n=((t+s|0)>>>2)-n|0;Ve[E+4>>1]=n;a=((s-t|0)>>>2)+a|0;Ve[g+4>>1]=a;t=Ve[e+6>>1]|0;s=Ve[e+16>>1]|0;n=((s+t|0)>>>2)-n|0;Ve[E+6>>1]=n;a=((t-s|0)>>>2)+a|0;Ve[g+6>>1]=a;s=Ve[e+8>>1]|0;t=Ve[e+14>>1]|0;n=((t+s|0)>>>2)-n|0;Ve[E+8>>1]=n;a=((s-t|0)>>>2)+a|0;Ve[g+8>>1]=a;t=Ve[e+10>>1]|0;s=Ve[e+12>>1]|0;n=((s+t|0)>>>2)-n|0;Ve[E+10>>1]=n;Ve[g+10>>1]=((t-s|0)>>>2)+a;a=Ve[3454]|0;s=a<<16>>16;e=Ve[E+2>>1]|0;t=(e<<16>>16<<14)+(s<<10)|0;p=t&-65536;t=(t>>>1)-(t>>16<<15)<<16;k=(((Ze(t>>16,s)|0)>>15)+(Ze(p>>16,s)|0)<<2)+-16777216|0;k=(Ve[E+4>>1]<<14)+k|0;f=k>>16;k=(k>>>1)-(f<<15)<<16;p=(((Ze(k>>16,s)|0)>>15)+(Ze(f,s)|0)<<2)-((t>>15)+p)|0;p=(Ve[E+6>>1]<<14)+p|0;t=p>>16;p=(p>>>1)-(t<<15)<<16;f=(((Ze(p>>16,s)|0)>>15)+(Ze(t,s)|0)<<2)-((k>>15)+(f<<16))|0;f=(Ve[E+8>>1]<<14)+f|0;k=f>>16;t=(n<<16>>3)+((((Ze((f>>>1)-(k<<15)<<16>>16,s)|0)>>15)+(Ze(k,s)|0)<<1)-((p>>15)+(t<<16)))|0;p=E+4|0;s=E;k=0;f=0;n=0;m=E+10|0;t=(t+33554432|0)>>>0<67108863?t>>>10&65535:(t|0)>33554431?32767:-32768;e:while(1){v=e<<16>>16<<14;w=s+6|0;h=s+8|0;d=f<<16>>16;while(1){if((d|0)>=60)break e;s=(d&65535)+1<<16>>16;l=Ve[6908+(s<<16>>16<<1)>>1]|0;b=l<<16>>16;f=v+(b<<10)|0;o=f&-65536;f=(f>>>1)-(f>>16<<15)<<16;u=(((Ze(f>>16,b)|0)>>15)+(Ze(o>>16,b)|0)<<2)+-16777216|0;c=Ve[p>>1]|0;u=(c<<16>>16<<14)+u|0;D=u>>16;u=(u>>>1)-(D<<15)<<16;o=(((Ze(u>>16,b)|0)>>15)+(Ze(D,b)|0)<<2)-((f>>15)+o)|0;f=Ve[w>>1]|0;o=(f<<16>>16<<14)+o|0;e=o>>16;o=(o>>>1)-(e<<15)<<16;D=(((Ze(o>>16,b)|0)>>15)+(Ze(e,b)|0)<<2)-((u>>15)+(D<<16))|0;u=Ve[h>>1]|0;D=(u<<16>>16<<14)+D|0;A=D>>16;e=(((Ze((D>>>1)-(A<<15)<<16>>16,b)|0)>>15)+(Ze(A,b)|0)<<1)-((o>>15)+(e<<16))|0;o=Ve[m>>1]|0;e=(o<<16>>16<<13)+e|0;e=(e+33554432|0)>>>0<67108863?e>>>10&65535:(e|0)>33554431?32767:-32768;if((Ze(e<<16>>16,t<<16>>16)|0)<1){b=s;s=c;break}else{d=d+1|0;a=l;t=e}}p=o<<16>>16<<13;m=s<<16>>16<<14;c=f<<16>>16<<14;h=u<<16>>16<<14;o=l<<16>>16;d=4;while(1){A=(a<<16>>16>>>1)+(o>>>1)|0;o=A<<16;w=o>>16;o=v+(o>>6)|0;D=o&-65536;o=(o>>>1)-(o>>16<<15)<<16;u=m+((((Ze(o>>16,w)|0)>>15)+(Ze(D>>16,w)|0)<<2)+-16777216)|0;s=u>>16;u=(u>>>1)-(s<<15)<<16;D=c+((((Ze(u>>16,w)|0)>>15)+(Ze(s,w)|0)<<2)-((o>>15)+D))|0;o=D>>16;D=(D>>>1)-(o<<15)<<16;s=h+((((Ze(D>>16,w)|0)>>15)+(Ze(o,w)|0)<<2)-((u>>15)+(s<<16)))|0;u=s>>16;A=A&65535;o=p+((((Ze((s>>>1)-(u<<15)<<16>>16,w)|0)>>15)+(Ze(u,w)|0)<<1)-((D>>15)+(o<<16)))|0;o=(o+33554432|0)>>>0<67108863?o>>>10&65535:(o|0)>33554431?32767:-32768;D=(Ze(o<<16>>16,e<<16>>16)|0)<1;w=D?l:A;e=D?e:o;a=D?A:a;t=D?o:t;d=d+-1<<16>>16;o=w<<16>>16;if(!(d<<16>>16)){l=o;f=a;a=w;break}else l=w}s=n<<16>>16;o=e<<16>>16;e=(t&65535)-o|0;t=e<<16;if(t){D=(e&65535)-(e>>>15&1)|0;D=D<<16>>31^D;e=(Et(D&65535)|0)<<16>>16;e=(Ze((Kn(16383,D<<16>>16<>16,(f&65535)-l<<16>>16)|0)>>19-e;if((t|0)<0)e=0-(e<<16>>16)|0;a=l-((Ze(e<<16>>16,o)|0)>>>10)&65535}Ve[r+(s<<1)>>1]=a;t=k<<16>>16==0?g:E;A=a<<16>>16;e=Ve[t+2>>1]|0;o=(e<<16>>16<<14)+(A<<10)|0;D=o&-65536;o=(o>>>1)-(o>>16<<15)<<16;v=(((Ze(o>>16,A)|0)>>15)+(Ze(D>>16,A)|0)<<2)+-16777216|0;v=(Ve[t+4>>1]<<14)+v|0;p=v>>16;v=(v>>>1)-(p<<15)<<16;D=(((Ze(v>>16,A)|0)>>15)+(Ze(p,A)|0)<<2)-((o>>15)+D)|0;D=(Ve[t+6>>1]<<14)+D|0;o=D>>16;D=(D>>>1)-(o<<15)<<16;p=(((Ze(D>>16,A)|0)>>15)+(Ze(o,A)|0)<<2)-((v>>15)+(p<<16))|0;p=(Ve[t+8>>1]<<14)+p|0;v=p>>16;n=n+1<<16>>16;o=(((Ze((p>>>1)-(v<<15)<<16>>16,A)|0)>>15)+(Ze(v,A)|0)<<1)-((D>>15)+(o<<16))|0;o=(Ve[t+10>>1]<<13)+o|0;if(n<<16>>16<10){p=t+4|0;s=t;k=k^1;f=b;m=t+10|0;t=(o+33554432|0)>>>0<67108863?o>>>10&65535:(o|0)>33554431?32767:-32768}else{_=13;break}}if((_|0)==13){Ke=y;return}Ve[r>>1]=Ve[i>>1]|0;Ve[r+2>>1]=Ve[i+2>>1]|0;Ve[r+4>>1]=Ve[i+4>>1]|0;Ve[r+6>>1]=Ve[i+6>>1]|0;Ve[r+8>>1]=Ve[i+8>>1]|0;Ve[r+10>>1]=Ve[i+10>>1]|0;Ve[r+12>>1]=Ve[i+12>>1]|0;Ve[r+14>>1]=Ve[i+14>>1]|0;Ve[r+16>>1]=Ve[i+16>>1]|0;Ve[r+18>>1]=Ve[i+18>>1]|0;Ke=y;return}function Kn(e,r){e=e|0;r=r|0;var i=0,n=0,t=0,o=0,a=0,f=0;t=r<<16>>16;if(e<<16>>16<1?1:e<<16>>16>r<<16>>16){t=0;return t|0}if(e<<16>>16==r<<16>>16){t=32767;return t|0}n=t<<1;i=t<<2;o=e<<16>>16<<3;e=(o|0)<(i|0);o=o-(e?0:i)|0;e=e?0:4;a=(o|0)<(n|0);o=o-(a?0:n)|0;r=(o|0)<(t|0);e=(r&1|(a?e:e|2))<<3^8;r=o-(r?0:t)<<3;if((r|0)>=(i|0)){r=r-i|0;e=e&65528|4}o=(r|0)<(n|0);a=r-(o?0:n)|0;r=(a|0)<(t|0);e=(r&1^1|(o?e:e|2))<<16>>13;r=a-(r?0:t)<<3;if((r|0)>=(i|0)){r=r-i|0;e=e&65528|4}o=(r|0)<(n|0);a=r-(o?0:n)|0;r=(a|0)<(t|0);e=(r&1^1|(o?e:e|2))<<16>>13;r=a-(r?0:t)<<3;if((r|0)>=(i|0)){r=r-i|0;e=e&65528|4}f=(r|0)<(n|0);o=r-(f?0:n)|0;a=(o|0)<(t|0);r=(a&1^1|(f?e:e|2))<<16>>13;e=o-(a?0:t)<<3;if((e|0)>=(i|0)){e=e-i|0;r=r&65528|4}f=(e|0)<(n|0);f=((e-(f?0:n)|0)>=(t|0)|(f?r:r|2))&65535;return f|0}function Zn(e){e=e|0;if(!e){e=-1;return e|0}Ve[e>>1]=-14336;Ve[e+8>>1]=-2381;Ve[e+2>>1]=-14336;Ve[e+10>>1]=-2381;Ve[e+4>>1]=-14336;Ve[e+12>>1]=-2381;Ve[e+6>>1]=-14336;Ve[e+14>>1]=-2381;e=0;return e|0}function Qn(e,r,i,n,t,o,a,f){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;var s=0,l=0,u=0,c=0,d=0,h=0;h=Ke;Ke=Ke+16|0;c=h+2|0;d=h;s=0;l=10;while(1){u=Ve[i>>1]|0;u=((Ze(u,u)|0)>>>3)+s|0;s=Ve[i+2>>1]|0;s=u+((Ze(s,s)|0)>>>3)|0;u=Ve[i+4>>1]|0;u=s+((Ze(u,u)|0)>>>3)|0;s=Ve[i+6>>1]|0;s=u+((Ze(s,s)|0)>>>3)|0;l=l+-1<<16>>16;if(!(l<<16>>16))break;else i=i+8|0}l=s<<4;l=(l|0)<0?2147483647:l;if((r|0)==7){ft(((Ft(l,f)|0)<<16>>16)*52428|0,c,d,f);u=We[c>>1]<<16;l=Ve[d>>1]<<1;r=Ve[e+8>>1]|0;s=(r<<16>>16)*88|0;if(r<<16>>16>-1&(s|0)<-783741){Ge[f>>2]=1;i=2147483647}else i=s+783741|0;r=(Ve[e+10>>1]|0)*74|0;s=r+i|0;if((r^i|0)>-1&(s^i|0)<0){Ge[f>>2]=1;i=(i>>>31)+2147483647|0}else i=s;r=(Ve[e+12>>1]|0)*44|0;s=r+i|0;if((r^i|0)>-1&(s^i|0)<0){Ge[f>>2]=1;i=(i>>>31)+2147483647|0}else i=s;e=(Ve[e+14>>1]|0)*24|0;s=e+i|0;if((e^i|0)>-1&(s^i|0)<0){Ge[f>>2]=1;s=(i>>>31)+2147483647|0}e=u+-1966080+l|0;i=s-e|0;if(((i^s)&(s^e)|0)<0){Ge[f>>2]=1;i=(s>>>31)+2147483647|0}f=i>>17;Ve[n>>1]=f;f=(i>>2)-(f<<15)|0;f=f&65535;Ve[t>>1]=f;Ke=h;return}u=kt(l)|0;s=u<<16>>16;if(u<<16>>16>0){i=l<>s|0)==(l|0))l=i;else l=l>>31^2147483647}else{s=0-s<<16;if((s|0)<2031616)l=l>>(s>>16);else l=0}st(l,u,c,d);c=Ze(Ve[c>>1]|0,-49320)|0;s=(Ze(Ve[d>>1]|0,-24660)|0)>>15;s=(s&65536|0)==0?s:s|-65536;d=s<<1;i=d+c|0;if((d^c|0)>-1&(i^d|0)<0){Ge[f>>2]=1;i=(s>>>30&1)+2147483647|0}switch(r|0){case 6:{s=i+2134784|0;if((i|0)>-1&(s^i|0)<0){Ge[f>>2]=1;s=(i>>>31)+2147483647|0}break}case 5:{Ve[a>>1]=l>>>16;Ve[o>>1]=-11-(u&65535);s=i+2183936|0;if((i|0)>-1&(s^i|0)<0){Ge[f>>2]=1;s=(i>>>31)+2147483647|0}break}case 4:{s=i+2085632|0;if((i|0)>-1&(s^i|0)<0){Ge[f>>2]=1;s=(i>>>31)+2147483647|0}break}case 3:{s=i+2065152|0;if((i|0)>-1&(s^i|0)<0){Ge[f>>2]=1;s=(i>>>31)+2147483647|0}break}default:{s=i+2134784|0;if((i|0)>-1&(s^i|0)<0){Ge[f>>2]=1;s=(i>>>31)+2147483647|0}}}do{if((s|0)<=2097151)if((s|0)<-2097152){Ge[f>>2]=1;i=-2147483648;break}else{i=s<<10;break}else{Ge[f>>2]=1;i=2147483647}}while(0);a=(Ve[e>>1]|0)*11142|0;s=a+i|0;if((a^i|0)>-1&(s^i|0)<0){Ge[f>>2]=1;s=(i>>>31)+2147483647|0}a=(Ve[e+2>>1]|0)*9502|0;i=a+s|0;if((a^s|0)>-1&(i^s|0)<0){Ge[f>>2]=1;i=(s>>>31)+2147483647|0}a=(Ve[e+4>>1]|0)*5570|0;s=a+i|0;if((a^i|0)>-1&(s^i|0)<0){Ge[f>>2]=1;s=(i>>>31)+2147483647|0}e=(Ve[e+6>>1]|0)*3112|0;i=e+s|0;if((e^s|0)>-1&(i^s|0)<0){Ge[f>>2]=1;i=(s>>>31)+2147483647|0}i=Ze(i>>16,(r|0)==4?10878:10886)|0;if((i|0)<0)i=~((i^-256)>>8);else i=i>>8;Ve[n>>1]=i>>>16;if((i|0)<0)s=~((i^-2)>>1);else s=i>>1;n=i>>16<<15;i=s-n|0;if(((i^s)&(n^s)|0)>=0){f=i;f=f&65535;Ve[t>>1]=f;Ke=h;return}Ge[f>>2]=1;f=(s>>>31)+2147483647|0;f=f&65535;Ve[t>>1]=f;Ke=h;return}function Jn(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0;t=e+4|0;Ve[e+6>>1]=Ve[t>>1]|0;o=e+12|0;Ve[e+14>>1]=Ve[o>>1]|0;n=e+2|0;Ve[t>>1]=Ve[n>>1]|0;t=e+10|0;Ve[o>>1]=Ve[t>>1]|0;Ve[n>>1]=Ve[e>>1]|0;n=e+8|0;Ve[t>>1]=Ve[n>>1]|0;Ve[n>>1]=r;Ve[e>>1]=i;return}function $n(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0;o=Gn(0,Ve[e+8>>1]|0,n)|0;o=Gn(o,Ve[e+10>>1]|0,n)|0;o=Gn(o,Ve[e+12>>1]|0,n)|0;o=Gn(o,Ve[e+14>>1]|0,n)|0;t=o<<16>>16>>2;t=(o<<16>>16<0?t|49152:t)&65535;Ve[r>>1]=t<<16>>16<-2381?-2381:t;r=Gn(0,Ve[e>>1]|0,n)|0;r=Gn(r,Ve[e+2>>1]|0,n)|0;r=Gn(r,Ve[e+4>>1]|0,n)|0;n=Gn(r,Ve[e+6>>1]|0,n)|0;e=n<<16>>16>>2;e=(n<<16>>16<0?e|49152:e)&65535;Ve[i>>1]=e<<16>>16<-14336?-14336:e;return}function et(e){e=e|0;Ge[e>>2]=6892;Ge[e+4>>2]=8180;Ge[e+8>>2]=21e3;Ge[e+12>>2]=9716;Ge[e+16>>2]=22024;Ge[e+20>>2]=12788;Ge[e+24>>2]=24072;Ge[e+28>>2]=26120;Ge[e+32>>2]=28168;Ge[e+36>>2]=6876;Ge[e+40>>2]=7452;Ge[e+44>>2]=8140;Ge[e+48>>2]=20980;Ge[e+52>>2]=16884;Ge[e+56>>2]=17908;Ge[e+60>>2]=7980;Ge[e+64>>2]=8160;Ge[e+68>>2]=6678;Ge[e+72>>2]=6646;Ge[e+76>>2]=6614;Ge[e+80>>2]=29704;Ge[e+84>>2]=28680;Ge[e+88>>2]=3720;Ge[e+92>>2]=8;Ge[e+96>>2]=4172;Ge[e+100>>2]=44;Ge[e+104>>2]=3436;Ge[e+108>>2]=30316;Ge[e+112>>2]=30796;Ge[e+116>>2]=31276;Ge[e+120>>2]=7472;Ge[e+124>>2]=7552;Ge[e+128>>2]=7632;Ge[e+132>>2]=7712;return}function rt(e,r){e=e|0;r=r|0;var i=0,n=0,t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0;c=Ke;Ke=Ke+48|0;l=c+18|0;u=c;s=r<<16>>16;Yt(u|0,e|0,s<<1|0)|0;if(r<<16>>16>0){i=0;n=0}else{u=s>>1;u=l+(u<<1)|0;u=Ve[u>>1]|0;u=u<<16>>16;u=e+(u<<1)|0;u=Ve[u>>1]|0;Ke=c;return u|0}do{f=0;a=-32767;while(1){t=Ve[u+(f<<1)>>1]|0;o=t<<16>>16>16;n=o?n:f&65535;f=f+1|0;if((f&65535)<<16>>16==r<<16>>16)break;else a=o?a:t}Ve[u+(n<<16>>16<<1)>>1]=-32768;Ve[l+(i<<1)>>1]=n;i=i+1|0}while((i&65535)<<16>>16!=r<<16>>16);u=s>>1;u=l+(u<<1)|0;u=Ve[u>>1]|0;u=u<<16>>16;u=e+(u<<1)|0;u=Ve[u>>1]|0;Ke=c;return u|0}function it(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0;o=Ke;Ke=Ke+32|0;a=o;A=r+2|0;_=a+2|0;Ve[a>>1]=((Ve[r>>1]|0)>>>1)+((Ve[e>>1]|0)>>>1);y=r+4|0;g=a+4|0;Ve[_>>1]=((Ve[A>>1]|0)>>>1)+((Ve[e+2>>1]|0)>>>1);E=r+6|0;k=a+6|0;Ve[g>>1]=((Ve[y>>1]|0)>>>1)+((Ve[e+4>>1]|0)>>>1);b=r+8|0;v=a+8|0;Ve[k>>1]=((Ve[E>>1]|0)>>>1)+((Ve[e+6>>1]|0)>>>1);p=r+10|0;m=a+10|0;Ve[v>>1]=((Ve[b>>1]|0)>>>1)+((Ve[e+8>>1]|0)>>>1);w=r+12|0;h=a+12|0;Ve[m>>1]=((Ve[p>>1]|0)>>>1)+((Ve[e+10>>1]|0)>>>1);d=r+14|0;c=a+14|0;Ve[h>>1]=((Ve[w>>1]|0)>>>1)+((Ve[e+12>>1]|0)>>>1);u=r+16|0;l=a+16|0;Ve[c>>1]=((Ve[d>>1]|0)>>>1)+((Ve[e+14>>1]|0)>>>1);s=r+18|0;f=a+18|0;Ve[l>>1]=((Ve[u>>1]|0)>>>1)+((Ve[e+16>>1]|0)>>>1);Ve[f>>1]=((Ve[s>>1]|0)>>>1)+((Ve[e+18>>1]|0)>>>1);ct(a,n,t);ct(r,n+22|0,t);Ve[a>>1]=((Ve[i>>1]|0)>>>1)+((Ve[r>>1]|0)>>>1);Ve[_>>1]=((Ve[i+2>>1]|0)>>>1)+((Ve[A>>1]|0)>>>1);Ve[g>>1]=((Ve[i+4>>1]|0)>>>1)+((Ve[y>>1]|0)>>>1);Ve[k>>1]=((Ve[i+6>>1]|0)>>>1)+((Ve[E>>1]|0)>>>1);Ve[v>>1]=((Ve[i+8>>1]|0)>>>1)+((Ve[b>>1]|0)>>>1);Ve[m>>1]=((Ve[i+10>>1]|0)>>>1)+((Ve[p>>1]|0)>>>1);Ve[h>>1]=((Ve[i+12>>1]|0)>>>1)+((Ve[w>>1]|0)>>>1);Ve[c>>1]=((Ve[i+14>>1]|0)>>>1)+((Ve[d>>1]|0)>>>1);Ve[l>>1]=((Ve[i+16>>1]|0)>>>1)+((Ve[u>>1]|0)>>>1);Ve[f>>1]=((Ve[i+18>>1]|0)>>>1)+((Ve[s>>1]|0)>>>1);ct(a,n+44|0,t);ct(i,n+66|0,t);Ke=o;return}function nt(e,r,i,n,t){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;var o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0;o=Ke;Ke=Ke+32|0;a=o;A=r+2|0;_=a+2|0;Ve[a>>1]=((Ve[r>>1]|0)>>>1)+((Ve[e>>1]|0)>>>1);y=r+4|0;g=a+4|0;Ve[_>>1]=((Ve[A>>1]|0)>>>1)+((Ve[e+2>>1]|0)>>>1);E=r+6|0;k=a+6|0;Ve[g>>1]=((Ve[y>>1]|0)>>>1)+((Ve[e+4>>1]|0)>>>1);b=r+8|0;v=a+8|0;Ve[k>>1]=((Ve[E>>1]|0)>>>1)+((Ve[e+6>>1]|0)>>>1);p=r+10|0;m=a+10|0;Ve[v>>1]=((Ve[b>>1]|0)>>>1)+((Ve[e+8>>1]|0)>>>1);w=r+12|0;h=a+12|0;Ve[m>>1]=((Ve[p>>1]|0)>>>1)+((Ve[e+10>>1]|0)>>>1);d=r+14|0;c=a+14|0;Ve[h>>1]=((Ve[w>>1]|0)>>>1)+((Ve[e+12>>1]|0)>>>1);u=r+16|0;l=a+16|0;Ve[c>>1]=((Ve[d>>1]|0)>>>1)+((Ve[e+14>>1]|0)>>>1);s=r+18|0;f=a+18|0;Ve[l>>1]=((Ve[u>>1]|0)>>>1)+((Ve[e+16>>1]|0)>>>1);Ve[f>>1]=((Ve[s>>1]|0)>>>1)+((Ve[e+18>>1]|0)>>>1);ct(a,n,t);Ve[a>>1]=((Ve[i>>1]|0)>>>1)+((Ve[r>>1]|0)>>>1);Ve[_>>1]=((Ve[i+2>>1]|0)>>>1)+((Ve[A>>1]|0)>>>1);Ve[g>>1]=((Ve[i+4>>1]|0)>>>1)+((Ve[y>>1]|0)>>>1);Ve[k>>1]=((Ve[i+6>>1]|0)>>>1)+((Ve[E>>1]|0)>>>1);Ve[v>>1]=((Ve[i+8>>1]|0)>>>1)+((Ve[b>>1]|0)>>>1);Ve[m>>1]=((Ve[i+10>>1]|0)>>>1)+((Ve[p>>1]|0)>>>1);Ve[h>>1]=((Ve[i+12>>1]|0)>>>1)+((Ve[w>>1]|0)>>>1);Ve[c>>1]=((Ve[i+14>>1]|0)>>>1)+((Ve[d>>1]|0)>>>1);Ve[l>>1]=((Ve[i+16>>1]|0)>>>1)+((Ve[u>>1]|0)>>>1);Ve[f>>1]=((Ve[i+18>>1]|0)>>>1)+((Ve[s>>1]|0)>>>1);ct(a,n+44|0,t);Ke=o;return}function tt(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0;t=Ke;Ke=Ke+32|0;o=t;L=Ve[e>>1]|0;Ve[o>>1]=L-(L>>>2)+((Ve[r>>1]|0)>>>2);L=e+2|0;M=Ve[L>>1]|0;F=r+2|0;O=o+2|0;Ve[O>>1]=M-(M>>>2)+((Ve[F>>1]|0)>>>2);M=e+4|0;D=Ve[M>>1]|0;N=r+4|0;R=o+4|0;Ve[R>>1]=D-(D>>>2)+((Ve[N>>1]|0)>>>2);D=e+6|0;y=Ve[D>>1]|0;S=r+6|0;A=o+6|0;Ve[A>>1]=y-(y>>>2)+((Ve[S>>1]|0)>>>2);y=e+8|0;k=Ve[y>>1]|0;_=r+8|0;g=o+8|0;Ve[g>>1]=k-(k>>>2)+((Ve[_>>1]|0)>>>2);k=e+10|0;p=Ve[k>>1]|0;E=r+10|0;b=o+10|0;Ve[b>>1]=p-(p>>>2)+((Ve[E>>1]|0)>>>2);p=e+12|0;h=Ve[p>>1]|0;v=r+12|0;m=o+12|0;Ve[m>>1]=h-(h>>>2)+((Ve[v>>1]|0)>>>2);h=e+14|0;u=Ve[h>>1]|0;w=r+14|0;d=o+14|0;Ve[d>>1]=u-(u>>>2)+((Ve[w>>1]|0)>>>2);u=e+16|0;f=Ve[u>>1]|0;c=r+16|0;l=o+16|0;Ve[l>>1]=f-(f>>>2)+((Ve[c>>1]|0)>>>2);f=e+18|0;I=Ve[f>>1]|0;s=r+18|0;a=o+18|0;Ve[a>>1]=I-(I>>>2)+((Ve[s>>1]|0)>>>2);ct(o,i,n);Ve[o>>1]=((Ve[e>>1]|0)>>>1)+((Ve[r>>1]|0)>>>1);Ve[O>>1]=((Ve[L>>1]|0)>>>1)+((Ve[F>>1]|0)>>>1);Ve[R>>1]=((Ve[M>>1]|0)>>>1)+((Ve[N>>1]|0)>>>1);Ve[A>>1]=((Ve[D>>1]|0)>>>1)+((Ve[S>>1]|0)>>>1);Ve[g>>1]=((Ve[y>>1]|0)>>>1)+((Ve[_>>1]|0)>>>1);Ve[b>>1]=((Ve[k>>1]|0)>>>1)+((Ve[E>>1]|0)>>>1);Ve[m>>1]=((Ve[p>>1]|0)>>>1)+((Ve[v>>1]|0)>>>1);Ve[d>>1]=((Ve[h>>1]|0)>>>1)+((Ve[w>>1]|0)>>>1);Ve[l>>1]=((Ve[u>>1]|0)>>>1)+((Ve[c>>1]|0)>>>1);Ve[a>>1]=((Ve[f>>1]|0)>>>1)+((Ve[s>>1]|0)>>>1);ct(o,i+22|0,n);I=Ve[r>>1]|0;Ve[o>>1]=I-(I>>>2)+((Ve[e>>1]|0)>>>2);e=Ve[F>>1]|0;Ve[O>>1]=e-(e>>>2)+((Ve[L>>1]|0)>>>2);e=Ve[N>>1]|0;Ve[R>>1]=e-(e>>>2)+((Ve[M>>1]|0)>>>2);e=Ve[S>>1]|0;Ve[A>>1]=e-(e>>>2)+((Ve[D>>1]|0)>>>2);e=Ve[_>>1]|0;Ve[g>>1]=e-(e>>>2)+((Ve[y>>1]|0)>>>2);e=Ve[E>>1]|0;Ve[b>>1]=e-(e>>>2)+((Ve[k>>1]|0)>>>2);e=Ve[v>>1]|0;Ve[m>>1]=e-(e>>>2)+((Ve[p>>1]|0)>>>2);e=Ve[w>>1]|0;Ve[d>>1]=e-(e>>>2)+((Ve[h>>1]|0)>>>2);e=Ve[c>>1]|0;Ve[l>>1]=e-(e>>>2)+((Ve[u>>1]|0)>>>2);e=Ve[s>>1]|0;Ve[a>>1]=e-(e>>>2)+((Ve[f>>1]|0)>>>2);ct(o,i+44|0,n);ct(r,i+66|0,n);Ke=t;return}function ot(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0;t=Ke;Ke=Ke+32|0;o=t;L=Ve[e>>1]|0;Ve[o>>1]=L-(L>>>2)+((Ve[r>>1]|0)>>>2);L=e+2|0;M=Ve[L>>1]|0;F=r+2|0;O=o+2|0;Ve[O>>1]=M-(M>>>2)+((Ve[F>>1]|0)>>>2);M=e+4|0;D=Ve[M>>1]|0;N=r+4|0;R=o+4|0;Ve[R>>1]=D-(D>>>2)+((Ve[N>>1]|0)>>>2);D=e+6|0;y=Ve[D>>1]|0;S=r+6|0;A=o+6|0;Ve[A>>1]=y-(y>>>2)+((Ve[S>>1]|0)>>>2);y=e+8|0;k=Ve[y>>1]|0;_=r+8|0;g=o+8|0;Ve[g>>1]=k-(k>>>2)+((Ve[_>>1]|0)>>>2);k=e+10|0;p=Ve[k>>1]|0;E=r+10|0;b=o+10|0;Ve[b>>1]=p-(p>>>2)+((Ve[E>>1]|0)>>>2);p=e+12|0;h=Ve[p>>1]|0;v=r+12|0;m=o+12|0;Ve[m>>1]=h-(h>>>2)+((Ve[v>>1]|0)>>>2);h=e+14|0;u=Ve[h>>1]|0;w=r+14|0;d=o+14|0;Ve[d>>1]=u-(u>>>2)+((Ve[w>>1]|0)>>>2);u=e+16|0;f=Ve[u>>1]|0;c=r+16|0;l=o+16|0;Ve[l>>1]=f-(f>>>2)+((Ve[c>>1]|0)>>>2);f=e+18|0;I=Ve[f>>1]|0;s=r+18|0;a=o+18|0;Ve[a>>1]=I-(I>>>2)+((Ve[s>>1]|0)>>>2);ct(o,i,n);Ve[o>>1]=((Ve[e>>1]|0)>>>1)+((Ve[r>>1]|0)>>>1);Ve[O>>1]=((Ve[L>>1]|0)>>>1)+((Ve[F>>1]|0)>>>1);Ve[R>>1]=((Ve[M>>1]|0)>>>1)+((Ve[N>>1]|0)>>>1);Ve[A>>1]=((Ve[D>>1]|0)>>>1)+((Ve[S>>1]|0)>>>1);Ve[g>>1]=((Ve[y>>1]|0)>>>1)+((Ve[_>>1]|0)>>>1);Ve[b>>1]=((Ve[k>>1]|0)>>>1)+((Ve[E>>1]|0)>>>1);Ve[m>>1]=((Ve[p>>1]|0)>>>1)+((Ve[v>>1]|0)>>>1);Ve[d>>1]=((Ve[h>>1]|0)>>>1)+((Ve[w>>1]|0)>>>1);Ve[l>>1]=((Ve[u>>1]|0)>>>1)+((Ve[c>>1]|0)>>>1);Ve[a>>1]=((Ve[f>>1]|0)>>>1)+((Ve[s>>1]|0)>>>1);ct(o,i+22|0,n);r=Ve[r>>1]|0;Ve[o>>1]=r-(r>>>2)+((Ve[e>>1]|0)>>>2);e=Ve[F>>1]|0;Ve[O>>1]=e-(e>>>2)+((Ve[L>>1]|0)>>>2);e=Ve[N>>1]|0;Ve[R>>1]=e-(e>>>2)+((Ve[M>>1]|0)>>>2);e=Ve[S>>1]|0;Ve[A>>1]=e-(e>>>2)+((Ve[D>>1]|0)>>>2);e=Ve[_>>1]|0;Ve[g>>1]=e-(e>>>2)+((Ve[y>>1]|0)>>>2);e=Ve[E>>1]|0;Ve[b>>1]=e-(e>>>2)+((Ve[k>>1]|0)>>>2);e=Ve[v>>1]|0;Ve[m>>1]=e-(e>>>2)+((Ve[p>>1]|0)>>>2);e=Ve[w>>1]|0;Ve[d>>1]=e-(e>>>2)+((Ve[h>>1]|0)>>>2);e=Ve[c>>1]|0;Ve[l>>1]=e-(e>>>2)+((Ve[u>>1]|0)>>>2);e=Ve[s>>1]|0;Ve[a>>1]=e-(e>>>2)+((Ve[f>>1]|0)>>>2);ct(o,i+44|0,n);Ke=t;return}function at(e,r){e=e|0;r=r|0;var i=0,n=0;if((e|0)<1){r=1073741823;return r|0}i=(kt(e)|0)<<16>>16;r=30-i|0;e=e<>(r&1^1);i=(e>>25<<16)+-1048576>>16;n=Ve[7030+(i<<1)>>1]|0;r=(n<<16)-(Ze(n-(We[7030+(i+1<<1)>>1]|0)<<16>>15,e>>>10&32767)|0)>>(r<<16>>17)+1;return r|0}function ft(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;n=kt(e)|0;st(e<<(n<<16>>16),n,r,i);return}function st(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;if((e|0)<1){Ve[i>>1]=0;i=0;Ve[n>>1]=i;return}else{Ve[i>>1]=30-(r&65535);i=(e>>25<<16)+-2097152>>16;r=Ve[7128+(i<<1)>>1]|0;i=((r<<16)-(Ze(e>>>9&65534,r-(We[7128+(i+1<<1)>>1]|0)<<16>>16)|0)|0)>>>16&65535;Ve[n>>1]=i;return}}function lt(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0;n=e+2|0;i=Ve[n>>1]|0;Ve[r>>1]=i;t=e+4|0;Ve[r+2>>1]=(We[t>>1]|0)-(We[e>>1]|0);Ve[r+4>>1]=(We[e+6>>1]|0)-(We[n>>1]|0);n=e+8|0;Ve[r+6>>1]=(We[n>>1]|0)-(We[t>>1]|0);Ve[r+8>>1]=(We[e+10>>1]|0)-(We[e+6>>1]|0);t=e+12|0;Ve[r+10>>1]=(We[t>>1]|0)-(We[n>>1]|0);Ve[r+12>>1]=(We[e+14>>1]|0)-(We[e+10>>1]|0);Ve[r+14>>1]=(We[e+16>>1]|0)-(We[t>>1]|0);Ve[r+16>>1]=(We[e+18>>1]|0)-(We[e+14>>1]|0);Ve[r+18>>1]=16384-(We[e+16>>1]|0);e=10;t=r;while(1){i=i<<16>>16;r=(i<<16)+-120782848|0;if((r|0)>0)r=1843-((r>>16)*12484>>16)|0;else r=3427-((i*56320|0)>>>16)|0;n=t+2|0;Ve[t>>1]=r<<3;e=e+-1<<16>>16;if(!(e<<16>>16))break;i=Ve[n>>1]|0;t=n}return}function ut(e,r,i){e=e|0;r=r|0;i=i|0;i=r<<16>>16;if(r<<16>>16>31){r=0;return r|0}if(r<<16>>16>0)return((1<>16<31?e>>i:0)|0;i=0-i<<16>>16;r=e<>i|0)==(e|0)?r:e>>31^2147483647;return r|0}function ct(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0;m=Ke;Ke=Ke+48|0;h=m+24|0;w=m;c=h+4|0;Ge[h>>2]=16777216;n=0-(Ve[e>>1]|0)|0;d=h+8|0;Ge[c>>2]=n<<10;t=Ve[e+4>>1]|0;s=n>>6;Ge[d>>2]=33554432-(((Ze((n<<9)-(s<<15)<<16>>16,t)|0)>>15)+(Ze(s,t)|0)<<2);s=h+4|0;t=(Ge[s>>2]|0)-(t<<10)|0;Ge[s>>2]=t;s=h+12|0;n=h+4|0;Ge[s>>2]=t;i=Ve[e+8>>1]|0;o=t;l=1;while(1){f=s+-4|0;a=Ge[f>>2]|0;u=a>>16;Ge[s>>2]=o+t-(((Ze((a>>>1)-(u<<15)<<16>>16,i)|0)>>15)+(Ze(u,i)|0)<<2);if((l|0)==2)break;o=Ge[s+-12>>2]|0;s=f;t=a;l=l+1|0}Ge[n>>2]=(Ge[n>>2]|0)-(i<<10);i=h+16|0;n=Ge[h+8>>2]|0;Ge[i>>2]=n;f=Ve[e+12>>1]|0;t=n;s=1;while(1){a=i+-4|0;o=Ge[a>>2]|0;u=o>>16;Ge[i>>2]=t+n-(((Ze((o>>>1)-(u<<15)<<16>>16,f)|0)>>15)+(Ze(u,f)|0)<<2);if((s|0)==3)break;t=Ge[i+-12>>2]|0;i=a;n=o;s=s+1|0}i=h+4|0;Ge[i>>2]=(Ge[i>>2]|0)-(f<<10);i=h+20|0;t=Ge[h+12>>2]|0;Ge[i>>2]=t;n=Ve[e+16>>1]|0;o=t;s=1;while(1){f=i+-4|0;a=Ge[f>>2]|0;u=a>>16;Ge[i>>2]=o+t-(((Ze((a>>>1)-(u<<15)<<16>>16,n)|0)>>15)+(Ze(u,n)|0)<<2);if((s|0)==4)break;o=Ge[i+-12>>2]|0;i=f;t=a;s=s+1|0}s=h+4|0;Ge[s>>2]=(Ge[s>>2]|0)-(n<<10);Ge[w>>2]=16777216;s=0-(Ve[e+2>>1]|0)|0;u=w+8|0;Ge[w+4>>2]=s<<10;n=Ve[e+6>>1]|0;l=s>>6;Ge[u>>2]=33554432-(((Ze((s<<9)-(l<<15)<<16>>16,n)|0)>>15)+(Ze(l,n)|0)<<2);l=w+4|0;n=(Ge[l>>2]|0)-(n<<10)|0;Ge[l>>2]=n;l=w+12|0;s=w+4|0;Ge[l>>2]=n;f=Ve[e+10>>1]|0;t=n;i=1;while(1){a=l+-4|0;o=Ge[a>>2]|0;p=o>>16;Ge[l>>2]=t+n-(((Ze((o>>>1)-(p<<15)<<16>>16,f)|0)>>15)+(Ze(p,f)|0)<<2);if((i|0)==2)break;t=Ge[l+-12>>2]|0;l=a;n=o;i=i+1|0}Ge[s>>2]=(Ge[s>>2]|0)-(f<<10);s=w+16|0;n=Ge[w+8>>2]|0;Ge[s>>2]=n;f=Ve[e+14>>1]|0;t=n;i=1;while(1){a=s+-4|0;o=Ge[a>>2]|0;p=o>>16;Ge[s>>2]=t+n-(((Ze((o>>>1)-(p<<15)<<16>>16,f)|0)>>15)+(Ze(p,f)|0)<<2);if((i|0)==3)break;t=Ge[s+-12>>2]|0;s=a;n=o;i=i+1|0}i=w+4|0;Ge[i>>2]=(Ge[i>>2]|0)-(f<<10);i=w+20|0;f=Ge[w+12>>2]|0;Ge[i>>2]=f;n=Ve[e+18>>1]|0;a=f;s=1;while(1){t=i+-4|0;o=Ge[t>>2]|0;p=o>>16;Ge[i>>2]=a+f-(((Ze((o>>>1)-(p<<15)<<16>>16,n)|0)>>15)+(Ze(p,n)|0)<<2);if((s|0)==4)break;a=Ge[i+-12>>2]|0;i=t;f=o;s=s+1|0}a=(Ge[w+4>>2]|0)-(n<<10)|0;l=h+20|0;f=w+20|0;s=Ge[h+16>>2]|0;e=(Ge[l>>2]|0)+s|0;Ge[l>>2]=e;l=Ge[w+16>>2]|0;p=(Ge[f>>2]|0)-l|0;Ge[f>>2]=p;f=Ge[h+12>>2]|0;s=s+f|0;Ge[h+16>>2]=s;o=Ge[w+12>>2]|0;l=l-o|0;Ge[w+16>>2]=l;n=Ge[d>>2]|0;f=f+n|0;Ge[h+12>>2]=f;t=Ge[u>>2]|0;d=o-t|0;Ge[w+12>>2]=d;o=Ge[c>>2]|0;u=n+o|0;Ge[h+8>>2]=u;c=t-a|0;Ge[w+8>>2]=c;h=o+(Ge[h>>2]|0)|0;w=a-(Ge[w>>2]|0)|0;Ve[r>>1]=4096;h=h+4096|0;Ve[r+2>>1]=(h+w|0)>>>13;Ve[r+20>>1]=(h-w|0)>>>13;w=u+4096|0;Ve[r+4>>1]=(w+c|0)>>>13;Ve[r+18>>1]=(w-c|0)>>>13;w=f+4096|0;Ve[r+6>>1]=(w+d|0)>>>13;Ve[r+16>>1]=(w-d|0)>>>13;w=s+4096|0;Ve[r+8>>1]=(w+l|0)>>>13;Ve[r+14>>1]=(w-l|0)>>>13;w=e+4096|0;Ve[r+10>>1]=(w+p|0)>>>13;Ve[r+12>>1]=(w-p|0)>>>13;Ke=m;return}function dt(e){e=e|0;var r=0,i=0,n=0,t=0,o=0;if(!e){o=-1;return o|0}Ge[e>>2]=0;r=Ut(44)|0;if(!r){o=-1;return o|0}i=r+40|0;if((Rt(i)|0)<<16>>16){o=-1;return o|0}n=r;t=7452;o=n+20|0;do{Ve[n>>1]=Ve[t>>1]|0;n=n+2|0;t=t+2|0}while((n|0)<(o|0));n=r+20|0;t=7452;o=n+20|0;do{Ve[n>>1]=Ve[t>>1]|0;n=n+2|0;t=t+2|0}while((n|0)<(o|0));Mt(Ge[i>>2]|0)|0;Ge[e>>2]=r;o=0;return o|0}function ht(e){e=e|0;var r=0,i=0,n=0;if(!e){n=-1;return n|0}r=e;i=7452;n=r+20|0;do{Ve[r>>1]=Ve[i>>1]|0;r=r+2|0;i=i+2|0}while((r|0)<(n|0));r=e+20|0;i=7452;n=r+20|0;do{Ve[r>>1]=Ve[i>>1]|0;r=r+2|0;i=i+2|0}while((r|0)<(n|0));Mt(Ge[e+40>>2]|0)|0;n=0;return n|0}function wt(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;Nt(r+40|0);zt(Ge[e>>2]|0);Ge[e>>2]=0;return}function mt(e,r,i,n,t,o,a,f){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;var s=0,l=0,u=0,c=0,d=0;d=Ke;Ke=Ke+64|0;c=d+44|0;s=d+24|0;l=d+4|0;u=d;if((r|0)==7){Wn(n+22|0,s,e,f);Wn(n+66|0,o,s,f);nt(e,s,o,n,f);if((i|0)==8)n=6;else{Dt(Ge[e+40>>2]|0,s,o,l,c,Ge[a>>2]|0,f);it(e+20|0,l,c,t,f);t=(Ge[a>>2]|0)+10|0;n=7}}else{Wn(n+66|0,o,e,f);ot(e,o,n,f);if((i|0)==8)n=6;else{_t(Ge[e+40>>2]|0,r,o,c,Ge[a>>2]|0,u,f);tt(e+20|0,c,t,f);t=(Ge[a>>2]|0)+6|0;n=7}}if((n|0)==6){n=e;t=n+20|0;do{Ve[n>>1]=Ve[o>>1]|0;n=n+2|0;o=o+2|0}while((n|0)<(t|0));Ke=d;return}else if((n|0)==7){Ge[a>>2]=t;n=e;t=n+20|0;do{Ve[n>>1]=Ve[o>>1]|0;n=n+2|0;o=o+2|0}while((n|0)<(t|0));n=e+20|0;o=c;t=n+20|0;do{Ve[n>>1]=Ve[o>>1]|0;n=n+2|0;o=o+2|0}while((n|0)<(t|0));Ke=d;return}}function pt(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0;if(i<<16>>16>0)n=0;else return;do{o=Ve[e+(n<<1)>>1]|0;a=o>>8;t=Ve[7194+(a<<1)>>1]|0;Ve[r+(n<<1)>>1]=((Ze((Ve[7194+(a+1<<1)>>1]|0)-t|0,o&255)|0)>>>8)+t;n=n+1|0}while((n&65535)<<16>>16!=i<<16>>16);return}function vt(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0;n=(i<<16>>16)+-1|0;i=n&65535;if(i<<16>>16<=-1)return;t=63;a=r+(n<<1)|0;o=e+(n<<1)|0;while(1){e=Ve[o>>1]|0;r=t;while(1){n=r<<16>>16;t=Ve[7194+(n<<1)>>1]|0;if(e<<16>>16>t<<16>>16)r=r+-1<<16>>16;else break}Ve[a>>1]=(((Ze(Ve[7324+(n<<1)>>1]|0,(e<<16>>16)-(t<<16>>16)|0)|0)+2048|0)>>>12)+(n<<8);i=i+-1<<16>>16;if(i<<16>>16>-1){t=r;a=a+-2|0;o=o+-2|0}else break}return}function bt(e,r,i){e=e|0;r=r|0;i=i|0;e=(Ze(r<<16>>16,e<<16>>16)|0)+16384>>15;e=e|0-(e&65536);if((e|0)<=32767){if((e|0)<-32768){Ge[i>>2]=1;e=-32768}}else{Ge[i>>2]=1;e=32767}return e&65535|0}function kt(e){e=e|0;var r=0;e:do{if((e|0)!=0?(r=e-(e>>>31)|0,r=r>>31^r,(r&1073741824|0)==0):0){e=r;r=0;while(1){if(e&536870912){e=7;break}if(e&268435456){e=8;break}if(e&134217728){e=9;break}r=r+4<<16>>16;e=e<<4;if(e&1073741824)break e}if((e|0)==7){r=r|1;break}else if((e|0)==8){r=r|2;break}else if((e|0)==9){r=r|3;break}}else r=0}while(0);return r|0}function Et(e){e=e|0;var r=0,i=0;if(!(e<<16>>16)){i=0;return i|0}r=(e&65535)-((e&65535)>>>15&65535)|0;r=(r<<16>>31^r)<<16;e=r>>16;if(!(e&16384)){i=r;r=0}else{i=0;return i|0}while(1){if(e&8192){e=r;i=7;break}if(e&4096){e=r;i=8;break}if(e&2048){e=r;i=9;break}r=r+4<<16>>16;i=i<<4;e=i>>16;if(e&16384){e=r;i=10;break}}if((i|0)==7){i=e|1;return i|0}else if((i|0)==8){i=e|2;return i|0}else if((i|0)==9){i=e|3;return i|0}else if((i|0)==10)return e|0;return 0}function gt(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0;r=r<<16>>16;if((r&134217727|0)==33554432){Ge[i>>2]=1;r=2147483647}else r=r<<6;n=r>>>16&31;o=Ve[7792+(n<<1)>>1]|0;t=o<<16;r=Ze(o-(We[7792+(n+1<<1)>>1]|0)<<16>>16,r>>>1&32767)|0;if((r|0)==1073741824){Ge[i>>2]=1;n=2147483647}else n=r<<1;r=t-n|0;if(((r^t)&(n^t)|0)>=0){o=r;e=e&65535;e=30-e|0;e=e&65535;i=ut(o,e,i)|0;return i|0}Ge[i>>2]=1;o=(o>>>15&1)+2147483647|0;e=e&65535;e=30-e|0;e=e&65535;i=ut(o,e,i)|0;return i|0}function yt(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0;d=Ke;Ke=Ke+48|0;c=d;u=0-(i&65535)|0;u=t<<16>>16==0?u:u<<1&131070;i=u&65535;u=(i<<16>>16<0?u+6|0:u)<<16>>16;o=6-u|0;Ve[c>>1]=Ve[7858+(u<<1)>>1]|0;Ve[c+2>>1]=Ve[7858+(o<<1)>>1]|0;Ve[c+4>>1]=Ve[7858+(u+6<<1)>>1]|0;Ve[c+6>>1]=Ve[7858+(o+6<<1)>>1]|0;Ve[c+8>>1]=Ve[7858+(u+12<<1)>>1]|0;Ve[c+10>>1]=Ve[7858+(o+12<<1)>>1]|0;Ve[c+12>>1]=Ve[7858+(u+18<<1)>>1]|0;Ve[c+14>>1]=Ve[7858+(o+18<<1)>>1]|0;Ve[c+16>>1]=Ve[7858+(u+24<<1)>>1]|0;Ve[c+18>>1]=Ve[7858+(o+24<<1)>>1]|0;Ve[c+20>>1]=Ve[7858+(u+30<<1)>>1]|0;Ve[c+22>>1]=Ve[7858+(o+30<<1)>>1]|0;Ve[c+24>>1]=Ve[7858+(u+36<<1)>>1]|0;Ve[c+26>>1]=Ve[7858+(o+36<<1)>>1]|0;Ve[c+28>>1]=Ve[7858+(u+42<<1)>>1]|0;Ve[c+30>>1]=Ve[7858+(o+42<<1)>>1]|0;Ve[c+32>>1]=Ve[7858+(u+48<<1)>>1]|0;Ve[c+34>>1]=Ve[7858+(o+48<<1)>>1]|0;Ve[c+36>>1]=Ve[7858+(u+54<<1)>>1]|0;Ve[c+38>>1]=Ve[7858+(o+54<<1)>>1]|0;o=n<<16>>16>>>1&65535;if(!(o<<16>>16)){Ke=d;return}u=e+((i<<16>>16>>15<<16>>16)-(r<<16>>16)<<1)|0;while(1){l=u+2|0;a=Ve[l>>1]|0;r=a;n=u;f=5;s=c;t=16384;i=16384;while(1){w=Ve[s>>1]|0;m=(Ze(w,r<<16>>16)|0)+i|0;h=Ve[l+-2>>1]|0;i=(Ze(h,w)|0)+t|0;w=n;n=n+4|0;p=Ve[s+2>>1]|0;i=i+(Ze(p,a<<16>>16)|0)|0;t=Ve[n>>1]|0;p=m+(Ze(t,p)|0)|0;l=l+-4|0;m=Ve[s+4>>1]|0;h=p+(Ze(m,h)|0)|0;r=Ve[l>>1]|0;m=i+(Ze(r<<16>>16,m)|0)|0;i=Ve[s+6>>1]|0;t=m+(Ze(i,t)|0)|0;a=Ve[w+6>>1]|0;i=h+(Ze(a<<16>>16,i)|0)|0;if(f<<16>>16<=1)break;else{f=f+-1<<16>>16;s=s+8|0}}Ve[e>>1]=t>>>15;Ve[e+2>>1]=i>>>15;o=o+-1<<16>>16;if(!(o<<16>>16))break;else{u=u+4|0;e=e+4|0}}Ke=d;return}function _t(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0;D=Ke;Ke=Ke+144|0;p=D+120|0;g=D+100|0;_=D+80|0;A=D+60|0;y=D+40|0;h=D+20|0;w=D;vt(i,p,10,a);lt(p,g,a);if((r|0)==8){Ve[o>>1]=0;s=2147483647;m=0;while(1){u=m*10|0;i=0;l=0;do{E=(We[7980+(l+u<<1)>>1]|0)+(We[8140+(l<<1)>>1]|0)|0;Ve[w+(l<<1)>>1]=E;E=(We[p+(l<<1)>>1]|0)-(E&65535)|0;Ve[h+(l<<1)>>1]=E;E=E<<16;i=(Ze(E>>15,E>>16)|0)+i|0;l=l+1|0}while((l|0)!=10);if((i|0)<(s|0)){v=A;d=h;c=v+20|0;do{Ve[v>>1]=Ve[d>>1]|0;v=v+2|0;d=d+2|0}while((v|0)<(c|0));v=_;d=w;c=v+20|0;do{Ve[v>>1]=Ve[d>>1]|0;v=v+2|0;d=d+2|0}while((v|0)<(c|0));v=e;d=7980+(u<<1)|0;c=v+20|0;do{Ve[v>>1]=Ve[d>>1]|0;v=v+2|0;d=d+2|0}while((v|0)<(c|0));Ve[o>>1]=m}else i=s;m=m+1|0;if((m|0)==8)break;else s=i}}else{i=0;do{E=Ze(Ve[8160+(i<<1)>>1]|0,Ve[e+(i<<1)>>1]|0)|0;E=(E>>>15)+(We[8140+(i<<1)>>1]|0)|0;Ve[_+(i<<1)>>1]=E;Ve[A+(i<<1)>>1]=(We[p+(i<<1)>>1]|0)-E;i=i+1|0}while((i|0)!=10)}do{if(r>>>0>=2){E=A+2|0;k=A+4|0;b=We[A>>1]|0;v=Ve[g>>1]<<1;p=We[E>>1]|0;h=Ve[g+2>>1]<<1;d=We[k>>1]|0;c=Ve[g+4>>1]<<1;if((r|0)==5){w=2147483647;o=0;i=0;m=17908;while(1){l=(Ze(b-(We[m>>1]|0)<<16>>16,v)|0)>>16;l=Ze(l,l)|0;u=(Ze(p-(We[m+2>>1]|0)<<16>>16,h)|0)>>16;l=(Ze(u,u)|0)+l|0;u=(Ze(d-(We[m+4>>1]|0)<<16>>16,c)|0)>>16;u=l+(Ze(u,u)|0)|0;l=(u|0)<(w|0);i=l?o:i;o=o+1<<16>>16;if(o<<16>>16>=512)break;else{w=l?u:w;m=m+6|0}}u=(i<<16>>16)*3|0;Ve[A>>1]=Ve[17908+(u<<1)>>1]|0;Ve[E>>1]=Ve[17908+(u+1<<1)>>1]|0;Ve[k>>1]=Ve[17908+(u+2<<1)>>1]|0;Ve[t>>1]=i;u=A+6|0;l=A+8|0;b=A+10|0;m=We[u>>1]|0;o=Ve[g+6>>1]<<1;w=We[l>>1]|0;h=Ve[g+8>>1]<<1;d=We[b>>1]|0;c=Ve[g+10>>1]<<1;f=2147483647;p=0;i=0;v=9716;while(1){s=(Ze(o,m-(We[v>>1]|0)<<16>>16)|0)>>16;s=Ze(s,s)|0;r=(Ze(h,w-(We[v+2>>1]|0)<<16>>16)|0)>>16;s=(Ze(r,r)|0)+s|0;r=(Ze(c,d-(We[v+4>>1]|0)<<16>>16)|0)>>16;r=s+(Ze(r,r)|0)|0;s=(r|0)<(f|0);i=s?p:i;p=p+1<<16>>16;if(p<<16>>16>=512)break;else{f=s?r:f;v=v+6|0}}f=(i<<16>>16)*3|0;Ve[u>>1]=Ve[9716+(f<<1)>>1]|0;Ve[l>>1]=Ve[9716+(f+1<<1)>>1]|0;Ve[b>>1]=Ve[9716+(f+2<<1)>>1]|0;Ve[t+2>>1]=i;f=A+12|0;Ve[t+4>>1]=At(f,12788,g+12|0,512)|0;p=E;m=k;i=b;s=A;break}else{w=2147483647;o=0;i=0;m=8180;while(1){l=(Ze(b-(We[m>>1]|0)<<16>>16,v)|0)>>16;l=Ze(l,l)|0;u=(Ze(p-(We[m+2>>1]|0)<<16>>16,h)|0)>>16;l=(Ze(u,u)|0)+l|0;u=(Ze(d-(We[m+4>>1]|0)<<16>>16,c)|0)>>16;u=l+(Ze(u,u)|0)|0;l=(u|0)<(w|0);i=l?o:i;o=o+1<<16>>16;if(o<<16>>16>=256)break;else{w=l?u:w;m=m+6|0}}u=(i<<16>>16)*3|0;Ve[A>>1]=Ve[8180+(u<<1)>>1]|0;Ve[E>>1]=Ve[8180+(u+1<<1)>>1]|0;Ve[k>>1]=Ve[8180+(u+2<<1)>>1]|0;Ve[t>>1]=i;u=A+6|0;l=A+8|0;b=A+10|0;m=We[u>>1]|0;o=Ve[g+6>>1]<<1;w=We[l>>1]|0;h=Ve[g+8>>1]<<1;d=We[b>>1]|0;c=Ve[g+10>>1]<<1;f=2147483647;p=0;i=0;v=9716;while(1){s=(Ze(o,m-(We[v>>1]|0)<<16>>16)|0)>>16;s=Ze(s,s)|0;r=(Ze(h,w-(We[v+2>>1]|0)<<16>>16)|0)>>16;s=(Ze(r,r)|0)+s|0;r=(Ze(c,d-(We[v+4>>1]|0)<<16>>16)|0)>>16;r=s+(Ze(r,r)|0)|0;s=(r|0)<(f|0);i=s?p:i;p=p+1<<16>>16;if(p<<16>>16>=512)break;else{f=s?r:f;v=v+6|0}}f=(i<<16>>16)*3|0;Ve[u>>1]=Ve[9716+(f<<1)>>1]|0;Ve[l>>1]=Ve[9716+(f+1<<1)>>1]|0;Ve[b>>1]=Ve[9716+(f+2<<1)>>1]|0;Ve[t+2>>1]=i;f=A+12|0;Ve[t+4>>1]=At(f,12788,g+12|0,512)|0;p=E;m=k;i=b;s=A;break}}else{k=A+2|0;E=A+4|0;u=We[A>>1]|0;l=Ve[g>>1]<<1;s=We[k>>1]|0;f=Ve[g+2>>1]<<1;r=We[E>>1]|0;c=Ve[g+4>>1]<<1;w=2147483647;o=0;i=0;m=8180;while(1){h=(Ze(l,u-(We[m>>1]|0)<<16>>16)|0)>>16;h=Ze(h,h)|0;d=(Ze(f,s-(We[m+2>>1]|0)<<16>>16)|0)>>16;h=(Ze(d,d)|0)+h|0;d=(Ze(c,r-(We[m+4>>1]|0)<<16>>16)|0)>>16;d=h+(Ze(d,d)|0)|0;h=(d|0)<(w|0);i=h?o:i;o=o+1<<16>>16;if(o<<16>>16>=256)break;else{w=h?d:w;m=m+6|0}}u=(i<<16>>16)*3|0;Ve[A>>1]=Ve[8180+(u<<1)>>1]|0;Ve[k>>1]=Ve[8180+(u+1<<1)>>1]|0;Ve[E>>1]=Ve[8180+(u+2<<1)>>1]|0;Ve[t>>1]=i;u=A+6|0;l=A+8|0;b=A+10|0;m=We[u>>1]|0;o=Ve[g+6>>1]<<1;w=We[l>>1]|0;h=Ve[g+8>>1]<<1;d=We[b>>1]|0;c=Ve[g+10>>1]<<1;f=2147483647;p=0;i=0;v=9716;while(1){s=(Ze(o,m-(We[v>>1]|0)<<16>>16)|0)>>16;s=Ze(s,s)|0;r=(Ze(h,w-(We[v+2>>1]|0)<<16>>16)|0)>>16;s=(Ze(r,r)|0)+s|0;r=(Ze(c,d-(We[v+4>>1]|0)<<16>>16)|0)>>16;r=s+(Ze(r,r)|0)|0;s=(r|0)<(f|0);i=s?p:i;p=p+1<<16>>16;if(p<<16>>16>=256)break;else{f=s?r:f;v=v+12|0}}f=(i<<16>>16)*6|0;Ve[u>>1]=Ve[9716+(f<<1)>>1]|0;Ve[l>>1]=Ve[9716+((f|1)<<1)>>1]|0;Ve[b>>1]=Ve[9716+(f+2<<1)>>1]|0;Ve[t+2>>1]=i;f=A+12|0;Ve[t+4>>1]=At(f,16884,g+12|0,128)|0;p=k;m=E;i=b;s=A}}while(0);v=e;d=A;c=v+20|0;do{Ve[v>>1]=Ve[d>>1]|0;v=v+2|0;d=d+2|0}while((v|0)<(c|0));Ve[y>>1]=(We[_>>1]|0)+(We[s>>1]|0);Ve[y+2>>1]=(We[_+2>>1]|0)+(We[p>>1]|0);Ve[y+4>>1]=(We[_+4>>1]|0)+(We[m>>1]|0);Ve[y+6>>1]=(We[_+6>>1]|0)+(We[u>>1]|0);Ve[y+8>>1]=(We[_+8>>1]|0)+(We[l>>1]|0);Ve[y+10>>1]=(We[_+10>>1]|0)+(We[i>>1]|0);Ve[y+12>>1]=(We[_+12>>1]|0)+(We[f>>1]|0);Ve[y+14>>1]=(We[_+14>>1]|0)+(We[A+14>>1]|0);Ve[y+16>>1]=(We[_+16>>1]|0)+(We[A+16>>1]|0);Ve[y+18>>1]=(We[_+18>>1]|0)+(We[A+18>>1]|0);Ot(y,205,10,a);pt(y,n,10,a);Ke=D;return}function At(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0;v=e+2|0;b=e+4|0;k=e+6|0;if(n<<16>>16>0){u=We[e>>1]|0;c=Ve[i>>1]<<1;d=We[v>>1]|0;h=Ve[i+2>>1]<<1;w=We[b>>1]|0;m=Ve[i+4>>1]<<1;p=We[k>>1]|0;t=Ve[i+6>>1]<<1;f=2147483647;s=0;i=0;l=r;while(1){o=(Ze(c,u-(We[l>>1]|0)<<16>>16)|0)>>16;o=Ze(o,o)|0;a=(Ze(h,d-(We[l+2>>1]|0)<<16>>16)|0)>>16;o=(Ze(a,a)|0)+o|0;a=(Ze(m,w-(We[l+4>>1]|0)<<16>>16)|0)>>16;a=o+(Ze(a,a)|0)|0;o=(Ze(t,p-(We[l+6>>1]|0)<<16>>16)|0)>>16;o=a+(Ze(o,o)|0)|0;a=(o|0)<(f|0);i=a?s:i;s=s+1<<16>>16;if(s<<16>>16>=n<<16>>16)break;else{f=a?o:f;l=l+8|0}}}else i=0;n=i<<16>>16<<2;p=n|1;Ve[e>>1]=Ve[r+(n<<1)>>1]|0;Ve[v>>1]=Ve[r+(p<<1)>>1]|0;Ve[b>>1]=Ve[r+(p+1<<1)>>1]|0;Ve[k>>1]=Ve[r+((n|3)<<1)>>1]|0;return i|0}function Dt(e,r,i,n,t,o,a){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;var f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0;L=Ke;Ke=Ke+192|0;l=L+160|0;s=L+140|0;D=L+120|0;S=L+100|0;R=L+80|0;M=L+60|0;f=L+40|0;N=L+20|0;O=L;vt(r,l,10,a);vt(i,s,10,a);lt(l,D,a);lt(s,S,a);u=0;i=R;r=M;c=f;while(1){A=(((Ve[e+(u<<1)>>1]|0)*21299|0)>>>15)+(We[20980+(u<<1)>>1]|0)|0;Ve[i>>1]=A;Ve[r>>1]=(We[l>>1]|0)-A;Ve[c>>1]=(We[s>>1]|0)-A;u=u+1|0;if((u|0)==10)break;else{l=l+2|0;s=s+2|0;i=i+2|0;r=r+2|0;c=c+2|0}}Ve[o>>1]=St(M,f,21e3,Ve[D>>1]|0,Ve[D+2>>1]|0,Ve[S>>1]|0,Ve[S+2>>1]|0,128)|0;Ve[o+2>>1]=St(M+4|0,f+4|0,22024,Ve[D+4>>1]|0,Ve[D+6>>1]|0,Ve[S+4>>1]|0,Ve[S+6>>1]|0,256)|0;g=M+8|0;y=f+8|0;_=M+10|0;A=f+10|0;i=Ve[g>>1]|0;d=Ve[D+8>>1]<<1;h=Ve[_>>1]|0;w=Ve[D+10>>1]<<1;m=Ve[y>>1]|0;p=Ve[S+8>>1]<<1;v=Ve[A>>1]|0;b=Ve[S+10>>1]<<1;s=2147483647;k=0;c=0;E=24072;r=0;while(1){l=Ve[E>>1]|0;u=(Ze(i-l<<16>>16,d)|0)>>16;u=Ze(u,u)|0;l=(Ze(l+i<<16>>16,d)|0)>>16;l=Ze(l,l)|0;F=Ve[E+2>>1]|0;I=(Ze(h-F<<16>>16,w)|0)>>16;u=(Ze(I,I)|0)+u|0;F=(Ze(F+h<<16>>16,w)|0)>>16;l=(Ze(F,F)|0)+l|0;if((u|0)<(s|0)|(l|0)<(s|0)){I=Ve[E+4>>1]|0;F=(Ze(m-I<<16>>16,p)|0)>>16;F=(Ze(F,F)|0)+u|0;I=(Ze(I+m<<16>>16,p)|0)>>16;I=(Ze(I,I)|0)+l|0;l=Ve[E+6>>1]|0;u=(Ze(v-l<<16>>16,b)|0)>>16;u=F+(Ze(u,u)|0)|0;l=(Ze(l+v<<16>>16,b)|0)>>16;l=I+(Ze(l,l)|0)|0;I=(u|0)<(s|0);u=I?u:s;F=(l|0)<(u|0);u=F?l:u;c=I|F?k:c;r=F?1:I?0:r}else u=s;k=k+1<<16>>16;if(k<<16>>16>=256)break;else{s=u;E=E+8|0}}u=c<<16>>16;l=u<<2;c=l|1;s=24072+(c<<1)|0;i=Ve[24072+(l<<1)>>1]|0;if(!(r<<16>>16)){Ve[g>>1]=i;Ve[_>>1]=Ve[s>>1]|0;Ve[y>>1]=Ve[24072+(c+1<<1)>>1]|0;Ve[A>>1]=Ve[24072+((l|3)<<1)>>1]|0;r=u<<1}else{Ve[g>>1]=0-(i&65535);Ve[_>>1]=0-(We[s>>1]|0);Ve[y>>1]=0-(We[24072+(c+1<<1)>>1]|0);Ve[A>>1]=0-(We[24072+((l|3)<<1)>>1]|0);r=u<<1&65534|1}Ve[o+4>>1]=r;Ve[o+6>>1]=St(M+12|0,f+12|0,26120,Ve[D+12>>1]|0,Ve[D+14>>1]|0,Ve[S+12>>1]|0,Ve[S+14>>1]|0,256)|0;Ve[o+8>>1]=St(M+16|0,f+16|0,28168,Ve[D+16>>1]|0,Ve[D+18>>1]|0,Ve[S+16>>1]|0,Ve[S+18>>1]|0,64)|0;s=0;l=N;u=O;i=R;r=M;while(1){F=We[i>>1]|0;Ve[l>>1]=F+(We[r>>1]|0);I=Ve[f>>1]|0;Ve[u>>1]=F+(I&65535);Ve[e+(s<<1)>>1]=I;s=s+1|0;if((s|0)==10)break;else{l=l+2|0;u=u+2|0;i=i+2|0;r=r+2|0;f=f+2|0}}Ot(N,205,10,a);Ot(O,205,10,a);pt(N,n,10,a);pt(O,t,10,a);Ke=L;return}function St(e,r,i,n,t,o,a,f){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;a=a|0;f=f|0;var s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0;h=Ve[e>>1]|0;k=e+2|0;m=Ve[k>>1]|0;v=Ve[r>>1]|0;E=r+2|0;b=Ve[E>>1]|0;if(f<<16>>16>0){d=n<<16>>16<<1;c=t<<16>>16<<1;u=o<<16>>16<<1;t=a<<16>>16<<1;o=2147483647;s=0;n=0;l=i;while(1){a=(Ze(d,h-(Ve[l>>1]|0)|0)|0)>>16;a=Ze(a,a)|0;if(((a|0)<(o|0)?(w=(Ze(c,m-(Ve[l+2>>1]|0)|0)|0)>>16,w=(Ze(w,w)|0)+a|0,(w|0)<(o|0)):0)?(p=(Ze(u,v-(Ve[l+4>>1]|0)|0)|0)>>16,p=(Ze(p,p)|0)+w|0,(p|0)<(o|0)):0){a=(Ze(t,b-(Ve[l+6>>1]|0)|0)|0)>>16;a=(Ze(a,a)|0)+p|0;g=(a|0)<(o|0);a=g?a:o;n=g?s:n}else a=o;s=s+1<<16>>16;if(s<<16>>16>=f<<16>>16)break;else{o=a;l=l+8|0}}}else n=0;g=n<<16>>16<<2;f=g|1;Ve[e>>1]=Ve[i+(g<<1)>>1]|0;Ve[k>>1]=Ve[i+(f<<1)>>1]|0;Ve[r>>1]=Ve[i+(f+1<<1)>>1]|0;Ve[E>>1]=Ve[i+((g|3)<<1)>>1]|0;return n|0}function Rt(e){e=e|0;var r=0,i=0,n=0;if(!e){n=-1;return n|0}Ge[e>>2]=0;r=Ut(20)|0;if(!r){n=-1;return n|0}i=r;n=i+20|0;do{Ve[i>>1]=0;i=i+2|0}while((i|0)<(n|0));Ge[e>>2]=r;n=0;return n|0}function Mt(e){e=e|0;var r=0;if(!e){r=-1;return r|0}r=e+20|0;do{Ve[e>>1]=0;e=e+2|0}while((e|0)<(r|0));r=0;return r|0}function Nt(e){e=e|0;var r=0;if(!e)return;r=Ge[e>>2]|0;if(!r)return;zt(r);Ge[e>>2]=0;return}function Ot(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0;if(i<<16>>16<=0)return;t=r<<16>>16;o=r&65535;a=0;while(1){n=Ve[e>>1]|0;if(n<<16>>16>16){Ve[e>>1]=r;n=(r<<16>>16)+t|0}else n=(n&65535)+o|0;a=a+1<<16>>16;if(a<<16>>16>=i<<16>>16)break;else{r=n&65535;e=e+2|0}}return}function Lt(e,r,i,n){e=e|0;r=r|0;i=i|0;n=n|0;var t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0;t=n<<16>>16;n=t>>>2&65535;if(!(n<<16>>16))return;d=t+-1|0;b=e+20|0;w=r+(t+-4<<1)|0;m=r+(t+-3<<1)|0;p=r+(t+-2<<1)|0;v=r+(d<<1)|0;h=r+(t+-11<<1)|0;d=i+(d<<1)|0;while(1){r=Ve[b>>1]|0;a=5;f=b;s=h;l=h+-2|0;u=h+-4|0;c=h+-6|0;o=2048;e=2048;t=2048;i=2048;while(1){o=(Ze(Ve[s>>1]|0,r)|0)+o|0;e=(Ze(Ve[l>>1]|0,r)|0)+e|0;t=(Ze(Ve[u>>1]|0,r)|0)+t|0;r=(Ze(Ve[c>>1]|0,r)|0)+i|0;i=Ve[f+-2>>1]|0;o=o+(Ze(Ve[s+2>>1]|0,i)|0)|0;e=e+(Ze(Ve[l+2>>1]|0,i)|0)|0;t=t+(Ze(Ve[u+2>>1]|0,i)|0)|0;f=f+-4|0;i=r+(Ze(Ve[c+2>>1]|0,i)|0)|0;a=a+-1<<16>>16;r=Ve[f>>1]|0;if(!(a<<16>>16))break;else{s=s+4|0;l=l+4|0;u=u+4|0;c=c+4|0}}s=(Ze(Ve[v>>1]|0,r)|0)+o|0;l=(Ze(Ve[p>>1]|0,r)|0)+e|0;u=(Ze(Ve[m>>1]|0,r)|0)+t|0;c=(Ze(Ve[w>>1]|0,r)|0)+i|0;Ve[d>>1]=s>>>12;Ve[d+-2>>1]=l>>>12;Ve[d+-4>>1]=u>>>12;Ve[d+-6>>1]=c>>>12;n=n+-1<<16>>16;if(!(n<<16>>16))break;else{w=w+-8|0;m=m+-8|0;p=p+-8|0;v=v+-8|0;h=h+-8|0;d=d+-8|0}}return}function Ft(e,r){e=e|0;r=r|0;var i=0;i=e+32768|0;if((e|0)>-1&(i^e|0)<0){Ge[r>>2]=1;i=(e>>>31)+2147483647|0}return i>>>16&65535|0}function It(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0;n=r<<16>>16;if(!(r<<16>>16))return e|0;if(r<<16>>16>0){e=e<<16>>16>>(r<<16>>16>15?15:n)&65535;return e|0}t=0-n|0;r=e<<16>>16;t=(t&65535)<<16>>16>15?15:t<<16>>16;n=r<>16>>t|0)==(r|0)){t=n&65535;return t|0}Ge[i>>2]=1;t=e<<16>>16>0?32767:-32768;return t|0}function Tt(e,r,i){e=e|0;r=r|0;i=i|0;if(r<<16>>16>15){r=0;return r|0}i=It(e,r,i)|0;if(r<<16>>16>0)return i+((1<<(r<<16>>16)+-1&e<<16>>16|0)!=0&1)<<16>>16|0;else{r=i;return r|0}return 0}function Pt(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0;if((e|0)<1){Ve[r>>1]=0;i=0;return i|0}t=(kt(e)|0)&65534;o=t&65535;t=t<<16>>16;if(o<<16>>16>0){n=e<>t|0)!=(e|0))n=e>>31^2147483647}else{t=0-t<<16;if((t|0)<2031616)n=e>>(t>>16);else n=0}Ve[r>>1]=o;r=n>>>25&63;r=r>>>0>15?r+-16|0:r;o=Ve[30216+(r<<1)>>1]|0;e=o<<16;n=Ze(o-(We[30216+(r+1<<1)>>1]|0)<<16>>16,n>>>10&32767)|0;if((n|0)==1073741824){Ge[i>>2]=1;t=2147483647}else t=n<<1;n=e-t|0;if(((n^e)&(t^e)|0)>=0){i=n;return i|0}Ge[i>>2]=1;i=(o>>>15&1)+2147483647|0;return i|0}function Ct(e,r,i){e=e|0;r=r|0;i=i|0;e=(e<<16>>16)-(r<<16>>16)|0;if((e+32768|0)>>>0<=65535){i=e;i=i&65535;return i|0}Ge[i>>2]=1;i=(e|0)>32767?32767:-32768;i=i&65535;return i|0}function Bt(e,r,i,n,t,o){e=e|0;r=r|0;i=i|0;n=n|0;t=t|0;o=o|0;var a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0;A=Ke;Ke=Ke+48|0;d=A;s=d;a=t;f=s+20|0;do{Ve[s>>1]=Ve[a>>1]|0;s=s+2|0;a=a+2|0}while((s|0)<(f|0));c=d+18|0;p=e+2|0;v=e+4|0;h=r+20|0;b=e+6|0;k=e+8|0;E=e+10|0;g=e+12|0;y=e+14|0;_=e+16|0;w=e+18|0;m=e+20|0;f=Ve[c>>1]|0;a=5;l=r;u=i;s=d+20|0;while(1){R=Ve[e>>1]|0;S=(Ze(R,Ve[l>>1]|0)|0)+2048|0;R=(Ze(Ve[l+2>>1]|0,R)|0)+2048|0;d=f<<16>>16;S=S-(Ze(d,Ve[p>>1]|0)|0)|0;D=Ve[v>>1]|0;d=R-(Ze(d,D)|0)|0;R=Ve[c+-2>>1]|0;D=S-(Ze(R,D)|0)|0;S=Ve[b>>1]|0;R=d-(Ze(S,R)|0)|0;d=Ve[c+-4>>1]|0;S=D-(Ze(d,S)|0)|0;D=Ve[k>>1]|0;d=R-(Ze(D,d)|0)|0;R=Ve[c+-6>>1]|0;D=S-(Ze(R,D)|0)|0;S=Ve[E>>1]|0;R=d-(Ze(R,S)|0)|0;d=Ve[c+-8>>1]|0;S=D-(Ze(d,S)|0)|0;D=Ve[g>>1]|0;d=R-(Ze(D,d)|0)|0;R=Ve[c+-10>>1]|0;D=S-(Ze(R,D)|0)|0;S=Ve[y>>1]|0;R=d-(Ze(S,R)|0)|0;d=Ve[c+-12>>1]|0;S=D-(Ze(d,S)|0)|0;D=Ve[_>>1]|0;d=R-(Ze(d,D)|0)|0;R=Ve[c+-14>>1]|0;D=S-(Ze(R,D)|0)|0;S=Ve[w>>1]|0;R=d-(Ze(S,R)|0)|0;d=Ve[c+-16>>1]|0;S=D-(Ze(d,S)|0)|0;D=Ve[m>>1]|0;d=R-(Ze(D,d)|0)|0;D=S-(Ze(Ve[c+-18>>1]|0,D)|0)|0;D=(D+134217728|0)>>>0<268435455?D>>>12&65535:(D|0)>134217727?32767:-32768;d=d-(Ze(Ve[p>>1]|0,D<<16>>16)|0)|0;c=s+2|0;Ve[s>>1]=D;Ve[u>>1]=D;f=(d+134217728|0)>>>0<268435455?d>>>12&65535:(d|0)>134217727?32767:-32768;Ve[c>>1]=f;Ve[u+2>>1]=f;a=a+-1<<16>>16;if(!(a<<16>>16))break;else{l=l+4|0;u=u+4|0;s=s+4|0}}n=(n<<16>>16)+-10|0;s=n>>>1&65535;if(s<<16>>16){d=i+18|0;f=r+16|0;c=Ve[d>>1]|0;l=h;a=i+20|0;while(1){D=Ve[e>>1]|0;u=(Ze(D,Ve[l>>1]|0)|0)+2048|0;D=(Ze(Ve[f+6>>1]|0,D)|0)+2048|0;f=Ve[p>>1]|0;S=c<<16>>16;u=u-(Ze(S,f)|0)|0;R=Ve[v>>1]|0;S=D-(Ze(S,R)|0)|0;D=Ve[d+-2>>1]|0;R=u-(Ze(D,R)|0)|0;u=Ve[b>>1]|0;D=S-(Ze(u,D)|0)|0;S=Ve[d+-4>>1]|0;u=R-(Ze(S,u)|0)|0;R=Ve[k>>1]|0;S=D-(Ze(R,S)|0)|0;D=Ve[d+-6>>1]|0;R=u-(Ze(D,R)|0)|0;u=Ve[E>>1]|0;D=S-(Ze(D,u)|0)|0;S=Ve[d+-8>>1]|0;u=R-(Ze(S,u)|0)|0;R=Ve[g>>1]|0;S=D-(Ze(R,S)|0)|0;D=Ve[d+-10>>1]|0;R=u-(Ze(D,R)|0)|0;u=Ve[y>>1]|0;D=S-(Ze(u,D)|0)|0;S=Ve[d+-12>>1]|0;u=R-(Ze(S,u)|0)|0;R=Ve[_>>1]|0;S=D-(Ze(S,R)|0)|0;D=Ve[d+-14>>1]|0;R=u-(Ze(D,R)|0)|0;u=Ve[w>>1]|0;D=S-(Ze(u,D)|0)|0;S=Ve[d+-16>>1]|0;u=R-(Ze(S,u)|0)|0;R=Ve[m>>1]|0;S=D-(Ze(R,S)|0)|0;R=u-(Ze(Ve[d+-18>>1]|0,R)|0)|0;u=l+4|0;R=(R+134217728|0)>>>0<268435455?R>>>12&65535:(R|0)>134217727?32767:-32768;f=S-(Ze(f,R<<16>>16)|0)|0;d=a+2|0;Ve[a>>1]=R;do{if((f+134217728|0)>>>0>=268435455){a=a+4|0;if((f|0)>134217727){Ve[d>>1]=32767;f=32767;break}else{Ve[d>>1]=-32768;f=-32768;break}}else{f=f>>>12&65535;Ve[d>>1]=f;a=a+4|0}}while(0);s=s+-1<<16>>16;if(!(s<<16>>16))break;else{R=l;c=f;l=u;f=R}}}if(!(o<<16>>16)){Ke=A;return}s=t;a=i+(n<<1)|0;f=s+20|0;do{Ve[s>>1]=Ve[a>>1]|0;s=s+2|0;a=a+2|0}while((s|0)<(f|0));Ke=A;return}function xt(e,r,i){e=e|0;r=r|0;i=i|0;Ve[i>>1]=Ve[e>>1]|0;Ve[i+2>>1]=((Ze(Ve[r>>1]|0,Ve[e+2>>1]|0)|0)+16384|0)>>>15;Ve[i+4>>1]=((Ze(Ve[r+2>>1]|0,Ve[e+4>>1]|0)|0)+16384|0)>>>15;Ve[i+6>>1]=((Ze(Ve[r+4>>1]|0,Ve[e+6>>1]|0)|0)+16384|0)>>>15;Ve[i+8>>1]=((Ze(Ve[r+6>>1]|0,Ve[e+8>>1]|0)|0)+16384|0)>>>15;Ve[i+10>>1]=((Ze(Ve[r+8>>1]|0,Ve[e+10>>1]|0)|0)+16384|0)>>>15;Ve[i+12>>1]=((Ze(Ve[r+10>>1]|0,Ve[e+12>>1]|0)|0)+16384|0)>>>15;Ve[i+14>>1]=((Ze(Ve[r+12>>1]|0,Ve[e+14>>1]|0)|0)+16384|0)>>>15;Ve[i+16>>1]=((Ze(Ve[r+14>>1]|0,Ve[e+16>>1]|0)|0)+16384|0)>>>15;Ve[i+18>>1]=((Ze(Ve[r+16>>1]|0,Ve[e+18>>1]|0)|0)+16384|0)>>>15;Ve[i+20>>1]=((Ze(Ve[r+18>>1]|0,Ve[e+20>>1]|0)|0)+16384|0)>>>15;return}function Ut(e){e=e|0;var r=0,i=0,n=0,t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0,R=0,M=0,N=0,O=0,L=0,F=0,I=0,T=0,P=0,C=0,B=0,x=0,U=0,z=0,j=0,q=0,H=0,Y=0,X=0,V=0;do{if(e>>>0<245){v=e>>>0<11?16:e+11&-8;e=v>>>3;c=Ge[26]|0;s=c>>>e;if(s&3){n=(s&1^1)+e|0;r=n<<1;i=144+(r<<2)|0;r=144+(r+2<<2)|0;t=Ge[r>>2]|0;o=t+8|0;a=Ge[o>>2]|0;do{if((i|0)==(a|0))Ge[26]=c&~(1<>>0>=(Ge[30]|0)>>>0?(u=a+12|0,(Ge[u>>2]|0)==(t|0)):0){Ge[u>>2]=i;Ge[r>>2]=a;break}re()}}while(0);X=n<<3;Ge[t+4>>2]=X|3;X=t+(X|4)|0;Ge[X>>2]=Ge[X>>2]|1;break}r=Ge[28]|0;if(v>>>0>r>>>0){if(s){t=2<>>12&16;t=t>>>o;n=t>>>5&8;t=t>>>n;i=t>>>2&4;t=t>>>i;a=t>>>1&2;t=t>>>a;f=t>>>1&1;f=(n|o|i|a|f)+(t>>>f)|0;t=f<<1;a=144+(t<<2)|0;t=144+(t+2<<2)|0;i=Ge[t>>2]|0;o=i+8|0;n=Ge[o>>2]|0;do{if((a|0)==(n|0)){Ge[26]=c&~(1<>>0>=(Ge[30]|0)>>>0?(l=n+12|0,(Ge[l>>2]|0)==(i|0)):0){Ge[l>>2]=a;Ge[t>>2]=n;d=Ge[28]|0;break}re()}}while(0);X=f<<3;r=X-v|0;Ge[i+4>>2]=v|3;s=i+v|0;Ge[i+(v|4)>>2]=r|1;Ge[i+X>>2]=r;if(d){i=Ge[31]|0;n=d>>>3;a=n<<1;f=144+(a<<2)|0;t=Ge[26]|0;n=1<>2]|0;if(a>>>0<(Ge[30]|0)>>>0)re();else{w=t;m=a}}else{Ge[26]=t|n;w=144+(a+2<<2)|0;m=f}Ge[w>>2]=i;Ge[m+12>>2]=i;Ge[i+8>>2]=m;Ge[i+12>>2]=f}Ge[28]=r;Ge[31]=s;break}e=Ge[27]|0;if(e){t=(e&0-e)+-1|0;Y=t>>>12&16;t=t>>>Y;H=t>>>5&8;t=t>>>H;X=t>>>2&4;t=t>>>X;a=t>>>1&2;t=t>>>a;s=t>>>1&1;s=Ge[408+((H|Y|X|a|s)+(t>>>s)<<2)>>2]|0;t=(Ge[s+4>>2]&-8)-v|0;a=s;while(1){f=Ge[a+16>>2]|0;if(!f){f=Ge[a+20>>2]|0;if(!f){r=t;break}}a=(Ge[f+4>>2]&-8)-v|0;X=a>>>0>>0;t=X?a:t;a=f;s=X?f:s}e=Ge[30]|0;if(s>>>0>=e>>>0?(E=s+v|0,s>>>0>>0):0){n=Ge[s+24>>2]|0;f=Ge[s+12>>2]|0;do{if((f|0)==(s|0)){a=s+20|0;f=Ge[a>>2]|0;if(!f){a=s+16|0;f=Ge[a>>2]|0;if(!f){b=0;break}}while(1){o=f+20|0;t=Ge[o>>2]|0;if(t){f=t;a=o;continue}o=f+16|0;t=Ge[o>>2]|0;if(!t)break;else{f=t;a=o}}if(a>>>0>>0)re();else{Ge[a>>2]=0;b=f;break}}else{a=Ge[s+8>>2]|0;if((a>>>0>=e>>>0?(i=a+12|0,(Ge[i>>2]|0)==(s|0)):0)?(h=f+8|0,(Ge[h>>2]|0)==(s|0)):0){Ge[i>>2]=f;Ge[h>>2]=a;b=f;break}re()}}while(0);do{if(n){a=Ge[s+28>>2]|0;o=408+(a<<2)|0;if((s|0)==(Ge[o>>2]|0)){Ge[o>>2]=b;if(!b){Ge[27]=Ge[27]&~(1<>>0<(Ge[30]|0)>>>0)re();a=n+16|0;if((Ge[a>>2]|0)==(s|0))Ge[a>>2]=b;else Ge[n+20>>2]=b;if(!b)break}o=Ge[30]|0;if(b>>>0>>0)re();Ge[b+24>>2]=n;a=Ge[s+16>>2]|0;do{if(a)if(a>>>0>>0)re();else{Ge[b+16>>2]=a;Ge[a+24>>2]=b;break}}while(0);a=Ge[s+20>>2]|0;if(a)if(a>>>0<(Ge[30]|0)>>>0)re();else{Ge[b+20>>2]=a;Ge[a+24>>2]=b;break}}}while(0);if(r>>>0<16){X=r+v|0;Ge[s+4>>2]=X|3;X=s+(X+4)|0;Ge[X>>2]=Ge[X>>2]|1}else{Ge[s+4>>2]=v|3;Ge[s+(v|4)>>2]=r|1;Ge[s+(r+v)>>2]=r;n=Ge[28]|0;if(n){i=Ge[31]|0;t=n>>>3;a=t<<1;f=144+(a<<2)|0;o=Ge[26]|0;t=1<>2]|0;if(o>>>0<(Ge[30]|0)>>>0)re();else{k=a;g=o}}else{Ge[26]=o|t;k=144+(a+2<<2)|0;g=f}Ge[k>>2]=i;Ge[g+12>>2]=i;Ge[i+8>>2]=g;Ge[i+12>>2]=f}Ge[28]=r;Ge[31]=E}o=s+8|0;break}re()}else V=154}else V=154}else if(e>>>0<=4294967231){e=e+11|0;g=e&-8;c=Ge[27]|0;if(c){s=0-g|0;e=e>>>8;if(e)if(g>>>0>16777215)u=31;else{E=(e+1048320|0)>>>16&8;V=e<>>16&4;V=V<>>16&2;u=14-(k|E|u)+(V<>>15)|0;u=g>>>(u+7|0)&1|u<<1}else u=0;e=Ge[408+(u<<2)>>2]|0;e:do{if(!e){f=0;e=0;V=86}else{i=s;f=0;r=g<<((u|0)==31?0:25-(u>>>1)|0);l=e;e=0;while(1){n=Ge[l+4>>2]&-8;s=n-g|0;if(s>>>0>>0)if((n|0)==(g|0)){n=l;e=l;V=90;break e}else e=l;else s=i;V=Ge[l+20>>2]|0;l=Ge[l+16+(r>>>31<<2)>>2]|0;f=(V|0)==0|(V|0)==(l|0)?f:V;if(!l){V=86;break}else{i=s;r=r<<1}}}}while(0);if((V|0)==86){if((f|0)==0&(e|0)==0){e=2<>>12&16;e=e>>>b;m=e>>>5&8;e=e>>>m;k=e>>>2&4;e=e>>>k;E=e>>>1&2;e=e>>>E;f=e>>>1&1;f=Ge[408+((m|b|k|E|f)+(e>>>f)<<2)>>2]|0;e=0}if(!f){m=s;w=e}else{n=f;V=90}}if((V|0)==90)while(1){V=0;E=(Ge[n+4>>2]&-8)-g|0;f=E>>>0>>0;s=f?E:s;e=f?n:e;f=Ge[n+16>>2]|0;if(f){n=f;V=90;continue}n=Ge[n+20>>2]|0;if(!n){m=s;w=e;break}else V=90}if((w|0)!=0?m>>>0<((Ge[28]|0)-g|0)>>>0:0){e=Ge[30]|0;if(w>>>0>=e>>>0?(F=w+g|0,w>>>0>>0):0){s=Ge[w+24>>2]|0;f=Ge[w+12>>2]|0;do{if((f|0)==(w|0)){a=w+20|0;f=Ge[a>>2]|0;if(!f){a=w+16|0;f=Ge[a>>2]|0;if(!f){_=0;break}}while(1){o=f+20|0;t=Ge[o>>2]|0;if(t){f=t;a=o;continue}o=f+16|0;t=Ge[o>>2]|0;if(!t)break;else{f=t;a=o}}if(a>>>0>>0)re();else{Ge[a>>2]=0;_=f;break}}else{a=Ge[w+8>>2]|0;if((a>>>0>=e>>>0?(p=a+12|0,(Ge[p>>2]|0)==(w|0)):0)?(v=f+8|0,(Ge[v>>2]|0)==(w|0)):0){Ge[p>>2]=f;Ge[v>>2]=a;_=f;break}re()}}while(0);do{if(s){f=Ge[w+28>>2]|0;a=408+(f<<2)|0;if((w|0)==(Ge[a>>2]|0)){Ge[a>>2]=_;if(!_){Ge[27]=Ge[27]&~(1<>>0<(Ge[30]|0)>>>0)re();a=s+16|0;if((Ge[a>>2]|0)==(w|0))Ge[a>>2]=_;else Ge[s+20>>2]=_;if(!_)break}f=Ge[30]|0;if(_>>>0>>0)re();Ge[_+24>>2]=s;a=Ge[w+16>>2]|0;do{if(a)if(a>>>0>>0)re();else{Ge[_+16>>2]=a;Ge[a+24>>2]=_;break}}while(0);a=Ge[w+20>>2]|0;if(a)if(a>>>0<(Ge[30]|0)>>>0)re();else{Ge[_+20>>2]=a;Ge[a+24>>2]=_;break}}}while(0);e:do{if(m>>>0>=16){Ge[w+4>>2]=g|3;Ge[w+(g|4)>>2]=m|1;Ge[w+(m+g)>>2]=m;f=m>>>3;if(m>>>0<256){o=f<<1;n=144+(o<<2)|0;t=Ge[26]|0;a=1<>2]|0;if(o>>>0<(Ge[30]|0)>>>0)re();else{A=a;D=o}}else{Ge[26]=t|a;A=144+(o+2<<2)|0;D=n}Ge[A>>2]=F;Ge[D+12>>2]=F;Ge[w+(g+8)>>2]=D;Ge[w+(g+12)>>2]=n;break}i=m>>>8;if(i)if(m>>>0>16777215)f=31;else{Y=(i+1048320|0)>>>16&8;X=i<>>16&4;X=X<>>16&2;f=14-(H|Y|f)+(X<>>15)|0;f=m>>>(f+7|0)&1|f<<1}else f=0;a=408+(f<<2)|0;Ge[w+(g+28)>>2]=f;Ge[w+(g+20)>>2]=0;Ge[w+(g+16)>>2]=0;o=Ge[27]|0;t=1<>2]=F;Ge[w+(g+24)>>2]=a;Ge[w+(g+12)>>2]=F;Ge[w+(g+8)>>2]=F;break}i=Ge[a>>2]|0;r:do{if((Ge[i+4>>2]&-8|0)!=(m|0)){f=m<<((f|0)==31?0:25-(f>>>1)|0);while(1){r=i+16+(f>>>31<<2)|0;a=Ge[r>>2]|0;if(!a)break;if((Ge[a+4>>2]&-8|0)==(m|0)){R=a;break r}else{f=f<<1;i=a}}if(r>>>0<(Ge[30]|0)>>>0)re();else{Ge[r>>2]=F;Ge[w+(g+24)>>2]=i;Ge[w+(g+12)>>2]=F;Ge[w+(g+8)>>2]=F;break e}}else R=i}while(0);i=R+8|0;r=Ge[i>>2]|0;X=Ge[30]|0;if(r>>>0>=X>>>0&R>>>0>=X>>>0){Ge[r+12>>2]=F;Ge[i>>2]=F;Ge[w+(g+8)>>2]=r;Ge[w+(g+12)>>2]=R;Ge[w+(g+24)>>2]=0;break}else re()}else{X=m+g|0;Ge[w+4>>2]=X|3;X=w+(X+4)|0;Ge[X>>2]=Ge[X>>2]|1}}while(0);o=w+8|0;break}re()}else{v=g;V=154}}else{v=g;V=154}}else{v=-1;V=154}}while(0);e:do{if((V|0)==154){e=Ge[28]|0;if(e>>>0>=v>>>0){r=e-v|0;i=Ge[31]|0;if(r>>>0>15){Ge[31]=i+v;Ge[28]=r;Ge[i+(v+4)>>2]=r|1;Ge[i+e>>2]=r;Ge[i+4>>2]=v|3}else{Ge[28]=0;Ge[31]=0;Ge[i+4>>2]=e|3;V=i+(e+4)|0;Ge[V>>2]=Ge[V>>2]|1}o=i+8|0;break}e=Ge[29]|0;if(e>>>0>v>>>0){V=e-v|0;Ge[29]=V;o=Ge[32]|0;Ge[32]=o+v;Ge[o+(v+4)>>2]=V|1;Ge[o+4>>2]=v|3;o=o+8|0;break}if(!(Ge[144]|0))qt();c=v+48|0;i=Ge[146]|0;u=v+47|0;n=i+u|0;i=0-i|0;l=n&i;if(l>>>0>v>>>0){e=Ge[136]|0;if((e|0)!=0?(R=Ge[134]|0,F=R+l|0,F>>>0<=R>>>0|F>>>0>e>>>0):0){o=0;break}r:do{if(!(Ge[137]&4)){e=Ge[32]|0;i:do{if(e){f=552;while(1){s=Ge[f>>2]|0;if(s>>>0<=e>>>0?(y=f+4|0,(s+(Ge[y>>2]|0)|0)>>>0>e>>>0):0){o=f;e=y;break}f=Ge[f+8>>2]|0;if(!f){V=172;break i}}s=n-(Ge[29]|0)&i;if(s>>>0<2147483647){f=ne(s|0)|0;F=(f|0)==((Ge[o>>2]|0)+(Ge[e>>2]|0)|0);e=F?s:0;if(F){if((f|0)!=(-1|0)){D=f;b=e;V=192;break r}}else V=182}else e=0}else V=172}while(0);do{if((V|0)==172){o=ne(0)|0;if((o|0)!=(-1|0)){e=o;s=Ge[145]|0;f=s+-1|0;if(!(f&e))s=l;else s=l-e+(f+e&0-s)|0;e=Ge[134]|0;f=e+s|0;if(s>>>0>v>>>0&s>>>0<2147483647){F=Ge[136]|0;if((F|0)!=0?f>>>0<=e>>>0|f>>>0>F>>>0:0){e=0;break}f=ne(s|0)|0;V=(f|0)==(o|0);e=V?s:0;if(V){D=o;b=e;V=192;break r}else V=182}else e=0}else e=0}}while(0);i:do{if((V|0)==182){o=0-s|0;do{if(c>>>0>s>>>0&(s>>>0<2147483647&(f|0)!=(-1|0))?(S=Ge[146]|0,S=u-s+S&0-S,S>>>0<2147483647):0)if((ne(S|0)|0)==(-1|0)){ne(o|0)|0;break i}else{s=S+s|0;break}}while(0);if((f|0)!=(-1|0)){D=f;b=s;V=192;break r}}}while(0);Ge[137]=Ge[137]|4;V=189}else{e=0;V=189}}while(0);if((((V|0)==189?l>>>0<2147483647:0)?(M=ne(l|0)|0,N=ne(0)|0,M>>>0>>0&((M|0)!=(-1|0)&(N|0)!=(-1|0))):0)?(O=N-M|0,L=O>>>0>(v+40|0)>>>0,L):0){D=M;b=L?O:e;V=192}if((V|0)==192){s=(Ge[134]|0)+b|0;Ge[134]=s;if(s>>>0>(Ge[135]|0)>>>0)Ge[135]=s;m=Ge[32]|0;r:do{if(m){o=552;do{e=Ge[o>>2]|0;s=o+4|0;f=Ge[s>>2]|0;if((D|0)==(e+f|0)){I=e;T=s;P=f;C=o;V=202;break}o=Ge[o+8>>2]|0}while((o|0)!=0);if(((V|0)==202?(Ge[C+12>>2]&8|0)==0:0)?m>>>0>>0&m>>>0>=I>>>0:0){Ge[T>>2]=P+b;V=(Ge[29]|0)+b|0;X=m+8|0;X=(X&7|0)==0?0:0-X&7;Y=V-X|0;Ge[32]=m+X;Ge[29]=Y;Ge[m+(X+4)>>2]=Y|1;Ge[m+(V+4)>>2]=40;Ge[33]=Ge[148];break}s=Ge[30]|0;if(D>>>0>>0){Ge[30]=D;s=D}f=D+b|0;e=552;while(1){if((Ge[e>>2]|0)==(f|0)){o=e;f=e;V=210;break}e=Ge[e+8>>2]|0;if(!e){f=552;break}}if((V|0)==210)if(!(Ge[f+12>>2]&8)){Ge[o>>2]=D;h=f+4|0;Ge[h>>2]=(Ge[h>>2]|0)+b;h=D+8|0;h=(h&7|0)==0?0:0-h&7;u=D+(b+8)|0;u=(u&7|0)==0?0:0-u&7;f=D+(u+b)|0;w=h+v|0;d=D+w|0;e=f-(D+h)-v|0;Ge[D+(h+4)>>2]=v|3;i:do{if((f|0)!=(m|0)){if((f|0)==(Ge[31]|0)){V=(Ge[28]|0)+e|0;Ge[28]=V;Ge[31]=d;Ge[D+(w+4)>>2]=V|1;Ge[D+(V+w)>>2]=V;break}r=b+4|0;a=Ge[D+(r+u)>>2]|0;if((a&3|0)==1){l=a&-8;n=a>>>3;n:do{if(a>>>0>=256){i=Ge[D+((u|24)+b)>>2]|0;o=Ge[D+(b+12+u)>>2]|0;t:do{if((o|0)==(f|0)){t=u|16;o=D+(r+t)|0;a=Ge[o>>2]|0;if(!a){o=D+(t+b)|0;a=Ge[o>>2]|0;if(!a){q=0;break}}while(1){t=a+20|0;n=Ge[t>>2]|0;if(n){a=n;o=t;continue}t=a+16|0;n=Ge[t>>2]|0;if(!n)break;else{a=n;o=t}}if(o>>>0>>0)re();else{Ge[o>>2]=0;q=a;break}}else{t=Ge[D+((u|8)+b)>>2]|0;do{if(t>>>0>=s>>>0){s=t+12|0;if((Ge[s>>2]|0)!=(f|0))break;a=o+8|0;if((Ge[a>>2]|0)!=(f|0))break;Ge[s>>2]=o;Ge[a>>2]=t;q=o;break t}}while(0);re()}}while(0);if(!i)break;s=Ge[D+(b+28+u)>>2]|0;a=408+(s<<2)|0;do{if((f|0)!=(Ge[a>>2]|0)){if(i>>>0<(Ge[30]|0)>>>0)re();a=i+16|0;if((Ge[a>>2]|0)==(f|0))Ge[a>>2]=q;else Ge[i+20>>2]=q;if(!q)break n}else{Ge[a>>2]=q;if(q)break;Ge[27]=Ge[27]&~(1<>>0>>0)re();Ge[q+24>>2]=i;f=u|16;a=Ge[D+(f+b)>>2]|0;do{if(a)if(a>>>0>>0)re();else{Ge[q+16>>2]=a;Ge[a+24>>2]=q;break}}while(0);f=Ge[D+(r+f)>>2]|0;if(!f)break;if(f>>>0<(Ge[30]|0)>>>0)re();else{Ge[q+20>>2]=f;Ge[f+24>>2]=q;break}}else{a=Ge[D+((u|8)+b)>>2]|0;o=Ge[D+(b+12+u)>>2]|0;t=144+(n<<1<<2)|0;do{if((a|0)!=(t|0)){if(a>>>0>=s>>>0?(Ge[a+12>>2]|0)==(f|0):0)break;re()}}while(0);if((o|0)==(a|0)){Ge[26]=Ge[26]&~(1<>>0>=s>>>0?(x=o+8|0,(Ge[x>>2]|0)==(f|0)):0){B=x;break}re()}}while(0);Ge[a+12>>2]=o;Ge[B>>2]=a}}while(0);f=D+((l|u)+b)|0;e=l+e|0}f=f+4|0;Ge[f>>2]=Ge[f>>2]&-2;Ge[D+(w+4)>>2]=e|1;Ge[D+(e+w)>>2]=e;f=e>>>3;if(e>>>0<256){o=f<<1;n=144+(o<<2)|0;t=Ge[26]|0;a=1<>2]|0;if(o>>>0>=(Ge[30]|0)>>>0){H=a;Y=o;break}re()}}while(0);Ge[H>>2]=d;Ge[Y+12>>2]=d;Ge[D+(w+8)>>2]=Y;Ge[D+(w+12)>>2]=n;break}i=e>>>8;do{if(!i)f=0;else{if(e>>>0>16777215){f=31;break}Y=(i+1048320|0)>>>16&8;V=i<>>16&4;V=V<>>16&2;f=14-(H|Y|f)+(V<>>15)|0;f=e>>>(f+7|0)&1|f<<1}}while(0);a=408+(f<<2)|0;Ge[D+(w+28)>>2]=f;Ge[D+(w+20)>>2]=0;Ge[D+(w+16)>>2]=0;o=Ge[27]|0;t=1<>2]=d;Ge[D+(w+24)>>2]=a;Ge[D+(w+12)>>2]=d;Ge[D+(w+8)>>2]=d;break}i=Ge[a>>2]|0;n:do{if((Ge[i+4>>2]&-8|0)!=(e|0)){f=e<<((f|0)==31?0:25-(f>>>1)|0);while(1){r=i+16+(f>>>31<<2)|0;a=Ge[r>>2]|0;if(!a)break;if((Ge[a+4>>2]&-8|0)==(e|0)){X=a;break n}else{f=f<<1;i=a}}if(r>>>0<(Ge[30]|0)>>>0)re();else{Ge[r>>2]=d;Ge[D+(w+24)>>2]=i;Ge[D+(w+12)>>2]=d;Ge[D+(w+8)>>2]=d;break i}}else X=i}while(0);i=X+8|0;r=Ge[i>>2]|0;V=Ge[30]|0;if(r>>>0>=V>>>0&X>>>0>=V>>>0){Ge[r+12>>2]=d;Ge[i>>2]=d;Ge[D+(w+8)>>2]=r;Ge[D+(w+12)>>2]=X;Ge[D+(w+24)>>2]=0;break}else re()}else{V=(Ge[29]|0)+e|0;Ge[29]=V;Ge[32]=d;Ge[D+(w+4)>>2]=V|1}}while(0);o=D+(h|8)|0;break e}else f=552;while(1){o=Ge[f>>2]|0;if(o>>>0<=m>>>0?(a=Ge[f+4>>2]|0,t=o+a|0,t>>>0>m>>>0):0)break;f=Ge[f+8>>2]|0}f=o+(a+-39)|0;f=o+(a+-47+((f&7|0)==0?0:0-f&7))|0;s=m+16|0;f=f>>>0>>0?m:f;a=f+8|0;o=D+8|0;o=(o&7|0)==0?0:0-o&7;V=b+-40-o|0;Ge[32]=D+o;Ge[29]=V;Ge[D+(o+4)>>2]=V|1;Ge[D+(b+-36)>>2]=40;Ge[33]=Ge[148];o=f+4|0;Ge[o>>2]=27;Ge[a>>2]=Ge[138];Ge[a+4>>2]=Ge[139];Ge[a+8>>2]=Ge[140];Ge[a+12>>2]=Ge[141];Ge[138]=D;Ge[139]=b;Ge[141]=0;Ge[140]=a;a=f+28|0;Ge[a>>2]=7;if((f+32|0)>>>0>>0)do{V=a;a=a+4|0;Ge[a>>2]=7}while((V+8|0)>>>0>>0);if((f|0)!=(m|0)){e=f-m|0;Ge[o>>2]=Ge[o>>2]&-2;Ge[m+4>>2]=e|1;Ge[f>>2]=e;t=e>>>3;if(e>>>0<256){a=t<<1;f=144+(a<<2)|0;o=Ge[26]|0;n=1<>2]|0;if(r>>>0<(Ge[30]|0)>>>0)re();else{U=i;z=r}}else{Ge[26]=o|n;U=144+(a+2<<2)|0;z=f}Ge[U>>2]=m;Ge[z+12>>2]=m;Ge[m+8>>2]=z;Ge[m+12>>2]=f;break}i=e>>>8;if(i)if(e>>>0>16777215)a=31;else{X=(i+1048320|0)>>>16&8;V=i<>>16&4;V=V<>>16&2;a=14-(Y|X|a)+(V<>>15)|0;a=e>>>(a+7|0)&1|a<<1}else a=0;n=408+(a<<2)|0;Ge[m+28>>2]=a;Ge[m+20>>2]=0;Ge[s>>2]=0;i=Ge[27]|0;r=1<>2]=m;Ge[m+24>>2]=n;Ge[m+12>>2]=m;Ge[m+8>>2]=m;break}i=Ge[n>>2]|0;i:do{if((Ge[i+4>>2]&-8|0)!=(e|0)){a=e<<((a|0)==31?0:25-(a>>>1)|0);while(1){r=i+16+(a>>>31<<2)|0;n=Ge[r>>2]|0;if(!n)break;if((Ge[n+4>>2]&-8|0)==(e|0)){j=n;break i}else{a=a<<1;i=n}}if(r>>>0<(Ge[30]|0)>>>0)re();else{Ge[r>>2]=m;Ge[m+24>>2]=i;Ge[m+12>>2]=m;Ge[m+8>>2]=m;break r}}else j=i}while(0);i=j+8|0;r=Ge[i>>2]|0;V=Ge[30]|0;if(r>>>0>=V>>>0&j>>>0>=V>>>0){Ge[r+12>>2]=m;Ge[i>>2]=m;Ge[m+8>>2]=r;Ge[m+12>>2]=j;Ge[m+24>>2]=0;break}else re()}}else{V=Ge[30]|0;if((V|0)==0|D>>>0>>0)Ge[30]=D;Ge[138]=D;Ge[139]=b;Ge[141]=0;Ge[35]=Ge[144];Ge[34]=-1;i=0;do{V=i<<1;X=144+(V<<2)|0;Ge[144+(V+3<<2)>>2]=X;Ge[144+(V+2<<2)>>2]=X;i=i+1|0}while((i|0)!=32);V=D+8|0;V=(V&7|0)==0?0:0-V&7;X=b+-40-V|0;Ge[32]=D+V;Ge[29]=X;Ge[D+(V+4)>>2]=X|1;Ge[D+(b+-36)>>2]=40;Ge[33]=Ge[148]}}while(0);r=Ge[29]|0;if(r>>>0>v>>>0){V=r-v|0;Ge[29]=V;o=Ge[32]|0;Ge[32]=o+v;Ge[o+(v+4)>>2]=V|1;Ge[o+4>>2]=v|3;o=o+8|0;break}}Ge[(jt()|0)>>2]=12;o=0}else o=0}}while(0);return o|0}function zt(e){e=e|0;var r=0,i=0,n=0,t=0,o=0,a=0,f=0,s=0,l=0,u=0,c=0,d=0,h=0,w=0,m=0,p=0,v=0,b=0,k=0,E=0,g=0,y=0,_=0,A=0,D=0,S=0;e:do{if(e){t=e+-8|0;l=Ge[30]|0;r:do{if(t>>>0>=l>>>0?(n=Ge[e+-4>>2]|0,i=n&3,(i|0)!=1):0){E=n&-8;g=e+(E+-8)|0;do{if(!(n&1)){t=Ge[t>>2]|0;if(!i)break e;u=-8-t|0;d=e+u|0;h=t+E|0;if(d>>>0>>0)break r;if((d|0)==(Ge[31]|0)){o=e+(E+-4)|0;t=Ge[o>>2]|0;if((t&3|0)!=3){S=d;o=h;break}Ge[28]=h;Ge[o>>2]=t&-2;Ge[e+(u+4)>>2]=h|1;Ge[g>>2]=h;break e}i=t>>>3;if(t>>>0<256){n=Ge[e+(u+8)>>2]|0;o=Ge[e+(u+12)>>2]|0;t=144+(i<<1<<2)|0;do{if((n|0)!=(t|0)){if(n>>>0>=l>>>0?(Ge[n+12>>2]|0)==(d|0):0)break;re()}}while(0);if((o|0)==(n|0)){Ge[26]=Ge[26]&~(1<>>0>=l>>>0?(a=o+8|0,(Ge[a>>2]|0)==(d|0)):0){r=a;break}re()}}while(0);Ge[n+12>>2]=o;Ge[r>>2]=n;S=d;o=h;break}a=Ge[e+(u+24)>>2]|0;t=Ge[e+(u+12)>>2]|0;do{if((t|0)==(d|0)){n=e+(u+20)|0;t=Ge[n>>2]|0;if(!t){n=e+(u+16)|0;t=Ge[n>>2]|0;if(!t){c=0;break}}while(1){i=t+20|0;r=Ge[i>>2]|0;if(r){t=r;n=i;continue}i=t+16|0;r=Ge[i>>2]|0;if(!r)break;else{t=r;n=i}}if(n>>>0>>0)re();else{Ge[n>>2]=0;c=t;break}}else{n=Ge[e+(u+8)>>2]|0;if((n>>>0>=l>>>0?(f=n+12|0,(Ge[f>>2]|0)==(d|0)):0)?(s=t+8|0,(Ge[s>>2]|0)==(d|0)):0){Ge[f>>2]=t;Ge[s>>2]=n;c=t;break}re()}}while(0);if(a){t=Ge[e+(u+28)>>2]|0;n=408+(t<<2)|0;if((d|0)==(Ge[n>>2]|0)){Ge[n>>2]=c;if(!c){Ge[27]=Ge[27]&~(1<>>0<(Ge[30]|0)>>>0)re();t=a+16|0;if((Ge[t>>2]|0)==(d|0))Ge[t>>2]=c;else Ge[a+20>>2]=c;if(!c){S=d;o=h;break}}n=Ge[30]|0;if(c>>>0>>0)re();Ge[c+24>>2]=a;t=Ge[e+(u+16)>>2]|0;do{if(t)if(t>>>0>>0)re();else{Ge[c+16>>2]=t;Ge[t+24>>2]=c;break}}while(0);t=Ge[e+(u+20)>>2]|0;if(t)if(t>>>0<(Ge[30]|0)>>>0)re();else{Ge[c+20>>2]=t;Ge[t+24>>2]=c;S=d;o=h;break}else{S=d;o=h}}else{S=d;o=h}}else{S=t;o=E}}while(0);if(S>>>0>>0?(w=e+(E+-4)|0,m=Ge[w>>2]|0,(m&1|0)!=0):0){if(!(m&2)){if((g|0)==(Ge[32]|0)){D=(Ge[29]|0)+o|0;Ge[29]=D;Ge[32]=S;Ge[S+4>>2]=D|1;if((S|0)!=(Ge[31]|0))break e;Ge[31]=0;Ge[28]=0;break e}if((g|0)==(Ge[31]|0)){D=(Ge[28]|0)+o|0;Ge[28]=D;Ge[31]=S;Ge[S+4>>2]=D|1;Ge[S+D>>2]=D;break e}s=(m&-8)+o|0;i=m>>>3;do{if(m>>>0>=256){r=Ge[e+(E+16)>>2]|0;o=Ge[e+(E|4)>>2]|0;do{if((o|0)==(g|0)){t=e+(E+12)|0;o=Ge[t>>2]|0;if(!o){t=e+(E+8)|0;o=Ge[t>>2]|0;if(!o){y=0;break}}while(1){n=o+20|0;i=Ge[n>>2]|0;if(i){o=i;t=n;continue}n=o+16|0;i=Ge[n>>2]|0;if(!i)break;else{o=i;t=n}}if(t>>>0<(Ge[30]|0)>>>0)re();else{Ge[t>>2]=0;y=o;break}}else{t=Ge[e+E>>2]|0;if((t>>>0>=(Ge[30]|0)>>>0?(b=t+12|0,(Ge[b>>2]|0)==(g|0)):0)?(k=o+8|0,(Ge[k>>2]|0)==(g|0)):0){Ge[b>>2]=o;Ge[k>>2]=t;y=o;break}re()}}while(0);if(r){o=Ge[e+(E+20)>>2]|0;t=408+(o<<2)|0;if((g|0)==(Ge[t>>2]|0)){Ge[t>>2]=y;if(!y){Ge[27]=Ge[27]&~(1<>>0<(Ge[30]|0)>>>0)re();o=r+16|0;if((Ge[o>>2]|0)==(g|0))Ge[o>>2]=y;else Ge[r+20>>2]=y;if(!y)break}o=Ge[30]|0;if(y>>>0>>0)re();Ge[y+24>>2]=r;t=Ge[e+(E+8)>>2]|0;do{if(t)if(t>>>0>>0)re();else{Ge[y+16>>2]=t;Ge[t+24>>2]=y;break}}while(0);i=Ge[e+(E+12)>>2]|0;if(i)if(i>>>0<(Ge[30]|0)>>>0)re();else{Ge[y+20>>2]=i;Ge[i+24>>2]=y;break}}}else{n=Ge[e+E>>2]|0;o=Ge[e+(E|4)>>2]|0;t=144+(i<<1<<2)|0;do{if((n|0)!=(t|0)){if(n>>>0>=(Ge[30]|0)>>>0?(Ge[n+12>>2]|0)==(g|0):0)break;re()}}while(0);if((o|0)==(n|0)){Ge[26]=Ge[26]&~(1<>>0>=(Ge[30]|0)>>>0?(v=o+8|0,(Ge[v>>2]|0)==(g|0)):0){p=v;break}re()}}while(0);Ge[n+12>>2]=o;Ge[p>>2]=n}}while(0);Ge[S+4>>2]=s|1;Ge[S+s>>2]=s;if((S|0)==(Ge[31]|0)){Ge[28]=s;break e}else o=s}else{Ge[w>>2]=m&-2;Ge[S+4>>2]=o|1;Ge[S+o>>2]=o}t=o>>>3;if(o>>>0<256){n=t<<1;o=144+(n<<2)|0;r=Ge[26]|0;i=1<>2]|0;if(r>>>0<(Ge[30]|0)>>>0)re();else{_=i;A=r}}else{Ge[26]=r|i;_=144+(n+2<<2)|0;A=o}Ge[_>>2]=S;Ge[A+12>>2]=S;Ge[S+8>>2]=A;Ge[S+12>>2]=o;break e}r=o>>>8;if(r)if(o>>>0>16777215)t=31;else{_=(r+1048320|0)>>>16&8;A=r<<_;e=(A+520192|0)>>>16&4;A=A<>>16&2;t=14-(e|_|t)+(A<>>15)|0;t=o>>>(t+7|0)&1|t<<1}else t=0;i=408+(t<<2)|0;Ge[S+28>>2]=t;Ge[S+20>>2]=0;Ge[S+16>>2]=0;r=Ge[27]|0;n=1<>2]|0;n:do{if((Ge[i+4>>2]&-8|0)!=(o|0)){t=o<<((t|0)==31?0:25-(t>>>1)|0);while(1){r=i+16+(t>>>31<<2)|0;n=Ge[r>>2]|0;if(!n)break;if((Ge[n+4>>2]&-8|0)==(o|0)){D=n;break n}else{t=t<<1;i=n}}if(r>>>0<(Ge[30]|0)>>>0)re();else{Ge[r>>2]=S;Ge[S+24>>2]=i;Ge[S+12>>2]=S;Ge[S+8>>2]=S;break i}}else D=i}while(0);r=D+8|0;i=Ge[r>>2]|0;A=Ge[30]|0;if(i>>>0>=A>>>0&D>>>0>=A>>>0){Ge[i+12>>2]=S;Ge[r>>2]=S;Ge[S+8>>2]=i;Ge[S+12>>2]=D;Ge[S+24>>2]=0;break}else re()}else{Ge[27]=r|n;Ge[i>>2]=S;Ge[S+24>>2]=i;Ge[S+12>>2]=S;Ge[S+8>>2]=S}}while(0);S=(Ge[34]|0)+-1|0;Ge[34]=S;if(!S)r=560;else break e;while(1){r=Ge[r>>2]|0;if(!r)break;else r=r+8|0}Ge[34]=-1;break e}}}while(0);re()}}while(0);return}function jt(){var e=0;if(!0)e=600;else e=Ge[(ee()|0)+60>>2]|0;return e|0}function qt(){var e=0;do{if(!(Ge[144]|0)){e=$(30)|0;if(!(e+-1&e)){Ge[146]=e;Ge[145]=e;Ge[147]=-1;Ge[148]=-1;Ge[149]=0;Ge[137]=0;Ge[144]=(te(0)|0)&-16^1431655768;break}else re()}}while(0);return}function Ht(){}function Yt(e,r,i){e=e|0;r=r|0;i=i|0;var n=0;if((i|0)>=4096)return ae(e|0,r|0,i|0)|0;n=e|0;if((e&3)==(r&3)){while(e&3){if(!i)return n|0;Xe[e>>0]=Xe[r>>0]|0;e=e+1|0;r=r+1|0;i=i-1|0}while((i|0)>=4){Ge[e>>2]=Ge[r>>2];e=e+4|0;r=r+4|0;i=i-4|0}}while((i|0)>0){Xe[e>>0]=Xe[r>>0]|0;e=e+1|0;r=r+1|0;i=i-1|0}return n|0}function Xt(e,r,i){e=e|0;r=r|0;i=i|0;var n=0;if((r|0)<(e|0)&(e|0)<(r+i|0)){n=e;r=r+i|0;e=e+i|0;while((i|0)>0){e=e-1|0;r=r-1|0;i=i-1|0;Xe[e>>0]=Xe[r>>0]|0}e=n}else Yt(e,r,i)|0;return e|0}function Vt(e,r,i){e=e|0;r=r|0;i=i|0;var n=0,t=0,o=0,a=0;n=e+i|0;if((i|0)>=20){r=r&255;o=e&3;a=r|r<<8|r<<16|r<<24;t=n&~3;if(o){o=e+4-o|0;while((e|0)<(o|0)){Xe[e>>0]=r;e=e+1|0}}while((e|0)<(t|0)){Ge[e>>2]=a;e=e+4|0}}while((e|0)<(n|0)){Xe[e>>0]=r;e=e+1|0}return e-i|0}return{_free:zt,___errno_location:jt,_memmove:Xt,_Decoder_Interface_Decode:Ee,_Decoder_Interface_exit:ke,_Encoder_Interface_init:ge,_memset:Vt,_malloc:Ut,_memcpy:Yt,_Encoder_Interface_exit:ye,_Decoder_Interface_init:be,_Encoder_Interface_Encode:_e,runPostSets:Ht,stackAlloc:le,stackSave:ue,stackRestore:ce,establishStackSpace:de,setThrew:he,setTempRet0:pe,getTempRet0:ve}}(p.asmGlobalArg,p.asmLibraryArg,U),Re=(p._Encoder_Interface_Encode=Se._Encoder_Interface_Encode,p._free=Se._free),Me=(p.runPostSets=Se.runPostSets,p._memmove=Se._memmove),Ne=(p._Decoder_Interface_exit=Se._Decoder_Interface_exit,p._Encoder_Interface_init=Se._Encoder_Interface_init,p._memset=Se._memset),Oe=p._malloc=Se._malloc,Le=p._memcpy=Se._memcpy;p._Decoder_Interface_Decode=Se._Decoder_Interface_Decode,p._Decoder_Interface_init=Se._Decoder_Interface_init,p._Encoder_Interface_exit=Se._Encoder_Interface_exit,p.___errno_location=Se.___errno_location;function Fe(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}v.stackAlloc=Se.stackAlloc,v.stackSave=Se.stackSave,v.stackRestore=Se.stackRestore,v.establishStackSpace=Se.establishStackSpace,v.setTempRet0=Se.setTempRet0,v.getTempRet0=Se.getTempRet0,(Fe.prototype=new Error).constructor=Fe;var Ie=null;function Te(e){function r(){p.calledRun||(p.calledRun=!0,s||(Z(),H(V),p.onRuntimeInitialized&&p.onRuntimeInitialized(),p._main&&xe&&p.callMain(e),function(){if(p.postRun)for("function"==typeof p.postRun&&(p.postRun=[p.postRun]);p.postRun.length;)J(p.postRun.shift());H(W)}()))}e=e||p.arguments,null===Ie&&(Ie=Date.now()),0>8);l.setInt8(u,m,!0)}else for(w=0;wr.memory.length){var f=new Uint8Array(r.memory.length+Math.max(5e5,e));f.set(r.memory.subarray(0,r.mOffset)),r.memory=f}r.memory.set(A,r.mOffset),r.mOffset+=e};switch(e.action){case"stop":r.encObj=null,delete f[e.id];break;case"encode":r.pcmSize+=e.pcm.length;try{var t=r.encObj.encode(e.pcm)}catch(A){r.err=A,console.error(A);break}if(!r._h){r._h=1;var w=i.GetHeader(),l=new Uint8Array(w.length+t.length);l.set(w),l.set(t,w.length),t=l}0>3&15];if(null==n)throw new Error("Invalid amr frame type: "+A[i]);if(n+=1,f||(f=new Int16Array(Math.floor(A.length/Math.max(13,n)*v.PCM_BUFFER_COUNT))),i+n>A.length)break;if(l.set(A.subarray(i,i+n)),v.Decoder_Interface_Decode(w,l.byteOffset,B.byteOffset,0),r+v.PCM_BUFFER_COUNT>f.length){var t=new Int16Array(2*f.length);t.set(f.subarray(0,r)),f=t}i+=n,f.set(B,r),r+=v.PCM_BUFFER_COUNT}return a=A.subarray(i),new Int16Array(null==f?0:f.subarray(0,r))},this.flush=function(){return f._free(l.byteOffset),f._free(B.byteOffset),v.Decoder_Interface_exit(w),new Int16Array(0)}}},GetEncoder:function(A){return new function(A){var w=v.Mode[v.BitRate(A)],l=v.Encoder_Interface_init(),e=f._malloc(2*v.PCM_BUFFER_COUNT),B=new Int16Array(f.HEAPU8.buffer,e,v.PCM_BUFFER_COUNT);e=f._malloc(v.AMR_BUFFER_COUNT);var a=new Uint8Array(f.HEAPU8.buffer,e,v.AMR_BUFFER_COUNT),s=[];this.encode=function(A){if(s.length){var e=new Int16Array(s.length+A.length);e.set(s),e.set(A,s.length),A=e}for(var f=v.SIZES[w]+1,i=new Uint8Array(Math.ceil(A.length/v.PCM_BUFFER_COUNT*f)),r=0,n=0;r+v.PCM_BUFFER_COUNT>3&15]||31)+1;Q=1e3*Math.max(13,Q)/20*5;var g=function(){try{var A=s;if(A>2]=0;for(l=t+n;i>0]=0;return t}if("i8"===w)return A.subarray||A.slice?g.set(A,t):g.set(new Uint8Array(A),t),t;M("fix allocate")}f.ALLOC_STATIC=s,f.ALLOC_NONE=o,f.allocate=e;for(var Q,g,i,r,u,n,t,w,l,c=4096,C=0,D=0,E=0,h=0,P=0,k=f.TOTAL_STACK||65536,b=f.TOTAL_MEMORY||524288,d=65536;d>>16,i=65535&A,r=e>>>16,n=65535&e;return i*n+(f*n+i*r<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(A){A>>>=0;for(var e=0;e<32;e++)if(A&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.abs,Math.cos,Math.sin,Math.tan,Math.acos,Math.asin,Math.atan,Math.atan2,Math.exp,Math.log,Math.sqrt,Math.ceil,Math.floor,Math.pow,Math.imul,Math.fround,Math.min,Math.clz32,C=31784,f.b64Dec=function(A){for(var e=atob(A),f=new Uint8Array(e.length),i=0;i>2]=A),A},_sbrk:function A(e){var f,i=A;i.called||(0<(f=P)%4096&&(f+=4096-f%4096),P=f,i.called=!0,a(B.dynamicAlloc),i.alloc=B.dynamicAlloc,B.dynamicAlloc=function(){M("cannot dynamically allocate, sbrk now has control")});var r=P;if(0!=e){var n=i.alloc(e);if(!n)return-1>>>0}return r},_time:function(A){var e=Date.now()/1e3|0;return A&&(u[A>>2]=e),e},_emscripten_set_main_loop_timing:function(A,e){},_emscripten_memcpy_big:function(A,e,f){return g.set(g.subarray(e,e+f),A),A},_emscripten_set_main_loop:function(A,e,f,i,r){},STACKTOP:E,STACK_MAX:h,tempDoublePtr:I,ABORT:!1};var F=function(A,e,f){"use asm";var xA=new A.Int8Array(f);var jA=new A.Int16Array(f);var pA=new A.Int32Array(f);var w=new A.Uint8Array(f);var DA=new A.Uint16Array(f);var i=new A.Uint32Array(f);var r=new A.Float32Array(f);var n=new A.Float64Array(f);var WA=e.STACKTOP|0;var t=e.STACK_MAX|0;var l=e.tempDoublePtr|0;var B=e.ABORT|0;var a=0;var s=0;var o=0;var Q=0;var g=A.NaN,v=A.Infinity;var u=0,c=0,C=0,D=0,E=0.0,h=0,P=0,k=0,b=0.0;var d=0;var I=0;var M=0;var F=0;var H=0;var U=0;var G=0;var L=0;var R=0;var T=0;var y=A.Math.floor;var Y=A.Math.abs;var z=A.Math.sqrt;var X=A.Math.pow;var J=A.Math.cos;var O=A.Math.sin;var m=A.Math.tan;var N=A.Math.acos;var K=A.Math.asin;var S=A.Math.atan;var x=A.Math.atan2;var j=A.Math.exp;var p=A.Math.log;var W=A.Math.ceil;var VA=A.Math.imul;var V=A.Math.min;var Z=A.Math.clz32;var q=e.abort;var _=e.assert;var $=e._sysconf;var AA=e._pthread_self;var eA=e._abort;var ZA=e._abort;var fA=e.___setErrNo;var iA=e._sbrk;var rA=e._time;var nA=e._emscripten_set_main_loop_timing;var tA=e._emscripten_memcpy_big;var wA=e._emscripten_set_main_loop;var lA=0.0;function BA(){var A=0,e=0;e=WA;WA=WA+16|0;A=e;pA[A>>2]=0;zA(A,31756)|0;WA=e;return pA[A>>2]|0}function aA(A){A=A|0;var e=0,f=0;e=WA;WA=WA+16|0;f=e;pA[f>>2]=A;XA(f);WA=e;return}function sA(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;cA(A,(i|0)==0?(w[e>>0]|0)>>>3&15:15,e+1|0,f,2)|0;return}function oA(A){A=A|0;var e=0;e=lr(8)|0;mA(e,e+4|0,A)|0;return e|0}function QA(A){A=A|0;NA(A,A+4|0);Br(A);return}function gA(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0;r=WA;WA=WA+16|0;n=r;pA[n>>2]=e;f=(KA(pA[A>>2]|0,pA[A+4>>2]|0,e,f,i,n,3)|0)<<16>>16;xA[i>>0]=w[i>>0]|0|4;WA=r;return f|0}function vA(A){A=A|0;if(!A)A=-1;else{jA[A>>1]=4096;A=0}return A|0}function uA(A,e,f,i,r,n){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;var t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0;a=pA[n>>2]|0;g=r<<16>>16>0;if(g){t=0;w=0;do{B=jA[f+(t<<1)>>1]|0;B=VA(B,B)|0;if((B|0)!=1073741824){l=(B<<1)+w|0;if((B^w|0)>0&(l^w|0)<0){pA[n>>2]=1;w=(w>>>31)+2147483647|0}else w=l}else{pA[n>>2]=1;w=2147483647}t=t+1|0}while((t&65535)<<16>>16!=r<<16>>16);if((w|0)==2147483647){pA[n>>2]=a;B=0;l=0;do{w=jA[f+(B<<1)>>1]>>2;w=VA(w,w)|0;if((w|0)!=1073741824){t=(w<<1)+l|0;if((w^l|0)>0&(t^l|0)<0){ZA()}else l=t}else{pA[n>>2]=1;l=2147483647}B=B+1|0}while((B&65535)<<16>>16!=r<<16>>16)}else Q=8}else{w=0;Q=8}if((Q|0)==8)l=w>>4;if(!l){jA[A>>1]=0;return}o=((Ni(l)|0)&65535)+65535|0;w=o<<16>>16;if((o&65535)<<16>>16>0){t=l<>w|0)==(l|0))l=t;else l=l>>31^2147483647}else{w=0-w<<16;if((w|0)<2031616)l=l>>(w>>16);else l=0}s=er(l,n)|0;t=pA[n>>2]|0;if(g){w=0;l=0;do{a=jA[e+(w<<1)>>1]|0;a=VA(a,a)|0;if((a|0)!=1073741824){B=(a<<1)+l|0;if((a^l|0)>0&(B^l|0)<0){pA[n>>2]=1;l=(l>>>31)+2147483647|0}else l=B}else{pA[n>>2]=1;l=2147483647}w=w+1|0}while((w&65535)<<16>>16!=r<<16>>16);if((l|0)==2147483647){pA[n>>2]=t;a=0;l=0;do{B=jA[e+(a<<1)>>1]>>2;B=VA(B,B)|0;if((B|0)!=1073741824){w=(B<<1)+l|0;if((B^l|0)>0&(w^l|0)<0){ZA()}else l=w}else{pA[n>>2]=1;l=2147483647}a=a+1|0}while((a&65535)<<16>>16!=r<<16>>16)}else Q=29}else{l=0;Q=29}if((Q|0)==29)l=l>>4;if(!l)B=0;else{w=(Ni(l)|0)<<16>>16;t=o-w|0;B=t&65535;l=(Ei(s,er(l<>16;w=l<<7;t=t<<16>>16;if(B<<16>>16>0)t=B<<16>>16<31?w>>t:0;else{Q=0-t<<16>>16;t=w<>Q|0)==(w|0)?t:l>>24^2147483647}B=(VA(((Ui(t,n)|0)<<9)+32768>>16,32767-(i&65535)<<16>>16)|0)>>>15<<16>>16}t=jA[A>>1]|0;if(g){l=i<<16>>16;w=0;while(1){i=((VA(t<<16>>16,l)|0)>>>15&65535)+B|0;t=i&65535;jA[f>>1]=(VA(jA[f>>1]|0,i<<16>>16)|0)>>>12;w=w+1<<16>>16;if(w<<16>>16>=r<<16>>16)break;else f=f+2|0}}jA[A>>1]=t;return}function qA(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0;t=pA[i>>2]|0;r=f<<16>>16>0;if(r){w=0;n=0;do{B=jA[e+(w<<1)>>1]|0;B=VA(B,B)|0;if((B|0)!=1073741824){l=(B<<1)+n|0;if((B^n|0)>0&(l^n|0)<0){pA[i>>2]=1;n=(n>>>31)+2147483647|0}else n=l}else{pA[i>>2]=1;n=2147483647}w=w+1|0}while((w&65535)<<16>>16!=f<<16>>16);if((n|0)==2147483647){pA[i>>2]=t;B=0;t=0;do{l=jA[e+(B<<1)>>1]>>2;l=VA(l,l)|0;if((l|0)!=1073741824){w=(l<<1)+t|0;if((l^t|0)>0&(w^t|0)<0){pA[i>>2]=1;t=(t>>>31)+2147483647|0}else t=w}else{pA[i>>2]=1;t=2147483647}B=B+1|0}while((B&65535)<<16>>16!=f<<16>>16)}else o=8}else{n=0;o=8}if((o|0)==8)t=n>>4;if(!t)return;s=((Ni(t)|0)&65535)+65535|0;l=s<<16>>16;if((s&65535)<<16>>16>0){w=t<>l|0)==(t|0))t=w;else t=t>>31^2147483647}else{l=0-l<<16;if((l|0)<2031616)t=t>>(l>>16);else t=0}a=er(t,i)|0;t=pA[i>>2]|0;if(r){w=0;n=0;do{B=jA[A+(w<<1)>>1]|0;B=VA(B,B)|0;if((B|0)!=1073741824){l=(B<<1)+n|0;if((B^n|0)>0&(l^n|0)<0){pA[i>>2]=1;n=(n>>>31)+2147483647|0}else n=l}else{pA[i>>2]=1;n=2147483647}w=w+1|0}while((w&65535)<<16>>16!=f<<16>>16);if((n|0)==2147483647){pA[i>>2]=t;t=0;w=0;do{B=jA[A+(t<<1)>>1]>>2;B=VA(B,B)|0;if((B|0)!=1073741824){l=(B<<1)+w|0;if((B^w|0)>0&(l^w|0)<0){pA[i>>2]=1;w=(w>>>31)+2147483647|0}else w=l}else{pA[i>>2]=1;w=2147483647}t=t+1|0}while((t&65535)<<16>>16!=f<<16>>16)}else o=28}else{n=0;o=28}if((o|0)==28)w=n>>4;if(!w)r=0;else{B=Ni(w)|0;l=B<<16>>16;if(B<<16>>16>0){t=w<>l|0)==(w|0))w=t;else w=w>>31^2147483647}else{ZA()}t=s-(B&65535)|0;l=t&65535;n=(Ei(a,er(w,i)|0)|0)<<16>>16;r=n<<7;t=t<<16>>16;if(l<<16>>16>0)r=l<<16>>16<31?r>>t:0;else{s=0-t<<16>>16;A=r<>s|0)==(r|0)?A:n>>24^2147483647}r=Ui(r,i)|0;if((r|0)>4194303)r=2147483647;else r=(r|0)<-4194304?-2147483648:r<<9;r=er(r,i)|0}n=(f&65535)+65535&65535;if(n<<16>>16<=-1)return;B=r<<16>>16;l=f+-1<<16>>16<<16>>16;while(1){t=e+(l<<1)|0;r=VA(jA[t>>1]|0,B)|0;do{if((r|0)!=1073741824){w=r<<1;if((w|0)<=268435455)if((w|0)<-268435456){jA[t>>1]=-32768;break}else{jA[t>>1]=r>>>12;break}else o=52}else{pA[i>>2]=1;o=52}}while(0);if((o|0)==52){o=0;jA[t>>1]=32767}n=n+-1<<16>>16;if(n<<16>>16<=-1)break;else l=l+-1|0}return}function cA(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0;l=WA;WA=WA+496|0;w=l;t=(r|0)==2;do{if(!(t&1|(r|0)==4)){ZA()}else{n=A+1168|0;if(t){OA(e,f,w,n);n=604}else{ZA()}r=jA[n+(e<<1)>>1]|0;do{if(e>>>0>=8){ZA()}else n=0}while(0);if(r<<16>>16==-1){A=-1;WA=l;return A|0}}}while(0);JA(A,e,w,n,i);pA[A+1760>>2]=e;A=r;WA=l;return A|0}function CA(A){A=A|0;var e=0;if(!A){e=-1;return e|0}e=A+122|0;do{jA[A>>1]=0;A=A+2|0}while((A|0)<(e|0));e=0;return e|0}function _A(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0,B=0,a=0,s=0;w=159;t=0;while(1){B=jA[f+(w<<1)>>1]|0;B=VA(B,B)|0;B=(B|0)==1073741824?2147483647:B<<1;n=B+t|0;if((B^t|0)>-1&(n^t|0)<0){pA[r>>2]=1;t=(t>>>31)+2147483647|0}else t=n;if((w|0)>0)w=w+-1|0;else{w=t;break}}r=w>>>14&65535;t=32767;n=59;while(1){B=jA[A+(n<<1)>>1]|0;t=B<<16>>16>16?B:t;if((n|0)>0)n=n+-1|0;else break}B=(w|0)>536870911?32767:r;r=t<<16>>16;n=r<<20>>16;w=t<<16>>16>0?32767:-32768;f=55;t=jA[A>>1]|0;while(1){l=jA[A+(f<<1)>>1]|0;t=t<<16>>16>16?l:t;if((f|0)>1)f=f+-1|0;else break}f=jA[A+80>>1]|0;l=jA[A+82>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+84>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+86>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+88>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+90>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+92>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+94>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+96>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+98>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+100>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+102>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+104>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+106>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+108>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+110>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+112>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+114>>1]|0;f=f<<16>>16>16?l:f;l=jA[A+116>>1]|0;f=f<<16>>16>16?l:f;l=A+118|0;s=jA[l>>1]|0;do{if((B+-21&65535)<17557&t<<16>>16>20?(B<<16>>16|0)<(((r<<4|0)==(n|0)?n:w)|0)?1:(f<<16>>16>16?s:f)<<16>>16<1953:0){t=A+120|0;n=jA[t>>1]|0;if(n<<16>>16>29){jA[t>>1]=30;f=t;w=1;break}else{w=(n&65535)+1&65535;jA[t>>1]=w;f=t;w=w<<16>>16>1&1;break}}else a=14}while(0);if((a|0)==14){f=A+120|0;jA[f>>1]=0;w=0}t=0;do{s=t;t=t+1|0;jA[A+(s<<1)>>1]=jA[A+(t<<1)>>1]|0}while((t|0)!=59);jA[l>>1]=B;t=jA[f>>1]|0;t=t<<16>>16>15?16383:t<<16>>16>8?15565:13926;n=di(e+8|0,5)|0;if((jA[f>>1]|0)>20){if(((di(e,9)|0)<<16>>16|0)>(t|0))a=20}else if((n<<16>>16|0)>(t|0))a=20;if((a|0)==20){jA[i>>1]=0;return w|0}n=(DA[i>>1]|0)+1&65535;if(n<<16>>16>10){jA[i>>1]=10;return w|0}else{jA[i>>1]=n;return w|0}return 0}function EA(A){A=A|0;var e=0;if(!A){e=-1;return e|0}e=A+18|0;do{jA[A>>1]=0;A=A+2|0}while((A|0)<(e|0));e=0;return e|0}function $A(A,e,f,i,r,n,t,w,l,B,a,s){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;s=s|0;var o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0;h=A+2|0;jA[A>>1]=jA[h>>1]|0;P=A+4|0;jA[h>>1]=jA[P>>1]|0;k=A+6|0;jA[P>>1]=jA[k>>1]|0;b=A+8|0;jA[k>>1]=jA[b>>1]|0;d=A+10|0;jA[b>>1]=jA[d>>1]|0;I=A+12|0;jA[d>>1]=jA[I>>1]|0;jA[I>>1]=f;u=0;E=0;do{o=r+(E<<1)|0;g=nr(jA[o>>1]|0,jA[i+(E<<1)>>1]|0,s)|0;g=(g&65535)-((g&65535)>>>15&65535)|0;g=g<<16>>31^g;D=((Ki(g&65535)|0)&65535)+65535|0;Q=D<<16>>16;if((D&65535)<<16>>16<0){v=0-Q<<16;if((v|0)<983040)c=g<<16>>16>>(v>>16)&65535;else c=0}else{v=g<<16>>16;g=v<>16>>Q|0)==(v|0))c=g&65535;else c=(v>>>15^32767)&65535}C=Ki(jA[o>>1]|0)|0;g=jA[o>>1]|0;Q=C<<16>>16;if(C<<16>>16<0){ZA()}else{v=g<<16>>16;g=v<>16>>Q|0)==(v|0))v=g&65535;else v=(v>>>15^32767)&65535}Q=Ei(c,v)|0;v=(D&65535)+2-(C&65535)|0;g=v&65535;do{if(v&32768){if(g<<16>>16!=-32768){D=0-v|0;v=D<<16>>16;if((D&65535)<<16>>16<0){ZA()}}else v=32767;g=Q<<16>>16;Q=g<>16>>v|0)==(g|0))v=Q&65535;else v=(g>>>15^32767)&65535}else v=fr(Q,g,s)|0}while(0);u=Ci(u,v,s)|0;E=E+1|0}while((E|0)!=10);v=u&65535;g=u<<16>>16>5325;u=A+14|0;if(g){r=(DA[u>>1]|0)+1&65535;jA[u>>1]=r;if(r<<16>>16>10)jA[A+16>>1]=0}else jA[u>>1]=0;switch(e|0){case 0:case 1:case 2:case 3:case 6:break;default:{I=A+16|0;s=f;f=jA[I>>1]|0;f=f&65535;f=f+1|0;f=f&65535;jA[I>>1]=f;return s|0}}c=(t|n)<<16>>16==0;C=B<<16>>16==0;D=e>>>0<3;u=v+(D&((C|(c&(w<<16>>16==0|l<<16>>16==0)|a<<16>>16<2))^1)?61030:62259)&65535;u=u<<16>>16>0?u:0;if(u<<16>>16<=2048){u=u<<16>>16;if((u<<18>>18|0)==(u|0))l=u<<2;else l=u>>>15^32767}else l=8192;w=A+16|0;a=g|(jA[w>>1]|0)<40;u=jA[P>>1]|0;if((u*6554|0)==1073741824){pA[s>>2]=1;g=2147483647}else g=u*13108|0;u=jA[k>>1]|0;v=u*6554|0;if((v|0)!=1073741824){u=(u*13108|0)+g|0;if((v^g|0)>0&(u^g|0)<0){pA[s>>2]=1;u=(g>>>31)+2147483647|0}}else{pA[s>>2]=1;u=2147483647}v=jA[b>>1]|0;g=v*6554|0;if((g|0)!=1073741824){v=(v*13108|0)+u|0;if((g^u|0)>0&(v^u|0)<0){pA[s>>2]=1;v=(u>>>31)+2147483647|0}}else{pA[s>>2]=1;v=2147483647}u=jA[d>>1]|0;g=u*6554|0;if((g|0)!=1073741824){u=(u*13108|0)+v|0;if((g^v|0)>0&(u^v|0)<0){pA[s>>2]=1;g=(v>>>31)+2147483647|0}else g=u}else{pA[s>>2]=1;g=2147483647}u=jA[I>>1]|0;v=u*6554|0;if((v|0)!=1073741824){u=(u*13108|0)+g|0;if((v^g|0)>0&(u^g|0)<0){pA[s>>2]=1;u=(g>>>31)+2147483647|0}}else{pA[s>>2]=1;u=2147483647}g=er(u,s)|0;if(D&((c|C)^1)){ZA()}u=a?8192:l<<16>>16;o=VA(u,f<<16>>16)|0;if((o|0)==1073741824){pA[s>>2]=1;v=2147483647}else v=o<<1;g=g<<16>>16;Q=g<<13;if((Q|0)!=1073741824){o=v+(g<<14)|0;if((v^Q|0)>0&(o^v|0)<0){pA[s>>2]=1;v=(v>>>31)+2147483647|0}else v=o}else{pA[s>>2]=1;v=2147483647}o=VA(g,u)|0;if((o|0)==1073741824){pA[s>>2]=1;Q=2147483647}else Q=o<<1;o=v-Q|0;if(((o^v)&(Q^v)|0)<0){pA[s>>2]=1;o=(v>>>31)+2147483647|0}I=o<<2;f=w;s=er((I>>2|0)==(o|0)?I:o>>31^2147483647,s)|0;I=jA[f>>1]|0;I=I&65535;I=I+1|0;I=I&65535;jA[f>>1]=I;return s|0}function Ae(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0,t=0;i=e;r=i+80|0;do{jA[i>>1]=0;i=i+2|0}while((i|0)<(r|0));i=0;do{t=jA[A+(i<<1)>>1]|0;r=((t&8)<<10&65535^8192)+-4096<<16>>16;n=i<<16;t=((jA[f+((t&7)<<1)>>1]|0)*327680|0)+n>>16;jA[e+(t<<1)>>1]=r;n=((jA[f+((DA[A+(i+5<<1)>>1]&7)<<1)>>1]|0)*327680|0)+n>>16;if((n|0)<(t|0))r=0-(r&65535)&65535;t=e+(n<<1)|0;jA[t>>1]=(DA[t>>1]|0)+(r&65535);i=i+1|0}while((i|0)!=5);return}function ee(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0;r=e<<16>>16;i=(r<<1&2|1)+((r>>>1&7)*5|0)|0;e=r>>>4&3;e=((r>>>6&7)*5|0)+((e|0)==3?4:e)|0;r=f;n=r+80|0;do{jA[r>>1]=0;r=r+2|0}while((r|0)<(n|0));A=A<<16>>16;jA[f+(i<<1)>>1]=(0-(A&1)&16383)+57344;jA[f+(e<<1)>>1]=(0-(A>>>1&1)&16383)+57344;return}function fe(A,e,f,i,r,n){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;var t=0,w=0;n=f<<16>>16;w=n>>>3;A=A<<16>>16;A=((A<<17>>17|0)==(A|0)?A<<1:A>>>15^32767)+(w&8)<<16;w=(DA[i+(A+65536>>16<<1)>>1]|0)+((w&7)*5|0)|0;f=e<<16>>16;t=(0-(f&1)&16383)+57344&65535;A=r+((DA[i+(A>>16<<1)>>1]|0)+((n&7)*5|0)<<16>>16<<1)|0;e=r;n=e+80|0;do{jA[e>>1]=0;e=e+2|0}while((e|0)<(n|0));jA[A>>1]=t;jA[r+(w<<16>>16<<1)>>1]=(0-(f>>>1&1)&16383)+57344;return}function ie(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0,t=0;e=e<<16>>16;i=(e&7)*5|0;r=(e>>>2&2|1)+((e>>>4&7)*5|0)|0;e=(e>>>6&2)+2+((e>>>8&7)*5|0)|0;n=f;t=n+80|0;do{jA[n>>1]=0;n=n+2|0}while((n|0)<(t|0));A=A<<16>>16;jA[f+(i<<1)>>1]=(0-(A&1)&16383)+57344;jA[f+(r<<1)>>1]=(0-(A>>>1&1)&16383)+57344;jA[f+(e<<1)>>1]=(0-(A>>>2&1)&16383)+57344;return}function re(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0;e=e<<16>>16;t=jA[f+((e&7)<<1)>>1]|0;w=jA[f+((e>>>3&7)<<1)>>1]|0;n=jA[f+((e>>>6&7)<<1)>>1]|0;f=(e>>>9&1)+3+((jA[f+((e>>>10&7)<<1)>>1]|0)*5|0)|0;e=i;r=e+80|0;do{jA[e>>1]=0;e=e+2|0}while((e|0)<(r|0));A=A<<16>>16;jA[i+(t*327680>>16<<1)>>1]=(0-(A&1)&16383)+57344;jA[i+((w*327680|0)+65536>>16<<1)>>1]=(0-(A>>>1&1)&16383)+57344;jA[i+((n*327680|0)+131072>>16<<1)>>1]=(0-(A>>>2&1)&16383)+57344;jA[i+(f<<16>>16<<1)>>1]=(0-(A>>>3&1)&16383)+57344;return}function ne(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0;o=WA;WA=WA+32|0;s=o+16|0;a=o;n=e;r=n+80|0;do{jA[n>>1]=0;n=n+2|0}while((n|0)<(r|0));r=jA[A>>1]|0;jA[s>>1]=r;jA[s+2>>1]=jA[A+2>>1]|0;jA[s+4>>1]=jA[A+4>>1]|0;jA[s+6>>1]=jA[A+6>>1]|0;l=jA[A+8>>1]|0;hA(l>>>3&65535,l&7,0,4,1,a,f);l=jA[A+10>>1]|0;hA(l>>>3&65535,l&7,2,6,5,a,f);l=jA[A+12>>1]|0;i=l>>2;do{if((i*25|0)!=1073741824){n=(VA(i,1638400)|0)+786432>>21;i=n*6554>>15;if((i|0)>32767){ZA()}A=(i<<16>>16)*5|0;t=i&1;if((A|0)==1073741824){pA[f>>2]=1;w=0;A=65535}else{w=0;B=6}}else{ZA()}}while(0);if((B|0)==6)A=A&65535;B=n-A|0;t=t<<16>>16==0?B:4-B|0;B=t<<16>>16;jA[a+6>>1]=Ci(((t<<17>>17|0)==(B|0)?t<<1:B>>>15^32767)&65535,l&1,f)|0;if(w){pA[f>>2]=1;i=32767}B=i<<16>>16;jA[a+14>>1]=((i<<17>>17|0)==(B|0)?i<<1:B>>>15^32767)+(l>>>1&1);i=0;while(1){r=r<<16>>16==0?8191:-8191;B=(jA[a+(i<<1)>>1]<<2)+i<<16;n=B>>16;if((B|0)<2621440)jA[e+(n<<1)>>1]=r;t=(jA[a+(i+4<<1)>>1]<<2)+i<<16;A=t>>16;if((A|0)<(n|0))r=0-(r&65535)&65535;if((t|0)<2621440){B=e+(A<<1)|0;jA[B>>1]=(DA[B>>1]|0)+(r&65535)}i=i+1|0;if((i|0)==4)break;r=jA[s+(i<<1)>>1]|0}WA=o;return}function hA(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0,s=0,o=0,Q=0;l=A<<16>>16>124?124:A;A=(l<<16>>16)*1311>>15;Q=(A|0)>32767;if(!Q){w=A<<16>>16;if((w*25|0)==1073741824){pA[t>>2]=1;w=1073741823}else o=4}else{pA[t>>2]=1;w=32767;o=4}if((o|0)==4)w=(w*50|0)>>>1;a=(l&65535)-w|0;w=(a<<16>>16)*6554>>15;s=(w|0)>32767;if(!s){l=w<<16>>16;if((l*5|0)==1073741824){pA[t>>2]=1;B=1073741823}else o=9}else{pA[t>>2]=1;l=32767;o=9}if((o|0)==9)B=(l*10|0)>>>1;a=a-B|0;o=a<<16>>16;l=e<<16>>16;B=l>>2;l=l-(B<<2)|0;jA[n+(f<<16>>16<<1)>>1]=((a<<17>>17|0)==(o|0)?a<<1:o>>>15^32767)+(l&1);if(s){pA[t>>2]=1;w=32767}f=w<<16>>16;jA[n+(i<<16>>16<<1)>>1]=((w<<17>>17|0)==(f|0)?w<<1:f>>>15^32767)+(l<<16>>17);if(Q){pA[t>>2]=1;A=32767}i=A<<16>>16;jA[n+(r<<16>>16<<1)>>1]=Ci(B&65535,((A<<17>>17|0)==(i|0)?A<<1:i>>>15^32767)&65535,t)|0;return}function PA(A){A=A|0;var e=0,f=0,i=0,r=0;if(!A){r=-1;return r|0}bi(A+1168|0);jA[A+460>>1]=40;pA[A+1164>>2]=0;e=A+646|0;f=A+1216|0;i=A+462|0;r=i+22|0;do{jA[i>>1]=0;i=i+2|0}while((i|0)<(r|0));dA(e,pA[f>>2]|0)|0;FA(A+686|0)|0;MA(A+700|0)|0;EA(A+608|0)|0;HA(A+626|0,pA[f>>2]|0)|0;CA(A+484|0)|0;UA(A+730|0)|0;IA(A+748|0)|0;hi(A+714|0)|0;kA(A,0)|0;r=0;return r|0}function kA(A,e){A=A|0;e=e|0;var f=0,i=0;if(!A){A=-1;return A|0}pA[A+388>>2]=A+308;gr(A|0,0,308)|0;e=(e|0)!=8;if(e){f=A+412|0;i=f+20|0;do{jA[f>>1]=0;f=f+2|0}while((f|0)<(i|0));jA[A+392>>1]=3e4;jA[A+394>>1]=26e3;jA[A+396>>1]=21e3;jA[A+398>>1]=15e3;jA[A+400>>1]=8e3;jA[A+402>>1]=0;jA[A+404>>1]=-8e3;jA[A+406>>1]=-15e3;jA[A+408>>1]=-21e3;jA[A+410>>1]=-26e3}jA[A+432>>1]=0;jA[A+434>>1]=40;pA[A+1164>>2]=0;jA[A+436>>1]=0;jA[A+438>>1]=0;jA[A+440>>1]=0;jA[A+460>>1]=40;jA[A+462>>1]=0;jA[A+464>>1]=0;if(e){f=A+442|0;i=f+18|0;do{jA[f>>1]=0;f=f+2|0}while((f|0)<(i|0));f=A+466|0;i=f+18|0;do{jA[f>>1]=0;f=f+2|0}while((f|0)<(i|0));EA(A+608|0)|0;i=A+1216|0;HA(A+626|0,pA[i>>2]|0)|0;dA(A+646|0,pA[i>>2]|0)|0;FA(A+686|0)|0;MA(A+700|0)|0;hi(A+714|0)|0}else{ZA()}CA(A+484|0)|0;jA[A+606>>1]=21845;UA(A+730|0)|0;if(!e){A=0;return A|0}IA(A+748|0)|0;A=0;return A|0}function bA(A,e,f,i,r,n){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;var t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0,T=0,y=0,Y=0,z=0,X=0,J=0,O=0,m=0,N=0,K=0,S=0,x=0,j=0,p=0,W=0,V=0,Z=0,q=0,_=0,$=0,AA=0,eA=0,fA=0,iA=0,rA=0,nA=0,tA=0,wA=0,lA=0,BA=0,aA=0,sA=0,oA=0,QA=0,gA=0,vA=0,uA=0,cA=0,CA=0,DA=0,EA=0,hA=0,PA=0,kA=0,bA=0,dA=0,IA=0,MA=0,FA=0,HA=0,UA=0,GA=0,LA=0,RA=0,TA=0,yA=0,YA=0,zA=0,XA=0,JA=0,OA=0,mA=0,NA=0,KA=0,SA=0;SA=WA;WA=WA+336|0;o=SA+236|0;s=SA+216|0;NA=SA+112|0;mA=SA+12|0;YA=SA+256|0;XA=SA+136|0;zA=SA+32|0;TA=SA+8|0;yA=SA+6|0;OA=SA+4|0;JA=SA+2|0;KA=SA;HA=A+1164|0;UA=A+748|0;GA=ge(UA,i,HA)|0;if(GA){ZA()}switch(i|0){case 1:{t=1;C=6;break}case 2:case 7:{ZA();break}case 3:{C=9;break}default:{t=0;C=6}}do{if((C|0)==6){i=A+440|0;if((jA[i>>1]|0)==6){ZA()}else{jA[i>>1]=0;MA=0;FA=0;break}}else if((C|0)==9){ZA()}}while(0);kA=A+1156|0;switch(pA[kA>>2]|0){case 1:{jA[i>>1]=5;jA[A+436>>1]=0;break}case 2:{jA[i>>1]=5;jA[A+436>>1]=1;break}default:{}}l=A+646|0;bA=A+666|0;w=NA;B=bA;a=w+20|0;do{xA[w>>0]=xA[B>>0]|0;w=w+1|0;B=B+1|0}while((w|0)<(a|0));dA=(e|0)!=7;IA=A+1168|0;if(dA){se(l,e,FA,f,IA,o,HA);w=A+392|0;Fi(w,o,n,HA);f=f+6|0}else{oe(l,FA,f,IA,s,o,HA);w=A+392|0;Ii(w,s,o,n,HA);f=f+10|0}B=o;a=w+20|0;do{jA[w>>1]=jA[B>>1]|0;w=w+2|0;B=B+2|0}while((w|0)<(a|0));PA=e>>>0>1;P=e>>>0<4&1;hA=(e|0)==5;EA=hA?10:5;hA=hA?19:9;d=A+434|0;I=143-hA&65535;M=A+460|0;F=A+462|0;H=A+464|0;k=e>>>0>2;U=A+388|0;G=(e|0)==0;L=e>>>0<2;R=A+1244|0;T=A+432|0;y=e>>>0<6;Y=A+1168|0;z=(e|0)==6;X=FA<<16>>16==0;J=A+714|0;O=A+686|0;m=A+436|0;N=A+700|0;K=(e|0)==7;S=A+482|0;x=e>>>0<3;j=A+608|0;p=A+626|0;W=A+438|0;V=e>>>0<7;Z=A+730|0;b=MA^1;q=t<<16>>16!=0;DA=q?FA^1:0;_=A+442|0;$=A+458|0;AA=A+412|0;eA=A+80|0;fA=A+1236|0;iA=A+1240|0;rA=A+468|0;nA=A+466|0;tA=A+470|0;wA=A+472|0;lA=A+474|0;BA=A+476|0;aA=A+478|0;sA=A+480|0;oA=A+444|0;QA=A+446|0;gA=A+448|0;vA=A+450|0;uA=A+452|0;cA=A+454|0;CA=A+456|0;D=0;E=0;Q=0;g=0;h=-1;while(1){h=(h<<16>>16)+1|0;a=h&65535;E=1-(E<<16>>16)|0;u=E&65535;s=PA&Q<<16>>16==80?0:Q;v=f+2|0;o=jA[f>>1]|0;A:do{if(dA){c=jA[d>>1]|0;w=(c&65535)-EA&65535;w=w<<16>>16<20?20:w;B=(w&65535)+hA&65535;l=B<<16>>16>143;we(o,l?I:w,l?143:B,s,c,TA,yA,P,HA);s=jA[TA>>1]|0;jA[M>>1]=s;if(MA){ZA()}else{o=s;s=jA[yA>>1]|0}xi(pA[U>>2]|0,o,s,40,1,HA);if(L){s=f+6|0;fe(a,jA[f+4>>1]|0,jA[v>>1]|0,pA[R>>2]|0,YA,HA);f=jA[T>>1]|0;c=f<<16>>16;o=c<<1;if((o|0)==(c<<17>>16|0)){B=G;break}B=G;o=f<<16>>16>0?32767:-32768;break}switch(e|0){case 2:{s=f+6|0;ee(jA[f+4>>1]|0,jA[v>>1]|0,YA);f=jA[T>>1]|0;c=f<<16>>16;o=c<<1;if((o|0)==(c<<17>>16|0)){B=G;break A}B=G;o=f<<16>>16>0?32767:-32768;break A}case 3:{s=f+6|0;ie(jA[f+4>>1]|0,jA[v>>1]|0,YA);f=jA[T>>1]|0;c=f<<16>>16;o=c<<1;if((o|0)==(c<<17>>16|0)){B=G;break A}B=G;o=f<<16>>16>0?32767:-32768;break A}default:{if(y){s=f+6|0;re(jA[f+4>>1]|0,jA[v>>1]|0,pA[Y>>2]|0,YA);f=jA[T>>1]|0;c=f<<16>>16;o=c<<1;if((o|0)==(c<<17>>16|0)){B=G;break A}B=G;o=f<<16>>16>0?32767:-32768;break A}if(!z){B=G;C=44;break A}ne(v,YA,HA);o=f+16|0;f=jA[T>>1]|0;c=f<<16>>16;a=c<<1;if((a|0)==(c<<17>>16|0)){s=o;B=G;o=a;break A}s=o;B=G;o=f<<16>>16>0?32767:-32768;break A}}}else{le(o,18,143,s,TA,yA,HA);if(X?s<<16>>16==0|o<<16>>16<61:0){o=jA[TA>>1]|0;s=jA[yA>>1]|0}else{ZA()}xi(pA[U>>2]|0,o,s,40,0,HA);B=0;C=44}}while(0);if((C|0)==44){C=0;if(MA)ce(O,jA[i>>1]|0,OA,HA);else jA[OA>>1]=ae(e,jA[v>>1]|0,pA[iA>>2]|0)|0;Ce(O,FA,jA[m>>1]|0,OA,HA);Ae(f+4|0,YA,pA[Y>>2]|0);o=f+24|0;f=jA[OA>>1]|0;c=f<<16>>16;a=c<<1;if((a|0)==(c<<17>>16|0)){s=o;o=a}else{s=o;o=f<<16>>16>0?32767:-32768}}f=jA[TA>>1]|0;A:do{if(f<<16>>16<40){w=o<<16>>16;l=f;o=f<<16>>16;while(1){a=YA+(o<<1)|0;f=(VA(jA[YA+(o-(l<<16>>16)<<1)>>1]|0,w)|0)>>15;if((f|0)>32767){pA[HA>>2]=1;f=32767}c=f&65535;jA[KA>>1]=c;jA[a>>1]=Ci(jA[a>>1]|0,c,HA)|0;o=o+1|0;if((o&65535)<<16>>16==40)break A;l=jA[TA>>1]|0}}}while(0);A:do{if(B){B=(E&65535|0)==0;if(B){f=s;a=g}else{f=s+2|0;a=jA[s>>1]|0}if(X)te(J,e,a,YA,u,OA,JA,IA,HA);else{ZA()}Ce(O,FA,jA[m>>1]|0,OA,HA);ue(N,FA,jA[m>>1]|0,JA,HA);s=jA[OA>>1]|0;o=s<<16>>16>13017?13017:s;if(B)C=80;else c=a}else{f=s+2|0;o=jA[s>>1]|0;switch(e|0){case 1:case 2:case 3:case 4:case 6:{if(X)te(J,e,o,YA,u,OA,JA,IA,HA);else{ZA()}Ce(O,FA,jA[m>>1]|0,OA,HA);ue(N,FA,jA[m>>1]|0,JA,HA);s=jA[OA>>1]|0;o=s<<16>>16>13017?13017:s;if(!z){a=g;C=80;break A}if((jA[d>>1]|0)<=45){a=g;C=80;break A}a=g;o=o<<16>>16>>>2&65535;C=80;break A}case 5:{if(MA)ce(O,jA[i>>1]|0,OA,HA);else jA[OA>>1]=ae(5,o,pA[iA>>2]|0)|0;Ce(O,FA,jA[m>>1]|0,OA,HA);if(X)Be(J,5,jA[f>>1]|0,YA,pA[fA>>2]|0,JA,HA);else ve(N,J,jA[i>>1]|0,JA,HA);ue(N,FA,jA[m>>1]|0,JA,HA);o=jA[OA>>1]|0;f=s+4|0;s=o;a=g;o=o<<16>>16>13017?13017:o;C=80;break A}default:{if(X)Be(J,e,o,YA,pA[fA>>2]|0,JA,HA);else ve(N,J,jA[i>>1]|0,JA,HA);ue(N,FA,jA[m>>1]|0,JA,HA);o=jA[OA>>1]|0;s=o;a=g;C=80;break A}}}}while(0);if((C|0)==80){C=0;jA[T>>1]=s<<16>>16>13017?13017:s;c=a}o=o<<16>>16;o=(o<<17>>17|0)==(o|0)?o<<1:o>>>15^32767;u=(o&65535)<<16>>16>16384;A:do{if(u){v=o<<16>>16;if(K)s=0;else{s=0;while(1){o=(VA(jA[(pA[U>>2]|0)+(s<<1)>>1]|0,v)|0)>>15;if((o|0)>32767){pA[HA>>2]=1;o=32767}jA[KA>>1]=o;o=VA(jA[OA>>1]|0,o<<16>>16)|0;if((o|0)==1073741824){ZA()}else o=o<<1;jA[XA+(s<<1)>>1]=er(o,HA)|0;s=s+1|0;if((s|0)==40)break A}}do{o=(VA(jA[(pA[U>>2]|0)+(s<<1)>>1]|0,v)|0)>>15;if((o|0)>32767){pA[HA>>2]=1;o=32767}jA[KA>>1]=o;o=VA(jA[OA>>1]|0,o<<16>>16)|0;if((o|0)!=1073741824){o=o<<1;if((o|0)<0)o=~((o^-2)>>1);else C=88}else{ZA()}if((C|0)==88){C=0;o=o>>1}jA[XA+(s<<1)>>1]=er(o,HA)|0;s=s+1|0}while((s|0)!=40)}}while(0);if(X){jA[nA>>1]=jA[rA>>1]|0;jA[rA>>1]=jA[tA>>1]|0;jA[tA>>1]=jA[wA>>1]|0;jA[wA>>1]=jA[lA>>1]|0;jA[lA>>1]=jA[BA>>1]|0;jA[BA>>1]=jA[aA>>1]|0;jA[aA>>1]=jA[sA>>1]|0;jA[sA>>1]=jA[S>>1]|0;jA[S>>1]=jA[OA>>1]|0}if((MA|(jA[m>>1]|0)!=0?x&(jA[F>>1]|0)!=0:0)?(LA=jA[OA>>1]|0,LA<<16>>16>12288):0){ZA()}De(NA,bA,Q,mA,HA);o=$A(j,e,jA[JA>>1]|0,mA,p,FA,jA[m>>1]|0,t,jA[W>>1]|0,jA[F>>1]|0,jA[H>>1]|0,HA)|0;switch(e|0){case 0:case 1:case 2:case 3:case 6:{a=jA[OA>>1]|0;v=1;break}default:{o=jA[JA>>1]|0;a=jA[OA>>1]|0;if(V)v=1;else{s=a<<16>>16;if(a<<16>>16<0)s=~((s^-2)>>1);else s=s>>>1;a=s&65535;v=2}}}w=a<<16>>16;Q=v&65535;s=pA[U>>2]|0;g=0;do{s=s+(g<<1)|0;jA[zA+(g<<1)>>1]=jA[s>>1]|0;s=VA(jA[s>>1]|0,w)|0;if((s|0)==1073741824){pA[HA>>2]=1;l=2147483647}else l=s<<1;B=VA(jA[JA>>1]|0,jA[YA+(g<<1)>>1]|0)|0;if((B|0)!=1073741824){s=(B<<1)+l|0;if((B^l|0)>0&(s^l|0)<0){ZA()}}else{pA[HA>>2]=1;s=2147483647}C=s<>Q|0)==(s|0)?C:s>>31^2147483647,HA)|0;s=pA[U>>2]|0;jA[s+(g<<1)>>1]=C;g=g+1|0}while((g|0)!=40);Pe(Z);if((x?(jA[H>>1]|0)>3:0)?!((jA[F>>1]|0)==0|b):0)he(Z);ke(Z,e,zA,o,jA[OA>>1]|0,YA,a,v,IA,HA);o=0;B=0;do{s=jA[zA+(B<<1)>>1]|0;s=VA(s,s)|0;if((s|0)!=1073741824){a=(s<<1)+o|0;if((s^o|0)>0&(a^o|0)<0){pA[HA>>2]=1;o=(o>>>31)+2147483647|0}else o=a}else{pA[HA>>2]=1;o=2147483647}B=B+1|0}while((B|0)!=40);if((o|0)<0)o=~((o^-2)>>1);else o=o>>1;o=rr(o,KA,HA)|0;a=((jA[KA>>1]|0)>>>1)+15|0;s=a&65535;a=a<<16>>16;if(s<<16>>16>0)if(s<<16>>16<31){o=o>>a;C=135}else{o=0;C=137}else{ZA()}if((C|0)==135){C=0;if((o|0)<0)o=~((o^-4)>>2);else C=137}if((C|0)==137){C=0;o=o>>>2}o=o&65535;do{if(x?(RA=jA[H>>1]|0,RA<<16>>16>5):0)if(jA[F>>1]|0)if((jA[i>>1]|0)<4){if(q){if(!(MA|(jA[W>>1]|0)!=0))C=145}else if(!MA)C=145;if((C|0)==145?(0,(jA[m>>1]|0)==0):0){C=147;break}ZA()}else C=147;else C=151;else C=147}while(0);do{if((C|0)==147){C=0;if(jA[F>>1]|0){if(!MA?(jA[m>>1]|0)==0:0){C=151;break}if((jA[i>>1]|0)>=4)C=151}else C=151}}while(0);if((C|0)==151){C=0;jA[_>>1]=jA[oA>>1]|0;jA[oA>>1]=jA[QA>>1]|0;jA[QA>>1]=jA[gA>>1]|0;jA[gA>>1]=jA[vA>>1]|0;jA[vA>>1]=jA[uA>>1]|0;jA[uA>>1]=jA[cA>>1]|0;jA[cA>>1]=jA[CA>>1]|0;jA[CA>>1]=jA[$>>1]|0;jA[$>>1]=o}if(u){o=0;do{u=XA+(o<<1)|0;jA[u>>1]=Ci(jA[u>>1]|0,jA[zA+(o<<1)>>1]|0,HA)|0;o=o+1|0}while((o|0)!=40);qA(zA,XA,40,HA);pA[HA>>2]=0;tr(n,XA,r+(D<<1)|0,40,AA,0)}else{pA[HA>>2]=0;tr(n,zA,r+(D<<1)|0,40,AA,0)}if(!(pA[HA>>2]|0))Qr(AA|0,r+(D+30<<1)|0,20)|0;else{ZA()}Qr(A|0,eA|0,308)|0;jA[d>>1]=jA[TA>>1]|0;o=D+40|0;Q=o&65535;if(Q<<16>>16>=160)break;else{D=o<<16>>16;n=n+22|0;g=c}}jA[F>>1]=_A(A+484|0,A+466|0,r,H,HA)|0;Qe(UA,bA,r,HA);jA[m>>1]=FA;jA[W>>1]=t;Ee(A+626|0,bA,HA);KA=kA;pA[KA>>2]=GA;WA=SA;return}function te(A,e,f,i,r,n,t,w,l){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;var B=0,a=0,s=0,o=0,Q=0;Q=WA;WA=WA+16|0;s=Q+2|0;o=Q;f=f<<16>>16;f=(f<<18>>18|0)==(f|0)?f<<2:f>>>15^32767;switch(e|0){case 3:case 4:case 6:{a=f<<16>>16;f=pA[w+84>>2]|0;jA[n>>1]=jA[f+(a<<1)>>1]|0;w=jA[f+(a+1<<1)>>1]|0;B=jA[f+(a+3<<1)>>1]|0;n=jA[f+(a+2<<1)>>1]|0;break}case 0:{w=(f&65535)+(r<<16>>16<<1^2)|0;w=(w&65535)<<16>>16>1022?1022:w<<16>>16;jA[n>>1]=jA[782+(w<<1)>>1]|0;n=jA[782+(w+1<<1)>>1]|0;Gi(n<<16>>16,o,s,l);jA[o>>1]=(DA[o>>1]|0)+65524;w=ir(jA[s>>1]|0,5,l)|0;a=jA[o>>1]|0;a=Ci(w,((a<<26>>26|0)==(a|0)?a<<10:a>>>15^32767)&65535,l)|0;w=jA[s>>1]|0;f=jA[o>>1]|0;if((f*24660|0)==1073741824){pA[l>>2]=1;r=2147483647}else r=f*49320|0;B=(w<<16>>16)*24660>>15;f=r+(B<<1)|0;if((r^B|0)>0&(f^r|0)<0){pA[l>>2]=1;f=(r>>>31)+2147483647|0}B=f<<13;w=n;B=er((B>>13|0)==(f|0)?B:f>>31^2147483647,l)|0;n=a;break}default:{a=f<<16>>16;f=pA[w+80>>2]|0;jA[n>>1]=jA[f+(a<<1)>>1]|0;w=jA[f+(a+1<<1)>>1]|0;B=jA[f+(a+3<<1)>>1]|0;n=jA[f+(a+2<<1)>>1]|0}}Pi(A,e,i,o,s,0,0,l);r=VA((Si(14,jA[s>>1]|0,l)|0)<<16>>16,w<<16>>16)|0;if((r|0)==1073741824){pA[l>>2]=1;f=2147483647}else f=r<<1;w=10-(DA[o>>1]|0)|0;r=w&65535;w=w<<16>>16;if(r<<16>>16>0){o=r<<16>>16<31?f>>w:0;o=o>>>16;o=o&65535;jA[t>>1]=o;ki(A,n,B);WA=Q;return}else{l=0-w<<16>>16;o=f<>l|0)==(f|0)?o:f>>31^2147483647;o=o>>>16;o=o&65535;jA[t>>1]=o;ki(A,n,B);WA=Q;return}}function we(A,e,f,i,r,n,t,w,l){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;if(!(i<<16>>16)){w=A<<16>>16;if(A<<16>>16>=197){jA[n>>1]=w+65424;jA[t>>1]=0;return}r=((w<<16)+131072>>16)*10923>>15;if((r|0)>32767){pA[l>>2]=1;r=32767}A=(r&65535)+19|0;jA[n>>1]=A;jA[t>>1]=w+58-((A*196608|0)>>>16);return}if(!(w<<16>>16)){l=A<<16>>16<<16;A=((l+131072>>16)*21846|0)+-65536>>16;jA[n>>1]=A+(e&65535);jA[t>>1]=((l+-131072|0)>>>16)-((A*196608|0)>>>16);return}if((nr(r,e,l)|0)<<16>>16>5)r=(e&65535)+5&65535;w=f<<16>>16;w=(w-(r&65535)&65535)<<16>>16>4?w+65532&65535:r;r=A<<16>>16;if(A<<16>>16<4){jA[n>>1]=((((w&65535)<<16)+-327680|0)>>>16)+r;jA[t>>1]=0;return}r=r<<16;if(A<<16>>16<12){l=(((r+-327680>>16)*10923|0)>>>15<<16)+-65536|0;A=l>>16;jA[n>>1]=(w&65535)+A;jA[t>>1]=((r+-589824|0)>>>16)-(l>>>15)-A;return}else{jA[n>>1]=((r+-786432+((w&65535)<<16)|0)>>>16)+1;jA[t>>1]=0;return}}function le(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;if(i<<16>>16){t=(DA[r>>1]|0)+65531|0;t=(t<<16>>16|0)<(e<<16>>16|0)?e:t&65535;f=f<<16>>16;e=A<<16>>16<<16;A=((e+327680>>16)*10924|0)+-65536>>16;jA[r>>1]=(((((t&65535)<<16)+589824>>16|0)>(f|0)?f+65527&65535:t)&65535)+A;jA[n>>1]=((e+-196608|0)>>>16)-((A*393216|0)>>>16);return}i=A<<16>>16;if(A<<16>>16<463){A=((((i<<16)+327680>>16)*10924|0)>>>16)+17|0;jA[r>>1]=A;jA[n>>1]=i+105-((A*393216|0)>>>16);return}else{jA[r>>1]=i+65168;jA[n>>1]=0;return}}function Be(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0;a=WA;WA=WA+16|0;l=a+6|0;w=a+4|0;Pi(A,e,i,l,w,a+2|0,a,t);B=(f&31)*3|0;i=r+(B<<1)|0;if(!((nr(e&65535,7,t)|0)<<16>>16)){l=Si(jA[l>>1]|0,jA[w>>1]|0,t)|0;w=l<<16>>16;w=(VA(((l<<20>>20|0)==(w|0)?l<<4:w>>>15^32767)<<16>>16,jA[i>>1]|0)|0)>>15;if((w|0)>32767){pA[t>>2]=1;w=32767}i=w<<16;f=i>>16;if((w<<17>>17|0)==(f|0))w=i>>15;else w=f>>>15^32767}else{f=Si(14,jA[w>>1]|0,t)|0;f=VA(f<<16>>16,jA[i>>1]|0)|0;if((f|0)==1073741824){pA[t>>2]=1;i=2147483647}else i=f<<1;f=nr(9,jA[l>>1]|0,t)|0;w=f<<16>>16;if(f<<16>>16>0)w=f<<16>>16<31?i>>w:0;else{t=0-w<<16>>16;w=i<>t|0)==(i|0)?w:i>>31^2147483647}w=w>>>16}jA[n>>1]=w;ki(A,jA[r+(B+1<<1)>>1]|0,jA[r+(B+2<<1)>>1]|0);WA=a;return}function ae(A,e,f){A=A|0;e=e|0;f=f|0;e=jA[f+(e<<16>>16<<1)>>1]|0;if((A|0)!=7){A=e;return A|0}A=e&65532;return A|0}function se(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0;c=WA;WA=WA+48|0;Q=c+20|0;u=c;v=pA[r+44>>2]|0;g=pA[r+64>>2]|0;w=pA[r+4>>2]|0;o=pA[r+12>>2]|0;B=pA[r+20>>2]|0;l=pA[r+56>>2]|0;if(!(f<<16>>16)){a=e>>>0<2;if(a){f=765;s=508;B=pA[r+52>>2]|0}else{r=(e|0)==5;f=r?1533:765;s=2044;w=r?l:w}l=jA[i>>1]|0;f=((l*196608>>16|0)>(f&65535|0)?f:l*3&65535)<<16>>16;l=jA[w+(f<<1)>>1]|0;jA[Q>>1]=l;jA[Q+2>>1]=jA[w+(f+1<<1)>>1]|0;jA[Q+4>>1]=jA[w+(f+2<<1)>>1]|0;f=jA[i+2>>1]|0;if(a)f=f<<16>>16<<1&65535;a=(f<<16>>16)*196608|0;a=(a|0)>100466688?1533:a>>16;jA[Q+6>>1]=jA[o+(a<<1)>>1]|0;jA[Q+8>>1]=jA[o+(a+1<<1)>>1]|0;jA[Q+10>>1]=jA[o+(a+2<<1)>>1]|0;i=jA[i+4>>1]|0;i=((i<<18>>16|0)>(s&65535|0)?s:i<<2&65535)<<16>>16;jA[Q+12>>1]=jA[B+(i<<1)>>1]|0;jA[Q+14>>1]=jA[B+((i|1)<<1)>>1]|0;jA[Q+16>>1]=jA[B+((i|2)<<1)>>1]|0;jA[Q+18>>1]=jA[B+((i|3)<<1)>>1]|0;if((e|0)==8){ZA()}else w=0;do{l=A+(w<<1)|0;f=(VA(jA[g+(w<<1)>>1]|0,jA[l>>1]|0)|0)>>15;if((f|0)>32767){pA[t>>2]=1;f=32767}i=Ci(jA[v+(w<<1)>>1]|0,f&65535,t)|0;e=jA[Q+(w<<1)>>1]|0;jA[u+(w<<1)>>1]=Ci(e,i,t)|0;jA[l>>1]=e;w=w+1|0}while((w|0)!=10);$i(u,205,10,t);w=A+20|0;l=u;f=w+20|0;do{xA[w>>0]=xA[l>>0]|0;w=w+1|0;l=l+1|0}while((w|0)<(f|0));Oi(u,n,10,t);WA=c;return}else{ZA();return}}function oe(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0;c=WA;WA=WA+80|0;o=c+60|0;Q=c+40|0;v=c+20|0;u=c;g=pA[i+48>>2]|0;B=pA[i+24>>2]|0;a=pA[i+28>>2]|0;s=pA[i+32>>2]|0;if(e<<16>>16){ZA()}e=pA[i+16>>2]|0;i=pA[i+8>>2]|0;l=jA[f>>1]|0;l=((l<<18>>18|0)==(l|0)?l<<2:l>>>15^32767)<<16>>16;jA[o>>1]=jA[i+(l<<1)>>1]|0;jA[o+2>>1]=jA[i+(l+1<<1)>>1]|0;jA[Q>>1]=jA[i+(l+2<<1)>>1]|0;jA[Q+2>>1]=jA[i+(l+3<<1)>>1]|0;l=jA[f+2>>1]|0;l=((l<<18>>18|0)==(l|0)?l<<2:l>>>15^32767)<<16>>16;jA[o+4>>1]=jA[e+(l<<1)>>1]|0;jA[o+6>>1]=jA[e+(l+1<<1)>>1]|0;jA[Q+4>>1]=jA[e+(l+2<<1)>>1]|0;jA[Q+6>>1]=jA[e+(l+3<<1)>>1]|0;l=jA[f+4>>1]|0;i=l<<16>>16;if(l<<16>>16<0)e=~((i^-2)>>1);else e=i>>>1;l=e<<16>>16;l=((e<<18>>18|0)==(l|0)?e<<2:l>>>15^32767)<<16>>16;w=B+(l+1<<1)|0;e=jA[B+(l<<1)>>1]|0;if(!(i&1)){jA[o+8>>1]=e;jA[o+10>>1]=jA[w>>1]|0;jA[Q+8>>1]=jA[B+(l+2<<1)>>1]|0;jA[Q+10>>1]=jA[B+(l+3<<1)>>1]|0}else{if(e<<16>>16==-32768)e=32767;else e=0-(e&65535)&65535;jA[o+8>>1]=e;e=jA[w>>1]|0;if(e<<16>>16==-32768)e=32767;else e=0-(e&65535)&65535;jA[o+10>>1]=e;e=jA[B+(l+2<<1)>>1]|0;if(e<<16>>16==-32768)e=32767;else e=0-(e&65535)&65535;jA[Q+8>>1]=e;e=jA[B+(l+3<<1)>>1]|0;if(e<<16>>16==-32768)e=32767;else e=0-(e&65535)&65535;jA[Q+10>>1]=e}w=jA[f+6>>1]|0;w=((w<<18>>18|0)==(w|0)?w<<2:w>>>15^32767)<<16>>16;jA[o+12>>1]=jA[a+(w<<1)>>1]|0;jA[o+14>>1]=jA[a+(w+1<<1)>>1]|0;jA[Q+12>>1]=jA[a+(w+2<<1)>>1]|0;jA[Q+14>>1]=jA[a+(w+3<<1)>>1]|0;w=jA[f+8>>1]|0;w=((w<<18>>18|0)==(w|0)?w<<2:w>>>15^32767)<<16>>16;jA[o+16>>1]=jA[s+(w<<1)>>1]|0;jA[o+18>>1]=jA[s+(w+1<<1)>>1]|0;jA[Q+16>>1]=jA[s+(w+2<<1)>>1]|0;jA[Q+18>>1]=jA[s+(w+3<<1)>>1]|0;w=0;do{i=A+(w<<1)|0;e=(jA[i>>1]|0)*21299>>15;if((e|0)>32767){pA[t>>2]=1;e=32767}s=Ci(jA[g+(w<<1)>>1]|0,e&65535,t)|0;jA[v+(w<<1)>>1]=Ci(jA[o+(w<<1)>>1]|0,s,t)|0;f=jA[Q+(w<<1)>>1]|0;jA[u+(w<<1)>>1]=Ci(f,s,t)|0;jA[i>>1]=f;w=w+1|0}while((w|0)!=10);$i(v,205,10,t);$i(u,205,10,t);w=A+20|0;i=u;e=w+20|0;do{xA[w>>0]=xA[i>>0]|0;w=w+1|0;i=i+1|0}while((w|0)<(e|0));Oi(v,r,10,t);Oi(u,n,10,t);WA=c;return}function dA(A,e){A=A|0;e=e|0;var f=0,i=0;if(!A){i=-1;return i|0}f=A;i=f+20|0;do{jA[f>>1]=0;f=f+2|0}while((f|0)<(i|0));Qr(A+20|0,e|0,20)|0;i=0;return i|0}function IA(A){A=A|0;var e=0,f=0,i=0,r=0,n=0;if(!A){n=-1;return n|0}jA[A>>1]=0;jA[A+2>>1]=8192;e=A+4|0;jA[e>>1]=3500;jA[A+6>>1]=3500;pA[A+8>>2]=1887529304;jA[A+12>>1]=3e4;jA[A+14>>1]=26e3;jA[A+16>>1]=21e3;jA[A+18>>1]=15e3;jA[A+20>>1]=8e3;jA[A+22>>1]=0;jA[A+24>>1]=-8e3;jA[A+26>>1]=-15e3;jA[A+28>>1]=-21e3;jA[A+30>>1]=-26e3;jA[A+32>>1]=3e4;jA[A+34>>1]=26e3;jA[A+36>>1]=21e3;jA[A+38>>1]=15e3;jA[A+40>>1]=8e3;jA[A+42>>1]=0;jA[A+44>>1]=-8e3;jA[A+46>>1]=-15e3;jA[A+48>>1]=-21e3;jA[A+50>>1]=-26e3;jA[A+212>>1]=0;jA[A+374>>1]=0;jA[A+392>>1]=0;f=A+52|0;jA[f>>1]=1384;jA[A+54>>1]=2077;jA[A+56>>1]=3420;jA[A+58>>1]=5108;jA[A+60>>1]=6742;jA[A+62>>1]=8122;jA[A+64>>1]=9863;jA[A+66>>1]=11092;jA[A+68>>1]=12714;jA[A+70>>1]=13701;i=A+72|0;r=f;n=i+20|0;do{xA[i>>0]=xA[r>>0]|0;i=i+1|0;r=r+1|0}while((i|0)<(n|0));i=A+92|0;r=f;n=i+20|0;do{xA[i>>0]=xA[r>>0]|0;i=i+1|0;r=r+1|0}while((i|0)<(n|0));i=A+112|0;r=f;n=i+20|0;do{xA[i>>0]=xA[r>>0]|0;i=i+1|0;r=r+1|0}while((i|0)<(n|0));i=A+132|0;r=f;n=i+20|0;do{xA[i>>0]=xA[r>>0]|0;i=i+1|0;r=r+1|0}while((i|0)<(n|0));i=A+152|0;r=f;n=i+20|0;do{xA[i>>0]=xA[r>>0]|0;i=i+1|0;r=r+1|0}while((i|0)<(n|0));i=A+172|0;r=f;n=i+20|0;do{xA[i>>0]=xA[r>>0]|0;i=i+1|0;r=r+1|0}while((i|0)<(n|0));i=A+192|0;r=f;n=i+20|0;do{xA[i>>0]=xA[r>>0]|0;i=i+1|0;r=r+1|0}while((i|0)<(n|0));gr(A+214|0,0,160)|0;jA[A+376>>1]=3500;jA[A+378>>1]=3500;n=jA[e>>1]|0;jA[A+380>>1]=n;jA[A+382>>1]=n;jA[A+384>>1]=n;jA[A+386>>1]=n;jA[A+388>>1]=n;jA[A+390>>1]=n;jA[A+394>>1]=0;jA[A+396>>1]=7;jA[A+398>>1]=32767;jA[A+400>>1]=0;jA[A+402>>1]=0;jA[A+404>>1]=0;pA[A+408>>2]=1;jA[A+412>>1]=0;n=0;return n|0}function Qe(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0;l=WA;WA=WA+16|0;t=l+2|0;w=l;jA[w>>1]=0;n=A+212|0;r=(DA[n>>1]|0)+10|0;r=(r&65535|0)==80?0:r&65535;jA[n>>1]=r;Qr(A+52+(r<<16>>16<<1)|0,e|0,20)|0;r=0;n=159;while(1){B=jA[f+(n<<1)>>1]|0;B=VA(B,B)|0;B=(B|0)==1073741824?2147483647:B<<1;e=B+r|0;if((B^r|0)>-1&(e^r|0)<0){pA[i>>2]=1;r=(r>>>31)+2147483647|0}else r=e;if((n|0)>0)n=n+-1|0;else break}Gi(r,t,w,i);r=jA[t>>1]|0;B=r<<16>>16;e=B<<10;if((e|0)!=(B<<26>>16|0)){pA[i>>2]=1;e=r<<16>>16>0?32767:-32768}jA[t>>1]=e;B=jA[w>>1]|0;r=B<<16>>16;if(B<<16>>16<0)r=~((r^-32)>>5);else r=r>>>5;w=A+392|0;B=(DA[w>>1]|0)+1|0;B=(B&65535|0)==8?0:B&65535;jA[w>>1]=B;jA[A+376+(B<<16>>16<<1)>>1]=r+57015+e;WA=l;return}function ge(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0,t=0,w=0,l=0,B=0,a=0;l=(e|0)==4;B=(e|0)==5;a=(e|0)==6;i=pA[A+408>>2]|0;A:do{if((e+-4|0)>>>0<3)w=4;else{if((i+-1|0)>>>0<2)switch(e|0){case 2:case 3:case 7:{w=4;break A}default:{}}jA[A>>1]=0;t=0}}while(0);if((w|0)==4){ZA()}n=A+398|0;if(B&(jA[A+412>>1]|0)==0){jA[n>>1]=0;r=0}else r=jA[n>>1]|0;r=Ci(r,1,f)|0;jA[n>>1]=r;f=A+404|0;jA[f>>1]=0;A:do{switch(e|0){case 2:case 4:case 5:case 6:case 7:{if(!((e|0)==7&(t|0)==0)){ZA()}else w=14;break}default:w=14}}while(0);if((w|0)==14)jA[A+396>>1]=7;if(!t)return t|0;r=A+400|0;jA[r>>1]=0;i=A+402|0;jA[i>>1]=0;if(l){jA[r>>1]=1;return t|0}if(B){jA[r>>1]=1;jA[i>>1]=1;return t|0}if(!a)return t|0;jA[r>>1]=1;jA[f>>1]=0;return t|0}function MA(A){A=A|0;if(!A){A=-1;return A|0}jA[A>>1]=1;jA[A+2>>1]=1;jA[A+4>>1]=1;jA[A+6>>1]=1;jA[A+8>>1]=1;jA[A+10>>1]=0;jA[A+12>>1]=1;A=0;return A|0}function ve(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;ZA();return}function ue(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;if(!(e<<16>>16)){if(f<<16>>16){ZA()}else e=A+12|0;jA[e>>1]=jA[i>>1]|0}jA[A+10>>1]=jA[i>>1]|0;r=A+2|0;jA[A>>1]=jA[r>>1]|0;f=A+4|0;jA[r>>1]=jA[f>>1]|0;r=A+6|0;jA[f>>1]=jA[r>>1]|0;A=A+8|0;jA[r>>1]=jA[A>>1]|0;jA[A>>1]=jA[i>>1]|0;return}function ce(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;ZA();return}function FA(A){A=A|0;if(!A){A=-1;return A|0}jA[A>>1]=1640;jA[A+2>>1]=1640;jA[A+4>>1]=1640;jA[A+6>>1]=1640;jA[A+8>>1]=1640;jA[A+10>>1]=0;jA[A+12>>1]=16384;A=0;return A|0}function Ce(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;if(!(e<<16>>16)){if(f<<16>>16){ZA()}else e=A+12|0;jA[e>>1]=jA[i>>1]|0}i=jA[i>>1]|0;e=A+10|0;jA[e>>1]=i;if((nr(i,16384,r)|0)<<16>>16>0){jA[e>>1]=16384;e=16384}else e=jA[e>>1]|0;r=A+2|0;jA[A>>1]=jA[r>>1]|0;i=A+4|0;jA[r>>1]=jA[i>>1]|0;r=A+6|0;jA[i>>1]=jA[r>>1]|0;A=A+8|0;jA[r>>1]=jA[A>>1]|0;jA[A>>1]=e;return}function De(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0;switch(f<<16>>16){case 0:{l=9;while(1){w=jA[A+(l<<1)>>1]|0;f=w<<16>>16;if(w<<16>>16<0)f=~((f^-4)>>2);else f=f>>>2;t=jA[e+(l<<1)>>1]|0;n=t<<16>>16;if(t<<16>>16<0)t=~((n^-4)>>2);else t=n>>>2;jA[i+(l<<1)>>1]=Ci((w&65535)-f&65535,t&65535,r)|0;if((l|0)>0)l=l+-1|0;else break}return}case 40:{t=9;while(1){r=jA[A+(t<<1)>>1]|0;f=r<<16>>16;if(r<<16>>16<0)n=~((f^-2)>>1);else n=f>>>1;r=jA[e+(t<<1)>>1]|0;f=r<<16>>16;if(r<<16>>16<0)f=~((f^-2)>>1);else f=f>>>1;jA[i+(t<<1)>>1]=f+n;if((t|0)>0)t=t+-1|0;else break}return}case 80:{l=9;while(1){w=jA[A+(l<<1)>>1]|0;f=w<<16>>16;if(w<<16>>16<0)w=~((f^-4)>>2);else w=f>>>2;f=jA[e+(l<<1)>>1]|0;n=f<<16>>16;if(f<<16>>16<0)t=~((n^-4)>>2);else t=n>>>2;jA[i+(l<<1)>>1]=Ci(w&65535,(f&65535)-t&65535,r)|0;if((l|0)>0)l=l+-1|0;else break}return}case 120:{jA[i+18>>1]=jA[e+18>>1]|0;jA[i+16>>1]=jA[e+16>>1]|0;jA[i+14>>1]=jA[e+14>>1]|0;jA[i+12>>1]=jA[e+12>>1]|0;jA[i+10>>1]=jA[e+10>>1]|0;jA[i+8>>1]=jA[e+8>>1]|0;jA[i+6>>1]=jA[e+6>>1]|0;jA[i+4>>1]=jA[e+4>>1]|0;jA[i+2>>1]=jA[e+2>>1]|0;jA[i>>1]=jA[e>>1]|0;return}default:return}}function HA(A,e){A=A|0;e=e|0;if(!A){A=-1;return A|0}Qr(A|0,e|0,20)|0;A=0;return A|0}function Ee(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0,t=0,w=0,l=0,B=0;B=0;do{l=A+(B<<1)|0;i=jA[l>>1]|0;t=i&65535;w=t<<16;i=i<<16>>16;if((i*5243|0)==1073741824){pA[f>>2]=1;n=2147483647}else n=i*10486|0;r=w-n|0;if(((r^w)&(n^w)|0)<0){pA[f>>2]=1;n=(t>>>15)+2147483647|0}else n=r;i=jA[e+(B<<1)>>1]|0;r=i*5243|0;if((r|0)!=1073741824){i=(i*10486|0)+n|0;if((r^n|0)>0&(i^n|0)<0){pA[f>>2]=1;i=(n>>>31)+2147483647|0}}else{pA[f>>2]=1;i=2147483647}jA[l>>1]=er(i,f)|0;B=B+1|0}while((B|0)!=10);return}function UA(A){A=A|0;var e=0;if(!A){e=-1;return e|0}e=A+18|0;do{jA[A>>1]=0;A=A+2|0}while((A|0)<(e|0));e=0;return e|0}function he(A){A=A|0;jA[A+14>>1]=1;return}function Pe(A){A=A|0;jA[A+14>>1]=0;return}function ke(A,e,f,i,r,n,t,w,l,B){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;var a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0;d=WA;WA=WA+160|0;P=d+80|0;k=d;C=pA[l+120>>2]|0;D=pA[l+124>>2]|0;E=pA[l+128>>2]|0;c=pA[l+132>>2]|0;s=A+6|0;u=A+8|0;jA[u>>1]=jA[s>>1]|0;g=A+4|0;jA[s>>1]=jA[g>>1]|0;v=A+2|0;jA[g>>1]=jA[v>>1]|0;jA[v>>1]=jA[A>>1]|0;jA[A>>1]=r;l=r<<16>>16<14746?r<<16>>16>9830&1:2;a=A+12|0;r=jA[a>>1]|0;o=r<<15;do{if((o|0)<=536870911)if((o|0)<-536870912){pA[B>>2]=1;r=-2147483648;break}else{r=r<<17;break}else{pA[B>>2]=1;r=2147483647}}while(0);h=i<<16>>16;Q=A+16|0;if((er(r,B)|0)<<16>>16>=i<<16>>16){o=jA[Q>>1]|0;if(o<<16>>16>0){o=(o&65535)+65535&65535;jA[Q>>1]=o}if(!(o<<16>>16)){r=(jA[A>>1]|0)<9830;r=(jA[v>>1]|0)<9830?r?2:1:r&1;if((jA[g>>1]|0)<9830)r=(r&65535)+1&65535;if((jA[s>>1]|0)<9830)r=(r&65535)+1&65535;if((jA[u>>1]|0)<9830)r=(r&65535)+1&65535;o=0;l=r<<16>>16>2?0:l}}else{jA[Q>>1]=2;o=2}v=l<<16>>16;u=A+10|0;v=(o<<16>>16==0?(v|0)>((jA[u>>1]|0)+1|0):0)?v+65535&65535:l;A=(jA[A+14>>1]|0)==1?0:i<<16>>16<10?2:v<<16>>16<2&o<<16>>16>0?(v&65535)+1&65535:v;jA[u>>1]=A;jA[a>>1]=i;switch(e|0){case 4:case 6:case 7:break;default:if(A<<16>>16<2){o=0;l=0;s=n;a=P;while(1){if(!(jA[s>>1]|0))r=0;else{l=l<<16>>16;jA[k+(l<<1)>>1]=o;r=jA[s>>1]|0;l=l+1&65535}jA[a>>1]=r;jA[s>>1]=0;o=o+1<<16>>16;if(o<<16>>16>=40){u=l;break}else{s=s+2|0;a=a+2|0}}v=A<<16>>16==0;v=(e|0)==5?v?C:D:v?E:c;if(u<<16>>16>0){g=0;do{Q=jA[k+(g<<1)>>1]|0;l=Q<<16>>16;A=jA[P+(l<<1)>>1]|0;if(Q<<16>>16<40){o=A<<16>>16;s=39-Q&65535;a=Q;l=n+(l<<1)|0;r=v;while(1){e=(VA(jA[r>>1]|0,o)|0)>>>15&65535;jA[l>>1]=Ci(jA[l>>1]|0,e,B)|0;a=a+1<<16>>16;if(a<<16>>16>=40)break;else{l=l+2|0;r=r+2|0}}if(Q<<16>>16>0){l=v+(s+1<<1)|0;b=36}}else{l=v;b=36}if((b|0)==36){b=0;r=A<<16>>16;o=0;s=n;while(1){e=(VA(jA[l>>1]|0,r)|0)>>>15&65535;jA[s>>1]=Ci(jA[s>>1]|0,e,B)|0;o=o+1<<16>>16;if(o<<16>>16>=Q<<16>>16)break;else{s=s+2|0;l=l+2|0}}}g=g+1|0}while((g&65535)<<16>>16!=u<<16>>16)}}}g=t<<16>>16;v=h<<1;r=w<<16>>16;a=0-r<<16;l=a>>16;if(w<<16>>16>0){o=0;s=f;while(1){A=VA(jA[f+(o<<1)>>1]|0,g)|0;if((A|0)==1073741824){pA[B>>2]=1;a=2147483647}else a=A<<1;w=VA(v,jA[n>>1]|0)|0;A=w+a|0;if((w^a|0)>-1&(A^a|0)<0){pA[B>>2]=1;A=(a>>>31)+2147483647|0}w=A<>1]=er((w>>r|0)==(A|0)?w:A>>31^2147483647,B)|0;o=o+1|0;if((o|0)==40)break;else{n=n+2|0;s=s+2|0}}WA=d;return}ZA();return}function GA(A){A=A|0;if(!A){A=-1;return A|0}jA[A>>1]=0;jA[A+2>>1]=0;jA[A+4>>1]=0;jA[A+6>>1]=0;jA[A+8>>1]=0;jA[A+10>>1]=0;A=0;return A|0}function LA(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0;if(f<<16>>16<=0)return;r=A+10|0;l=A+8|0;a=A+4|0;s=A+6|0;o=A+2|0;n=jA[a>>1]|0;t=jA[s>>1]|0;w=jA[A>>1]|0;B=jA[o>>1]|0;Q=0;while(1){g=jA[r>>1]|0;v=jA[l>>1]|0;jA[r>>1]=v;u=jA[e>>1]|0;jA[l>>1]=u;g=((u<<16>>16)*7699|0)+((VA(w<<16>>16,-7667)|0)+(((n<<16>>16)*15836|0)+((t<<16>>16)*15836>>15))+((VA(B<<16>>16,-7667)|0)>>15))+(VA(v<<16>>16,-15398)|0)+((g<<16>>16)*7699|0)|0;v=g<<3;g=(v>>3|0)==(g|0)?v:g>>31^2147483647;v=g<<1;jA[e>>1]=er((v>>1|0)==(g|0)?v:g>>31^2147483647,i)|0;w=jA[a>>1]|0;jA[A>>1]=w;B=jA[s>>1]|0;jA[o>>1]=B;n=g>>>16&65535;jA[a>>1]=n;t=(g>>>1)-(g>>16<<15)&65535;jA[s>>1]=t;Q=Q+1<<16>>16;if(Q<<16>>16>=f<<16>>16)break;else e=e+2|0}return}function RA(A){A=A|0;if(!A)A=-1;else{jA[A>>1]=0;A=0}return A|0}function TA(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0;w=i<<16>>16;n=e+(w+-1<<1)|0;w=w+-2|0;l=jA[n>>1]|0;if(i<<16>>16<2)i=f<<16>>16;else{i=f<<16>>16;t=0;e=e+(w<<1)|0;while(1){f=(VA(jA[e>>1]|0,i)|0)>>15;if((f|0)>32767){pA[r>>2]=1;f=32767}jA[n>>1]=nr(jA[n>>1]|0,f&65535,r)|0;n=n+-2|0;t=t+1<<16>>16;if((t<<16>>16|0)>(w|0))break;else e=e+-2|0}}i=(VA(jA[A>>1]|0,i)|0)>>15;if((i|0)<=32767){w=i;w=w&65535;t=jA[n>>1]|0;r=nr(t,w,r)|0;jA[n>>1]=r;jA[A>>1]=l;return}pA[r>>2]=1;w=32767;w=w&65535;t=jA[n>>1]|0;r=nr(t,w,r)|0;jA[n>>1]=r;jA[A>>1]=l;return}function yA(A){A=A|0;var e=0,f=0,i=0;if(!A){i=-1;return i|0}gr(A+104|0,0,340)|0;e=A+102|0;f=A;i=f+100|0;do{jA[f>>1]=0;f=f+2|0}while((f|0)<(i|0));vA(e)|0;RA(A+100|0)|0;i=0;return i|0}function YA(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0;C=WA;WA=WA+96|0;g=C+22|0;v=C;u=C+44|0;Qr(A+124|0,f|0,320)|0;a=u+22|0;s=A+100|0;o=A+80|0;Q=A+102|0;if((e&-2|0)==6){B=0;while(1){wr(i,702,g);wr(i,722,v);l=A+104+(B+10<<1)|0;Ar(g,l,A,40);t=u;n=g;e=t+22|0;do{jA[t>>1]=jA[n>>1]|0;t=t+2|0;n=n+2|0}while((t|0)<(e|0));t=a;e=t+22|0;do{jA[t>>1]=0;t=t+2|0}while((t|0)<(e|0));tr(v,u,u,22,a,0);e=0;t=21;do{n=jA[u+(t<<16>>16<<1)>>1]|0;n=VA(n,n)|0;if((n|0)==1073741824){c=7;break}w=n<<1;n=w+e|0;if((w^e|0)>-1&(n^e|0)<0){ZA()}else e=n;t=t+-1<<16>>16}while(t<<16>>16>-1);if((c|0)==7){c=0;pA[r>>2]=1}w=e>>>16&65535;n=20;e=0;t=20;while(1){n=VA(jA[u+(n+1<<1)>>1]|0,jA[u+(n<<1)>>1]|0)|0;if((n|0)==1073741824){c=13;break}D=n<<1;n=D+e|0;if((D^e|0)>-1&(n^e|0)<0){ZA()}else e=n;n=(t&65535)+-1<<16>>16;if(n<<16>>16>-1){n=n<<16>>16;t=t+-1|0}else break}if((c|0)==13){c=0;pA[r>>2]=1}e=e>>16;if((e|0)<1)e=0;else e=Ei((e*26214|0)>>>15&65535,w)|0;TA(s,A,e,40,r);e=f+(B<<1)|0;tr(v,A,e,40,o,1);uA(Q,l,e,29491,40,r);e=(B<<16)+2621440|0;if((e|0)<10485760){B=e>>16;i=i+22|0}else break}t=A+104|0;n=A+424|0;e=t+20|0;do{xA[t>>0]=xA[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(e|0));WA=C;return}else{B=0;while(1){wr(i,742,g);wr(i,762,v);l=A+104+(B+10<<1)|0;Ar(g,l,A,40);t=u;n=g;e=t+22|0;do{jA[t>>1]=jA[n>>1]|0;t=t+2|0;n=n+2|0}while((t|0)<(e|0));t=a;e=t+22|0;do{jA[t>>1]=0;t=t+2|0}while((t|0)<(e|0));tr(v,u,u,22,a,0);e=0;t=21;do{n=jA[u+(t<<16>>16<<1)>>1]|0;n=VA(n,n)|0;if((n|0)==1073741824){c=22;break}D=n<<1;n=D+e|0;if((D^e|0)>-1&(n^e|0)<0){ZA()}else e=n;t=t+-1<<16>>16}while(t<<16>>16>-1);if((c|0)==22){c=0;pA[r>>2]=1}w=e>>>16&65535;n=20;e=0;t=20;while(1){n=VA(jA[u+(n+1<<1)>>1]|0,jA[u+(n<<1)>>1]|0)|0;if((n|0)==1073741824){c=28;break}D=n<<1;n=D+e|0;if((D^e|0)>-1&(n^e|0)<0){ZA()}else e=n;n=(t&65535)+-1<<16>>16;if(n<<16>>16>-1){n=n<<16>>16;t=t+-1|0}else break}if((c|0)==28){c=0;pA[r>>2]=1}e=e>>16;if((e|0)<1)e=0;else e=Ei((e*26214|0)>>>15&65535,w)|0;TA(s,A,e,40,r);e=f+(B<<1)|0;tr(v,A,e,40,o,1);uA(Q,l,e,29491,40,r);e=(B<<16)+2621440|0;if((e|0)<10485760){B=e>>16;i=i+22|0}else break}t=A+104|0;n=A+424|0;e=t+20|0;do{xA[t>>0]=xA[n>>0]|0;t=t+1|0;n=n+1|0}while((t|0)<(e|0));WA=C;return}}function zA(A,e){A=A|0;e=e|0;var f=0,i=0;if(!A){A=-1;return A|0}pA[A>>2]=0;f=lr(1764)|0;if(!f){A=-1;return A|0}if((PA(f)|0)<<16>>16==0?(i=f+1748|0,(GA(i)|0)<<16>>16==0):0){kA(f,0)|0;yA(f+1304|0)|0;GA(i)|0;pA[f+1760>>2]=0;pA[A>>2]=f;A=0;return A|0}e=pA[f>>2]|0;if(!e){A=-1;return A|0}Br(e);pA[f>>2]=0;A=-1;return A|0}function XA(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Br(e);pA[A>>2]=0;return}function JA(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0;c=WA;WA=WA+208|0;u=c+88|0;v=c;g=A+1164|0;n=pA[A+1256>>2]|0;if((i+-5|0)>>>0<2){ZA()}else{o=n+(e<<1)|0;if((jA[o>>1]|0)>0){Q=pA[(pA[A+1260>>2]|0)+(e<<2)>>2]|0;a=0;n=0;while(1){s=Q+(a<<1)|0;l=jA[s>>1]|0;if(l<<16>>16>0){w=f;B=0;t=0;while(1){t=DA[w>>1]|t<<1&131070;B=B+1<<16>>16;if(B<<16>>16>=l<<16>>16)break;else w=w+2|0}t=t&65535}else t=0;jA[u+(a<<1)>>1]=t;n=n+1<<16>>16;if(n<<16>>16<(jA[o>>1]|0)){f=f+(jA[s>>1]<<1)|0;a=n<<16>>16}else break}}}bA(A,e,u,i,r,v);YA(A+1304|0,e,r,v,g);LA(A+1748|0,r,160,g);n=0;do{A=r+(n<<1)|0;jA[A>>1]=DA[A>>1]&65528;n=n+1|0}while((n|0)!=160);WA=c;return}function OA(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0;n=pA[i+100>>2]|0;t=(DA[(pA[i+96>>2]|0)+(A<<1)>>1]|0)+65535|0;i=t&65535;r=i<<16>>16>-1;if(A>>>0<8){if(!r)return;n=pA[n+(A<<2)>>2]|0;r=t<<16>>16;while(1){jA[f+(jA[n+(r<<1)>>1]<<1)>>1]=(w[e+(r>>3)>>0]|0)>>>(r&7^7)&1;i=i+-1<<16>>16;if(i<<16>>16>-1)r=i<<16>>16;else break}return}else{ZA()}}function mA(A,e,f){A=A|0;e=e|0;f=f|0;A=ri(A,f,31764)|0;return((ei(e)|0|A)<<16>>16!=0)<<31>>31|0}function NA(A,e){A=A|0;e=e|0;ni(A);fi(e);return}function KA(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0,s=0;s=WA;WA=WA+512|0;w=s+8|0;l=s+4|0;B=s;pA[B>>2]=0;a=t<<16>>16==3;if(!((t&65535)<2|a&1)){ZA()}ti(A,f,i,w,B);ii(e,pA[B>>2]|0,l);i=pA[l>>2]|0;if((i|0)!=3){e=pA[B>>2]|0;pA[n>>2]=e;if((e|0)==8){ZA()}}else{pA[n>>2]=15;e=15}if(a){ff(e,w,r,(pA[A+4>>2]|0)+2392|0);r=jA[3404+(pA[n>>2]<<16>>16<<1)>>1]|0;WA=s;return r|0}switch(t<<16>>16){case 0:{ZA()}case 1:{ZA()}default:{r=-1;WA=s;return r|0}}return 0}function SA(A,e,f,i,r,n){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;var t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0;P=WA;WA=WA+480|0;h=P;n=240;B=r;l=A;w=h;t=0;while(1){E=((VA(jA[B>>1]|0,jA[l>>1]|0)|0)+16384|0)>>>15;jA[w>>1]=E;E=E<<16;t=(VA(E>>15,E>>16)|0)+t|0;if((t|0)<0){a=4;break}n=n+-1|0;if(!((n&65535)<<16>>16)){n=0;break}else{B=B+2|0;l=l+2|0;w=w+2|0}}if((a|0)==4){t=n&65535;w=240-n|0;if(!(t<<16>>16))n=0;else{B=t;l=r+(w<<1)|0;n=A+(w<<1)|0;t=h+(w<<1)|0;while(1){jA[t>>1]=((VA(jA[l>>1]|0,jA[n>>1]|0)|0)+16384|0)>>>15;B=B+-1<<16>>16;if(!(B<<16>>16)){n=0;break}else{l=l+2|0;n=n+2|0;t=t+2|0}}}do{l=n&65535;n=120;w=h;t=0;while(1){E=(jA[w>>1]|0)>>>2;C=w+2|0;jA[w>>1]=E;E=E<<16>>16;E=VA(E,E)|0;D=(jA[C>>1]|0)>>>2;jA[C>>1]=D;D=D<<16>>16;t=((VA(D,D)|0)+E<<1)+t|0;n=n+-1<<16>>16;if(!(n<<16>>16))break;else w=w+4|0}n=l+4|0}while((t|0)<1)}E=t+1|0;D=(Ni(E)|0)<<16>>16;E=E<>1]=E>>>16;jA[i>>1]=(E>>>1)-(E>>16<<15);E=h+478|0;B=e<<16>>16;if(e<<16>>16<=0){ZA()}v=h+476|0;u=D+1|0;c=239-B|0;C=h+(236-B<<1)|0;e=B;f=f+(B<<1)|0;i=i+(B<<1)|0;while(1){a=VA((c>>>1)+65535&65535,-2)|0;l=h+(a+236<<1)|0;a=C+(a<<1)|0;r=240-e|0;g=r+-1|0;w=h+(g<<1)|0;A=g>>>1&65535;r=h+(r+-2<<1)|0;B=VA(jA[E>>1]|0,jA[w>>1]|0)|0;if(!(A<<16>>16)){a=r;l=v}else{Q=v;o=E;while(1){t=w+-4|0;s=o+-4|0;B=(VA(jA[Q>>1]|0,jA[r>>1]|0)|0)+B|0;A=A+-1<<16>>16;B=(VA(jA[s>>1]|0,jA[t>>1]|0)|0)+B|0;if(!(A<<16>>16))break;else{r=w+-6|0;Q=o+-6|0;w=t;o=s}}}if(g&1)B=(VA(jA[l>>1]|0,jA[a>>1]|0)|0)+B|0;g=B<>1]=g>>>16;jA[i>>1]=(g>>>1)-(g>>16<<15);if((e&65535)+-1<<16>>16<<16>>16>0){c=c+1|0;C=C+2|0;e=e+-1|0;f=f+-2|0;i=i+-2|0}else break}h=D-n|0;h=h&65535;WA=P;return h|0}function be(A,e,f,i,r,n,t,w){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;var l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0;M=WA;WA=WA+3440|0;I=M+3420|0;P=M+3400|0;k=M+3224|0;d=M;E=M+3320|0;b=M+3240|0;h=M+24|0;We(f,A,E,2,w);Ai(E,e,b,k,5,P,5,w);je(f,b,h,w);_f(10,5,5,E,h,P,k,d,w);e=i;w=e+80|0;do{jA[e>>1]=0;e=e+2|0}while((e|0)<(w|0));jA[n>>1]=65535;jA[n+2>>1]=65535;jA[n+4>>1]=65535;jA[n+6>>1]=65535;jA[n+8>>1]=65535;o=0;Q=d;g=I;do{A=jA[Q>>1]|0;Q=Q+2|0;l=(A*6554|0)>>>15;B=l<<16>>16;e=i+(A<<1)|0;w=jA[e>>1]|0;if((jA[b+(A<<1)>>1]|0)>0){jA[e>>1]=w+4096;jA[g>>1]=8192;a=l}else{jA[e>>1]=w+61440;jA[g>>1]=-8192;a=B+8|0}g=g+2|0;s=a&65535;e=A-(l<<2)-B<<16>>16;l=n+(e<<1)|0;w=jA[l>>1]|0;A=w<<16>>16;do{if(w<<16>>16>=0){B=a<<16>>16;if(!((B^A)&8)){e=n+(e+5<<1)|0;if((A|0)>(B|0)){jA[e>>1]=w;jA[l>>1]=s;break}else{jA[e>>1]=s;break}}else{e=n+(e+5<<1)|0;if((A&7)>>>0>(B&7)>>>0){jA[e>>1]=s;break}else{jA[e>>1]=w;jA[l>>1]=s;break}}}else jA[l>>1]=s}while(0);o=o+1<<16>>16}while(o<<16>>16<10);g=I+2|0;o=I+4|0;a=I+6|0;B=I+8|0;l=I+10|0;e=I+12|0;w=I+14|0;A=I+16|0;v=I+18|0;u=40;c=f+(0-(jA[d>>1]|0)<<1)|0;C=f+(0-(jA[d+2>>1]|0)<<1)|0;D=f+(0-(jA[d+4>>1]|0)<<1)|0;E=f+(0-(jA[d+6>>1]|0)<<1)|0;h=f+(0-(jA[d+8>>1]|0)<<1)|0;P=f+(0-(jA[d+10>>1]|0)<<1)|0;k=f+(0-(jA[d+12>>1]|0)<<1)|0;b=f+(0-(jA[d+14>>1]|0)<<1)|0;i=f+(0-(jA[d+16>>1]|0)<<1)|0;Q=f+(0-(jA[d+18>>1]|0)<<1)|0;s=r;while(1){R=(VA(jA[I>>1]|0,jA[c>>1]|0)|0)>>7;L=(VA(jA[g>>1]|0,jA[C>>1]|0)|0)>>7;G=(VA(jA[o>>1]|0,jA[D>>1]|0)|0)>>7;U=(VA(jA[a>>1]|0,jA[E>>1]|0)|0)>>7;H=(VA(jA[B>>1]|0,jA[h>>1]|0)|0)>>7;F=(VA(jA[l>>1]|0,jA[P>>1]|0)|0)>>7;d=(VA(jA[e>>1]|0,jA[k>>1]|0)|0)>>7;f=(VA(jA[w>>1]|0,jA[b>>1]|0)|0)>>>7;r=(VA(jA[A>>1]|0,jA[i>>1]|0)|0)>>>7;jA[s>>1]=(R+128+L+G+U+H+F+d+f+r+((VA(jA[v>>1]|0,jA[Q>>1]|0)|0)>>>7)|0)>>>8;u=u+-1<<16>>16;if(!(u<<16>>16))break;else{c=c+2|0;C=C+2|0;D=D+2|0;E=E+2|0;h=h+2|0;P=P+2|0;k=k+2|0;b=b+2|0;i=i+2|0;Q=Q+2|0;s=s+2|0}}e=0;do{w=n+(e<<1)|0;A=jA[w>>1]|0;if((e|0)<5)A=(DA[t+((A&7)<<1)>>1]|A&8)&65535;else A=jA[t+((A&7)<<1)>>1]|0;jA[w>>1]=A;e=e+1|0}while((e|0)!=10);WA=M;return}function de(A,e,f,i,r,n,t,w){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;var l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0,T=0,y=0,Y=0;Y=WA;WA=WA+3456|0;G=Y+3448|0;H=Y+3360|0;M=Y+3368|0;o=Y+3280|0;U=Y+3200|0;F=Y;R=(i&65535)<<17;y=f<<16>>16;L=f<<16>>16<40;if(L){i=R>>16;f=y;do{B=(VA(jA[e+(f-y<<1)>>1]|0,i)|0)>>15;if((B|0)>32767){pA[w>>2]=1;B=32767}I=e+(f<<1)|0;jA[I>>1]=Ci(jA[I>>1]|0,B&65535,w)|0;f=f+1|0}while((f&65535)<<16>>16!=40)}We(e,A,M,1,w);$f(M,U,o,8);je(e,U,F,w);I=H+2|0;jA[H>>1]=0;jA[I>>1]=1;A=1;B=0;s=1;o=0;a=-1;do{b=jA[2830+(o<<1)>>1]|0;d=b<<16>>16;k=0;do{h=jA[2834+(k<<1)>>1]|0;P=h<<16>>16;E=A;C=d;c=s;D=b;u=a;while(1){l=jA[M+(C<<1)>>1]|0;g=jA[F+(C*80|0)+(C<<1)>>1]|0;f=P;s=1;v=h;A=h;a=-1;while(1){i=Ci(l,jA[M+(f<<1)>>1]|0,w)|0;i=i<<16>>16;i=(VA(i,i)|0)>>>15;Q=(jA[F+(C*80|0)+(f<<1)>>1]<<15)+32768+((jA[F+(f*80|0)+(f<<1)>>1]|0)+g<<14)|0;if(((VA(i<<16>>16,s<<16>>16)|0)-(VA(Q>>16,a<<16>>16)|0)<<1|0)>0){s=Q>>>16&65535;A=v;a=i&65535}Q=f+5|0;v=Q&65535;if(v<<16>>16>=40)break;else f=Q<<16>>16}if(((VA(a<<16>>16,c<<16>>16)|0)-(VA(s<<16>>16,u<<16>>16)|0)<<1|0)>0){jA[H>>1]=D;jA[I>>1]=A;B=D}else{A=E;s=c;a=u}Q=C+5|0;D=Q&65535;if(D<<16>>16>=40)break;else{E=A;C=Q<<16>>16;c=s;u=a}}k=k+1|0}while((k|0)!=4);o=o+1|0}while((o|0)!=2);g=A;v=B;i=r;f=i+80|0;do{jA[i>>1]=0;i=i+2|0}while((i|0)<(f|0));s=v;f=0;Q=0;i=0;while(1){B=s<<16>>16;l=jA[U+(B<<1)>>1]|0;A=(B*6554|0)>>>15;s=A<<16;o=s>>15;a=B-(o+(A<<3)<<16>>17)|0;switch(a<<16>>16|0){case 0:{o=s>>10;A=1;break}case 1:{if(!((f&65535)<<16>>16))A=0;else{o=A<<22>>16|16;A=1}break}case 2:{o=A<<22>>16|32;A=1;break}case 3:{o=A<<17>>16|1;A=0;break}case 4:{o=A<<22>>16|48;A=1;break}default:{o=A;A=a&65535}}o=o&65535;a=r+(B<<1)|0;if(l<<16>>16>0){jA[a>>1]=8191;jA[G+(f<<1)>>1]=32767;B=A<<16>>16;if(A<<16>>16<0){ZA()}else{F=1<>16>>B|0)==1?F&65535:32767}i=Ci(i,B,w)|0}else{jA[a>>1]=-8192;jA[G+(f<<1)>>1]=-32768}B=Ci(Q,o,w)|0;f=f+1|0;if((f|0)==2){Q=B;break}s=jA[H+(f<<1)>>1]|0;Q=B}jA[t>>1]=i;o=G+2|0;s=jA[G>>1]|0;A=0;a=e+(0-(v<<16>>16)<<1)|0;B=e+(0-(g<<16>>16)<<1)|0;do{i=VA(jA[a>>1]|0,s)|0;a=a+2|0;if((i|0)!=1073741824?(T=i<<1,!((i|0)>0&(T|0)<0)):0)l=T;else{pA[w>>2]=1;l=2147483647}f=VA(jA[o>>1]|0,jA[B>>1]|0)|0;B=B+2|0;if((f|0)!=1073741824){i=(f<<1)+l|0;if((f^l|0)>0&(i^l|0)<0){pA[w>>2]=1;i=(l>>>31)+2147483647|0}}else{pA[w>>2]=1;i=2147483647}jA[n+(A<<1)>>1]=er(i,w)|0;A=A+1|0}while((A|0)!=40);if(!L){WA=Y;return Q|0}f=R>>16;i=y;do{l=(VA(jA[r+(i-y<<1)>>1]|0,f)|0)>>15;if((l|0)>32767){pA[w>>2]=1;l=32767}n=r+(i<<1)|0;jA[n>>1]=Ci(jA[n>>1]|0,l&65535,w)|0;i=i+1|0}while((i&65535)<<16>>16!=40);WA=Y;return Q|0}function Ie(A,e,f,i,r,n,t,w,l,B){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;var a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0;E=WA;WA=WA+3456|0;g=E+3360|0;v=E+3368|0;u=E+3280|0;c=E+3200|0;C=E;D=r<<16>>16;o=D<<1;if((o|0)==(D<<17>>16|0))Q=o;else{pA[B>>2]=1;Q=r<<16>>16>0?32767:-32768}D=i<<16>>16;a=i<<16>>16<40;if(a){r=Q<<16>>16;s=D;do{i=f+(s<<1)|0;o=(VA(jA[f+(s-D<<1)>>1]|0,r)|0)>>15;if((o|0)>32767){pA[B>>2]=1;o=32767}jA[i>>1]=Ci(jA[i>>1]|0,o&65535,B)|0;s=s+1|0}while((s&65535)<<16>>16!=40)}We(f,e,v,1,B);$f(v,c,u,8);je(f,c,C,B);Me(A,v,C,l,g);o=Fe(A,g,c,n,f,t,w,B)|0;if(!a){WA=E;return o|0}s=Q<<16>>16;r=D;do{i=n+(r<<1)|0;a=(VA(jA[n+(r-D<<1)>>1]|0,s)|0)>>15;if((a|0)>32767){pA[B>>2]=1;a=32767}jA[i>>1]=Ci(jA[i>>1]|0,a&65535,B)|0;r=r+1|0}while((r&65535)<<16>>16!=40);WA=E;return o|0}function Me(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0;h=r+2|0;jA[r>>1]=0;jA[h>>1]=1;D=A<<16>>16<<1;n=1;E=0;A=-1;do{C=(E<<3)+D<<16>>16;l=jA[i+(C<<1)>>1]|0;C=jA[i+((C|1)<<1)>>1]|0;t=l<<16>>16;A:do{if(l<<16>>16<40){c=C<<16>>16;if(C<<16>>16<40)u=n;else while(1){ZA()}while(1){g=jA[f+(t*80|0)+(t<<1)>>1]|0;Q=DA[e+(t<<1)>>1]|0;o=c;n=1;v=C;w=C;B=-1;while(1){s=(DA[e+(o<<1)>>1]|0)+Q<<16>>16;s=(VA(s,s)|0)>>>15;a=(jA[f+(t*80|0)+(o<<1)>>1]<<15)+32768+((jA[f+(o*80|0)+(o<<1)>>1]|0)+g<<14)|0;if(((VA(s<<16>>16,n<<16>>16)|0)-(VA(a>>16,B<<16>>16)|0)<<1|0)>0){n=a>>>16&65535;w=v;B=s&65535}a=o+5|0;v=a&65535;if(v<<16>>16>=40)break;else o=a<<16>>16}if(((VA(B<<16>>16,u<<16>>16)|0)-(VA(n<<16>>16,A<<16>>16)|0)<<1|0)>0){jA[r>>1]=l;jA[h>>1]=w;A=B}else n=u;t=t+5|0;l=t&65535;if(l<<16>>16>=40)break;else{t=t<<16>>16;u=n}}}}while(0);E=E+1|0}while((E|0)!=2);return}function Fe(A,e,f,i,r,n,t,w){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;var l=0,B=0,a=0,s=0,o=0,Q=0;l=i;B=l+80|0;do{jA[l>>1]=0;l=l+2|0}while((l|0)<(B|0));l=jA[e>>1]|0;o=(l*6554|0)>>>15;B=o<<16>>16;s=(748250>>>((l+(VA(B,-5)|0)<<16>>16)+((A<<16>>16)*5|0)|0)&1|0)==0;a=(jA[f+(l<<1)>>1]|0)>0;Q=a?32767:-32768;jA[i+(l<<1)>>1]=a?8191:-8192;l=e+2|0;A=jA[l>>1]|0;i=i+(A<<1)|0;if((jA[f+(A<<1)>>1]|0)>0){jA[i>>1]=8191;f=32767;i=(a&1|2)&65535}else{jA[i>>1]=-8192;f=-32768;i=a&1}o=((A*6554|0)>>>15<<3)+(s?o:B+64|0)&65535;jA[t>>1]=i;s=0;a=r+(0-(jA[e>>1]|0)<<1)|0;i=r+(0-(jA[l>>1]|0)<<1)|0;do{l=VA(Q,jA[a>>1]|0)|0;a=a+2|0;if((l|0)==1073741824){pA[w>>2]=1;A=2147483647}else A=l<<1;B=VA(f,jA[i>>1]|0)|0;i=i+2|0;if((B|0)!=1073741824){l=(B<<1)+A|0;if((B^A|0)>0&(l^A|0)<0){pA[w>>2]=1;l=(A>>>31)+2147483647|0}}else{pA[w>>2]=1;l=2147483647}jA[n+(s<<1)>>1]=er(l,w)|0;s=s+1|0}while((s|0)!=40);return o|0}function He(A,e,f,i,r,n,t,w){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;var l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0,T=0,y=0,Y=0,z=0,X=0,J=0,O=0,m=0,N=0;N=WA;WA=WA+3440|0;T=N+3360|0;y=N+3280|0;z=N+3200|0;Y=N;J=(i&65535)<<17;m=f<<16>>16;X=f<<16>>16<40;if(X){f=J>>16;l=m;do{i=(VA(jA[e+(l-m<<1)>>1]|0,f)|0)>>15;if((i|0)>32767){pA[w>>2]=1;i=32767}R=e+(l<<1)|0;jA[R>>1]=Ci(jA[R>>1]|0,i&65535,w)|0;l=l+1|0}while((l&65535)<<16>>16!=40)}We(e,A,T,1,w);$f(T,z,y,6);je(e,z,Y,w);R=1;B=2;a=1;i=0;l=1;A=-1;s=1;while(1){L=2;g=2;while(1){H=0;U=0;G=s;F=g;while(1){if(U<<16>>16<40){b=G<<16>>16;d=G<<16>>16<40;I=F<<16>>16;M=F<<16>>16<40;P=U<<16>>16;k=U;while(1){if((jA[y+(P<<1)>>1]|0)>-1){D=jA[Y+(P*80|0)+(P<<1)>>1]|0;if(d){E=DA[T+(P<<1)>>1]|0;C=b;Q=1;h=G;f=G;g=0;o=-1;while(1){u=(DA[T+(C<<1)>>1]|0)+E|0;c=u<<16>>16;c=(VA(c,c)|0)>>>15;v=(jA[Y+(P*80|0)+(C<<1)>>1]<<15)+32768+((jA[Y+(C*80|0)+(C<<1)>>1]|0)+D<<14)|0;if(((VA(c<<16>>16,Q<<16>>16)|0)-(VA(v>>16,o<<16>>16)|0)<<1|0)>0){Q=v>>>16&65535;f=h;g=u&65535;o=c&65535}v=C+5|0;h=v&65535;if(h<<16>>16>=40)break;else C=v<<16>>16}}else{Q=1;f=G;g=0}if(M){E=g&65535;h=f<<16>>16;C=(Q<<16>>16<<14)+32768|0;c=I;g=1;D=F;o=F;Q=-1;while(1){u=(DA[T+(c<<1)>>1]|0)+E<<16>>16;u=(VA(u,u)|0)>>>15;v=C+(jA[Y+(c*80|0)+(c<<1)>>1]<<12)+((jA[Y+(P*80|0)+(c<<1)>>1]|0)+(jA[Y+(h*80|0)+(c<<1)>>1]|0)<<13)|0;if(((VA(u<<16>>16,g<<16>>16)|0)-(VA(v>>16,Q<<16>>16)|0)<<1|0)>0){g=v>>>16&65535;o=D;Q=u&65535}v=c+5|0;D=v&65535;if(D<<16>>16>=40){C=g;c=Q;break}else c=v<<16>>16}}else{C=1;o=F;c=-1}g=VA(c<<16>>16,l<<16>>16)|0;if((g|0)==1073741824){ZA()}else v=g<<1;g=VA(C<<16>>16,A<<16>>16)|0;if((g|0)==1073741824){ZA()}else Q=g<<1;g=v-Q|0;if(((g^v)&(Q^v)|0)<0){ZA()}h=(g|0)>0;B=h?o:B;a=h?f:a;i=h?k:i;l=h?C:l;A=h?c:A}g=P+5|0;k=g&65535;if(k<<16>>16>=40)break;else P=g<<16>>16}}H=H+1<<16>>16;if(H<<16>>16>=3)break;else{M=F;F=G;G=U;U=M}}f=L+2|0;g=f&65535;if(g<<16>>16>=5)break;else L=f&65535}f=R+2|0;s=f&65535;if(s<<16>>16<4)R=f&65535;else{g=B;B=a;break}}f=r;l=f+80|0;do{jA[f>>1]=0;f=f+2|0}while((f|0)<(l|0));c=i<<16>>16;A=jA[z+(c<<1)>>1]|0;i=(c*6554|0)>>>15;f=i<<16;l=c-(((f>>16)*327680|0)>>>16)|0;switch(l<<16>>16|0){case 1:{i=f>>12;break}case 2:{i=f>>8;l=2;break}case 3:{i=i<<20>>16|8;l=1;break}case 4:{i=i<<24>>16|128;l=2;break}default:{}}f=r+(c<<1)|0;if(A<<16>>16>0){jA[f>>1]=8191;h=32767;a=65536<<(l<<16>>16)>>>16&65535}else{jA[f>>1]=-8192;h=-32768;a=0}v=B<<16>>16;B=jA[z+(v<<1)>>1]|0;f=(v*6554|0)>>>15;l=f<<16;A=v-(((l>>16)*327680|0)>>>16)|0;switch(A<<16>>16|0){case 1:{f=l>>12;break}case 2:{f=l>>8;A=2;break}case 3:{f=f<<20>>16|8;A=1;break}case 4:{f=f<<24>>16|128;A=2;break}default:{}}l=r+(v<<1)|0;if(B<<16>>16>0){jA[l>>1]=8191;u=32767;a=(65536<<(A<<16>>16)>>>16)+(a&65535)&65535}else{jA[l>>1]=-8192;u=-32768}s=f+i|0;Q=g<<16>>16;B=jA[z+(Q<<1)>>1]|0;i=(Q*6554|0)>>>15;f=i<<16;l=Q-(((f>>16)*327680|0)>>>16)|0;switch(l<<16>>16|0){case 1:{f=f>>12;break}case 2:{f=f>>8;l=2;break}case 3:{f=i<<20>>16|8;l=1;break}case 4:{f=i<<24>>16|128;l=2;break}default:f=i}i=r+(Q<<1)|0;if(B<<16>>16>0){jA[i>>1]=8191;g=32767;i=(65536<<(l<<16>>16)>>>16)+(a&65535)&65535}else{jA[i>>1]=-8192;g=-32768;i=a}o=s+f|0;jA[t>>1]=i;a=0;s=e+(0-c<<1)|0;A=e+(0-v<<1)|0;B=e+(0-Q<<1)|0;do{i=VA(jA[s>>1]|0,h)|0;s=s+2|0;if((i|0)!=1073741824?(O=i<<1,!((i|0)>0&(O|0)<0)):0)l=O;else{pA[w>>2]=1;l=2147483647}i=VA(jA[A>>1]|0,u)|0;A=A+2|0;if((i|0)!=1073741824){f=(i<<1)+l|0;if((i^l|0)>0&(f^l|0)<0){pA[w>>2]=1;f=(l>>>31)+2147483647|0}}else{pA[w>>2]=1;f=2147483647}l=VA(jA[B>>1]|0,g)|0;B=B+2|0;if((l|0)!=1073741824){i=(l<<1)+f|0;if((l^f|0)>0&(i^f|0)<0){pA[w>>2]=1;i=(f>>>31)+2147483647|0}}else{pA[w>>2]=1;i=2147483647}jA[n+(a<<1)>>1]=er(i,w)|0;a=a+1|0}while((a|0)!=40);i=o&65535;if(!X){WA=N;return i|0}l=J>>16;f=m;do{A=(VA(jA[r+(f-m<<1)>>1]|0,l)|0)>>15;if((A|0)>32767){pA[w>>2]=1;A=32767}n=r+(f<<1)|0;jA[n>>1]=Ci(jA[n>>1]|0,A&65535,w)|0;f=f+1|0}while((f&65535)<<16>>16!=40);WA=N;return i|0}function Ue(A,e,f,i,r,n,t,w,l){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;var B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0,T=0,y=0,Y=0,z=0,X=0,J=0,O=0,m=0,N=0,K=0,S=0,x=0,j=0,p=0,W=0,V=0,Z=0,q=0,_=0;_=WA;WA=WA+3456|0;p=_+3448|0;x=_+3360|0;N=_+3368|0;K=_+3280|0;j=_+3200|0;S=_;V=(i&65535)<<17;q=f<<16>>16;W=f<<16>>16<40;if(W){f=V>>16;B=q;do{i=(VA(jA[e+(B-q<<1)>>1]|0,f)|0)>>15;if((i|0)>32767){pA[l>>2]=1;i=32767}m=e+(B<<1)|0;jA[m>>1]=Ci(jA[m>>1]|0,i&65535,l)|0;B=B+1|0}while((B&65535)<<16>>16!=40)}We(e,A,N,1,l);$f(N,j,K,4);je(e,j,S,l);J=x+2|0;jA[x>>1]=0;O=x+4|0;jA[J>>1]=1;m=x+6|0;jA[O>>1]=2;jA[m>>1]=3;Q=3;s=2;a=1;i=0;f=1;B=-1;o=3;do{T=0;y=0;Y=o;z=1;X=2;while(1){if(y<<16>>16<40){F=z<<16>>16;H=z<<16>>16<40;U=X<<16>>16;G=X<<16>>16<40;L=Y<<16>>16;R=Y<<16>>16<40;M=y<<16>>16;I=s;b=a;k=f;d=y;while(1){if((jA[K+(M<<1)>>1]|0)>-1){v=jA[S+(M*80|0)+(M<<1)>>1]|0;if(H){g=DA[N+(M<<1)>>1]|0;u=F;h=1;s=z;a=z;D=0;E=-1;while(1){C=(DA[N+(u<<1)>>1]|0)+g|0;c=C<<16>>16;c=(VA(c,c)|0)>>>15;P=(jA[S+(M*80|0)+(u<<1)>>1]<<15)+32768+((jA[S+(u*80|0)+(u<<1)>>1]|0)+v<<14)|0;if(((VA(c<<16>>16,h<<16>>16)|0)-(VA(P>>16,E<<16>>16)|0)<<1|0)>0){h=P>>>16&65535;a=s;D=C&65535;E=c&65535}P=u+5|0;s=P&65535;if(s<<16>>16>=40)break;else u=P<<16>>16}}else{h=1;a=z;D=0}if(G){f=D&65535;A=a<<16>>16;v=(h<<16>>16<<14)+32768|0;u=U;P=1;g=X;s=X;E=0;D=-1;while(1){C=(DA[N+(u<<1)>>1]|0)+f|0;c=C<<16>>16;c=(VA(c,c)|0)>>>15;h=v+(jA[S+(u*80|0)+(u<<1)>>1]<<12)+((jA[S+(M*80|0)+(u<<1)>>1]|0)+(jA[S+(A*80|0)+(u<<1)>>1]|0)<<13)|0;if(((VA(c<<16>>16,P<<16>>16)|0)-(VA(h>>16,D<<16>>16)|0)<<1|0)>0){P=h>>>16&65535;s=g;E=C&65535;D=c&65535}h=u+5|0;g=h&65535;if(g<<16>>16>=40)break;else u=h<<16>>16}}else{P=1;s=X;E=0}if(R){v=E&65535;g=s<<16>>16;A=a<<16>>16;c=(P&65535)<<16|32768;C=L;f=1;u=Y;h=Y;P=-1;while(1){D=(DA[N+(C<<1)>>1]|0)+v<<16>>16;D=(VA(D,D)|0)>>>15;E=(jA[S+(C*80|0)+(C<<1)>>1]<<12)+c+((jA[S+(A*80|0)+(C<<1)>>1]|0)+(jA[S+(g*80|0)+(C<<1)>>1]|0)+(jA[S+(M*80|0)+(C<<1)>>1]|0)<<13)|0;if(((VA(D<<16>>16,f<<16>>16)|0)-(VA(E>>16,P<<16>>16)|0)<<1|0)>0){f=E>>>16&65535;h=u;P=D&65535}E=C+5|0;u=E&65535;if(u<<16>>16>=40)break;else C=E<<16>>16}}else{f=1;h=Y;P=-1}if(((VA(P<<16>>16,k<<16>>16)|0)-(VA(f<<16>>16,B<<16>>16)|0)<<1|0)>0){jA[x>>1]=d;jA[J>>1]=a;jA[O>>1]=s;jA[m>>1]=h;Q=h;i=d;B=P}else{s=I;a=b;f=k}}else{s=I;a=b;f=k}C=M+5|0;d=C&65535;if(d<<16>>16>=40)break;else{M=C<<16>>16;I=s;b=a;k=f}}}T=T+1<<16>>16;if(T<<16>>16>=4)break;else{L=X;R=Y;X=z;z=y;Y=L;y=R}}o=o+1<<16>>16}while(o<<16>>16<5);P=Q;h=s;E=a;D=i;i=r;f=i+80|0;do{jA[i>>1]=0;i=i+2|0}while((i|0)<(f|0));A=D;f=0;B=0;i=0;while(1){s=A<<16>>16;o=jA[j+(s<<1)>>1]|0;A=s*13108>>16;a=s-((A*327680|0)>>>16)|0;A=jA[w+(A<<1)>>1]|0;switch(a<<16>>16|0){case 1:{Q=A<<16>>16<<3&65535;break}case 2:{Q=A<<16>>16<<6&65535;break}case 3:{Q=A<<16>>16<<10&65535;break}case 4:{Q=((A&65535)<<10|512)&65535;a=3;break}default:Q=A}A=r+(s<<1)|0;if(o<<16>>16>0){jA[A>>1]=8191;A=32767;i=(65536<<(a<<16>>16)>>>16)+(i&65535)&65535}else{jA[A>>1]=-8192;A=-32768}jA[p+(f<<1)>>1]=A;B=(Q&65535)+(B&65535)|0;f=f+1|0;if((f|0)==4){C=B;break}A=jA[x+(f<<1)>>1]|0}jA[t>>1]=i;v=p+2|0;u=p+4|0;c=p+6|0;A=jA[p>>1]|0;g=0;a=e+(0-(D<<16>>16)<<1)|0;s=e+(0-(E<<16>>16)<<1)|0;o=e+(0-(h<<16>>16)<<1)|0;Q=e+(0-(P<<16>>16)<<1)|0;do{i=VA(jA[a>>1]|0,A)|0;a=a+2|0;if((i|0)!=1073741824?(Z=i<<1,!((i|0)>0&(Z|0)<0)):0)B=Z;else{pA[l>>2]=1;B=2147483647}i=VA(jA[v>>1]|0,jA[s>>1]|0)|0;s=s+2|0;if((i|0)!=1073741824){f=(i<<1)+B|0;if((i^B|0)>0&(f^B|0)<0){pA[l>>2]=1;f=(B>>>31)+2147483647|0}}else{pA[l>>2]=1;f=2147483647}i=VA(jA[u>>1]|0,jA[o>>1]|0)|0;o=o+2|0;if((i|0)!=1073741824){B=(i<<1)+f|0;if((i^f|0)>0&(B^f|0)<0){pA[l>>2]=1;B=(f>>>31)+2147483647|0}}else{pA[l>>2]=1;B=2147483647}f=VA(jA[c>>1]|0,jA[Q>>1]|0)|0;Q=Q+2|0;if((f|0)!=1073741824){i=(f<<1)+B|0;if((f^B|0)>0&(i^B|0)<0){pA[l>>2]=1;i=(B>>>31)+2147483647|0}}else{pA[l>>2]=1;i=2147483647}jA[n+(g<<1)>>1]=er(i,l)|0;g=g+1|0}while((g|0)!=40);i=C&65535;if(((q<<16)+-2621440|0)>-1|W^1){WA=_;return i|0}B=V>>16;f=q;do{A=(VA(jA[r+(f-q<<1)>>1]|0,B)|0)>>15;if((A|0)>32767){pA[l>>2]=1;A=32767}n=r+(f<<1)|0;jA[n>>1]=Ci(jA[n>>1]|0,A&65535,l)|0;f=f+1|0}while((f&65535)<<16>>16!=40);WA=_;return i|0}function Ge(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0;R=WA;WA=WA+3440|0;v=R+3424|0;F=R+3408|0;H=R+3240|0;u=R+3224|0;I=R+3328|0;g=R+3248|0;M=R+24|0;L=R+16|0;G=R;pe(f,A,I,2,4,4,t);Ai(I,e,g,H,4,F,4,t);je(f,g,M,t);_f(8,4,4,I,M,F,H,u,t);e=i;A=e+80|0;do{jA[e>>1]=0;e=e+2|0}while((e|0)<(A|0));jA[G>>1]=-1;jA[L>>1]=-1;b=G+2|0;jA[b>>1]=-1;d=L+2|0;jA[d>>1]=-1;I=G+4|0;jA[I>>1]=-1;M=L+4|0;jA[M>>1]=-1;H=G+6|0;jA[H>>1]=-1;F=L+6|0;jA[F>>1]=-1;o=0;do{a=jA[u+(o<<1)>>1]|0;e=a>>>2;l=e&65535;A=a&3;B=(jA[g+(a<<1)>>1]|0)>0;a=i+(a<<1)|0;Q=B&1^1;jA[a>>1]=(DA[a>>1]|0)+(B?8191:57345);jA[v+(o<<1)>>1]=B?32767:-32768;B=G+(A<<1)|0;a=jA[B>>1]|0;do{if(a<<16>>16>=0){s=L+(A<<1)|0;w=(a<<16>>16|0)<=(e<<16>>16|0);e=G+((A|4)<<1)|0;if((Q&65535|0)==(DA[s>>1]&1|0))if(w){jA[e>>1]=l;break}else{jA[e>>1]=a;jA[B>>1]=l;jA[s>>1]=Q;break}else if(w){jA[e>>1]=a;jA[B>>1]=l;jA[s>>1]=Q;break}else{jA[e>>1]=l;break}}else{jA[B>>1]=l;jA[L+(A<<1)>>1]=Q}}while(0);o=o+1|0}while((o|0)!=8);c=v+2|0;C=v+4|0;D=v+6|0;E=v+8|0;h=v+10|0;P=v+12|0;k=v+14|0;v=jA[v>>1]|0;o=0;s=f+(0-(jA[u>>1]|0)<<1)|0;a=f+(0-(jA[u+2>>1]|0)<<1)|0;B=f+(0-(jA[u+4>>1]|0)<<1)|0;l=f+(0-(jA[u+6>>1]|0)<<1)|0;e=f+(0-(jA[u+8>>1]|0)<<1)|0;A=f+(0-(jA[u+10>>1]|0)<<1)|0;w=f+(0-(jA[u+12>>1]|0)<<1)|0;f=f+(0-(jA[u+14>>1]|0)<<1)|0;do{Q=VA(jA[s>>1]|0,v)|0;s=s+2|0;if((Q|0)!=1073741824?(U=Q<<1,!((Q|0)>0&(U|0)<0)):0)Q=U;else{pA[t>>2]=1;Q=2147483647}g=VA(jA[c>>1]|0,jA[a>>1]|0)|0;a=a+2|0;if((g|0)!=1073741824){i=(g<<1)+Q|0;if((g^Q|0)>0&(i^Q|0)<0){pA[t>>2]=1;Q=(Q>>>31)+2147483647|0}else Q=i}else{pA[t>>2]=1;Q=2147483647}g=VA(jA[C>>1]|0,jA[B>>1]|0)|0;B=B+2|0;if((g|0)!=1073741824){i=(g<<1)+Q|0;if((g^Q|0)>0&(i^Q|0)<0){pA[t>>2]=1;i=(Q>>>31)+2147483647|0}}else{pA[t>>2]=1;i=2147483647}g=VA(jA[D>>1]|0,jA[l>>1]|0)|0;l=l+2|0;if((g|0)!=1073741824){Q=(g<<1)+i|0;if((g^i|0)>0&(Q^i|0)<0){pA[t>>2]=1;Q=(i>>>31)+2147483647|0}}else{pA[t>>2]=1;Q=2147483647}g=VA(jA[E>>1]|0,jA[e>>1]|0)|0;e=e+2|0;if((g|0)!=1073741824){i=(g<<1)+Q|0;if((g^Q|0)>0&(i^Q|0)<0){pA[t>>2]=1;i=(Q>>>31)+2147483647|0}}else{pA[t>>2]=1;i=2147483647}g=VA(jA[h>>1]|0,jA[A>>1]|0)|0;A=A+2|0;if((g|0)!=1073741824){Q=(g<<1)+i|0;if((g^i|0)>0&(Q^i|0)<0){pA[t>>2]=1;Q=(i>>>31)+2147483647|0}}else{pA[t>>2]=1;Q=2147483647}g=VA(jA[P>>1]|0,jA[w>>1]|0)|0;w=w+2|0;if((g|0)!=1073741824){i=(g<<1)+Q|0;if((g^Q|0)>0&(i^Q|0)<0){pA[t>>2]=1;i=(Q>>>31)+2147483647|0}}else{pA[t>>2]=1;i=2147483647}g=VA(jA[k>>1]|0,jA[f>>1]|0)|0;f=f+2|0;if((g|0)!=1073741824){Q=(g<<1)+i|0;if((g^i|0)>0&(Q^i|0)<0){pA[t>>2]=1;Q=(i>>>31)+2147483647|0}}else{pA[t>>2]=1;Q=2147483647}jA[r+(o<<1)>>1]=er(Q,t)|0;o=o+1|0}while((o|0)!=40);jA[n>>1]=jA[L>>1]|0;jA[n+2>>1]=jA[d>>1]|0;jA[n+4>>1]=jA[M>>1]|0;jA[n+6>>1]=jA[F>>1]|0;A=jA[G>>1]|0;e=jA[G+8>>1]|0;w=jA[b>>1]|0;jA[n+8>>1]=e<<1&2|A&1|w<<2&4|(((e>>1)*327680|0)+(A>>>1<<16)+(VA(w>>1,1638400)|0)|0)>>>13&65528;w=jA[I>>1]|0;A=jA[G+12>>1]|0;e=jA[G+10>>1]|0;jA[n+10>>1]=A<<1&2|w&1|e<<2&4|(((A>>1)*327680|0)+(w>>>1<<16)+(VA(e>>1,1638400)|0)|0)>>>13&65528;e=jA[G+14>>1]|0;w=jA[H>>1]|0;A=w<<16>>16>>>1;if(!(e&2)){r=A;t=e<<16>>16;L=t>>1;L=L*327680|0;r=r<<16;L=r+L|0;L=L<<5;L=L>>16;L=L|12;L=L*2622|0;L=L>>>16;r=w&65535;r=r&1;t=t<<17;t=t&131072;L=L<<18;t=L|t;t=t>>>16;r=t|r;r=r&65535;n=n+12|0;jA[n>>1]=r;WA=R;return}r=4-(A<<16>>16)|0;t=e<<16>>16;L=t>>1;L=L*327680|0;r=r<<16;L=r+L|0;L=L<<5;L=L>>16;L=L|12;L=L*2622|0;L=L>>>16;r=w&65535;r=r&1;t=t<<17;t=t&131072;L=L<<18;t=L|t;t=t>>>16;r=t|r;r=r&65535;n=n+12|0;jA[n>>1]=r;WA=R;return}function Le(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0;v=f<<16>>16;n=0-v|0;f=r+(n<<2)|0;r=((v-(i<<16>>16)|0)>>>2)+1&65535;if(r<<16>>16<=0)return;v=e<<16>>16>>>1&65535;if(!(v<<16>>16)){ZA()}g=A+(n<<1)|0;while(1){B=g+4|0;s=jA[B>>1]|0;w=jA[g>>1]|0;a=s;l=v;o=A;Q=g;g=g+8|0;t=0;n=0;i=0;e=0;while(1){c=jA[o>>1]|0;u=(VA(w<<16>>16,c)|0)+t|0;t=jA[Q+2>>1]|0;n=(VA(t,c)|0)+n|0;w=(VA(a<<16>>16,c)|0)+i|0;i=jA[Q+6>>1]|0;a=(VA(i,c)|0)+e|0;e=jA[o+2>>1]|0;t=u+(VA(e,t)|0)|0;n=n+(VA(s<<16>>16,e)|0)|0;B=B+4|0;i=w+(VA(e,i)|0)|0;w=jA[B>>1]|0;e=a+(VA(w<<16>>16,e)|0)|0;l=l+-1<<16>>16;if(!(l<<16>>16))break;c=s;a=w;s=jA[Q+8>>1]|0;o=o+4|0;Q=Q+4|0;w=c}pA[f>>2]=t<<1;pA[f+4>>2]=n<<1;pA[f+8>>2]=i<<1;pA[f+12>>2]=e<<1;if(r<<16>>16<=1)break;else{f=f+16|0;r=r+-1<<16>>16}}return}function Re(A,e,f,i,r,n,t,w,l){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;var B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0;E=WA;WA=WA+16|0;C=E+2|0;D=E;do{if(r<<16>>16>0){g=i<<16>>16;u=0;s=0;i=0;a=0;v=0;while(1){B=jA[A+(u<<1)>>1]|0;o=B<<16>>16;s=(VA(o,o)|0)+s|0;o=jA[e+(u<<1)>>1]|0;i=(VA(o,o)|0)+i|0;a=(VA(jA[f+(u<<1)>>1]|0,o)|0)+a|0;o=VA(o,g)|0;if((o|0)==1073741824){pA[l>>2]=1;Q=2147483647}else Q=o<<1;o=Q<<1;o=(nr(B,er((o>>1|0)==(Q|0)?o:Q>>31^2147483647,l)|0,l)|0)<<16>>16;o=VA(o,o)|0;if((o|0)!=1073741824){B=(o<<1)+v|0;if((o^v|0)>0&(B^v|0)<0){pA[l>>2]=1;B=(v>>>31)+2147483647|0}}else{pA[l>>2]=1;B=2147483647}u=u+1|0;if((u&65535)<<16>>16==r<<16>>16){v=B;break}else v=B}s=s<<1;i=i<<1;a=a<<1;if((s|0)>=0){if((s|0)<400){B=v;c=14;break}}else{pA[l>>2]=1;s=2147483647}Q=Ni(s)|0;o=Q<<16>>16;if(Q<<16>>16>0){B=s<>o|0)!=(s|0))B=s>>31^2147483647}else{B=0-o<<16;if((B|0)<2031616)B=s>>(B>>16);else B=0}jA[n>>1]=B>>>16;s=i;g=a;B=v;i=15-(Q&65535)&65535}else{i=0;a=0;B=0;c=14}}while(0);if((c|0)==14){jA[n>>1]=0;s=i;g=a;i=-15}jA[t>>1]=i;if((s|0)<0){pA[l>>2]=1;s=2147483647}o=Ni(s)|0;a=o<<16>>16;if(o<<16>>16>0){i=s<>a|0)!=(s|0))i=s>>31^2147483647}else{i=0-a<<16;if((i|0)<2031616)i=s>>(i>>16);else i=0}jA[n+2>>1]=i>>>16;jA[t+2>>1]=15-(o&65535);s=Ni(g)|0;a=s<<16>>16;if(s<<16>>16>0){i=g<>a|0)!=(g|0))i=g>>31^2147483647}else{i=0-a<<16;if((i|0)<2031616)i=g>>(i>>16);else i=0}jA[n+4>>1]=i>>>16;jA[t+4>>1]=2-(s&65535);s=Ni(B)|0;i=s<<16>>16;if(s<<16>>16>0){a=B<>i|0)!=(B|0))a=B>>31^2147483647}else{i=0-i<<16;if((i|0)<2031616)a=B>>(i>>16);else a=0}i=a>>>16&65535;B=15-(s&65535)&65535;jA[n+6>>1]=i;jA[t+6>>1]=B;if((a>>16|0)<=0){l=0;jA[w>>1]=l;WA=E;return}a=jA[n>>1]|0;if(!(a<<16>>16)){l=0;jA[w>>1]=l;WA=E;return}i=Ei(fr(a,1,l)|0,i)|0;i=(i&65535)<<16;a=((nr(B,jA[t>>1]|0,l)|0)&65535)+3|0;B=a&65535;a=a<<16>>16;if(B<<16>>16>0)B=B<<16>>16<31?i>>a:0;else{t=0-a<<16>>16;B=i<>t|0)==(i|0)?B:i>>31^2147483647}Gi(B,C,D,l);D=cf((DA[C>>1]|0)+65509&65535,jA[D>>1]|0,l)|0;C=D<<13;l=er((C>>13|0)==(D|0)?C:D>>31^2147483647,l)|0;jA[w>>1]=l;WA=E;return}function Te(A,e,f,i,r,n,t,w,l,B,a){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;var s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0;E=WA;WA=WA+80|0;c=E;jA[t>>1]=jA[n>>1]|0;jA[w>>1]=jA[n+2>>1]|0;Q=jA[n+4>>1]|0;if(Q<<16>>16==-32768)Q=32767;else Q=0-(Q&65535)&65535;jA[t+2>>1]=Q;jA[w+2>>1]=(DA[n+6>>1]|0)+1;switch(A|0){case 0:case 5:{u=0;o=0;s=0;v=0;break}default:{u=0;o=1;s=1;v=1}}while(1){g=(jA[r+(u<<1)>>1]|0)>>>3;jA[c+(u<<1)>>1]=g;g=g<<16>>16;Q=VA(g,g)|0;if((Q|0)!=1073741824){n=(Q<<1)+o|0;if((Q^o|0)>0&(n^o|0)<0){pA[a>>2]=1;o=(o>>>31)+2147483647|0}else o=n}else{pA[a>>2]=1;o=2147483647}Q=VA(jA[e+(u<<1)>>1]|0,g)|0;if((Q|0)!=1073741824){n=(Q<<1)+s|0;if((Q^s|0)>0&(n^s|0)<0){pA[a>>2]=1;s=(s>>>31)+2147483647|0}else s=n}else{pA[a>>2]=1;s=2147483647}Q=VA(jA[i+(u<<1)>>1]|0,g)|0;if((Q|0)!=1073741824){n=(Q<<1)+v|0;if((Q^v|0)>0&(n^v|0)<0){pA[a>>2]=1;n=(v>>>31)+2147483647|0}}else{pA[a>>2]=1;n=2147483647}u=u+1|0;if((u|0)==40){i=n;g=s;break}else v=n}s=Ni(o)|0;n=s<<16>>16;if(s<<16>>16>0){Q=o<>n|0)!=(o|0))Q=o>>31^2147483647}else{Q=0-n<<16;if((Q|0)<2031616)Q=o>>(Q>>16);else Q=0}r=t+4|0;jA[r>>1]=Q>>>16;e=w+4|0;jA[e>>1]=-3-(s&65535);o=Ni(g)|0;n=o<<16>>16;if(o<<16>>16>0){Q=g<>n|0)!=(g|0))Q=g>>31^2147483647}else{Q=0-n<<16;if((Q|0)<2031616)Q=g>>(Q>>16);else Q=0}n=Q>>>16;jA[t+6>>1]=(n|0)==32768?32767:0-n&65535;jA[w+6>>1]=7-(o&65535);o=Ni(i)|0;n=o<<16>>16;if(o<<16>>16>0){Q=i<>n|0)!=(i|0))Q=i>>31^2147483647}else{Q=0-n<<16;if((Q|0)<2031616)Q=i>>(Q>>16);else Q=0}jA[t+8>>1]=Q>>>16;jA[w+8>>1]=7-(o&65535);switch(A|0){case 0:case 5:{Q=0;s=0;break}default:{WA=E;return}}do{s=(VA(jA[c+(Q<<1)>>1]|0,jA[f+(Q<<1)>>1]|0)|0)+s|0;Q=Q+1|0}while((Q|0)!=40);n=s<<1;Q=Ni(n)|0;o=Q<<16>>16;if(Q<<16>>16>0){s=n<>o|0)==(n|0)){C=s;D=40}else{C=n>>31^2147483647;D=40}}else{s=0-o<<16;if((s|0)<2031616){C=n>>(s>>16);D=40}}if((D|0)==40?(C>>16|0)>=1:0){a=fr(C>>>16&65535,1,a)|0;jA[l>>1]=Ei(a,jA[r>>1]|0)|0;jA[B>>1]=65528-(Q&65535)-(DA[e>>1]|0);WA=E;return}jA[l>>1]=0;jA[B>>1]=0;WA=E;return}function ye(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0;n=0;r=0;do{t=jA[A+(n<<1)>>1]|0;r=(VA(t,t)|0)+r|0;n=n+1|0}while((n|0)!=40);if((r|0)<0){pA[i>>2]=1;r=2147483647}i=Ni(r)|0;A=i<<16>>16;if(i<<16>>16>0){n=r<>A|0)==(r|0))r=n;else r=r>>31^2147483647}else{A=0-A<<16;if((A|0)<2031616)r=r>>(A>>16);else r=0}jA[f>>1]=r>>>16;jA[e>>1]=16-(i&65535);return}function Ye(A,e,f,i,r,n,t,w,l,B,a,s,o){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;s=s|0;o=o|0;var Q=0,g=0,v=0,u=0;g=WA;WA=WA+16|0;Q=g;if(B>>>0<2){t=Ie(a,A,e,f,i,t,w,Q,pA[s+76>>2]|0,o)|0;o=pA[l>>2]|0;jA[o>>1]=t;t=jA[Q>>1]|0;pA[l>>2]=o+4;jA[o+2>>1]=t;WA=g;return}switch(B|0){case 2:{t=de(A,e,f,i,t,w,Q,o)|0;o=pA[l>>2]|0;jA[o>>1]=t;t=jA[Q>>1]|0;pA[l>>2]=o+4;jA[o+2>>1]=t;WA=g;return}case 3:{t=He(A,e,f,i,t,w,Q,o)|0;o=pA[l>>2]|0;jA[o>>1]=t;t=jA[Q>>1]|0;pA[l>>2]=o+4;jA[o+2>>1]=t;WA=g;return}default:{if((B&-2|0)==4){t=Ue(A,e,f,i,t,w,Q,pA[s+36>>2]|0,o)|0;o=pA[l>>2]|0;jA[o>>1]=t;t=jA[Q>>1]|0;pA[l>>2]=o+4;jA[o+2>>1]=t;WA=g;return}if((B|0)!=6){a=r<<16>>16;a=(a<<17>>17|0)==(a|0)?a<<1:a>>>15^32767;r=f<<16>>16<40;if(!r){be(A,n,e,t,w,pA[l>>2]|0,pA[s+36>>2]|0,o);pA[l>>2]=(pA[l>>2]|0)+20;WA=g;return}Q=f<<16>>16;B=a<<16>>16;i=Q;do{u=(VA(jA[e+(i-Q<<1)>>1]|0,B)|0)>>>15&65535;v=e+(i<<1)|0;jA[v>>1]=Ci(jA[v>>1]|0,u,o)|0;i=i+1|0}while((i&65535)<<16>>16!=40);be(A,n,e,t,w,pA[l>>2]|0,pA[s+36>>2]|0,o);pA[l>>2]=(pA[l>>2]|0)+20;if(!r){WA=g;return}r=f<<16>>16;B=a<<16>>16;Q=r;do{i=(VA(jA[t+(Q-r<<1)>>1]|0,B)|0)>>15;if((i|0)>32767){pA[o>>2]=1;i=32767}u=t+(Q<<1)|0;jA[u>>1]=Ci(jA[u>>1]|0,i&65535,o)|0;Q=Q+1|0}while((Q&65535)<<16>>16!=40);WA=g;return}s=i<<16>>16;s=(s<<17>>17|0)==(s|0)?s<<1:s>>>15^32767;a=f<<16>>16<40;if(!a){Ge(A,n,e,t,w,pA[l>>2]|0,o);pA[l>>2]=(pA[l>>2]|0)+14;WA=g;return}Q=f<<16>>16;B=s<<16>>16;i=Q;do{r=(VA(jA[e+(i-Q<<1)>>1]|0,B)|0)>>15;if((r|0)>32767){pA[o>>2]=1;r=32767}u=e+(i<<1)|0;jA[u>>1]=Ci(jA[u>>1]|0,r&65535,o)|0;i=i+1|0}while((i&65535)<<16>>16!=40);Ge(A,n,e,t,w,pA[l>>2]|0,o);pA[l>>2]=(pA[l>>2]|0)+14;if(!a){WA=g;return}r=f<<16>>16;B=s<<16>>16;Q=r;do{i=(VA(jA[t+(Q-r<<1)>>1]|0,B)|0)>>15;if((i|0)>32767){pA[o>>2]=1;i=32767}u=t+(Q<<1)|0;jA[u>>1]=Ci(jA[u>>1]|0,i&65535,o)|0;Q=Q+1|0}while((Q&65535)<<16>>16!=40);WA=g;return}}}function ze(A){A=A|0;var e=0;if(!A){A=-1;return A|0}pA[A>>2]=0;e=lr(4)|0;if(!e){A=-1;return A|0}if(!((Hf(e)|0)<<16>>16)){Uf(pA[e>>2]|0)|0;pA[A>>2]=e;A=0;return A|0}else{Gf(e);Br(e);A=-1;return A|0}return 0}function Xe(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Gf(e);Br(pA[A>>2]|0);pA[A>>2]=0;return}function Je(A){A=A|0;if(!A){A=-1;return A|0}Uf(pA[A>>2]|0)|0;A=0;return A|0}function Oe(A,e,f,i,r,n,t,w,l,B,a,s,o,Q,g,v,u,c,C,D){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;s=s|0;o=o|0;Q=Q|0;g=g|0;v=v|0;u=u|0;c=c|0;C=C|0;D=D|0;var E=0,h=0,P=0,k=0;h=WA;WA=WA+16|0;k=h+2|0;P=h;jA[o>>1]=Lf(pA[A>>2]|0,f,r,t,l,n,40,i,Q,P,k,D)|0;A=jA[k>>1]|0;i=pA[u>>2]|0;pA[u>>2]=i+2;jA[i>>1]=A;xi(t,jA[o>>1]|0,jA[Q>>1]|0,40,jA[P>>1]|0,D);xe(t,n,s,40);jA[g>>1]=Qf(f,l,s,v,40,D)|0;jA[c>>1]=32767;if(B<<16>>16!=0?(E=jA[g>>1]|0,E<<16>>16>15565):0)E=Qi(e,E,D)|0;else E=0;if(f>>>0<2){k=jA[g>>1]|0;jA[g>>1]=k<<16>>16>13926?13926:k;if(E<<16>>16)jA[c>>1]=15565}else{if(E<<16>>16){jA[c>>1]=15565;jA[g>>1]=15565}if((f|0)==7){P=Zf(7,jA[c>>1]|0,g,0,0,C,D)|0;k=pA[u>>2]|0;pA[u>>2]=k+2;jA[k>>1]=P}}o=jA[g>>1]|0;E=0;while(1){P=VA(jA[s>>1]|0,o)|0;jA[a>>1]=(DA[l>>1]|0)-(P>>>14);P=(VA(jA[t>>1]|0,o)|0)>>>14;k=w+(E<<1)|0;jA[k>>1]=(DA[k>>1]|0)-P;E=E+1|0;if((E|0)==40)break;else{t=t+2|0;l=l+2|0;a=a+2|0;s=s+2|0}}WA=h;return}function me(A,e){A=A|0;e=e|0;var f=0,i=0,r=0,n=0;n=WA;WA=WA+16|0;r=n;if(!A){A=-1;WA=n;return A|0}pA[A>>2]=0;f=lr(2532)|0;pA[r>>2]=f;if(!f){A=-1;WA=n;return A|0}bi(f+2392|0);pA[f+2188>>2]=0;pA[(pA[r>>2]|0)+2192>>2]=0;pA[(pA[r>>2]|0)+2196>>2]=0;pA[(pA[r>>2]|0)+2200>>2]=0;pA[(pA[r>>2]|0)+2204>>2]=0;pA[(pA[r>>2]|0)+2208>>2]=0;pA[(pA[r>>2]|0)+2212>>2]=0;pA[(pA[r>>2]|0)+2220>>2]=0;i=pA[r>>2]|0;pA[i+2216>>2]=e;pA[i+2528>>2]=0;f=i;if((((((((ze(i+2196|0)|0)<<16>>16==0?(Yi(i+2192|0)|0)<<16>>16==0:0)?(lf(i+2200|0)|0)<<16>>16==0:0)?(yf(i+2204|0)|0)<<16>>16==0:0)?(Bi(i+2208|0)|0)<<16>>16==0:0)?(vi(i+2212|0)|0)<<16>>16==0:0)?(Ze(i+2220|0,pA[i+2432>>2]|0)|0)<<16>>16==0:0)?(bf(i+2188|0)|0)<<16>>16==0:0){Ke(i)|0;pA[A>>2]=f;A=0;WA=n;return A|0}Ne(r);A=-1;WA=n;return A|0}function Ne(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;df(e+2188|0);Xi((pA[A>>2]|0)+2192|0);Bf((pA[A>>2]|0)+2200|0);Xe((pA[A>>2]|0)+2196|0);zf((pA[A>>2]|0)+2204|0);si((pA[A>>2]|0)+2208|0);ci((pA[A>>2]|0)+2212|0);_e((pA[A>>2]|0)+2220|0);Br(pA[A>>2]|0);pA[A>>2]=0;return}function Ke(A){A=A|0;var e=0,f=0,i=0,r=0;if(!A){r=-1;return r|0}pA[A+652>>2]=A+320;pA[A+640>>2]=A+240;pA[A+644>>2]=A+160;pA[A+648>>2]=A+80;pA[A+1264>>2]=A+942;pA[A+1912>>2]=A+1590;i=A+1938|0;pA[A+2020>>2]=i;pA[A+2384>>2]=A+2304;e=A+2028|0;pA[A+2024>>2]=A+2108;pA[A+2528>>2]=0;gr(A|0,0,640)|0;gr(A+1282|0,0,308)|0;gr(A+656|0,0,286)|0;f=A+2224|0;r=i+80|0;do{jA[i>>1]=0;i=i+2|0}while((i|0)<(r|0));i=e;r=i+80|0;do{jA[i>>1]=0;i=i+2|0}while((i|0)<(r|0));e=A+1268|0;i=f;r=i+80|0;do{jA[i>>1]=0;i=i+2|0}while((i|0)<(r|0));jA[e>>1]=40;jA[A+1270>>1]=40;jA[A+1272>>1]=40;jA[A+1274>>1]=40;jA[A+1276>>1]=40;If(pA[A+2188>>2]|0)|0;zi(pA[A+2192>>2]|0)|0;Je(pA[A+2196>>2]|0)|0;af(pA[A+2200>>2]|0)|0;Yf(pA[A+2204>>2]|0)|0;ai(pA[A+2208>>2]|0)|0;ui(pA[A+2212>>2]|0)|0;qe(pA[A+2220>>2]|0,pA[A+2432>>2]|0)|0;jA[A+2388>>1]=0;r=0;return r|0}function Se(A,e,f,i,r,n){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;var t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0,T=0,y=0,Y=0,z=0,X=0,J=0,O=0,m=0,N=0,K=0,S=0,x=0,j=0,p=0,W=0,V=0,Z=0,q=0,_=0,$=0,AA=0,eA=0,fA=0,iA=0,rA=0,nA=0,tA=0,wA=0,lA=0,BA=0,aA=0,sA=0,oA=0,QA=0;QA=WA;WA=WA+1184|0;N=QA;a=QA+1096|0;s=QA+1008|0;l=QA+904|0;wA=QA+928|0;lA=QA+824|0;j=QA+744|0;aA=QA+664|0;sA=QA+584|0;W=QA+328|0;rA=QA+504|0;nA=QA+424|0;BA=QA+344|0;oA=QA+248|0;p=QA+168|0;AA=QA+88|0;fA=QA+68|0;iA=QA+48|0;eA=QA+28|0;tA=QA+24|0;_=QA+22|0;Z=QA+20|0;x=QA+16|0;K=QA+12|0;S=QA+10|0;q=QA+8|0;V=QA+6|0;$=QA+4|0;pA[N>>2]=i;m=A+2528|0;t=A+652|0;or(pA[t>>2]|0,f|0,320)|0;pA[r>>2]=e;B=A+2216|0;if(!(pA[B>>2]|0)){f=A+2220|0;i=0}else{ZA()}O=A+2392|0;Mf(pA[A+2188>>2]|0,e,pA[A+644>>2]|0,pA[A+648>>2]|0,a,O,m);w=A+2192|0;Ji(pA[w>>2]|0,e,pA[r>>2]|0,a,s,l,N,m);$e(pA[f>>2]|0,l,pA[t>>2]|0,m);if((pA[r>>2]|0)==8){ZA()}else J=oi(pA[A+2208>>2]|0,pA[w>>2]|0,m)|0;Y=A+640|0;w=A+2264|0;t=A+1264|0;f=A+2204|0;i=A+2212|0;z=A+1268|0;X=A+1278|0;Jf(e,2842,2862,2882,a,0,pA[Y>>2]|0,w,pA[t>>2]|0,m);if(e>>>0>1){Ff(pA[f>>2]|0,pA[i>>2]|0,e,pA[t>>2]|0,x,z,X,0,pA[B>>2]|0,m);Jf(e,2842,2862,2882,a,80,pA[Y>>2]|0,w,pA[t>>2]|0,m);Ff(pA[f>>2]|0,pA[i>>2]|0,e,(pA[t>>2]|0)+160|0,x+2|0,z,X,1,pA[B>>2]|0,m)}else{Jf(e,2842,2862,2882,a,80,pA[Y>>2]|0,w,pA[t>>2]|0,m);Ff(pA[f>>2]|0,pA[i>>2]|0,e,pA[t>>2]|0,x,z,X,1,pA[B>>2]|0,m);jA[x+2>>1]=jA[x>>1]|0}if(pA[B>>2]|0)ZA();if((pA[r>>2]|0)==8){ZA()}P=A+2224|0;k=A+2244|0;b=A+2284|0;d=A+2388|0;I=A+2020|0;M=A+1916|0;F=A+1912|0;H=A+2024|0;U=A+2384|0;G=A+2196|0;L=A+2208|0;R=A+2464|0;T=A+2200|0;y=A+2224|0;D=A+2244|0;E=A+1270|0;h=A+1280|0;C=0;B=0;l=0;v=0;u=0;w=0;c=-1;while(1){o=c;c=c+1<<16>>16;v=1-(v<<16>>16)|0;i=v&65535;g=(v&65535|0)!=0;f=pA[r>>2]|0;t=(f|0)==0;do{if(g)if(t){t=fA;f=P;Q=t+20|0;do{jA[t>>1]=jA[f>>1]|0;t=t+2|0;f=f+2|0}while((t|0)<(Q|0));t=iA;f=k;Q=t+20|0;do{jA[t>>1]=jA[f>>1]|0;t=t+2|0;f=f+2|0}while((t|0)<(Q|0));t=eA;f=b;Q=t+20|0;do{jA[t>>1]=jA[f>>1]|0;t=t+2|0;f=f+2|0}while((t|0)<(Q|0));jA[tA>>1]=jA[d>>1]|0;e=(pA[Y>>2]|0)+(C<<1)|0;t=20;break}else{e=(pA[Y>>2]|0)+(C<<1)|0;t=19;break}else{e=(pA[Y>>2]|0)+(C<<1)|0;if(t)t=20;else t=19}}while(0);if((t|0)==19)wi(f,2842,2862,2882,a,s,e,b,D,pA[I>>2]|0,M,(pA[F>>2]|0)+(C<<1)|0,pA[H>>2]|0,wA,rA,pA[U>>2]|0);else if((t|0)==20?(0,wi(0,2842,2862,2882,a,s,e,b,iA,pA[I>>2]|0,M,(pA[F>>2]|0)+(C<<1)|0,pA[H>>2]|0,wA,rA,pA[U>>2]|0),g):0){t=AA;f=pA[H>>2]|0;Q=t+80|0;do{jA[t>>1]=jA[f>>1]|0;t=t+2|0;f=f+2|0}while((t|0)<(Q|0))}t=nA;f=rA;Q=t+80|0;do{jA[t>>1]=jA[f>>1]|0;t=t+2|0;f=f+2|0}while((t|0)<(Q|0));Oe(pA[G>>2]|0,pA[L>>2]|0,pA[r>>2]|0,u,x,pA[H>>2]|0,(pA[F>>2]|0)+(C<<1)|0,nA,wA,J,lA,aA,K,S,q,W,N,$,pA[R>>2]|0,m);switch(o<<16>>16){case-1:{if((jA[X>>1]|0)>0)jA[E>>1]=jA[K>>1]|0;break}case 2:{if((jA[h>>1]|0)>0)jA[z>>1]=jA[K>>1]|0;break}default:{}}Ye(lA,pA[H>>2]|0,jA[K>>1]|0,jA[d>>1]|0,jA[q>>1]|0,nA,j,sA,N,pA[r>>2]|0,c,O,m);sf(pA[T>>2]|0,pA[r>>2]|0,rA,(pA[F>>2]|0)+(C<<1)|0,j,wA,lA,aA,sA,W,i,jA[$>>1]|0,_,Z,q,V,N,O,m);gi(pA[L>>2]|0,jA[q>>1]|0,m);e=pA[r>>2]|0;do{if(!e)if(g){t=BA;f=wA;Q=t+80|0;do{jA[t>>1]=jA[f>>1]|0;t=t+2|0;f=f+2|0}while((t|0)<(Q|0));t=oA;f=sA;Q=t+80|0;do{jA[t>>1]=jA[f>>1]|0;t=t+2|0;f=f+2|0}while((t|0)<(Q|0));t=p;f=j;Q=t+80|0;do{jA[t>>1]=jA[f>>1]|0;t=t+2|0;f=f+2|0}while((t|0)<(Q|0));l=jA[K>>1]|0;B=jA[S>>1]|0;li(pA[Y>>2]|0,0,u,jA[q>>1]|0,jA[V>>1]|0,s,n,wA,j,aA,sA,fA,b,iA,pA[F>>2]|0,d,m);jA[d>>1]=jA[tA>>1]|0;w=u;break}else{t=b;f=eA;Q=t+20|0;do{jA[t>>1]=jA[f>>1]|0;t=t+2|0;f=f+2|0}while((t|0)<(Q|0));g=w<<16>>16;xi((pA[F>>2]|0)+(g<<1)|0,l,B,40,1,m);xe((pA[F>>2]|0)+(g<<1)|0,AA,aA,40);li(pA[Y>>2]|0,pA[r>>2]|0,w,jA[_>>1]|0,jA[Z>>1]|0,s+-22|0,n,BA,p,aA,oA,y,b,D,pA[F>>2]|0,tA,m);wi(pA[r>>2]|0,2842,2862,2882,a,s,(pA[Y>>2]|0)+(C<<1)|0,b,D,pA[I>>2]|0,M,(pA[F>>2]|0)+(C<<1)|0,pA[H>>2]|0,wA,rA,pA[U>>2]|0);xi((pA[F>>2]|0)+(C<<1)|0,jA[K>>1]|0,jA[S>>1]|0,40,1,m);xe((pA[F>>2]|0)+(C<<1)|0,pA[H>>2]|0,aA,40);li(pA[Y>>2]|0,pA[r>>2]|0,u,jA[q>>1]|0,jA[V>>1]|0,s,n,wA,j,aA,sA,y,b,D,pA[F>>2]|0,d,m);break}else li(pA[Y>>2]|0,e,u,jA[q>>1]|0,jA[V>>1]|0,s,n,wA,j,aA,sA,y,b,D,pA[F>>2]|0,d,m)}while(0);e=C+40|0;u=e&65535;if(u<<16>>16>=160)break;else{C=e<<16>>16;a=a+22|0;s=s+22|0}}or(A+1282|0,A+1602|0,308)|0;sA=A+656|0;oA=A+976|0;or(sA|0,oA|0,286)|0;oA=A+320|0;or(A|0,oA|0,320)|0;WA=QA;return 0}function xe(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0;Q=i<<16>>16;if(i<<16>>16>1)o=1;else return;while(1){r=jA[A>>1]|0;w=e+(o+-1<<1)|0;i=VA(jA[e+(o<<1)>>1]|0,r)|0;B=jA[w>>1]|0;r=VA(B<<16>>16,r)|0;t=(o+131071|0)>>>1;l=t&65535;n=jA[A+2>>1]|0;if(!(l<<16>>16)){e=w;t=B}else{a=(t<<1)+131070&131070;s=o-a|0;t=A;do{v=(VA(B<<16>>16,n)|0)+i|0;g=t;t=t+4|0;i=jA[w+-2>>1]|0;n=(VA(i,n)|0)+r|0;r=jA[t>>1]|0;w=w+-4|0;i=v+(VA(r,i)|0)|0;B=jA[w>>1]|0;r=n+(VA(B<<16>>16,r)|0)|0;l=l+-1<<16>>16;n=jA[g+6>>1]|0}while(l<<16>>16!=0);t=e+(s+-3<<1)|0;A=A+(a+2<<1)|0;e=t;t=jA[t>>1]|0}i=(VA(t<<16>>16,n)|0)+i|0;jA[f>>1]=r>>>12;jA[f+2>>1]=i>>>12;i=(o<<16)+131072>>16;if((i|0)<(Q|0)){f=f+4|0;A=A+(1-o<<1)|0;o=i}else break}return}function je(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0;k=WA;WA=WA+80|0;P=k;t=20;n=A;r=1;while(1){h=jA[n>>1]|0;h=(VA(h,h)|0)+r|0;r=jA[n+2>>1]|0;r=h+(VA(r,r)|0)|0;t=t+-1<<16>>16;if(!(t<<16>>16))break;else n=n+4|0}r=r<<1;if((r|0)<0){n=20;r=A;i=P;while(1){jA[i>>1]=(jA[r>>1]|0)>>>1;jA[i+2>>1]=(jA[r+2>>1]|0)>>>1;n=n+-1<<16>>16;if(!(n<<16>>16)){h=P;break}else{r=r+4|0;i=i+4|0}}}else{r=Ui(r>>1,i)|0;if((r|0)<16777215)r=((r>>9)*32440|0)>>>15<<16>>16;else r=32440;t=20;n=A;i=P;while(1){jA[i>>1]=((VA(jA[n>>1]|0,r)|0)+32|0)>>>6;jA[i+2>>1]=((VA(jA[n+2>>1]|0,r)|0)+32|0)>>>6;t=t+-1<<16>>16;if(!(t<<16>>16)){h=P;break}else{n=n+4|0;i=i+4|0}}}t=20;n=h;i=f+3198|0;r=0;while(1){E=jA[n>>1]|0;E=(VA(E,E)|0)+r|0;jA[i>>1]=(E+16384|0)>>>15;D=jA[n+2>>1]|0;r=(VA(D,D)|0)+E|0;jA[i+-82>>1]=(r+16384|0)>>>15;t=t+-1<<16>>16;if(!(t<<16>>16))break;else{n=n+4|0;i=i+-164|0}}E=e+78|0;D=1;while(1){r=39-D|0;A=f+3120+(r<<1)|0;i=f+(r*80|0)+78|0;r=e+(r<<1)|0;l=P+(D<<1)|0;n=65575-D|0;w=n&65535;t=jA[h>>1]|0;if(!(w<<16>>16)){w=E;n=0}else{v=n+65535&65535;c=v*41|0;C=(VA(D,-40)|0)-c|0;u=0-D|0;c=u-c|0;u=u-v|0;g=D+v|0;Q=jA[l>>1]|0;s=h;o=E;B=f+((38-D|0)*80|0)+78|0;n=0;a=0;while(1){l=l+2|0;n=(VA(Q<<16>>16,t)|0)+n|0;s=s+2|0;Q=jA[l>>1]|0;a=(VA(Q<<16>>16,t)|0)+a|0;d=r;r=r+-2|0;t=jA[r>>1]|0;b=jA[o>>1]<<1;d=(VA((VA(b,jA[d>>1]|0)|0)>>16,(n<<1)+32768>>16)|0)>>>15&65535;jA[i>>1]=d;jA[A>>1]=d;t=(VA((VA(b,t)|0)>>16,(a<<1)+32768>>16)|0)>>>15&65535;jA[A+-2>>1]=t;jA[B>>1]=t;w=w+-1<<16>>16;t=jA[s>>1]|0;if(!(w<<16>>16))break;else{o=o+-2|0;A=A+-82|0;i=i+-82|0;B=B+-82|0}}l=P+(g+1<<1)|0;w=e+(38-v<<1)|0;r=e+(u+38<<1)|0;A=f+3040+(c+38<<1)|0;i=f+3040+(C+38<<1)|0}d=(VA(jA[l>>1]|0,t)|0)+n|0;d=(VA((d<<1)+32768>>16,(VA(jA[w>>1]<<1,jA[r>>1]|0)|0)>>16)|0)>>>15&65535;jA[A>>1]=d;jA[i>>1]=d;i=(D<<16)+131072|0;if((i|0)<2621440)D=i>>16;else break}WA=k;return}function pe(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0;g=WA;WA=WA+160|0;Q=g;if(r<<16>>16>0){s=n&65535;o=0;w=5;do{if((o|0)<40){a=o;B=o&65535;n=0;while(1){if(B<<16>>16<40){B=B<<16>>16;l=0;do{l=(VA(jA[A+(B-a<<1)>>1]|0,jA[e+(B<<1)>>1]|0)|0)+l|0;B=B+1|0}while((B&65535)<<16>>16!=40)}else l=0;l=l<<1;pA[Q+(a<<2)>>2]=l;l=vf(l)|0;n=(l|0)>(n|0)?l:n;l=a+s|0;B=l&65535;if(B<<16>>16>=40)break;else a=l<<16>>16}}else n=0;w=(n>>1)+w|0;o=o+1|0}while((o&65535)<<16>>16!=r<<16>>16)}else w=5;i=((Ni(w)|0)&65535)-(i&65535)|0;n=i<<16>>16;l=0-n<<16;w=(l|0)<2031616;l=l>>16;if((i&65535)<<16>>16>0)if(w){w=0;do{i=pA[Q+(w<<2)>>2]|0;e=i<>1]=er((e>>n|0)==(i|0)?e:i>>31^2147483647,t)|0;w=w+1|0}while((w|0)!=40);WA=g;return}else{ZA()}else if(w){w=0;do{jA[f+(w<<1)>>1]=er(pA[Q+(w<<2)>>2]>>l,t)|0;w=w+1|0}while((w|0)!=40);WA=g;return}else{ZA()}}function We(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0;P=WA;WA=WA+160|0;h=P;C=A+2|0;D=jA[A>>1]|0;E=0;r=5;do{c=E;w=0;while(1){a=e+(c<<1)|0;u=40-c|0;n=(u+131071|0)>>>1&65535;l=e+(c+1<<1)|0;t=VA(jA[a>>1]<<1,D)|0;if(!(n<<16>>16))n=C;else{v=131111-c+131070&131070;g=c+v|0;Q=C;o=A;s=a;while(1){B=s+4|0;a=o+4|0;t=(VA(jA[l>>1]<<1,jA[Q>>1]|0)|0)+t|0;n=n+-1<<16>>16;t=(VA(jA[B>>1]<<1,jA[a>>1]|0)|0)+t|0;if(!(n<<16>>16))break;else{l=s+6|0;Q=o+6|0;o=a;s=B}}l=e+(g+3<<1)|0;n=A+(v+3<<1)|0}if(!(u&1))t=(VA(jA[l>>1]<<1,jA[n>>1]|0)|0)+t|0;pA[h+(c<<2)>>2]=t;t=(t|0)<0?0-t|0:t;w=(t|0)>(w|0)?t:w;t=c+5|0;if((t&65535)<<16>>16<40)c=t<<16>>16;else break}r=(w>>1)+r|0;E=E+1|0}while((E|0)!=5);i=((Ni(r)|0)&65535)-(i&65535)|0;t=i<<16>>16;r=0-t<<16;w=r>>16;if((i&65535)<<16>>16>0){n=20;r=h;while(1){h=pA[r>>2]|0;i=h<>1]=(((i>>t|0)==(h|0)?i:h>>31^2147483647)+32768|0)>>>16;h=pA[r+4>>2]|0;i=h<>1]=(((i>>t|0)==(h|0)?i:h>>31^2147483647)+32768|0)>>>16;n=n+-1<<16>>16;if(!(n<<16>>16))break;else{f=f+4|0;r=r+8|0}}WA=P;return}if((r|0)<2031616){n=20;r=h;while(1){jA[f>>1]=((pA[r>>2]>>w)+32768|0)>>>16;jA[f+2>>1]=((pA[r+4>>2]>>w)+32768|0)>>>16;n=n+-1<<16>>16;if(!(n<<16>>16))break;else{f=f+4|0;r=r+8|0}}WA=P;return}else{ZA()}}function Ve(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0;t=(Ei(16383,e)|0)<<16>>16;e=VA(t,e<<16>>16)|0;if((e|0)==1073741824){pA[i>>2]=1;r=2147483647}else r=e<<1;n=(VA(t,f<<16>>16)|0)>>15;e=r+(n<<1)|0;if((r^n|0)>0&(e^r|0)<0){pA[i>>2]=1;e=(r>>>31)+2147483647|0}r=2147483647-e|0;f=r>>16;e=VA(f,t)|0;if((e|0)==1073741824){pA[i>>2]=1;n=2147483647}else n=e<<1;t=(VA((r>>>1)-(f<<15)<<16>>16,t)|0)>>15;e=n+(t<<1)|0;if((n^t|0)>0&(e^n|0)<0){pA[i>>2]=1;e=(n>>>31)+2147483647|0}n=e>>16;t=A>>16;f=VA(n,t)|0;f=(f|0)==1073741824?2147483647:f<<1;r=(VA((e>>>1)-(n<<15)<<16>>16,t)|0)>>15;i=(r<<1)+f|0;i=(r^f|0)>0&(i^f|0)<0?(f>>>31)+2147483647|0:i;t=(VA(n,(A>>>1)-(t<<15)<<16>>16)|0)>>15;A=i+(t<<1)|0;A=(i^t|0)>0&(A^i|0)<0?(i>>>31)+2147483647|0:A;i=A<<2;return((i>>2|0)==(A|0)?i:A>>31^2147483647)|0}function Ze(A,e){A=A|0;e=e|0;var f=0,i=0,r=0,n=0;if(!A){n=-1;return n|0}pA[A>>2]=0;f=lr(192)|0;if(!f){n=-1;return n|0}i=f+176|0;jA[i>>1]=0;jA[i+2>>1]=0;jA[i+4>>1]=0;jA[i+6>>1]=0;jA[i+8>>1]=0;jA[i+10>>1]=0;i=f;r=e;n=i+20|0;do{jA[i>>1]=jA[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(n|0));i=f+20|0;r=e;n=i+20|0;do{jA[i>>1]=jA[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(n|0));i=f+40|0;r=e;n=i+20|0;do{jA[i>>1]=jA[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(n|0));i=f+60|0;r=e;n=i+20|0;do{jA[i>>1]=jA[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(n|0));i=f+80|0;r=e;n=i+20|0;do{jA[i>>1]=jA[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(n|0));i=f+100|0;r=e;n=i+20|0;do{jA[i>>1]=jA[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(n|0));i=f+120|0;r=e;n=i+20|0;do{jA[i>>1]=jA[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(n|0));i=f+140|0;r=e;n=i+20|0;do{jA[i>>1]=jA[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(n|0));i=f+160|0;n=i+20|0;do{jA[i>>1]=0;i=i+2|0}while((i|0)<(n|0));jA[f+188>>1]=7;jA[f+190>>1]=32767;pA[A>>2]=f;n=0;return n|0}function qe(A,e){A=A|0;e=e|0;var f=0,i=0,r=0;if(!A){r=-1;return r|0}f=A+176|0;jA[f>>1]=0;jA[f+2>>1]=0;jA[f+4>>1]=0;jA[f+6>>1]=0;jA[f+8>>1]=0;jA[f+10>>1]=0;f=A;i=e;r=f+20|0;do{jA[f>>1]=jA[i>>1]|0;f=f+2|0;i=i+2|0}while((f|0)<(r|0));f=A+20|0;i=e;r=f+20|0;do{jA[f>>1]=jA[i>>1]|0;f=f+2|0;i=i+2|0}while((f|0)<(r|0));f=A+40|0;i=e;r=f+20|0;do{jA[f>>1]=jA[i>>1]|0;f=f+2|0;i=i+2|0}while((f|0)<(r|0));f=A+60|0;i=e;r=f+20|0;do{jA[f>>1]=jA[i>>1]|0;f=f+2|0;i=i+2|0}while((f|0)<(r|0));f=A+80|0;i=e;r=f+20|0;do{jA[f>>1]=jA[i>>1]|0;f=f+2|0;i=i+2|0}while((f|0)<(r|0));f=A+100|0;i=e;r=f+20|0;do{jA[f>>1]=jA[i>>1]|0;f=f+2|0;i=i+2|0}while((f|0)<(r|0));f=A+120|0;i=e;r=f+20|0;do{jA[f>>1]=jA[i>>1]|0;f=f+2|0;i=i+2|0}while((f|0)<(r|0));f=A+140|0;i=e;r=f+20|0;do{jA[f>>1]=jA[i>>1]|0;f=f+2|0;i=i+2|0}while((f|0)<(r|0));f=A+160|0;r=f+20|0;do{jA[f>>1]=0;f=f+2|0}while((f|0)<(r|0));jA[A+188>>1]=7;jA[A+190>>1]=32767;r=1;return r|0}function _e(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Br(e);pA[A>>2]=0;return}function $e(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0;B=WA;WA=WA+16|0;t=B+2|0;l=B;w=A+176|0;n=(DA[w>>1]|0)+1|0;n=(n&65535|0)==8?0:n&65535;jA[w>>1]=n;n=A+((n<<16>>16)*10<<1)|0;r=n+20|0;do{jA[n>>1]=jA[e>>1]|0;n=n+2|0;e=e+2|0}while((n|0)<(r|0));e=0;r=160;while(1){n=jA[f>>1]|0;e=(VA(n<<1,n)|0)+e|0;if((e|0)<0){e=2147483647;break}r=r+-1<<16>>16;if(!(r<<16>>16))break;else f=f+2|0}Gi(e,t,l,i);e=jA[t>>1]|0;t=e<<16>>16;f=t<<10;if((f|0)!=(t<<26>>16|0)){pA[i>>2]=1;f=e<<16>>16>0?32767:-32768}jA[A+160+(jA[w>>1]<<1)>>1]=(((jA[l>>1]|0)>>>5)+f<<16)+-558432256>>17;WA=B;return}function Af(A,e,f,i,r,n,t,w){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;if(!(n<<16>>16)){n=A<<16>>16;if(((n<<16)+-5570560|0)<65536){e=(n*3|0)+-58+(e<<16>>16)|0;e=e&65535;return e|0}else{e=n+112|0;e=e&65535;return e|0}}if(!(t<<16>>16)){w=(A&65535)-(i&65535)<<16;e=(e<<16>>16)+2+(w>>15)+(w>>16)|0;e=e&65535;return e|0}i=i<<16>>16;i=(((f&65535)-i<<16)+-327680|0)>0?i+5&65535:f;r=r<<16>>16;f=A<<16>>16;i=(((r-(i&65535)<<16)+-262144|0)>0?r+65532&65535:i)<<16>>16;r=i*196608|0;A=r+-393216>>16;n=((e&65535)<<16)+(f*196608|0)>>16;if(!(A-n&32768)){e=f+5-i|0;e=e&65535;return e|0}if((r+196608>>16|0)>(n|0)){e=n+3-A|0;e=e&65535;return e|0}else{e=f+11-i|0;e=e&65535;return e|0}return 0}function ef(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;r=A<<16>>16;do{if(!(i<<16>>16))if(A<<16>>16<95){r=((r*393216|0)+-6881280>>16)+(e<<16>>16)|0;break}else{r=r+368|0;break}else r=((((r-(f&65535)|0)*393216|0)+196608|0)>>>16)+(e&65535)|0}while(0);return r&65535|0}function ff(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0;a=pA[i+100>>2]|0;B=pA[i+96>>2]|0;xA[f>>0]=A<<3;B=B+(A<<1)|0;r=jA[B>>1]|0;if(A>>>0>=8){ZA()}t=r<<16>>16;if(r<<16>>16>7){r=a+(A<<2)|0;i=0;l=0;n=1;while(1){s=DA[e+(jA[(pA[r>>2]|0)+(i<<1)>>1]<<1)>>1]<<7;t=f+(n<<16>>16)|0;xA[t>>0]=s;s=DA[e+(jA[(pA[r>>2]|0)+((l|1)<<16>>16<<1)>>1]<<1)>>1]<<6|s;xA[t>>0]=s;s=DA[e+(jA[(pA[r>>2]|0)+((l|2)<<16>>16<<1)>>1]<<1)>>1]<<5|s;xA[t>>0]=s;s=DA[e+(jA[(pA[r>>2]|0)+((l|3)<<16>>16<<1)>>1]<<1)>>1]<<4|s;xA[t>>0]=s;s=DA[e+(jA[(pA[r>>2]|0)+((l|4)<<16>>16<<1)>>1]<<1)>>1]<<3|s&240;xA[t>>0]=s;s=DA[e+(jA[(pA[r>>2]|0)+((l|5)<<16>>16<<1)>>1]<<1)>>1]<<2|s;xA[t>>0]=s;s=DA[e+(jA[(pA[r>>2]|0)+((l|6)<<16>>16<<1)>>1]<<1)>>1]<<1|s;xA[t>>0]=s;w=l+8<<16>>16;n=n+1<<16>>16;xA[t>>0]=s&254|DA[e+(jA[(pA[r>>2]|0)+((l|7)<<16>>16<<1)>>1]<<1)>>1];i=w<<16>>16;t=jA[B>>1]|0;if((i|0)>=(t+-7|0))break;else l=w}}else{w=0;n=1}B=t&7;l=f+(n<<16>>16)|0;xA[l>>0]=0;if(!B)return;n=a+(A<<2)|0;r=0;i=0;t=0;while(1){i=(DA[e+(jA[(pA[n>>2]|0)+(w<<16>>16<<1)>>1]<<1)>>1]&255)<<7-r|i&255;xA[l>>0]=i;t=t+1<<16>>16;r=t<<16>>16;if((r|0)>=(B|0))break;else w=w+1<<16>>16}return}function rf(A){A=A|0;var e=0;if(!A){A=-1;return A|0}pA[A>>2]=0;e=lr(16)|0;if(!e){A=-1;return A|0}jA[e>>1]=0;jA[e+2>>1]=0;jA[e+4>>1]=0;jA[e+6>>1]=0;jA[e+8>>1]=0;jA[e+10>>1]=0;jA[e+12>>1]=0;jA[e+14>>1]=0;pA[A>>2]=e;A=0;return A|0}function nf(A){A=A|0;if(!A){A=-1;return A|0}jA[A>>1]=0;jA[A+2>>1]=0;jA[A+4>>1]=0;jA[A+6>>1]=0;jA[A+8>>1]=0;jA[A+10>>1]=0;jA[A+12>>1]=0;jA[A+14>>1]=0;A=0;return A|0}function tf(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Br(e);pA[A>>2]=0;return}function wf(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0,B=0;w=e<<16>>16<2722?0:e<<16>>16<5444?1:2;t=ir(f,1,r)|0;B=A+4|0;if(!(f<<16>>16>200?t<<16>>16>(jA[B>>1]|0):0)){t=jA[A>>1]|0;if(t<<16>>16){n=t+-1<<16>>16;jA[A>>1]=n;n=n<<16>>16!=0;l=5}}else{jA[A>>1]=8;n=1;l=5}if((l|0)==5)if((w&65535)<2&n)w=(w&65535)+1&65535;l=A+6|0;jA[l>>1]=e;n=di(l,5)|0;if(!(w<<16>>16!=0|n<<16>>16>5443))if(n<<16>>16<0)n=16384;else{n=n<<16>>16;n=(((n<<18>>18|0)==(n|0)?n<<2:n>>>15^32767)<<16>>16)*24660>>15;if((n|0)>32767){pA[r>>2]=1;n=32767}n=16384-n&65535}else n=0;t=A+2|0;if(!(jA[t>>1]|0))n=fr(n,1,r)|0;jA[i>>1]=n;jA[t>>1]=n;jA[B>>1]=f;i=A+12|0;jA[A+14>>1]=jA[i>>1]|0;f=A+10|0;jA[i>>1]=jA[f>>1]|0;A=A+8|0;jA[f>>1]=jA[A>>1]|0;jA[A>>1]=jA[l>>1]|0;return}function lf(A){A=A|0;var e=0,f=0,i=0,r=0,n=0,t=0;if(!A){A=-1;return A|0}pA[A>>2]=0;e=lr(68)|0;i=e;if(!e){A=-1;return A|0}pA[e+28>>2]=0;r=e+64|0;pA[r>>2]=0;n=e+32|0;if(((hi(n)|0)<<16>>16==0?(t=e+48|0,(hi(t)|0)<<16>>16==0):0)?(rf(r)|0)<<16>>16==0:0){f=e+32|0;do{jA[e>>1]=0;e=e+2|0}while((e|0)<(f|0));hi(n)|0;hi(t)|0;nf(pA[r>>2]|0)|0;pA[A>>2]=i;A=0;return A|0}tf(r);Br(e);A=-1;return A|0}function Bf(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;tf(e+64|0);Br(pA[A>>2]|0);pA[A>>2]=0;return}function af(A){A=A|0;var e=0,f=0,i=0;if(!A){i=-1;return i|0}e=A+32|0;f=A;i=f+32|0;do{jA[f>>1]=0;f=f+2|0}while((f|0)<(i|0));hi(e)|0;hi(A+48|0)|0;nf(pA[A+64>>2]|0)|0;i=0;return i|0}function sf(A,e,f,i,r,n,t,w,l,B,a,s,o,Q,g,v,u,c,C){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;s=s|0;o=o|0;Q=Q|0;g=g|0;v=v|0;u=u|0;c=c|0;C=C|0;var D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0;H=WA;WA=WA+48|0;E=H+34|0;P=H+32|0;b=H+30|0;k=H+28|0;h=H+18|0;D=H+8|0;d=H+6|0;I=H+4|0;M=H+2|0;F=H;if(e){a=A+32|0;Pi(a,e,r,E,P,d,I,C);do{if((e|0)!=7){Te(e,n,t,w,l,B,h,D,F,M,C);if((e|0)==5){Wf(pA[A+64>>2]|0,f,i,r,h,D,jA[d>>1]|0,jA[I>>1]|0,jA[E>>1]|0,jA[P>>1]|0,40,jA[F>>1]|0,jA[M>>1]|0,s,g,v,b,k,u,c,C);break}else{A=qf(e,jA[E>>1]|0,jA[P>>1]|0,h,D,s,g,v,b,k,c,C)|0;n=pA[u>>2]|0;pA[u>>2]=n+2;jA[n>>1]=A;break}}else{jA[v>>1]=of(t,l,C)|0;A=Vf(7,jA[E>>1]|0,jA[P>>1]|0,v,b,k,pA[c+68>>2]|0,C)|0;n=pA[u>>2]|0;pA[u>>2]=n+2;jA[n>>1]=A}}while(0);ki(a,jA[b>>1]|0,jA[k>>1]|0);WA=H;return}if(!(a<<16>>16)){Pi(A+48|0,0,r,E,P,d,I,C);Te(0,n,t,w,l,B,h,D,F,M,C);ye(n,d,I,C);n=jf(A+32|0,jA[A>>1]|0,jA[A+2>>1]|0,A+8|0,A+18|0,jA[A+4>>1]|0,jA[A+6>>1]|0,r,jA[E>>1]|0,jA[P>>1]|0,D,h,jA[d>>1]|0,jA[I>>1]|0,s,o,Q,g,v,C)|0;jA[pA[A+28>>2]>>1]=n;WA=H;return}a=pA[u>>2]|0;pA[u>>2]=a+2;pA[A+28>>2]=a;a=A+48|0;f=A+32|0;o=f;o=DA[o>>1]|DA[o+2>>1]<<16;f=f+4|0;f=DA[f>>1]|DA[f+2>>1]<<16;u=a;Q=u;jA[Q>>1]=o;jA[Q+2>>1]=o>>>16;u=u+4|0;jA[u>>1]=f;jA[u+2>>1]=f>>>16;u=A+40|0;f=u;f=DA[f>>1]|DA[f+2>>1]<<16;u=u+4|0;u=DA[u>>1]|DA[u+2>>1]<<16;Q=A+56|0;o=Q;jA[o>>1]=f;jA[o+2>>1]=f>>>16;Q=Q+4|0;jA[Q>>1]=u;jA[Q+2>>1]=u>>>16;Q=A+2|0;Pi(a,0,r,A,Q,d,I,C);Te(0,n,t,w,l,B,A+18|0,A+8|0,F,M,C);w=(DA[M>>1]|0)+1|0;u=jA[F>>1]|0;o=w<<16>>16;if((w&65535)<<16>>16<0){c=0-o<<16;if((c|0)<983040)c=u<<16>>16>>(c>>16)&65535;else c=0}else{u=u<<16>>16;c=u<>16>>o|0)==(u|0))c=c&65535;else c=(u>>>15^32767)&65535}jA[v>>1]=c;ye(n,A+4|0,A+6|0,C);xf(a,jA[A>>1]|0,jA[Q>>1]|0,jA[M>>1]|0,jA[F>>1]|0,C);WA=H;return}function of(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0;r=10;f=A;i=e;A=0;while(1){A=(VA(jA[i>>1]>>1,jA[f>>1]|0)|0)+A|0;A=A+(VA(jA[i+2>>1]>>1,jA[f+2>>1]|0)|0)|0;A=A+(VA(jA[i+4>>1]>>1,jA[f+4>>1]|0)|0)|0;A=A+(VA(jA[i+6>>1]>>1,jA[f+6>>1]|0)|0)|0;r=r+-1<<16>>16;if(!(r<<16>>16))break;else{f=f+8|0;i=i+8|0}}f=A<<1;r=Ni(f|1)|0;n=r<<16>>16;f=(r<<16>>16<17?f>>17-n:f<>16<1){e=0;return e|0}else{r=20;i=e;A=0}while(1){e=jA[i>>1]>>1;e=((VA(e,e)|0)>>>2)+A|0;A=jA[i+2>>1]>>1;A=e+((VA(A,A)|0)>>>2)|0;r=r+-1<<16>>16;if(!(r<<16>>16))break;else i=i+4|0}A=A<<3;r=Ni(A)|0;e=r<<16>>16;f=Ei(f,(r<<16>>16<16?A>>16-e:A<>16;if((e|0)>65536)A=f<<16>>16>>A+-1;else A=f<<16>>16<<1-A;e=A&65535;return e|0}function Qf(A,e,f,i,r,n){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;var t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0;pA[n>>2]=0;a=r<<16>>16;l=a>>>2&65535;o=l<<16>>16==0;if(o)w=0;else{B=l;t=f;w=0;while(1){Q=jA[t>>1]|0;Q=(VA(Q,Q)|0)+w|0;w=jA[t+2>>1]|0;w=Q+(VA(w,w)|0)|0;Q=jA[t+4>>1]|0;Q=w+(VA(Q,Q)|0)|0;w=jA[t+6>>1]|0;w=Q+(VA(w,w)|0)|0;B=B+-1<<16>>16;if(!(B<<16>>16))break;else t=t+8|0}}if(!((w>>>31^1)&(w|0)<1073741824)){w=a>>>1&65535;if(!(w<<16>>16))w=1;else{t=w;B=f;w=0;while(1){Q=jA[B>>1]>>2;Q=(VA(Q,Q)|0)+w|0;w=jA[B+2>>1]>>2;w=Q+(VA(w,w)|0)|0;t=t+-1<<16>>16;if(!(t<<16>>16))break;else B=B+4|0}w=w<<1|1}Q=(Ni(w)|0)<<16>>16;s=Q+65532&65535;Q=er(w<>16),n)|0}pA[n>>2]=0;do{if(!(r<<16>>16)){w=1;g=14}else{a=r;B=e;w=f;r=0;while(1){v=VA(jA[w>>1]|0,jA[B>>1]|0)|0;t=v+r|0;if((v^r|0)>0&(t^r|0)<0)break;a=a+-1<<16>>16;if(!(a<<16>>16)){g=13;break}else{B=B+2|0;w=w+2|0;r=t}}if((g|0)==13){w=t<<1|1;g=14;break}pA[n>>2]=1;if(o)w=1;else{ZA()}f=(Ni(w)|0)<<16>>16;t=f+65532&65535;f=er(w<>16),n)|0}jA[i>>1]=Q;w=s<<16>>16;jA[i+2>>1]=15-w;jA[i+4>>1]=f;t=t<<16>>16;jA[i+6>>1]=15-t;if(f<<16>>16<4){v=0;return v|0}t=fr(Ei(f<<16>>16>>>1&65535,Q)|0,t-w&65535,n)|0;t=t<<16>>16>19661?19661:t;if((A|0)!=7){v=t;return v|0}v=t&65532;return v|0}function gf(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;if(f<<16>>16)e=e<<16>>16<<1&65535;if(e<<16>>16<0){A=A+-2|0;e=(e&65535)+6&65535}f=e<<16>>16;i=6-f<<16>>16;e=(VA(jA[3468+(f<<1)>>1]|0,jA[A>>1]|0)|0)+16384|0;e=e+(VA(jA[3468+(i<<1)>>1]|0,jA[A+2>>1]|0)|0)|0;e=e+(VA(jA[3468+(f+6<<1)>>1]|0,jA[A+-2>>1]|0)|0)|0;e=e+(VA(jA[3468+(i+6<<1)>>1]|0,jA[A+4>>1]|0)|0)|0;e=(VA(jA[3468+(f+12<<1)>>1]|0,jA[A+-4>>1]|0)|0)+e|0;e=e+(VA(jA[3468+(i+12<<1)>>1]|0,jA[A+6>>1]|0)|0)|0;f=e+(VA(jA[3468+(f+18<<1)>>1]|0,jA[A+-6>>1]|0)|0)|0;return(f+(VA(jA[3468+(i+18<<1)>>1]|0,jA[A+8>>1]|0)|0)|0)>>>15&65535|0}function vf(A){A=A|0;A=A-(A>>>31)|0;return A>>31^A|0}function uf(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0;if(!(A<<16>>16))return;else{r=3518;n=3538;i=f}while(1){i=i+2|0;e=e+2|0;l=jA[e>>1]|0;w=jA[r>>1]|0;f=VA(w,l)|0;f=(f|0)==1073741824?2147483647:f<<1;l=(VA(jA[n>>1]|0,l)|0)>>15;t=(l<<1)+f|0;t=(f^l|0)>0&(t^f|0)<0?(f>>>31)+2147483647|0:t;w=(VA(w,jA[i>>1]|0)|0)>>15;f=t+(w<<1)|0;f=(t^w|0)>0&(f^t|0)<0?(t>>>31)+2147483647|0:f;jA[e>>1]=f>>>16;jA[i>>1]=(f>>>1)-(f>>16<<15);A=A+-1<<16>>16;if(!(A<<16>>16))break;else{r=r+2|0;n=n+2|0}}return}function cf(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0;i=A&65535;r=i<<16;e=e<<16>>16;A=(e<<1)+r|0;if(!((e^r|0)>0&(A^r|0)<0)){r=A;return r|0}pA[f>>2]=1;r=(i>>>15)+2147483647|0;return r|0}function Cf(A){A=A|0;var e=0,f=0,i=0;if(!A){i=-1;return i|0}pA[A>>2]=0;e=lr(22)|0;if(!e){i=-1;return i|0}jA[e>>1]=4096;f=e+2|0;i=f+20|0;do{jA[f>>1]=0;f=f+2|0}while((f|0)<(i|0));pA[A>>2]=e;i=0;return i|0}function Df(A){A=A|0;var e=0;if(!A){e=-1;return e|0}jA[A>>1]=4096;A=A+2|0;e=A+20|0;do{jA[A>>1]=0;A=A+2|0}while((A|0)<(e|0));e=0;return e|0}function Ef(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Br(e);pA[A>>2]=0;return}function hf(A,e,f,i,r,n){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;var t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0,T=0,y=0;R=WA;WA=WA+96|0;G=R+66|0;L=R+44|0;U=R+22|0;w=R;I=e+2|0;H=f+2|0;F=(jA[H>>1]<<1)+(DA[I>>1]<<16)|0;t=vf(F)|0;t=Ve(t,jA[e>>1]|0,jA[f>>1]|0,n)|0;if((F|0)>0)t=kf(t)|0;b=t>>16;jA[r>>1]=er(t,n)|0;C=t>>20;M=G+2|0;jA[M>>1]=C;F=L+2|0;jA[F>>1]=(t>>>5)-(C<<15);C=VA(b,b)|0;C=(C|0)==1073741824?2147483647:C<<1;b=(VA((t>>>1)-(b<<15)<<16>>16,b)|0)>>15;d=b<<1;k=d+C|0;k=(b^C|0)>0&(k^C|0)<0?(C>>>31)+2147483647|0:k;d=k+d|0;d=2147483647-(vf((k^b|0)>0&(d^k|0)<0?(k>>>31)+2147483647|0:d)|0)|0;k=d>>16;b=jA[e>>1]|0;C=VA(k,b)|0;C=(C|0)==1073741824?2147483647:C<<1;b=(VA((d>>>1)-(k<<15)<<16>>16,b)|0)>>15;d=(b<<1)+C|0;d=(b^C|0)>0&(d^C|0)<0?(C>>>31)+2147483647|0:d;k=(VA(jA[f>>1]|0,k)|0)>>15;C=d+(k<<1)|0;C=(d^k|0)>0&(C^d|0)<0?(d>>>31)+2147483647|0:C;d=Ni(C)|0;C=C<<(d<<16>>16);k=U+2|0;b=w+2|0;l=C;C=(C>>>1)-(C>>16<<15)|0;D=w+4|0;E=U+4|0;h=2;P=2;while(1){c=l>>>16;t=c&65535;g=C&65535;v=P+-1|0;a=G+(v<<1)|0;u=L+(v<<1)|0;Q=1;o=a;s=u;B=I;w=H;l=0;while(1){T=jA[B>>1]|0;y=((VA(jA[s>>1]|0,T)|0)>>15)+l|0;l=jA[o>>1]|0;l=y+(VA(l,T)|0)+((VA(l,jA[w>>1]|0)|0)>>15)|0;Q=Q+1<<16>>16;if((Q<<16>>16|0)>=(P|0))break;else{o=o+-2|0;s=s+-2|0;B=B+2|0;w=w+2|0}}y=(DA[e+(P<<1)>>1]<<16)+(l<<5)+(jA[f+(P<<1)>>1]<<1)|0;l=Ve(vf(y)|0,t,g,n)|0;if((y|0)>0)l=kf(l)|0;w=d<<16>>16;if(d<<16>>16>0){t=l<>w|0)!=(l|0))t=l>>31^2147483647}else{w=0-w<<16;if((w|0)<2031616)t=l>>(w>>16);else t=0}Q=t>>16;if((P|0)<5)jA[r+(v<<1)>>1]=(t+32768|0)>>>16;y=(t>>>16)-(t>>>31)|0;if(((y<<16>>31^y)&65535)<<16>>16>32750){t=16;break}s=(t>>>1)-(Q<<15)<<16>>16;o=1;l=u;w=k;B=b;while(1){T=(VA(jA[l>>1]|0,Q)|0)>>15;u=jA[a>>1]|0;y=(VA(u,s)|0)>>15;u=VA(u,Q)|0;y=u+T+(jA[L+(o<<1)>>1]|0)+(jA[G+(o<<1)>>1]<<15)+y|0;jA[w>>1]=y>>>15;jA[B>>1]=y&32767;o=o+1|0;if((o&65535)<<16>>16==h<<16>>16)break;else{a=a+-2|0;l=l+-2|0;w=w+2|0;B=B+2|0}}jA[E>>1]=t>>20;jA[D>>1]=(t>>>5)-(jA[U+(P<<1)>>1]<<15);T=VA(Q,Q)|0;T=(T|0)==1073741824?2147483647:T<<1;t=(VA(s,Q)|0)>>15;y=t<<1;w=y+T|0;w=(t^T|0)>0&(w^T|0)<0?(T>>>31)+2147483647|0:w;y=w+y|0;y=2147483647-(vf((w^t|0)>0&(y^w|0)<0?(w>>>31)+2147483647|0:y)|0)|0;w=y>>16;t=c<<16>>16;t=((VA(w,C<<16>>16)|0)>>15)+(VA(w,t)|0)+((VA((y>>>1)-(w<<15)<<16>>16,t)|0)>>15)<<1;w=(Ni(t)|0)<<16>>16;t=t<=11){t=20;break}else{d=w+(d&65535)&65535;l=t;C=(t>>1)-(t>>16<<15)|0;D=D+2|0;E=E+2|0;h=h+1<<16>>16}}if((t|0)==16){ZA()}else if((t|0)==20){jA[i>>1]=4096;y=((jA[F>>1]|0)+8192+(jA[M>>1]<<15)|0)>>>14&65535;jA[i+2>>1]=y;jA[A+2>>1]=y;y=((jA[L+4>>1]|0)+8192+(jA[G+4>>1]<<15)|0)>>>14&65535;jA[i+4>>1]=y;jA[A+4>>1]=y;y=((jA[L+6>>1]|0)+8192+(jA[G+6>>1]<<15)|0)>>>14&65535;jA[i+6>>1]=y;jA[A+6>>1]=y;y=((jA[L+8>>1]|0)+8192+(jA[G+8>>1]<<15)|0)>>>14&65535;jA[i+8>>1]=y;jA[A+8>>1]=y;y=((jA[L+10>>1]|0)+8192+(jA[G+10>>1]<<15)|0)>>>14&65535;jA[i+10>>1]=y;jA[A+10>>1]=y;y=((jA[L+12>>1]|0)+8192+(jA[G+12>>1]<<15)|0)>>>14&65535;jA[i+12>>1]=y;jA[A+12>>1]=y;y=((jA[L+14>>1]|0)+8192+(jA[G+14>>1]<<15)|0)>>>14&65535;jA[i+14>>1]=y;jA[A+14>>1]=y;y=((jA[L+16>>1]|0)+8192+(jA[G+16>>1]<<15)|0)>>>14&65535;jA[i+16>>1]=y;jA[A+16>>1]=y;y=((jA[L+18>>1]|0)+8192+(jA[G+18>>1]<<15)|0)>>>14&65535;jA[i+18>>1]=y;jA[A+18>>1]=y;y=((jA[L+20>>1]|0)+8192+(jA[G+20>>1]<<15)|0)>>>14&65535;jA[i+20>>1]=y;jA[A+20>>1]=y;WA=R;return 0}return 0}function Pf(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;i=A>>16;jA[e>>1]=i;jA[f>>1]=(A>>>1)-(i<<15);return}function kf(A){A=A|0;return((A|0)==-2147483648?2147483647:0-A|0)|0}function bf(A){A=A|0;var e=0;if(!A){A=-1;return A|0}pA[A>>2]=0;e=lr(4)|0;if(!e){A=-1;return A|0}pA[e>>2]=0;if(!((Cf(e)|0)<<16>>16)){Df(pA[e>>2]|0)|0;pA[A>>2]=e;A=0;return A|0}else{Ef(e);Br(e);A=-1;return A|0}return 0}function df(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Ef(e);Br(pA[A>>2]|0);pA[A>>2]=0;return}function If(A){A=A|0;if(!A){A=-1;return A|0}Df(pA[A>>2]|0)|0;A=0;return A|0}function Mf(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0;a=WA;WA=WA+64|0;B=a+48|0;l=a+22|0;w=a;if((e|0)==7){f=pA[n+116>>2]|0;SA(i,10,w,l,pA[n+112>>2]|0,t)|0;uf(10,w,l,t);hf(pA[A>>2]|0,w,l,r+22|0,B,t)|0;SA(i,10,w,l,f,t)|0;uf(10,w,l,t);hf(pA[A>>2]|0,w,l,r+66|0,B,t)|0;WA=a;return}else{SA(f,10,w,l,pA[n+108>>2]|0,t)|0;uf(10,w,l,t);hf(pA[A>>2]|0,w,l,r+66|0,B,t)|0;WA=a;return}}function Ff(A,e,f,i,r,n,t,w,l,B){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;if((f|0)==6){jA[r>>1]=Xf(A,e,i,20,143,80,n,t,w,l,B)|0;return}jA[t>>1]=0;jA[t+2>>1]=0;if(f>>>0<2){jA[r>>1]=Rf(e,f,i,20,143,160,w,l,B)|0;return}if(f>>>0<6){jA[r>>1]=Rf(e,f,i,20,143,80,w,l,B)|0;return}else{jA[r>>1]=Rf(e,f,i,18,143,80,w,l,B)|0;return}}function Hf(A){A=A|0;var e=0;if((A|0)!=0?(pA[A>>2]=0,e=lr(2)|0,(e|0)!=0):0){jA[e>>1]=0;pA[A>>2]=e;e=0}else e=-1;return e|0}function Uf(A){A=A|0;if(!A)A=-1;else{jA[A>>1]=0;A=0}return A|0}function Gf(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Br(e);pA[A>>2]=0;return}function Lf(A,e,f,i,r,n,t,w,l,B,a,s){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;s=s|0;var o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0,T=0,y=0,Y=0,z=0,X=0,J=0,O=0,m=0,N=0,K=0;K=WA;WA=WA+240|0;c=K+160|0;C=K+80|0;z=K;Y=jA[3558+(e*18|0)>>1]|0;N=jA[3558+(e*18|0)+2>>1]|0;o=jA[3558+(e*18|0)+4>>1]|0;X=jA[3558+(e*18|0)+6>>1]|0;v=jA[3558+(e*18|0)+12>>1]|0;g=jA[3558+(e*18|0)+14>>1]|0;Q=jA[3558+(e*18|0)+16>>1]|0;A:do{switch(w<<16>>16){case 0:case 80:if(e>>>0<2&w<<16>>16==80){J=(DA[A>>1]|0)-(v&65535)|0;J=(J<<16>>16|0)<(Q<<16>>16|0)?Q:J&65535;y=g<<16>>16;O=(J&65535)+y&65535;m=O<<16>>16>143;J=m?143-y&65535:J;O=m?143:O;m=1;break A}else{J=(DA[f+((w<<16>>16!=0&1)<<1)>>1]|0)-(DA[3558+(e*18|0)+8>>1]|0)|0;J=(J<<16>>16|0)<(Q<<16>>16|0)?Q:J&65535;y=jA[3558+(e*18|0)+10>>1]|0;O=(J&65535)+y&65535;m=O<<16>>16>143;J=m?143-y&65535:J;O=m?143:O;m=0;break A}default:{J=(DA[A>>1]|0)-(v&65535)|0;J=(J<<16>>16|0)<(Q<<16>>16|0)?Q:J&65535;y=g<<16>>16;O=(J&65535)+y&65535;m=O<<16>>16>143;J=m?143-y&65535:J;O=m?143:O;m=1}}}while(0);T=J&65535;w=T+65532|0;u=w&65535;R=(O&65535)+4&65535;y=w<<16>>16;w=0-(w&65535)|0;v=w&65535;xe(i+(w<<16>>16<<1)|0,n,c,t);w=t<<16>>16;b=w>>>1&65535;D=b<<16>>16==0;if(D)t=1;else{t=b;Q=c;f=C;g=0;while(1){L=jA[Q>>1]|0;jA[f>>1]=L>>>2;L=(VA(L,L)|0)+g|0;g=jA[Q+2>>1]|0;jA[f+2>>1]=g>>>2;g=L+(VA(g,g)|0)|0;t=t+-1<<16>>16;if(!(t<<16>>16))break;else{Q=Q+4|0;f=f+4|0}}t=(g|0)<33554433}L=t?0:2;k=t?c:C;E=t?c:C;A:do{if(u<<16>>16<=R<<16>>16){h=w+-1|0;H=k+(h<<1)|0;U=n+(h<<1)|0;G=k+(w+-2<<1)|0;I=h>>>1;M=I&65535;P=M<<16>>16==0;F=t?12:14;I=(I<<1)+131070&131070;f=w+-3-I|0;d=k+(f<<1)|0;I=k+(w+-4-I<<1)|0;n=n+(f<<1)|0;if(!D){D=y;while(1){C=b;c=E;Q=r;g=0;t=0;while(1){C=C+-1<<16>>16;w=jA[c>>1]|0;g=(VA(w,jA[Q>>1]|0)|0)+g|0;w=(VA(w,w)|0)+t|0;t=jA[c+2>>1]|0;g=g+(VA(t,jA[Q+2>>1]|0)|0)|0;t=w+(VA(t,t)|0)|0;if(!(C<<16>>16))break;else{c=c+4|0;Q=Q+4|0}}c=Ui(t<<1,s)|0;t=c>>16;Q=g<<1>>16;C=VA(t,Q)|0;C=(C|0)==1073741824?2147483647:C<<1;Q=(VA((c>>>1)-(t<<15)<<16>>16,Q)|0)>>15;c=(Q<<1)+C|0;c=(Q^C|0)>0&(c^C|0)<0?(C>>>31)+2147483647|0:c;t=(VA(t,g&32767)|0)>>15;C=c+(t<<1)|0;jA[z+(D-y<<1)>>1]=(c^t|0)>0&(C^c|0)<0?(c>>>31)+65535|0:C;if(u<<16>>16!=R<<16>>16){v=v+-1<<16>>16;C=jA[i+(v<<16>>16<<1)>>1]|0;if(P){c=h;t=G;g=U;Q=H}else{c=M;t=G;g=U;Q=H;while(1){D=(VA(jA[g>>1]|0,C)|0)>>F;jA[Q>>1]=D+(DA[t>>1]|0);D=(VA(jA[g+-2>>1]|0,C)|0)>>F;jA[Q+-2>>1]=D+(DA[t+-2>>1]|0);c=c+-1<<16>>16;if(!(c<<16>>16)){c=f;t=I;g=n;Q=d;break}else{t=t+-4|0;g=g+-4|0;Q=Q+-4|0}}}D=(VA(jA[g>>1]|0,C)|0)>>F;jA[Q>>1]=D+(DA[t>>1]|0);jA[k+(c+-1<<1)>>1]=C>>L}u=u+1<<16>>16;if(u<<16>>16>R<<16>>16)break A;else D=u<<16>>16}}if(P){ZA()}c=k+(f+-1<<1)|0;t=y;while(1){Ui(0,s)|0;jA[z+(t-y<<1)>>1]=0;if(u<<16>>16!=R<<16>>16){ZA()}u=u+1<<16>>16;if(u<<16>>16>R<<16>>16)break;else t=u<<16>>16}}}while(0);u=J<<16>>16;f=T+1&65535;if(f<<16>>16>O<<16>>16)n=J;else{v=J;w=jA[z+(u-y<<1)>>1]|0;while(1){g=jA[z+((f<<16>>16)-y<<1)>>1]|0;Q=g<<16>>16>16;v=Q?v:f;f=f+1<<16>>16;if(f<<16>>16>O<<16>>16){n=v;break}else w=Q?w:g}}A:do{if(!(m<<16>>16==0?n<<16>>16>Y<<16>>16:0)){if(!(e>>>0<4&m<<16>>16!=0)){v=z+((n<<16>>16)-y<<1)|0;g=gf(v,o,N,s)|0;f=(o&65535)+1&65535;if(f<<16>>16<=X<<16>>16)while(1){Q=gf(v,f,N,s)|0;w=Q<<16>>16>g<<16>>16;o=w?f:o;f=f+1<<16>>16;if(f<<16>>16>X<<16>>16)break;else g=w?Q:g}if((e+-7|0)>>>0<2){X=o<<16>>16==-3;f=(X<<31>>31)+n<<16>>16;o=X?3:o;break}switch(o<<16>>16){case-2:{f=n+-1<<16>>16;o=1;break A}case 2:{f=n+1<<16>>16;o=-1;break A}default:{f=n;break A}}}Y=jA[A>>1]|0;Y=((Y<<16>>16)-u|0)>5?u+5&65535:Y;w=O<<16>>16;Y=(w-(Y<<16>>16)|0)>4?w+65532&65535:Y;w=n<<16>>16;f=Y<<16>>16;if((w|0)==(f+-1|0)?1:n<<16>>16==Y<<16>>16){v=z+(w-y<<1)|0;w=gf(v,o,N,s)|0;f=(o&65535)+1&65535;if(f<<16>>16<=X<<16>>16)while(1){g=gf(v,f,N,s)|0;Q=g<<16>>16>w<<16>>16;o=Q?f:o;f=f+1<<16>>16;if(f<<16>>16>X<<16>>16)break;else w=Q?g:w}if((e+-7|0)>>>0<2){ZA()}switch(o<<16>>16){case-2:{f=n+-1<<16>>16;o=1;break A}case 2:{f=n+1<<16>>16;o=-1;break A}default:{f=n;break A}}}if((w|0)==(f+-2|0)){f=z+(w-y<<1)|0;w=gf(f,0,N,s)|0;if((e|0)!=8){o=0;v=1;while(1){g=gf(f,v,N,s)|0;Q=g<<16>>16>w<<16>>16;o=Q?v:o;v=v+1<<16>>16;if(v<<16>>16>X<<16>>16)break;else w=Q?g:w}if((e+-7|0)>>>0>=2)switch(o<<16>>16){case-2:{f=n+-1<<16>>16;o=1;break A}case 2:{f=n+1<<16>>16;o=-1;break A}default:{f=n;break A}}}else o=0;X=o<<16>>16==-3;f=(X<<31>>31)+n<<16>>16;o=X?3:o;break}if((w|0)==(f+1|0)){v=z+(w-y<<1)|0;f=gf(v,o,N,s)|0;w=(o&65535)+1&65535;if(w<<16>>16<=0)while(1){Q=gf(v,w,N,s)|0;g=Q<<16>>16>f<<16>>16;o=g?w:o;w=w+1<<16>>16;if(w<<16>>16>0)break;else f=g?Q:f}if((e+-7|0)>>>0<2){ZA()}switch(o<<16>>16){case-2:{f=n+-1<<16>>16;o=1;break A}case 2:{f=n+1<<16>>16;o=-1;break A}default:{f=n;break A}}}else{f=n;o=0}}else{f=n;o=0}}while(0);if((e+-7|0)>>>0>1){X=A;A=Af(f,o,jA[A>>1]|0,J,O,m,e>>>0<4&1,s)|0;jA[a>>1]=A;jA[X>>1]=f;jA[B>>1]=N;jA[l>>1]=o;WA=K;return f|0}else{s=ef(f,o,J,m,s)|0;jA[a>>1]=s;jA[A>>1]=f;jA[B>>1]=N;jA[l>>1]=o;WA=K;return f|0}return 0}function Rf(A,e,f,i,r,n,t,w,l){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;var B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0;I=WA;WA=WA+1200|0;b=I+1188|0;k=I+580|0;d=I+578|0;P=I+576|0;C=I;E=I+582|0;h=(w|0)!=0;if(h){ZA()}D=r<<16>>16;s=0-D|0;a=f+(s<<1)|0;s=s&65535;v=n<<16>>16;do{if(s<<16>>16>16){g=s;Q=a;s=0;while(1){u=jA[Q>>1]|0;s=(VA(u<<1,u)|0)+s|0;if((s|0)<0)break;g=g+1<<16>>16;if(g<<16>>16>=n<<16>>16){c=14;break}else Q=Q+2|0}if((c|0)==14){if((s|0)<1048576){c=15;break}or(E|0,a|0,v+D<<1|0)|0;u=0;break}B=v+D|0;o=B>>>1;g=o&65535;if(!(g<<16>>16))s=E;else{u=((o<<1)+131070&131070)+2|0;v=u-D|0;Q=E;while(1){jA[Q>>1]=(jA[a>>1]|0)>>>3;jA[Q+2>>1]=(jA[a+2>>1]|0)>>>3;g=g+-1<<16>>16;if(!(g<<16>>16))break;else{a=a+4|0;Q=Q+4|0}}a=f+(v<<1)|0;s=E+(u<<1)|0}if(!(B&1))u=3;else{jA[s>>1]=(jA[a>>1]|0)>>>3;u=3}}else c=15}while(0);if((c|0)==15){u=v+D|0;s=u>>>1;o=s&65535;if(!(o<<16>>16))s=E;else{v=((s<<1)+131070&131070)+2|0;Q=v-D|0;g=E;while(1){jA[g>>1]=jA[a>>1]<<3;jA[g+2>>1]=jA[a+2>>1]<<3;o=o+-1<<16>>16;if(!(o<<16>>16))break;else{a=a+4|0;g=g+4|0}}a=f+(Q<<1)|0;s=E+(v<<1)|0}if(!(u&1))u=-3;else{jA[s>>1]=jA[a>>1]<<3;u=-3}}v=C+(D<<2)|0;Q=E+(D<<1)|0;Le(Q,n,r,i,v);B=(e|0)==7&1;s=i<<16>>16;a=s<<2;if((a|0)!=(s<<18>>16|0)){pA[l>>2]=1;a=i<<16>>16>0?32767:-32768}g=Tf(A,v,Q,u,B,n,r,a&65535,b,w,l)|0;s=s<<1;o=Tf(A,v,Q,u,B,n,a+65535&65535,s&65535,k,w,l)|0;s=Tf(A,v,Q,u,B,n,s+65535&65535,i,d,w,l)|0;if(t<<16>>16==1&h){ZA()}a=jA[b>>1]|0;B=jA[k>>1]|0;if(((a<<16>>16)*55706>>16|0)>=(B<<16>>16|0)){k=a;b=g;k=k<<16>>16;k=k*55706|0;k=k>>16;d=jA[d>>1]|0;d=d<<16>>16;d=(k|0)<(d|0);d=d?s:b;WA=I;return d|0}jA[b>>1]=B;k=B;b=o;k=k<<16>>16;k=k*55706|0;k=k>>16;d=jA[d>>1]|0;d=d<<16>>16;d=(k|0)<(d|0);d=d?s:b;WA=I;return d|0}function Tf(A,e,f,i,r,n,t,w,l,B,a){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;var s=0,o=0,Q=0,g=0,v=0;if(t<<16>>16>16){w=-2147483648;Q=t}else{Q=t;s=-2147483648;o=e+(0-(t<<16>>16)<<2)|0;e=t;while(1){t=pA[o>>2]|0;v=(t|0)<(s|0);e=v?e:Q;s=v?s:t;Q=Q+-1<<16>>16;if(Q<<16>>16>16){w=s;Q=e;break}else o=o+4|0}}e=n<<16>>16>>>2&65535;if(!(e<<16>>16))e=0;else{s=e;t=f+(0-(Q<<16>>16)<<1)|0;e=0;while(1){v=jA[t>>1]|0;v=(VA(v,v)|0)+e|0;e=jA[t+2>>1]|0;e=v+(VA(e,e)|0)|0;v=jA[t+4>>1]|0;v=e+(VA(v,v)|0)|0;e=jA[t+6>>1]|0;e=v+(VA(e,e)|0)|0;s=s+-1<<16>>16;if(!(s<<16>>16))break;else t=t+8|0}e=e<<1}if(B)ZA();e=Ui(e,a)|0;t=r<<16>>16!=0;if(t)e=(e|0)>1073741823?2147483647:e<<1;r=w>>16;A=e>>16;a=VA(A,r)|0;a=(a|0)==1073741824?2147483647:a<<1;e=(VA((e>>>1)-(A<<15)<<16>>16,r)|0)>>15;v=(e<<1)+a|0;v=(e^a|0)>0&(v^a|0)<0?(a>>>31)+2147483647|0:v;r=(VA(A,(w>>>1)-(r<<15)<<16>>16)|0)>>15;e=v+(r<<1)|0;e=(v^r|0)>0&(e^v|0)<0?(v>>>31)+2147483647|0:e;if(!t){jA[l>>1]=e;return Q|0}t=i<<16>>16;if(i<<16>>16>0)if(i<<16>>16<31){t=e>>t;g=16}else t=0;else{g=0-t<<16>>16;t=e<>g|0)==(e|0)?t:e>>31^2147483647;g=16}if((g|0)==16){if((t|0)>65535){jA[l>>1]=32767;return Q|0}if((t|0)<-65536){jA[l>>1]=-32768;return Q|0}}jA[l>>1]=t>>>1;return Q|0}function yf(A){A=A|0;var e=0;if(!A){A=-1;return A|0}pA[A>>2]=0;e=lr(6)|0;if(!e){A=-1;return A|0}jA[e>>1]=40;jA[e+2>>1]=0;jA[e+4>>1]=0;pA[A>>2]=e;A=0;return A|0}function Yf(A){A=A|0;if(!A){A=-1;return A|0}jA[A>>1]=40;jA[A+2>>1]=0;jA[A+4>>1]=0;A=0;return A|0}function zf(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Br(e);pA[A>>2]=0;return}function Xf(A,e,f,i,r,n,t,w,l,B,a){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;var s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0;F=WA;WA=WA+1200|0;D=F+1186|0;E=F+1184|0;M=F+1182|0;C=F;P=F+576|0;h=r<<16>>16;I=P+(h<<1)|0;s=(0-h&65535)<<16>>16>16;if(s){v=0-r<<16>>16<<16>>16;o=0;do{g=jA[f+(v<<1)>>1]|0;g=VA(g,g)|0;if((g|0)!=1073741824){Q=(g<<1)+o|0;if((g^o|0)>0&(Q^o|0)<0){pA[a>>2]=1;o=(o>>>31)+2147483647|0}else o=Q}else{pA[a>>2]=1;o=2147483647}v=v+1|0}while((v&65535)<<16>>16!=n<<16>>16)}else o=0;if((2147483646-o&o|0)>=0)if((o|0)==2147483647){if(s){o=0-r<<16>>16<<16>>16;do{jA[P+(o+h<<1)>>1]=fr(jA[f+(o<<1)>>1]|0,3,a)|0;o=o+1|0}while((o&65535)<<16>>16!=n<<16>>16)}}else u=14;else{pA[a>>2]=1;u=14}do{if((u|0)==14){if((1048575-o&o|0)<0){pA[a>>2]=1;o=(o>>>31)+2147483647|0}else o=o+-1048576|0;if((o|0)>=0){if(!s)break;d=0-r<<16>>16<<16>>16;or(P+(h+d<<1)|0,f+(d<<1)|0,(((n+r<<16>>16)+-1&65535)<<1)+2|0)|0;break}if(s){o=0-r<<16>>16<<16>>16;do{d=jA[f+(o<<1)>>1]|0;jA[P+(o+h<<1)>>1]=(d<<19>>19|0)==(d|0)?d<<3:d>>>15^32767;o=o+1|0}while((o&65535)<<16>>16!=n<<16>>16)}}}while(0);b=C+(h<<2)|0;Le(I,n,r,i,b);v=jA[A>>1]|0;d=A+4|0;k=w+(l<<16>>16<<1)|0;A:do{if(r<<16>>16>16)c=r;else{if((jA[d>>1]|0)<=0){f=r;w=-2147483648;g=r;u=3402;while(1){Pf(pA[C+(h-(f<<16>>16)<<2)>>2]|0,D,E,a);Q=jA[E>>1]|0;o=jA[u>>1]|0;v=VA(o,jA[D>>1]|0)|0;if((v|0)==1073741824){pA[a>>2]=1;s=2147483647}else s=v<<1;c=(VA(o,Q<<16>>16)|0)>>15;v=s+(c<<1)|0;if((s^c|0)>0&(v^s|0)<0){ZA()}Q=(v|0)<(w|0);g=Q?g:f;f=f+-1<<16>>16;if(f<<16>>16>16){c=g;break A}else{w=Q?w:v;u=u+-2|0}}}w=r;s=-2147483648;g=r;c=2902+(h+123-(v<<16>>16)<<1)|0;f=3402;while(1){Pf(pA[C+(h-(w<<16>>16)<<2)>>2]|0,D,E,a);u=jA[E>>1]|0;Q=jA[f>>1]|0;v=VA(Q,jA[D>>1]|0)|0;if((v|0)==1073741824){pA[a>>2]=1;o=2147483647}else o=v<<1;u=(VA(Q,u<<16>>16)|0)>>15;v=o+(u<<1)|0;if((o^u|0)>0&(v^o|0)<0){pA[a>>2]=1;v=(o>>>31)+2147483647|0}Pf(v,D,E,a);u=jA[E>>1]|0;Q=jA[c>>1]|0;v=VA(Q,jA[D>>1]|0)|0;if((v|0)==1073741824){pA[a>>2]=1;o=2147483647}else o=v<<1;u=(VA(Q,u<<16>>16)|0)>>15;v=o+(u<<1)|0;if((o^u|0)>0&(v^o|0)<0){pA[a>>2]=1;v=(o>>>31)+2147483647|0}Q=(v|0)<(s|0);g=Q?g:w;w=w+-1<<16>>16;if(w<<16>>16>16){c=g;break}else{s=Q?s:v;c=c+-2|0;f=f+-2|0}}}}while(0);if(n<<16>>16>0){w=0;f=I;u=P+(h-(c<<16>>16)<<1)|0;g=0;o=0;while(1){v=jA[u>>1]|0;Q=VA(v,jA[f>>1]|0)|0;if((Q|0)!=1073741824){s=(Q<<1)+g|0;if((Q^g|0)>0&(s^g|0)<0){ZA()}else g=s}else{pA[a>>2]=1;g=2147483647}s=VA(v,v)|0;if((s|0)!=1073741824){Q=(s<<1)+o|0;if((s^o|0)>0&(Q^o|0)<0){ZA()}else o=Q}else{pA[a>>2]=1;o=2147483647}w=w+1<<16>>16;if(w<<16>>16>=n<<16>>16)break;else{f=f+2|0;u=u+2|0}}}else{g=0;o=0}Q=(B|0)==0;if(!Q){ZA()}s=(er(o,a)|0)<<16>>16;if((s*13107|0)==1073741824){pA[a>>2]=1;o=2147483647}else o=s*26214|0;s=g-o|0;if(((s^g)&(o^g)|0)<0){pA[a>>2]=1;s=(g>>>31)+2147483647|0}B=er(s,a)|0;jA[k>>1]=B;if(B<<16>>16>0){s=t+6|0;jA[t+8>>1]=jA[s>>1]|0;B=t+4|0;jA[s>>1]=jA[B>>1]|0;s=t+2|0;jA[B>>1]=jA[s>>1]|0;jA[s>>1]=jA[t>>1]|0;jA[t>>1]=c;jA[A>>1]=di(t,5)|0;jA[A+2>>1]=32767;s=32767}else{jA[A>>1]=c;A=A+2|0;s=((jA[A>>1]|0)*29491|0)>>>15&65535;jA[A>>1]=s}jA[d>>1]=((nr(s,9830,a)|0)&65535)>>>15^1;if(Q){WA=F;return c|0}if((nr(l,1,a)|0)<<16>>16){WA=F;return c|0}ZA();return c|0}function Jf(A,e,f,i,r,n,t,w,l,B){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;var a=0,s=0;B=WA;WA=WA+48|0;s=B+22|0;a=B;e=A>>>0<6?e:f;f=n<<16>>16>0?22:0;A=r+(f<<1)|0;wr(A,e,s);wr(A,i,a);A=n<<16>>16;n=l+(A<<1)|0;Ar(s,t+(A<<1)|0,n,40);tr(a,n,n,40,w,1);f=r+(((f<<16)+720896|0)>>>16<<1)|0;wr(f,e,s);wr(f,i,a);A=(A<<16)+2621440>>16;l=l+(A<<1)|0;Ar(s,t+(A<<1)|0,l,40);tr(a,l,l,40,w,1);WA=B;return}function Of(A){A=A|0;var e=0;if(!A){A=-1;return A|0}pA[A>>2]=0;e=lr(12)|0;if(!e){A=-1;return A|0}jA[e>>1]=0;jA[e+2>>1]=0;jA[e+4>>1]=0;jA[e+6>>1]=0;jA[e+8>>1]=0;jA[e+10>>1]=0;pA[A>>2]=e;A=0;return A|0}function mf(A){A=A|0;if(!A){A=-1;return A|0}jA[A>>1]=0;jA[A+2>>1]=0;jA[A+4>>1]=0;jA[A+6>>1]=0;jA[A+8>>1]=0;jA[A+10>>1]=0;A=0;return A|0}function Nf(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Br(e);pA[A>>2]=0;return}function Kf(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0;s=A+10|0;r=jA[s>>1]|0;o=A+8|0;i=jA[o>>1]|0;if(!(f<<16>>16)){ZA()}w=A+4|0;l=A+6|0;B=A+2|0;t=jA[l>>1]|0;a=jA[w>>1]|0;n=f;f=r;while(1){Q=(VA(jA[A>>1]|0,-3733)|0)+(((a<<16>>16)*7807|0)+((t<<16>>16)*7807>>15))|0;jA[A>>1]=a;Q=Q+((VA(jA[B>>1]|0,-3733)|0)>>15)|0;jA[B>>1]=t;Q=((f<<16>>16)*1899|0)+Q+(VA(i<<16>>16,-3798)|0)|0;f=jA[e>>1]|0;Q=Q+((f<<16>>16)*1899|0)|0;jA[e>>1]=(Q+2048|0)>>>12;r=Q>>>12;a=r&65535;jA[w>>1]=a;t=(Q<<3)-(r<<15)&65535;jA[l>>1]=t;n=n+-1<<16>>16;if(!(n<<16>>16))break;else{Q=i;e=e+2|0;i=f;f=Q}}jA[s>>1]=i;jA[o>>1]=f;return}function Sf(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0;r=jA[(pA[i+88>>2]|0)+(A<<1)>>1]|0;if(!(r<<16>>16))return;w=f;t=pA[(pA[i+92>>2]|0)+(A<<2)>>2]|0;while(1){f=jA[t>>1]|0;if(!(f<<16>>16))f=0;else{A=jA[e>>1]|0;n=f;i=w+((f<<16>>16)+-1<<1)|0;while(1){f=A<<16>>16;jA[i>>1]=f&1;n=n+-1<<16>>16;if(!(n<<16>>16))break;else{A=f>>>1&65535;i=i+-2|0}}f=jA[t>>1]|0}e=e+2|0;r=r+-1<<16>>16;if(!(r<<16>>16))break;else{w=w+(f<<16>>16<<1)|0;t=t+2|0}}return}function xf(A,e,f,i,r,n){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;var t=0,w=0,l=0,B=0,a=0;a=WA;WA=WA+16|0;l=a+2|0;B=a;t=r<<16>>16;if(r<<16>>16<1){n=-5443;B=-32768;ki(A,B,n);WA=a;return}w=Si(14,f,n)|0;if((t|0)<(w<<16>>16|0))f=i;else{f=(i&65535)+1&65535;r=t>>>1&65535}i=Ei(r,w&65535)|0;jA[B>>1]=i;Gi(i<<16>>16,l,B,n);jA[l>>1]=((((f&65535)-(e&65535)<<16)+-65536|0)>>>16)+(DA[l>>1]|0);i=ir(jA[B>>1]|0,5,n)|0;t=jA[l>>1]|0;i=((t&65535)<<10)+(i&65535)&65535;if(i<<16>>16>18284){ZA()}r=jA[B>>1]|0;t=t<<16>>16;if((t*24660|0)==1073741824){pA[n>>2]=1;f=2147483647}else f=t*49320|0;B=(r<<16>>16)*24660>>15;t=f+(B<<1)|0;if((f^B|0)>0&(t^f|0)<0){pA[n>>2]=1;t=(f>>>31)+2147483647|0}B=t<<13;n=er((B>>13|0)==(t|0)?B:t>>31^2147483647,n)|0;B=i;ki(A,B,n);WA=a;return}function jf(A,e,f,i,r,n,t,w,l,B,a,s,o,Q,g,v,u,c,C,D){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;s=s|0;o=o|0;Q=Q|0;g=g|0;v=v|0;u=u|0;c=c|0;C=C|0;D=D|0;var E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0,T=0,y=0,Y=0,z=0,X=0,J=0,O=0,m=0,N=0,K=0,S=0,x=0,j=0,p=0,W=0,V=0,Z=0,q=0,_=0,$=0,AA=0,eA=0,fA=0;fA=WA;WA=WA+80|0;_=fA+66|0;$=fA+64|0;AA=fA+62|0;eA=fA+60|0;Y=fA+40|0;z=fA+20|0;T=fA;jA[_>>1]=e;jA[$>>1]=l;jA[AA>>1]=B;R=Si(14,f,D)|0;q=R&65535;jA[eA>>1]=q;y=Si(14,B,D)|0;L=(DA[i>>1]|0)+65523|0;jA[T>>1]=L;I=(DA[i+2>>1]|0)+65522|0;M=T+2|0;jA[M>>1]=I;F=((e&65535)<<16)+-720896|0;k=F>>16;F=(F>>>15)+15+(DA[i+4>>1]|0)|0;H=T+4|0;jA[H>>1]=F;U=(DA[i+6>>1]|0)+k|0;G=T+6|0;jA[G>>1]=U;k=k+1+(DA[i+8>>1]|0)|0;b=T+8|0;jA[b>>1]=k;E=(DA[a>>1]|0)+65523&65535;jA[T+10>>1]=E;d=(DA[a+2>>1]|0)+65522&65535;jA[T+12>>1]=d;h=((l&65535)<<16)+-720896|0;i=h>>16;h=(h>>>15)+15+(DA[a+4>>1]|0)&65535;jA[T+14>>1]=h;P=(DA[a+6>>1]|0)+i&65535;jA[T+16>>1]=P;i=i+1+(DA[a+8>>1]|0)&65535;jA[T+18>>1]=i;V=(n&65535)-(o&65535)<<16;l=V>>16;if((V|0)>0){B=t;f=Q<<16>>16>>l&65535}else{B=t<<16>>16>>0-l&65535;f=Q}if((ir(f,1,D)|0)<<16>>16>B<<16>>16)f=1;else f=(((B<<16>>16)+3>>2|0)>(f<<16>>16|0))<<31>>31;a=L+f&65535;jA[T>>1]=a;V=I+f&65535;jA[M>>1]=V;W=F+f&65535;jA[H>>1]=W;p=U+f&65535;jA[G>>1]=p;j=k+f&65535;jA[b>>1]=j;l=i<<16>>16>a<<16>>16?i:a;l=P<<16>>16>l<<16>>16?P:l;l=h<<16>>16>l<<16>>16?h:l;l=d<<16>>16>l<<16>>16?d:l;l=E<<16>>16>l<<16>>16?E:l;l=j<<16>>16>l<<16>>16?j:l;l=p<<16>>16>l<<16>>16?p:l;l=W<<16>>16>l<<16>>16?W:l;l=(V<<16>>16>l<<16>>16?V:l)+1&65535;i=0;while(1){f=l-(a&65535)|0;a=f&65535;B=DA[r>>1]<<16;f=f<<16>>16;if(a<<16>>16>0)a=a<<16>>16<31?B>>f:0;else{ZA()}V=a>>16;jA[Y+(i<<1)>>1]=V;jA[z+(i<<1)>>1]=(a>>>1)-(V<<15);i=i+1|0;if((i|0)==5){f=5;B=s;break}a=jA[T+(i<<1)>>1]|0;r=r+2|0}while(1){i=l-(E&65535)|0;E=i&65535;a=DA[B>>1]<<16;i=i<<16>>16;if(E<<16>>16>0)a=E<<16>>16<31?a>>i:0;else{ZA()}V=a>>16;jA[Y+(f<<1)>>1]=V;jA[z+(f<<1)>>1]=(a>>>1)-(V<<15);a=f+1|0;if((a&65535)<<16>>16==10)break;E=jA[T+(a<<1)>>1]|0;f=a;B=B+2|0}X=R<<16>>16;J=jA[Y>>1]|0;O=jA[z>>1]|0;m=jA[Y+2>>1]|0;N=jA[z+2>>1]|0;K=jA[Y+4>>1]|0;S=jA[z+4>>1]|0;x=jA[Y+6>>1]|0;j=jA[z+6>>1]|0;p=jA[Y+8>>1]|0;W=jA[z+8>>1]|0;V=g&65535;o=y<<16>>16;n=jA[Y+10>>1]|0;P=jA[z+10>>1]|0;h=jA[Y+12>>1]|0;r=jA[z+12>>1]|0;f=jA[Y+14>>1]|0;B=jA[z+14>>1]|0;i=jA[Y+16>>1]|0;E=jA[z+16>>1]|0;k=jA[Y+18>>1]|0;z=jA[z+18>>1]|0;l=2147483647;Y=0;a=0;b=782;do{T=jA[b>>1]|0;U=(VA(X,jA[b+2>>1]|0)|0)>>>15<<16;s=U>>16;F=T<<1;L=(VA(F,T)|0)>>16;Q=VA(L,J)|0;if((Q|0)==1073741824){pA[D>>2]=1;G=2147483647}else G=Q<<1;y=(VA(O,L)|0)>>15;Q=G+(y<<1)|0;if((G^y|0)>0&(Q^G|0)<0){pA[D>>2]=1;Q=(G>>>31)+2147483647|0}L=VA(m,T)|0;if((L|0)==1073741824){pA[D>>2]=1;G=2147483647}else G=L<<1;y=(VA(N,T)|0)>>15;L=G+(y<<1)|0;if((G^y|0)>0&(L^G|0)<0){pA[D>>2]=1;L=(G>>>31)+2147483647|0}U=(VA(U>>15,s)|0)>>16;G=VA(K,U)|0;if((G|0)==1073741824){pA[D>>2]=1;H=2147483647}else H=G<<1;y=(VA(S,U)|0)>>15;G=H+(y<<1)|0;if((H^y|0)>0&(G^H|0)<0){pA[D>>2]=1;G=(H>>>31)+2147483647|0}U=VA(x,s)|0;if((U|0)==1073741824){pA[D>>2]=1;H=2147483647}else H=U<<1;y=(VA(j,s)|0)>>15;U=H+(y<<1)|0;if((H^y|0)>0&(U^H|0)<0){pA[D>>2]=1;y=(H>>>31)+2147483647|0}else y=U;H=(VA(F,s)|0)>>16;U=VA(p,H)|0;if((U|0)==1073741824){pA[D>>2]=1;F=2147483647}else F=U<<1;R=(VA(W,H)|0)>>15;U=F+(R<<1)|0;if((F^R|0)>0&(U^F|0)<0){pA[D>>2]=1;U=(F>>>31)+2147483647|0}H=jA[b+4>>1]|0;F=jA[b+6>>1]|0;b=b+8|0;if((T-V&65535)<<16>>16<1?(Z=H<<16>>16,H<<16>>16<=g<<16>>16):0){I=(VA(F<<16>>16,o)|0)>>>15<<16;T=I>>16;d=Z<<1;F=(VA(d,Z)|0)>>16;H=VA(n,F)|0;if((H|0)==1073741824){pA[D>>2]=1;M=2147483647}else M=H<<1;R=(VA(P,F)|0)>>15;H=M+(R<<1)|0;if((M^R|0)>0&(H^M|0)<0){pA[D>>2]=1;H=(M>>>31)+2147483647|0}F=VA(h,Z)|0;if((F|0)==1073741824){pA[D>>2]=1;M=2147483647}else M=F<<1;R=(VA(r,Z)|0)>>15;F=M+(R<<1)|0;if((M^R|0)>0&(F^M|0)<0){pA[D>>2]=1;R=(M>>>31)+2147483647|0}else R=F;M=(VA(I>>15,T)|0)>>16;F=VA(f,M)|0;if((F|0)==1073741824){pA[D>>2]=1;I=2147483647}else I=F<<1;s=(VA(B,M)|0)>>15;F=I+(s<<1)|0;if((I^s|0)>0&(F^I|0)<0){pA[D>>2]=1;s=(I>>>31)+2147483647|0}else s=F;F=VA(i,T)|0;if((F|0)==1073741824){pA[D>>2]=1;M=2147483647}else M=F<<1;I=(VA(E,T)|0)>>15;F=M+(I<<1)|0;if((M^I|0)>0&(F^M|0)<0){pA[D>>2]=1;t=(M>>>31)+2147483647|0}else t=F;M=(VA(d,T)|0)>>16;F=VA(k,M)|0;if((F|0)==1073741824){pA[D>>2]=1;I=2147483647}else I=F<<1;T=(VA(z,M)|0)>>15;F=I+(T<<1)|0;if((I^T|0)>0&(F^I|0)<0){pA[D>>2]=1;F=(I>>>31)+2147483647|0}T=L+Q+G+y+U+H+R+s+t+F|0;y=(T|0)<(l|0);l=y?T:l;a=y?Y:a}Y=Y+1<<16>>16}while(Y<<16>>16<256);g=(a&65535)<<18>>16;pf(A,782+(g<<1)|0,q,e,v,u,D);Pi(A,0,w,$,AA,_,eA,D);w=(Si(14,jA[AA>>1]|0,D)|0)&65535;pf(A,782+((g|2)<<1)|0,w,jA[$>>1]|0,c,C,D);WA=fA;return a|0}function pf(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0;a=WA;WA=WA+16|0;l=a+2|0;B=a;jA[r>>1]=jA[e>>1]|0;w=jA[e+2>>1]|0;f=VA(f<<16>>16<<1,w)|0;r=10-(i&65535)|0;e=r&65535;r=r<<16>>16;if(e<<16>>16>0)e=e<<16>>16<31?f>>r:0;else{r=0-r<<16>>16;e=f<>r|0)==(f|0)?e:f>>31^2147483647}jA[n>>1]=e>>>16;Gi(w,l,B,t);jA[l>>1]=(DA[l>>1]|0)+65524;r=ir(jA[B>>1]|0,5,t)|0;i=jA[l>>1]|0;r=((i&65535)<<10)+(r&65535)&65535;f=jA[B>>1]|0;i=i<<16>>16;if((i*24660|0)==1073741824){pA[t>>2]=1;e=2147483647}else e=i*49320|0;B=(f<<16>>16)*24660>>15;i=e+(B<<1)|0;if(!((e^B|0)>0&(i^e|0)<0)){t=i;t=t<<13;t=t+32768|0;t=t>>>16;t=t&65535;ki(A,r,t);WA=a;return}pA[t>>2]=1;t=(e>>>31)+2147483647|0;t=t<<13;t=t+32768|0;t=t>>>16;t=t&65535;ki(A,r,t);WA=a;return}function Wf(A,e,f,i,r,n,t,w,l,B,a,s,o,Q,g,v,u,c,C,D,E){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;s=s|0;o=o|0;Q=Q|0;g=g|0;v=v|0;u=u|0;c=c|0;C=C|0;D=D|0;E=E|0;var h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0,T=0,y=0,Y=0,z=0,X=0,J=0,O=0,m=0,N=0,K=0,S=0,x=0,j=0,p=0,W=0,V=0,Z=0,q=0,_=0,$=0,AA=0,eA=0,fA=0,iA=0,rA=0,nA=0,tA=0;tA=WA;WA=WA+80|0;iA=tA+72|0;rA=tA+70|0;nA=tA+68|0;eA=tA+66|0;fA=tA+56|0;p=tA+24|0;j=tA+12|0;S=tA+48|0;x=tA+40|0;J=tA+34|0;m=tA+22|0;z=tA+6|0;X=tA;Zf(5,Q,g,z,X,pA[D+72>>2]|0,E)|0;k=Si(14,B,E)|0;O=D+68|0;Y=pA[O>>2]|0;K=l<<16>>16;N=K+65526|0;Q=(DA[n>>1]|0)+65523&65535;jA[fA>>1]=Q;D=(DA[n+2>>1]|0)+65522&65535;jA[fA+2>>1]=D;_=N<<16>>16;$=((N<<17>>17|0)==(_|0)?N<<1:_>>>15^32767)+15+(DA[n+4>>1]|0)&65535;jA[fA+4>>1]=$;AA=(DA[n+6>>1]|0)+_&65535;jA[fA+6>>1]=AA;n=_+1+(DA[n+8>>1]|0)&65535;jA[fA+8>>1]=n;D=D<<16>>16>Q<<16>>16?D:Q;D=$<<16>>16>D<<16>>16?$:D;D=AA<<16>>16>D<<16>>16?AA:D;D=(Ci(n<<16>>16>D<<16>>16?n:D,1,E)|0)&65535;n=Q;Q=0;while(1){B=D-(n&65535)|0;n=B&65535;P=DA[r+(Q<<1)>>1]<<16;B=B<<16>>16;if(n<<16>>16>0)B=n<<16>>16<31?P>>B:0;else{ZA()}Pf(B,p+(Q<<1)|0,j+(Q<<1)|0,E);B=Q+1|0;if((B|0)==5)break;n=jA[fA+(B<<1)>>1]|0;Q=B}T=p+2|0;y=j+2|0;AA=k<<16>>16;W=p+4|0;V=j+4|0;Z=p+6|0;q=j+6|0;_=p+8|0;$=j+8|0;I=0;n=2147483647;r=0;B=0;while(1){R=jA[z+(r<<1)>>1]|0;k=VA(R,R)|0;if(k>>>0>1073741823){pA[E>>2]=1;k=32767}else k=k>>>15;D=jA[j>>1]|0;P=k<<16>>16;k=VA(P,jA[p>>1]|0)|0;if((k|0)==1073741824){pA[E>>2]=1;Q=2147483647}else Q=k<<1;L=(VA(D<<16>>16,P)|0)>>15;k=Q+(L<<1)|0;if((Q^L|0)>0&(k^Q|0)<0){pA[E>>2]=1;k=(Q>>>31)+2147483647|0}D=jA[y>>1]|0;P=VA(jA[T>>1]|0,R)|0;if((P|0)!=1073741824){Q=(P<<1)+k|0;if((P^k|0)>0&(Q^k|0)<0){pA[E>>2]=1;Q=(k>>>31)+2147483647|0}}else{pA[E>>2]=1;Q=2147483647}k=(VA(D<<16>>16,R)|0)>>15;if((k|0)>32767){pA[E>>2]=1;k=32767}L=k<<16;k=(L>>15)+Q|0;if((L>>16^Q|0)>0&(k^Q|0)<0){pA[E>>2]=1;L=(Q>>>31)+2147483647|0}else L=k;U=(L>>>31)+2147483647|0;G=r&65535;k=I;F=0;H=Y;do{P=(VA(jA[H>>1]|0,AA)|0)>>15;H=H+6|0;if((P|0)>32767){pA[E>>2]=1;P=32767}M=P<<16>>16;P=VA(M,M)|0;if((P|0)==1073741824){pA[E>>2]=1;d=2147483647}else d=P<<1;Pf(d,iA,rA,E);P=VA(M,R)|0;if((P|0)==1073741824){pA[E>>2]=1;d=2147483647}else d=P<<1;Pf(d,nA,eA,E);Q=jA[V>>1]|0;b=jA[rA>>1]|0;P=jA[W>>1]|0;D=jA[iA>>1]|0;I=VA(D,P)|0;if((I|0)!=1073741824){d=(I<<1)+L|0;if((I^L|0)>0&(d^L|0)<0){pA[E>>2]=1;d=U}}else{pA[E>>2]=1;d=2147483647}I=(VA(b<<16>>16,P)|0)>>15;if((I|0)>32767){pA[E>>2]=1;I=32767}b=I<<16;I=(b>>15)+d|0;if((b>>16^d|0)>0&(I^d|0)<0){pA[E>>2]=1;I=(d>>>31)+2147483647|0}d=(VA(D,Q<<16>>16)|0)>>15;if((d|0)>32767){pA[E>>2]=1;d=32767}b=d<<16;d=(b>>15)+I|0;if((b>>16^I|0)>0&(d^I|0)<0){pA[E>>2]=1;d=(I>>>31)+2147483647|0}P=jA[q>>1]|0;I=VA(jA[Z>>1]|0,M)|0;if((I|0)!=1073741824){b=(I<<1)+d|0;if((I^d|0)>0&(b^d|0)<0){ZA()}}else{pA[E>>2]=1;b=2147483647}P=(VA(P<<16>>16,M)|0)>>15;if((P|0)>32767){pA[E>>2]=1;P=32767}M=P<<16;P=(M>>15)+b|0;if((M>>16^b|0)>0&(P^b|0)<0){pA[E>>2]=1;P=(b>>>31)+2147483647|0}D=jA[$>>1]|0;b=jA[eA>>1]|0;Q=jA[_>>1]|0;h=jA[nA>>1]|0;I=VA(h,Q)|0;do{if((I|0)==1073741824){pA[E>>2]=1;I=2147483647}else{d=(I<<1)+P|0;if(!((I^P|0)>0&(d^P|0)<0)){I=d;break}pA[E>>2]=1;I=(P>>>31)+2147483647|0}}while(0);d=(VA(b<<16>>16,Q)|0)>>15;if((d|0)>32767){pA[E>>2]=1;d=32767}M=d<<16;d=(M>>15)+I|0;if((M>>16^I|0)>0&(d^I|0)<0){pA[E>>2]=1;d=(I>>>31)+2147483647|0}P=(VA(h,D<<16>>16)|0)>>15;if((P|0)>32767){pA[E>>2]=1;P=32767}M=P<<16;P=(M>>15)+d|0;if((M>>16^d|0)>0&(P^d|0)<0){pA[E>>2]=1;P=(d>>>31)+2147483647|0}M=(P|0)<(n|0);k=M?F:k;B=M?G:B;n=M?P:n;F=F+1<<16>>16}while(F<<16>>16<32);r=r+1|0;if((r|0)==3){P=k;r=B;break}else I=k}y=(P<<16>>16)*3|0;n=jA[Y+(y<<1)>>1]|0;jA[u>>1]=jA[Y+(y+1<<1)>>1]|0;jA[c>>1]=jA[Y+(y+2<<1)>>1]|0;n=VA(n<<16>>16,AA)|0;if((n|0)==1073741824){pA[E>>2]=1;k=2147483647}else k=n<<1;y=9-K|0;Y=y&65535;y=y<<16>>16;T=Y<<16>>16>0;if(T)k=Y<<16>>16<31?k>>y:0;else{L=0-y<<16>>16;R=k<>L|0)==(k|0)?R:k>>31^2147483647}jA[v>>1]=k>>>16;R=r<<16>>16;z=jA[z+(R<<1)>>1]|0;jA[g>>1]=z;X=jA[X+(R<<1)>>1]|0;Re(e,f,i,z,a,S,x,J,E);wf(A,jA[J>>1]|0,jA[v>>1]|0,m,E);if(!((jA[S>>1]|0)!=0&(jA[m>>1]|0)>0)){E=P;u=pA[C>>2]|0;v=u+2|0;jA[u>>1]=X;u=u+4|0;pA[C>>2]=u;jA[v>>1]=E;WA=tA;return}M=S+6|0;jA[M>>1]=w;d=x+6|0;jA[d>>1]=t;l=((nr(o,l,E)|0)&65535)+10|0;D=l<<16>>16;if((l&65535)<<16>>16<0){B=0-D<<16;if((B|0)<983040)s=s<<16>>16>>(B>>16)&65535;else s=0}else{B=s<<16>>16;Q=B<>16>>D|0)==(B|0))s=Q&65535;else s=(B>>>15^32767)&65535}n=jA[g>>1]|0;k=jA[m>>1]|0;O=pA[O>>2]|0;Q=jA[v>>1]|0;m=10-K|0;D=m<<16>>16;if((m&65535)<<16>>16<0){B=0-D<<16;if((B|0)<983040)w=Q<<16>>16>>(B>>16)&65535;else w=0}else{B=Q<<16>>16;Q=B<>16>>D|0)==(B|0))w=Q&65535;else w=(B>>>15^32767)&65535}r=n<<16>>16;B=VA(r,r)|0;if(B>>>0>1073741823){pA[E>>2]=1;n=32767}else n=B>>>15;P=Ci(32767-(k&65535)&65535,1,E)|0;k=k<<16>>16;B=VA(jA[S+2>>1]|0,k)|0;if((B|0)==1073741824){pA[E>>2]=1;B=2147483647}else B=B<<1;m=B<<1;B=VA(((m>>1|0)==(B|0)?m:B>>31^2147418112)>>16,n<<16>>16)|0;if((B|0)==1073741824){pA[E>>2]=1;I=2147483647}else I=B<<1;b=(DA[x+2>>1]|0)+65521|0;D=b&65535;B=VA(jA[S+4>>1]|0,k)|0;if((B|0)==1073741824){pA[E>>2]=1;n=2147483647}else n=B<<1;B=n<<1;B=(VA(((B>>1|0)==(n|0)?B:n>>31^2147418112)>>16,r)|0)>>15;if((B|0)>32767){pA[E>>2]=1;B=32767}jA[W>>1]=B;n=N&65535;jA[iA>>1]=n;n=Ci(jA[x+4>>1]|0,n,E)|0;B=VA(jA[M>>1]|0,k)|0;if((B|0)==1073741824){pA[E>>2]=1;B=2147483647}else B=B<<1;h=B<<1;jA[Z>>1]=((h>>1|0)==(B|0)?h:B>>31^2147418112)>>>16;h=((K<<17>>17|0)==(K|0)?K<<1:K>>>15^32767)+65529&65535;jA[iA>>1]=h;h=Ci(jA[d>>1]|0,h,E)|0;B=(VA(jA[M>>1]|0,P<<16>>16)|0)>>15;if((B|0)>32767){pA[E>>2]=1;B=32767}jA[_>>1]=B;P=Ci(h,1,E)|0;Q=VA(jA[S>>1]|0,k)|0;if((Q|0)==1073741824){pA[E>>2]=1;B=2147483647}else B=Q<<1;d=rr(B,iA,E)|0;r=(DA[iA>>1]|0)+47|0;jA[iA>>1]=r;r=(DA[x>>1]|0)-(r&65535)|0;k=r+31&65535;k=D<<16>>16>k<<16>>16?D:k;k=n<<16>>16>k<<16>>16?n:k;k=h<<16>>16>k<<16>>16?h:k;k=(P<<16>>16>k<<16>>16?P:k)<<16>>16;Q=k-(b&65535)|0;B=Q&65535;Q=Q<<16>>16;if(B<<16>>16>0)L=B<<16>>16<31?I>>Q:0;else{x=0-Q<<16>>16;L=I<>x|0)==(I|0)?L:I>>31^2147483647}D=k-(n&65535)|0;B=D&65535;Q=DA[W>>1]<<16;D=D<<16>>16;if(B<<16>>16>0)Q=B<<16>>16<31?Q>>D:0;else{S=0-D<<16>>16;x=Q<>S|0)==(Q|0)?x:Q>>31^2147483647}Pf(Q,W,V,E);h=k-(h&65535)|0;Q=h&65535;D=DA[Z>>1]<<16;h=h<<16>>16;if(Q<<16>>16>0)Q=Q<<16>>16<31?D>>h:0;else{ZA()}Pf(Q,Z,q,E);h=k-(P&65535)|0;Q=h&65535;D=DA[_>>1]<<16;h=h<<16>>16;if(Q<<16>>16>0)Q=Q<<16>>16<31?D>>h:0;else{x=0-h<<16>>16;Q=D<>x|0)==(D|0)?Q:D>>31^2147483647}Pf(Q,_,$,E);h=k+65505|0;jA[iA>>1]=h;h=h-(r&65535)|0;Q=fr(h&65535,1,E)|0;D=Q<<16>>16;if(Q<<16>>16>0)D=Q<<16>>16<31?d>>D:0;else{x=0-D<<16>>16;D=d<>x|0)==(d|0)?D:d>>31^2147483647}do{if(!(h&1))I=D;else{Pf(D,p,j,E);Q=jA[j>>1]|0;D=jA[p>>1]|0;if((D*23170|0)==1073741824){pA[E>>2]=1;h=2147483647}else h=D*46340|0;p=(Q<<16>>16)*23170>>15;D=h+(p<<1)|0;if(!((h^p|0)>0&(D^h|0)<0)){I=D;break}pA[E>>2]=1;I=(h>>>31)+2147483647|0}}while(0);M=(L>>>31)+2147483647|0;d=2147483647;b=0;D=0;F=O;while(1){Q=(VA(jA[F>>1]|0,AA)|0)>>15;F=F+6|0;if((Q|0)>32767){pA[E>>2]=1;Q=32767}h=Q&65535;if(h<<16>>16>=w<<16>>16)break;n=Q<<16>>16;Q=VA(n,n)|0;if((Q|0)==1073741824){pA[E>>2]=1;B=2147483647}else B=Q<<1;Pf(B,rA,nA,E);Q=(nr(h,s,E)|0)<<16>>16;Q=VA(Q,Q)|0;if((Q|0)==1073741824){pA[E>>2]=1;Q=2147483647}else Q=Q<<1;Pf(Q,eA,fA,E);h=jA[V>>1]|0;B=VA(jA[W>>1]|0,n)|0;do{if((B|0)==1073741824){pA[E>>2]=1;B=2147483647}else{Q=(B<<1)+L|0;if(!((B^L|0)>0&(Q^L|0)<0)){B=Q;break}pA[E>>2]=1;B=M}}while(0);Q=(VA(h<<16>>16,n)|0)>>15;if((Q|0)>32767){pA[E>>2]=1;Q=32767}p=Q<<16;Q=(p>>15)+B|0;if((p>>16^B|0)>0&(Q^B|0)<0){pA[E>>2]=1;Q=(B>>>31)+2147483647|0}r=jA[q>>1]|0;P=jA[nA>>1]|0;n=jA[Z>>1]|0;k=jA[rA>>1]|0;B=VA(k,n)|0;do{if((B|0)==1073741824){pA[E>>2]=1;h=2147483647}else{h=(B<<1)+Q|0;if(!((B^Q|0)>0&(h^Q|0)<0))break;pA[E>>2]=1;h=(Q>>>31)+2147483647|0}}while(0);B=(VA(P<<16>>16,n)|0)>>15;if((B|0)>32767){pA[E>>2]=1;B=32767}p=B<<16;B=(p>>15)+h|0;if((p>>16^h|0)>0&(B^h|0)<0){pA[E>>2]=1;B=(h>>>31)+2147483647|0}Q=(VA(k,r<<16>>16)|0)>>15;if((Q|0)>32767){pA[E>>2]=1;Q=32767}p=Q<<16;Q=(p>>15)+B|0;if((p>>16^B|0)>0&(Q^B|0)<0){pA[E>>2]=1;Q=(B>>>31)+2147483647|0}Q=rr(Q,iA,E)|0;h=fr(jA[iA>>1]|0,1,E)|0;B=h<<16>>16;if(h<<16>>16>0)h=h<<16>>16<31?Q>>B:0;else{p=0-B<<16>>16;h=Q<>p|0)==(Q|0)?h:Q>>31^2147483647}Q=h-I|0;if(((Q^h)&(h^I)|0)<0){pA[E>>2]=1;Q=(h>>>31)+2147483647|0}Q=(er(Q,E)|0)<<16>>16;Q=VA(Q,Q)|0;if((Q|0)==1073741824){pA[E>>2]=1;h=2147483647}else h=Q<<1;k=jA[$>>1]|0;n=jA[fA>>1]|0;P=jA[_>>1]|0;r=jA[eA>>1]|0;B=VA(r,P)|0;do{if((B|0)==1073741824){pA[E>>2]=1;Q=2147483647}else{Q=(B<<1)+h|0;if(!((B^h|0)>0&(Q^h|0)<0))break;pA[E>>2]=1;Q=(h>>>31)+2147483647|0}}while(0);B=(VA(n<<16>>16,P)|0)>>15;if((B|0)>32767){pA[E>>2]=1;B=32767}p=B<<16;B=(p>>15)+Q|0;if((p>>16^Q|0)>0&(B^Q|0)<0){pA[E>>2]=1;B=(Q>>>31)+2147483647|0}Q=(VA(r,k<<16>>16)|0)>>15;if((Q|0)>32767){pA[E>>2]=1;Q=32767}p=Q<<16;Q=(p>>15)+B|0;if((p>>16^B|0)>0&(Q^B|0)<0){pA[E>>2]=1;Q=(B>>>31)+2147483647|0}B=(Q|0)<(d|0);D=B?b:D;b=b+1<<16>>16;if(b<<16>>16>=32)break;else d=B?Q:d}nA=(D<<16>>16)*3|0;h=jA[O+(nA<<1)>>1]|0;jA[u>>1]=jA[O+(nA+1<<1)>>1]|0;jA[c>>1]=jA[O+(nA+2<<1)>>1]|0;h=VA(h<<16>>16,AA)|0;if((h|0)==1073741824){pA[E>>2]=1;h=2147483647}else h=h<<1;if(T)h=Y<<16>>16<31?h>>y:0;else{u=0-y<<16>>16;E=h<>u|0)==(h|0)?E:h>>31^2147483647}jA[v>>1]=h>>>16;E=D;u=pA[C>>2]|0;v=u+2|0;jA[u>>1]=X;u=u+4|0;pA[C>>2]=u;jA[v>>1]=E;WA=tA;return}function Vf(A,e,f,i,r,n,t,w){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;var l=0,B=0,a=0,s=0,o=0;o=(A|0)==7;l=jA[i>>1]|0;if(o){l=l<<16>>16>>>1&65535;s=Si(e,f,w)|0;e=s<<16;A=e>>16;if((s<<20>>20|0)==(A|0))A=e>>12;else A=A>>>15^32767}else{ZA()}s=A<<16>>16;w=l<<16>>16;e=w-((VA(s,jA[t>>1]|0)|0)>>>15&65535)|0;e=((e&32768|0)!=0?0-e|0:e)&65535;B=1;A=0;a=t;while(1){a=a+6|0;l=w-((VA(jA[a>>1]|0,s)|0)>>>15&65535)|0;f=l<<16;l=(f|0)<0?0-(f>>16)|0:l;f=(l<<16>>16|0)<(e<<16>>16|0);A=f?B:A;B=B+1<<16>>16;if(B<<16>>16>=32)break;else e=f?l&65535:e}a=(A<<16>>16)*196608>>16;jA[i>>1]=(VA(jA[t+(a<<1)>>1]|0,s)|0)>>>15<<(o&1);jA[r>>1]=jA[t+(a+1<<1)>>1]|0;jA[n>>1]=jA[t+(a+2<<1)>>1]|0;return A|0}function Zf(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0,s=0,o=0;w=nr(jA[f>>1]|0,jA[n>>1]|0,t)|0;w=(w&65535)-((w&65535)>>>15&65535)|0;w=(w<<16>>31^w)&65535;B=0;a=1;while(1){l=jA[n+(a<<1)>>1]|0;if(l<<16>>16>e<<16>>16)l=w;else{l=nr(jA[f>>1]|0,l,t)|0;l=(l&65535)-((l&65535)>>>15&65535)|0;l=(l<<16>>31^l)&65535;o=l<<16>>16>16;l=o?l:w;B=o?a&65535:B}a=a+1|0;if((a|0)==16)break;else w=l}if((A|0)!=5){w=jA[n+(B<<16>>16<<1)>>1]|0;if((A|0)==7){jA[f>>1]=w&65532;return B|0}else{jA[f>>1]=w;return B|0}}l=B<<16>>16;switch(B<<16>>16){case 0:{w=0;break}case 15:{s=8;break}default:if((jA[n+(l+1<<1)>>1]|0)>e<<16>>16)s=8;else w=l+65535&65535}if((s|0)==8)w=l+65534&65535;jA[r>>1]=w;o=w<<16>>16;jA[i>>1]=jA[n+(o<<1)>>1]|0;o=o+1|0;jA[r+2>>1]=o;o=o<<16>>16;jA[i+2>>1]=jA[n+(o<<1)>>1]|0;o=o+1|0;jA[r+4>>1]=o;jA[i+4>>1]=jA[n+(o<<16>>16<<1)>>1]|0;jA[f>>1]=jA[n+(l<<1)>>1]|0;return B|0}function qf(A,e,f,i,r,n,t,w,l,B,a,s){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;s=s|0;var o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0;L=WA;WA=WA+32|0;g=L+20|0;v=L+10|0;Q=L;switch(A|0){case 3:case 4:case 6:{a=a+84|0;G=128;break}default:{a=a+80|0;G=64}}U=pA[a>>2]|0;o=Si(14,f,s)|0;H=e<<16>>16;F=H+65525|0;A=(DA[r>>1]|0)+65523&65535;jA[Q>>1]=A;e=(DA[r+2>>1]|0)+65522&65535;jA[Q+2>>1]=e;M=F<<16>>16;M=Ci(jA[r+4>>1]|0,((F<<17>>17|0)==(M|0)?F<<1:M>>>15^32767)+15&65535,s)|0;jA[Q+4>>1]=M;F=Ci(jA[r+6>>1]|0,F&65535,s)|0;jA[Q+6>>1]=F;r=Ci(jA[r+8>>1]|0,H+65526&65535,s)|0;jA[Q+8>>1]=r;e=e<<16>>16>A<<16>>16?e:A;e=M<<16>>16>e<<16>>16?M:e;e=F<<16>>16>e<<16>>16?F:e;e=(r<<16>>16>e<<16>>16?r:e)+1&65535;r=0;while(1){f=e-(A&65535)|0;a=f&65535;A=DA[i+(r<<1)>>1]<<16;f=f<<16>>16;if(a<<16>>16>0)a=a<<16>>16<31?A>>f:0;else{ZA()}Pf(a,g+(r<<1)|0,v+(r<<1)|0,s);a=r+1|0;if((a|0)==5)break;A=jA[Q+(a<<1)>>1]|0;r=a}F=o<<16>>16;E=jA[g>>1]|0;h=jA[v>>1]|0;P=jA[g+2>>1]|0;k=jA[v+2>>1]|0;b=jA[g+4>>1]|0;d=jA[v+4>>1]|0;I=jA[g+6>>1]|0;M=jA[v+6>>1]|0;D=jA[g+8>>1]|0;u=jA[v+8>>1]|0;e=2147483647;c=0;a=0;C=U;while(1){r=jA[C>>1]|0;if(r<<16>>16>n<<16>>16)o=e;else{o=(VA(jA[C+2>>1]|0,F)|0)>>15;if((o|0)>32767){pA[s>>2]=1;o=32767}v=r<<16>>16;r=VA(v,v)|0;if(r>>>0>1073741823){pA[s>>2]=1;Q=32767}else Q=r>>>15;f=o<<16>>16;o=VA(f,f)|0;if(o>>>0>1073741823){pA[s>>2]=1;g=32767}else g=o>>>15;i=(VA(f,v)|0)>>15;if((i|0)>32767){pA[s>>2]=1;i=32767}o=Q<<16>>16;Q=VA(E,o)|0;if((Q|0)==1073741824){pA[s>>2]=1;r=2147483647}else r=Q<<1;o=(VA(h,o)|0)>>15;Q=r+(o<<1)|0;if((r^o|0)>0&(Q^r|0)<0){pA[s>>2]=1;Q=(r>>>31)+2147483647|0}o=VA(P,v)|0;if((o|0)==1073741824){pA[s>>2]=1;r=2147483647}else r=o<<1;v=(VA(k,v)|0)>>15;o=r+(v<<1)|0;if((r^v|0)>0&(o^r|0)<0){pA[s>>2]=1;o=(r>>>31)+2147483647|0}r=o+Q|0;if((o^Q|0)>-1&(r^Q|0)<0){pA[s>>2]=1;r=(Q>>>31)+2147483647|0}o=g<<16>>16;Q=VA(b,o)|0;if((Q|0)==1073741824){pA[s>>2]=1;A=2147483647}else A=Q<<1;v=(VA(d,o)|0)>>15;Q=A+(v<<1)|0;if((A^v|0)>0&(Q^A|0)<0){pA[s>>2]=1;Q=(A>>>31)+2147483647|0}o=Q+r|0;if((Q^r|0)>-1&(o^r|0)<0){pA[s>>2]=1;A=(r>>>31)+2147483647|0}else A=o;o=VA(I,f)|0;if((o|0)==1073741824){pA[s>>2]=1;Q=2147483647}else Q=o<<1;v=(VA(M,f)|0)>>15;o=Q+(v<<1)|0;if((Q^v|0)>0&(o^Q|0)<0){pA[s>>2]=1;o=(Q>>>31)+2147483647|0}r=o+A|0;if((o^A|0)>-1&(r^A|0)<0){pA[s>>2]=1;Q=(A>>>31)+2147483647|0}else Q=r;r=i<<16>>16;o=VA(D,r)|0;if((o|0)==1073741824){pA[s>>2]=1;A=2147483647}else A=o<<1;v=(VA(u,r)|0)>>15;o=A+(v<<1)|0;if((A^v|0)>0&(o^A|0)<0){pA[s>>2]=1;r=(A>>>31)+2147483647|0}else r=o;o=r+Q|0;if((r^Q|0)>-1&(o^Q|0)<0){pA[s>>2]=1;o=(Q>>>31)+2147483647|0}v=(o|0)<(e|0);o=v?o:e;a=v?c:a}C=C+8|0;c=c+1<<16>>16;if((c<<16>>16|0)>=(G|0))break;else e=o}n=a<<16>>16;n=((n<<18>>18|0)==(n|0)?n<<2:n>>>15^32767)<<16>>16;jA[t>>1]=jA[U+(n<<1)>>1]|0;e=jA[U+(n+1<<1)>>1]|0;jA[l>>1]=jA[U+(n+2<<1)>>1]|0;jA[B>>1]=jA[U+(n+3<<1)>>1]|0;e=VA(e<<16>>16,F)|0;if((e|0)==1073741824){pA[s>>2]=1;A=2147483647}else A=e<<1;f=10-H|0;e=f&65535;f=f<<16>>16;if(e<<16>>16>0){s=e<<16>>16<31?A>>f:0;s=s>>>16;s=s&65535;jA[w>>1]=s;WA=L;return a|0}else{l=0-f<<16>>16;s=A<>l|0)==(A|0)?s:A>>31^2147483647;s=s>>>16;s=s&65535;jA[w>>1]=s;WA=L;return a|0}return 0}function _f(A,e,f,i,r,n,t,w,l){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;var B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0,T=0,y=0,Y=0,z=0,X=0,J=0,O=0,m=0,N=0,K=0,S=0,x=0,j=0,p=0,W=0,V=0,Z=0,q=0,_=0,$=0,AA=0,eA=0,fA=0,iA=0,rA=0,nA=0,tA=0,wA=0,lA=0,BA=0,aA=0,sA=0,oA=0,QA=0,gA=0,vA=0,uA=0,cA=0,CA=0;CA=WA;WA=WA+160|0;cA=CA;a=A<<16>>16;vA=A<<16>>16==10;uA=jA[t+(jA[n>>1]<<1)>>1]|0;if(A<<16>>16>0){l=0;B=w;while(1){jA[B>>1]=l;l=l+1<<16>>16;if(l<<16>>16>=A<<16>>16)break;else B=B+2|0}}if(f<<16>>16<=1){WA=CA;return}QA=n+2|0;gA=uA<<16>>16;aA=i+(gA<<1)|0;sA=r+(gA*80|0)+(gA<<1)|0;oA=n+6|0;j=e&65535;p=n+4|0;W=n+10|0;V=n+8|0;Z=n+14|0;q=n+12|0;_=n+18|0;$=n+16|0;AA=w+2|0;eA=w+4|0;fA=w+6|0;iA=w+8|0;rA=w+10|0;nA=w+12|0;tA=w+14|0;wA=w+16|0;lA=w+18|0;BA=A<<16>>16>2;S=n+(a+-1<<1)|0;N=1;x=1;Y=0;z=0;K=-1;while(1){m=jA[t+(jA[QA>>1]<<1)>>1]|0;O=m<<16>>16;e=(DA[i+(O<<1)>>1]|0)+(DA[aA>>1]|0)|0;B=(jA[r+(gA*80|0)+(O<<1)>>1]<<13)+32768+((jA[r+(O*80|0)+(O<<1)>>1]|0)+(jA[sA>>1]|0)<<12)|0;a=jA[oA>>1]|0;if(a<<16>>16<40){a=a<<16>>16;s=cA;while(1){X=(jA[r+(a*80|0)+(a<<1)>>1]|0)>>>1;y=jA[r+(a*80|0)+(gA<<1)>>1]|0;J=jA[r+(a*80|0)+(O<<1)>>1]|0;jA[s>>1]=e+(DA[i+(a<<1)>>1]|0);jA[s+2>>1]=(y+2+X+J|0)>>>2;a=a+j|0;if((a&65535)<<16>>16<40){a=a<<16>>16;s=s+4|0}else break}b=jA[oA>>1]|0}else b=a;e=jA[p>>1]|0;k=B>>12;a=e<<16>>16;A:do{if(e<<16>>16<40){P=b<<16>>16;if(b<<16>>16<40){s=1;Q=e;v=b;g=0;o=-1}else while(1){ZA()}while(1){h=((jA[r+(a*80|0)+(a<<1)>>1]|0)+k>>1)+(jA[r+(a*80|0)+(gA<<1)>>1]|0)+(jA[r+(a*80|0)+(O<<1)>>1]|0)|0;E=DA[i+(a<<1)>>1]|0;C=P;D=b;c=cA;u=g;while(1){B=(DA[c>>1]|0)+E|0;l=B<<16>>16;l=(VA(l,l)|0)>>>15;g=(h+(jA[r+(a*80|0)+(C<<1)>>1]|0)>>2)+(jA[c+2>>1]|0)>>1;if((VA(l<<16>>16,s<<16>>16)|0)>(VA(g,o<<16>>16)|0)){s=g&65535;Q=e;v=D;g=B&65535;o=l&65535}else g=u;B=C+j|0;D=B&65535;if(D<<16>>16>=40)break;else{C=B<<16>>16;c=c+4|0;u=g}}a=a+j|0;e=a&65535;if(e<<16>>16<40)a=a<<16>>16;else{J=Q;X=v;a=g;break}}}else{s=1;J=e;X=b;a=0}}while(0);Q=s<<16>>16<<15;s=jA[W>>1]|0;if(s<<16>>16<40){B=J<<16>>16;l=X<<16>>16;e=a&65535;s=s<<16>>16;a=cA;while(1){L=jA[r+(s*80|0)+(s<<1)>>1]>>1;G=jA[r+(s*80|0)+(gA<<1)>>1]|0;R=jA[r+(s*80|0)+(O<<1)>>1]|0;T=jA[r+(s*80|0)+(B<<1)>>1]|0;y=jA[r+(s*80|0)+(l<<1)>>1]|0;jA[a>>1]=(DA[i+(s<<1)>>1]|0)+e;jA[a+2>>1]=(G+2+L+R+T+y|0)>>>2;s=s+j|0;if((s&65535)<<16>>16<40){s=s<<16>>16;a=a+4|0}else break}L=jA[W>>1]|0}else L=s;o=jA[V>>1]|0;s=o<<16>>16;A:do{if(o<<16>>16<40){d=J<<16>>16;I=X<<16>>16;M=L<<16>>16;b=Q+32768|0;if(L<<16>>16<40){g=1;Q=o;e=L;v=o;a=0;o=-1}else while(1){ZA()}while(1){l=DA[i+(s<<1)>>1]|0;k=(jA[r+(s*80|0)+(O<<1)>>1]|0)+(jA[r+(s*80|0)+(gA<<1)>>1]|0)+(jA[r+(s*80|0)+(d<<1)>>1]|0)+(jA[r+(s*80|0)+(I<<1)>>1]|0)|0;P=b+(jA[r+(s*80|0)+(s<<1)>>1]<<11)|0;E=M;C=L;h=cA;while(1){u=(DA[h>>1]|0)+l|0;B=P+(jA[h+2>>1]<<14)+(k+(jA[r+(s*80|0)+(E<<1)>>1]|0)<<12)|0;c=u<<16>>16;c=(VA(c,c)|0)>>>15;if((VA(c<<16>>16,g<<16>>16)|0)>(VA(B>>16,o<<16>>16)|0)){g=B>>>16&65535;D=v;e=C;a=u&65535;o=c&65535}else D=Q;Q=E+j|0;C=Q&65535;if(C<<16>>16>=40){Q=D;break}else{E=Q<<16>>16;Q=D;h=h+4|0}}s=s+j|0;v=s&65535;if(v<<16>>16<40)s=s<<16>>16;else{s=g;y=Q;T=e;break}}}else{s=1;y=o;T=L;a=0}}while(0);g=s<<16>>16<<15;s=jA[Z>>1]|0;if(s<<16>>16<40){B=J<<16>>16;l=X<<16>>16;o=y<<16>>16;Q=T<<16>>16;e=a&65535;s=s<<16>>16;a=cA;while(1){F=jA[r+(s*80|0)+(s<<1)>>1]>>1;M=jA[r+(gA*80|0)+(s<<1)>>1]|0;H=jA[r+(O*80|0)+(s<<1)>>1]|0;U=jA[r+(B*80|0)+(s<<1)>>1]|0;G=jA[r+(l*80|0)+(s<<1)>>1]|0;L=jA[r+(o*80|0)+(s<<1)>>1]|0;R=jA[r+(Q*80|0)+(s<<1)>>1]|0;jA[a>>1]=(DA[i+(s<<1)>>1]|0)+e;jA[a+2>>1]=(M+4+F+H+U+G+L+R|0)>>>3;s=s+j|0;if((s&65535)<<16>>16<40){s=s<<16>>16;a=a+4|0}else break}e=jA[Z>>1]|0}else e=s;v=jA[q>>1]|0;if(v<<16>>16<40){L=J<<16>>16;F=X<<16>>16;M=y<<16>>16;I=T<<16>>16;d=e<<16>>16;b=e<<16>>16<40;H=g+32768|0;G=v<<16>>16;l=1;D=v;C=e;U=v;Q=0;s=-1;while(1){if(b){g=DA[i+(G<<1)>>1]|0;a=(jA[r+(G*80|0)+(O<<1)>>1]|0)+(jA[r+(G*80|0)+(gA<<1)>>1]|0)+(jA[r+(G*80|0)+(L<<1)>>1]|0)+(jA[r+(G*80|0)+(F<<1)>>1]|0)+(jA[r+(G*80|0)+(M<<1)>>1]|0)+(jA[r+(G*80|0)+(I<<1)>>1]|0)|0;o=H+(jA[r+(G*80|0)+(G<<1)>>1]<<10)|0;c=d;v=e;P=C;k=cA;while(1){h=(DA[k>>1]|0)+g|0;C=o+(jA[k+2>>1]<<14)+(a+(jA[r+(G*80|0)+(c<<1)>>1]|0)<<11)|0;E=h<<16>>16;E=(VA(E,E)|0)>>>15;if((VA(E<<16>>16,l<<16>>16)|0)>(VA(C>>16,s<<16>>16)|0)){l=C>>>16&65535;D=U;C=v;Q=h&65535;s=E&65535}else C=P;u=c+j|0;v=u&65535;if(v<<16>>16>=40)break;else{c=u<<16>>16;P=C;k=k+4|0}}}v=G+j|0;U=v&65535;if(U<<16>>16>=40){R=C;break}else G=v<<16>>16}}else{l=1;D=v;R=e;Q=0;s=-1}if(vA){c=l<<16>>16<<15;s=jA[_>>1]|0;if(s<<16>>16<40){a=J<<16>>16;e=X<<16>>16;B=y<<16>>16;l=T<<16>>16;g=D<<16>>16;v=R<<16>>16;o=Q&65535;s=s<<16>>16;Q=cA;while(1){M=jA[r+(s*80|0)+(s<<1)>>1]>>1;I=jA[r+(gA*80|0)+(s<<1)>>1]|0;F=jA[r+(O*80|0)+(s<<1)>>1]|0;H=jA[r+(a*80|0)+(s<<1)>>1]|0;U=jA[r+(e*80|0)+(s<<1)>>1]|0;G=jA[r+(B*80|0)+(s<<1)>>1]|0;L=jA[r+(l*80|0)+(s<<1)>>1]|0;Y=jA[r+(g*80|0)+(s<<1)>>1]|0;z=jA[r+(v*80|0)+(s<<1)>>1]|0;jA[Q>>1]=(DA[i+(s<<1)>>1]|0)+o;jA[Q+2>>1]=(I+4+M+F+H+U+G+L+Y+z|0)>>>3;s=s+j|0;if((s&65535)<<16>>16<40){s=s<<16>>16;Q=Q+4|0}else break}L=jA[_>>1]|0}else L=s;g=jA[$>>1]|0;if(g<<16>>16<40){M=J<<16>>16;I=X<<16>>16;d=y<<16>>16;B=T<<16>>16;F=D<<16>>16;H=R<<16>>16;U=L<<16>>16;G=L<<16>>16<40;b=c+32768|0;a=g<<16>>16;l=1;v=g;Q=L;e=g;s=-1;while(1){if(G){c=DA[i+(a<<1)>>1]|0;o=(jA[r+(O*80|0)+(a<<1)>>1]|0)+(jA[r+(gA*80|0)+(a<<1)>>1]|0)+(jA[r+(M*80|0)+(a<<1)>>1]|0)+(jA[r+(I*80|0)+(a<<1)>>1]|0)+(jA[r+(d*80|0)+(a<<1)>>1]|0)+(jA[r+(B*80|0)+(a<<1)>>1]|0)+(jA[r+(F*80|0)+(a<<1)>>1]|0)+(jA[r+(H*80|0)+(a<<1)>>1]|0)|0;g=b+(jA[r+(a*80|0)+(a<<1)>>1]<<9)|0;k=U;E=L;P=cA;while(1){h=(DA[P>>1]|0)+c<<16>>16;h=(VA(h,h)|0)>>>15;C=g+(jA[P+2>>1]<<13)+(o+(jA[r+(a*80|0)+(k<<1)>>1]|0)<<10)|0;if((VA(h<<16>>16,l<<16>>16)|0)>(VA(C>>16,s<<16>>16)|0)){l=C>>>16&65535;v=e;Q=E;s=h&65535}u=k+j|0;E=u&65535;if(E<<16>>16>=40)break;else{k=u<<16>>16;P=P+4|0}}}g=a+j|0;e=g&65535;if(e<<16>>16>=40)break;else a=g<<16>>16}}else{l=1;v=g;Q=L;s=-1}}else{v=Y;Q=z}if((VA(s<<16>>16,N<<16>>16)|0)>(VA(l<<16>>16,K<<16>>16)|0)){jA[w>>1]=uA;jA[AA>>1]=m;jA[eA>>1]=J;jA[fA>>1]=X;jA[iA>>1]=y;jA[rA>>1]=T;jA[nA>>1]=D;jA[tA>>1]=R;if(vA){jA[wA>>1]=v;jA[lA>>1]=Q}}else{l=N;s=K}a=jA[QA>>1]|0;if(BA){e=1;B=2;while(1){jA[n+(e<<1)>>1]=jA[n+(B<<1)>>1]|0;B=B+1|0;if((B&65535)<<16>>16==A<<16>>16)break;else e=e+1|0}}jA[S>>1]=a;x=x+1<<16>>16;if(x<<16>>16>=f<<16>>16)break;else{N=l;Y=v;z=Q;K=s}}WA=CA;return}function $f(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0;w=39;while(1){t=A+(w<<1)|0;n=jA[t>>1]|0;r=e+(w<<1)|0;if(n<<16>>16>-1)jA[r>>1]=32767;else{jA[r>>1]=-32767;if(n<<16>>16==-32768)n=32767;else n=0-(n&65535)&65535;jA[t>>1]=n}jA[f+(w<<1)>>1]=n;if((w|0)>0)w=w+-1|0;else break}B=8-(i<<16>>16)|0;if((B|0)>0){l=0;r=0}else return;do{i=0;A=0;t=32767;while(1){e=jA[f+(i<<1)>>1]|0;w=e<<16>>16>-1?e<<16>>16>16:0;r=w?A:r;n=i+5|0;A=n&65535;if(A<<16>>16>=40)break;else{i=n<<16>>16;t=w?e:t}}jA[f+(r<<16>>16<<1)>>1]=-1;l=l+1<<16>>16}while((l<<16>>16|0)<(B|0));l=0;do{e=1;A=1;n=32767;while(1){i=jA[f+(e<<1)>>1]|0;w=i<<16>>16>-1?i<<16>>16>16:0;r=w?A:r;t=e+5|0;A=t&65535;if(A<<16>>16>=40)break;else{e=t<<16>>16;n=w?i:n}}jA[f+(r<<16>>16<<1)>>1]=-1;l=l+1<<16>>16}while((l<<16>>16|0)<(B|0));l=0;do{e=2;A=2;n=32767;while(1){i=jA[f+(e<<1)>>1]|0;w=i<<16>>16>-1?i<<16>>16>16:0;r=w?A:r;t=e+5|0;A=t&65535;if(A<<16>>16>=40)break;else{e=t<<16>>16;n=w?i:n}}jA[f+(r<<16>>16<<1)>>1]=-1;l=l+1<<16>>16}while((l<<16>>16|0)<(B|0));l=0;while(1){e=3;A=3;n=32767;while(1){i=jA[f+(e<<1)>>1]|0;w=i<<16>>16>-1?i<<16>>16>16:0;r=w?A:r;t=e+5|0;A=t&65535;if(A<<16>>16>=40){n=r;break}else{e=t<<16>>16;n=w?i:n}}jA[f+(n<<16>>16<<1)>>1]=-1;l=l+1<<16>>16;if((l<<16>>16|0)>=(B|0)){r=0;break}else r=n}do{e=4;A=4;l=32767;while(1){i=jA[f+(e<<1)>>1]|0;w=i<<16>>16>-1?i<<16>>16>16:0;n=w?A:n;t=e+5|0;A=t&65535;if(A<<16>>16>=40)break;else{e=t<<16>>16;l=w?i:l}}jA[f+(n<<16>>16<<1)>>1]=-1;r=r+1<<16>>16}while((r<<16>>16|0)<(B|0));return}function Ai(A,e,f,i,r,n,t,w){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;var l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0;h=WA;WA=WA+80|0;E=h;o=40;Q=e;g=A;B=256;a=256;while(1){l=jA[Q>>1]|0;Q=Q+2|0;l=VA(l,l)|0;if((l|0)!=1073741824){s=(l<<1)+B|0;if((l^B|0)>0&(s^B|0)<0){pA[w>>2]=1;B=(B>>>31)+2147483647|0}else B=s}else{pA[w>>2]=1;B=2147483647}D=jA[g>>1]|0;a=(VA(D<<1,D)|0)+a|0;o=o+-1<<16>>16;if(!(o<<16>>16))break;else g=g+2|0}D=Ui(B,w)|0;c=D<<5;D=((c>>5|0)==(D|0)?c:D>>31^2147418112)>>16;c=(Ui(a,w)|0)<<5>>16;C=39;v=e+78|0;u=E+78|0;l=f+78|0;while(1){g=VA(jA[v>>1]|0,D)|0;v=v+-2|0;Q=g<<1;e=A+(C<<1)|0;B=jA[e>>1]|0;o=VA(B<<16>>16,c)|0;if((o|0)!=1073741824){s=(o<<1)+Q|0;if((o^Q|0)>0&(s^Q|0)<0){pA[w>>2]=1;s=(g>>>30&1)+2147483647|0}}else{pA[w>>2]=1;s=2147483647}a=s<<10;a=er((a>>10|0)==(s|0)?a:s>>31^2147483647,w)|0;if(a<<16>>16>-1)jA[l>>1]=32767;else{jA[l>>1]=-32767;if(a<<16>>16==-32768)a=32767;else a=0-(a&65535)&65535;if(B<<16>>16==-32768)s=32767;else s=0-(B&65535)&65535;jA[e>>1]=s}l=l+-2|0;jA[u>>1]=a;if((C|0)<=0)break;else{C=C+-1|0;u=u+-2|0}}e=r<<16>>16;if(r<<16>>16<=0){jA[n+(e<<1)>>1]=jA[n>>1]|0;WA=h;return}g=t&65535;Q=0;o=-1;l=0;while(1){if((Q|0)<40){a=Q;s=Q&65535;B=-1;while(1){w=jA[E+(a<<1)>>1]|0;t=w<<16>>16>B<<16>>16;B=t?w:B;l=t?s:l;a=a+g|0;s=a&65535;if(s<<16>>16>=40)break;else a=a<<16>>16}}else B=-1;jA[i+(Q<<1)>>1]=l;if(B<<16>>16>o<<16>>16)jA[n>>1]=Q;else B=o;Q=Q+1|0;if((Q&65535)<<16>>16==r<<16>>16)break;else o=B}l=jA[n>>1]|0;jA[n+(e<<1)>>1]=l;if(r<<16>>16>1)B=1;else{WA=h;return}do{i=l+1<<16>>16;l=i<<16>>16>=r<<16>>16?0:i;jA[n+(B<<1)>>1]=l;jA[n+(B+e<<1)>>1]=l;B=B+1|0}while((B&65535)<<16>>16!=r<<16>>16);WA=h;return}function ei(A){A=A|0;var e=0;if(!A){A=-1;return A|0}pA[A>>2]=0;e=lr(12)|0;if(!e){A=-1;return A|0}jA[e>>1]=8;pA[A>>2]=e;jA[e+2>>1]=3;jA[e+4>>1]=0;pA[e+8>>2]=0;A=0;return A|0}function fi(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Br(e);pA[A>>2]=0;return}function ii(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0;do{if((e|0)==8){ZA()}else{jA[A+2>>1]=jA[A>>1]|0;pA[f>>2]=0;e=A+8|0}}while(0);pA[e>>2]=pA[f>>2];return}function ri(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0;if(!A){A=-1;return A|0}pA[A>>2]=0;f=lr(12)|0;i=f;if(!f){A=-1;return A|0}pA[f>>2]=0;r=f+4|0;pA[r>>2]=0;n=f+8|0;pA[n>>2]=e;if((Of(f)|0)<<16>>16==0?(me(r,pA[n>>2]|0)|0)<<16>>16==0:0){mf(pA[f>>2]|0)|0;Ke(pA[r>>2]|0)|0;pA[A>>2]=i;A=0;return A|0}Nf(f);Ne(r);Br(f);A=-1;return A|0}function ni(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Nf(e);Ne((pA[A>>2]|0)+4|0);Br(pA[A>>2]|0);pA[A>>2]=0;return}function ti(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0,B=0;l=WA;WA=WA+448|0;t=l+320|0;w=l;gr(i|0,0,488)|0;n=0;do{B=f+(n<<1)|0;jA[B>>1]=(DA[B>>1]|0)&65528;n=n+1|0}while((n|0)!=160);Kf(pA[A>>2]|0,f,160);B=A+4|0;Se(pA[B>>2]|0,e,f,t,r,w)|0;Sf(pA[r>>2]|0,t,i,(pA[B>>2]|0)+2392|0);WA=l;return}function wi(A,e,f,i,r,n,t,w,l,B,a,s,o,Q,g,v){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;s=s|0;o=o|0;Q=Q|0;g=g|0;v=v|0;var u=0,c=0,C=0;C=WA;WA=WA+48|0;u=C+22|0;c=C;wr(r,(A&-2|0)==6?f:e,u);wr(r,i,c);f=a;e=u;r=f+22|0;do{jA[f>>1]=jA[e>>1]|0;f=f+2|0;e=e+2|0}while((f|0)<(r|0));tr(n,a,o,40,B,0);tr(c,o,o,40,B,0);Ar(n,t,g,40);f=s;e=g;r=f+80|0;do{jA[f>>1]=jA[e>>1]|0;f=f+2|0;e=e+2|0}while((f|0)<(r|0));tr(n,s,v,40,w,0);Ar(u,v,Q,40);tr(c,Q,Q,40,l,0);WA=C;return}function li(A,e,f,i,r,n,t,w,l,B,a,s,o,Q,g,v,u){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;l=l|0;B=B|0;a=a|0;s=s|0;o=o|0;Q=Q|0;g=g|0;v=v|0;u=u|0;var c=0,C=0,D=0,E=0,h=0;if((e|0)==7){D=11;e=i<<16>>16>>>1&65535;c=2}else{D=13;e=i;c=1}jA[v>>1]=i<<16>>16<13017?i:13017;C=f<<16>>16;g=g+(C<<1)|0;v=e<<16>>16;r=r<<16>>16;f=20;e=l;u=g;while(1){l=u+2|0;h=VA(jA[u>>1]|0,v)|0;E=VA(jA[l>>1]|0,v)|0;h=(VA(jA[e>>1]|0,r)|0)+h<<1;E=(VA(jA[e+2>>1]|0,r)|0)+E<<1<>1]=((h<>>16;jA[l>>1]=(E+32768|0)>>>16;f=f+-1<<16>>16;if(!(f<<16>>16))break;else{e=e+4|0;u=u+4|0}}e=i<<16>>16;tr(n,g,t+(C<<1)|0,40,s,1);f=30;u=0;while(1){E=f+C|0;jA[o+(u<<1)>>1]=(DA[A+(E<<1)>>1]|0)-(DA[t+(E<<1)>>1]|0);E=VA(jA[B+(f<<1)>>1]|0,e)|0;h=(VA(jA[a+(f<<1)>>1]|0,r)|0)>>D;jA[Q+(u<<1)>>1]=(DA[w+(f<<1)>>1]|0)-(E>>>14)-h;u=u+1|0;if((u|0)==10)break;else f=f+1|0}return}function Bi(A){A=A|0;var e=0;if(!A){A=-1;return A|0}pA[A>>2]=0;e=lr(16)|0;if(!e){A=-1;return A|0}jA[e>>1]=0;jA[e+2>>1]=0;jA[e+4>>1]=0;jA[e+6>>1]=0;jA[e+8>>1]=0;jA[e+10>>1]=0;jA[e+12>>1]=0;jA[e+14>>1]=0;pA[A>>2]=e;A=0;return A|0}function ai(A){A=A|0;if(!A){A=-1;return A|0}jA[A>>1]=0;jA[A+2>>1]=0;jA[A+4>>1]=0;jA[A+6>>1]=0;jA[A+8>>1]=0;jA[A+10>>1]=0;jA[A+12>>1]=0;jA[A+14>>1]=0;A=0;return A|0}function si(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Br(e);pA[A>>2]=0;return}function oi(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0,t=0;i=DA[e+6>>1]|0;f=DA[e+8>>1]|0;r=i-f|0;r=(r&65535|0)!=32767?r&65535:32767;n=DA[e+10>>1]|0;f=f-n|0;r=(f<<16>>16|0)<(r<<16>>16|0)?f&65535:r;f=DA[e+12>>1]|0;n=n-f|0;r=(n<<16>>16|0)<(r<<16>>16|0)?n&65535:r;n=DA[e+14>>1]|0;f=f-n|0;r=(f<<16>>16|0)<(r<<16>>16|0)?f&65535:r;n=n-(DA[e+16>>1]|0)|0;f=jA[e+2>>1]|0;t=DA[e+4>>1]|0;e=(f&65535)-t|0;e=(e&65535|0)!=32767?e&65535:32767;i=t-i|0;if(((n<<16>>16|0)<(r<<16>>16|0)?n&65535:r)<<16>>16<1500?1:(((i<<16>>16|0)<(e<<16>>16|0)?i&65535:e)<<16>>16|0)<((f<<16>>16>32e3?600:f<<16>>16>30500?800:1100)|0)){n=(jA[A>>1]|0)+1<<16>>16;t=n<<16>>16>11;jA[A>>1]=t?12:n;return t&1|0}else{jA[A>>1]=0;return 0}return 0}function Qi(A,e,f){A=A|0;e=e|0;f=f|0;e=fr(e,3,f)|0;e=Ci(e,jA[A+2>>1]|0,f)|0;e=Ci(e,jA[A+4>>1]|0,f)|0;e=Ci(e,jA[A+6>>1]|0,f)|0;e=Ci(e,jA[A+8>>1]|0,f)|0;e=Ci(e,jA[A+10>>1]|0,f)|0;e=Ci(e,jA[A+12>>1]|0,f)|0;return(Ci(e,jA[A+14>>1]|0,f)|0)<<16>>16>15565|0}function gi(A,e,f){A=A|0;e=e|0;f=f|0;var i=0;f=A+4|0;jA[A+2>>1]=jA[f>>1]|0;i=A+6|0;jA[f>>1]=jA[i>>1]|0;f=A+8|0;jA[i>>1]=jA[f>>1]|0;i=A+10|0;jA[f>>1]=jA[i>>1]|0;f=A+12|0;jA[i>>1]=jA[f>>1]|0;A=A+14|0;jA[f>>1]=jA[A>>1]|0;jA[A>>1]=e<<16>>16>>>3;return}function vi(A){A=A|0;var e=0,f=0,i=0;if(!A){i=-1;return i|0}pA[A>>2]=0;e=lr(128)|0;if(!e){i=-1;return i|0}f=e+72|0;i=f+46|0;do{jA[f>>1]=0;f=f+2|0}while((f|0)<(i|0));jA[e>>1]=150;jA[e+36>>1]=150;jA[e+18>>1]=150;jA[e+54>>1]=0;jA[e+2>>1]=150;jA[e+38>>1]=150;jA[e+20>>1]=150;jA[e+56>>1]=0;jA[e+4>>1]=150;jA[e+40>>1]=150;jA[e+22>>1]=150;jA[e+58>>1]=0;jA[e+6>>1]=150;jA[e+42>>1]=150;jA[e+24>>1]=150;jA[e+60>>1]=0;jA[e+8>>1]=150;jA[e+44>>1]=150;jA[e+26>>1]=150;jA[e+62>>1]=0;jA[e+10>>1]=150;jA[e+46>>1]=150;jA[e+28>>1]=150;jA[e+64>>1]=0;jA[e+12>>1]=150;jA[e+48>>1]=150;jA[e+30>>1]=150;jA[e+66>>1]=0;jA[e+14>>1]=150;jA[e+50>>1]=150;jA[e+32>>1]=150;jA[e+68>>1]=0;jA[e+16>>1]=150;jA[e+52>>1]=150;jA[e+34>>1]=150;jA[e+70>>1]=0;jA[e+118>>1]=13106;jA[e+120>>1]=0;jA[e+122>>1]=0;jA[e+124>>1]=0;jA[e+126>>1]=13106;pA[A>>2]=e;i=0;return i|0}function ui(A){A=A|0;var e=0,f=0;if(!A){f=-1;return f|0}e=A+72|0;f=e+46|0;do{jA[e>>1]=0;e=e+2|0}while((e|0)<(f|0));jA[A>>1]=150;jA[A+36>>1]=150;jA[A+18>>1]=150;jA[A+54>>1]=0;jA[A+2>>1]=150;jA[A+38>>1]=150;jA[A+20>>1]=150;jA[A+56>>1]=0;jA[A+4>>1]=150;jA[A+40>>1]=150;jA[A+22>>1]=150;jA[A+58>>1]=0;jA[A+6>>1]=150;jA[A+42>>1]=150;jA[A+24>>1]=150;jA[A+60>>1]=0;jA[A+8>>1]=150;jA[A+44>>1]=150;jA[A+26>>1]=150;jA[A+62>>1]=0;jA[A+10>>1]=150;jA[A+46>>1]=150;jA[A+28>>1]=150;jA[A+64>>1]=0;jA[A+12>>1]=150;jA[A+48>>1]=150;jA[A+30>>1]=150;jA[A+66>>1]=0;jA[A+14>>1]=150;jA[A+50>>1]=150;jA[A+32>>1]=150;jA[A+68>>1]=0;jA[A+16>>1]=150;jA[A+52>>1]=150;jA[A+34>>1]=150;jA[A+70>>1]=0;jA[A+118>>1]=13106;jA[A+120>>1]=0;jA[A+122>>1]=0;jA[A+124>>1]=0;jA[A+126>>1]=13106;f=0;return f|0}function ci(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Br(e);pA[A>>2]=0;return}function Ci(A,e,f){A=A|0;e=e|0;f=f|0;A=(e<<16>>16)+(A<<16>>16)|0;if((A|0)<=32767){if((A|0)<-32768){pA[f>>2]=1;A=-32768}}else{pA[f>>2]=1;A=32767}return A&65535|0}function Di(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0;P=WA;WA=WA+32|0;E=P+12|0;h=P;jA[E>>1]=1024;jA[h>>1]=1024;l=jA[A+2>>1]|0;t=jA[A+20>>1]|0;i=((t+l|0)>>>2)+64512|0;jA[E+2>>1]=i;t=((l-t|0)>>>2)+1024|0;jA[h+2>>1]=t;l=jA[A+4>>1]|0;r=jA[A+18>>1]|0;i=((r+l|0)>>>2)-i|0;jA[E+4>>1]=i;t=((l-r|0)>>>2)+t|0;jA[h+4>>1]=t;r=jA[A+6>>1]|0;l=jA[A+16>>1]|0;i=((l+r|0)>>>2)-i|0;jA[E+6>>1]=i;t=((r-l|0)>>>2)+t|0;jA[h+6>>1]=t;l=jA[A+8>>1]|0;r=jA[A+14>>1]|0;i=((r+l|0)>>>2)-i|0;jA[E+8>>1]=i;t=((l-r|0)>>>2)+t|0;jA[h+8>>1]=t;r=jA[A+10>>1]|0;l=jA[A+12>>1]|0;i=((l+r|0)>>>2)-i|0;jA[E+10>>1]=i;jA[h+10>>1]=((r-l|0)>>>2)+t;t=jA[3454]|0;l=t<<16>>16;A=jA[E+2>>1]|0;r=(A<<16>>16<<14)+(l<<10)|0;u=r&-65536;r=(r>>>1)-(r>>16<<15)<<16;D=(((VA(r>>16,l)|0)>>15)+(VA(u>>16,l)|0)<<2)+-16777216|0;D=(jA[E+4>>1]<<14)+D|0;w=D>>16;D=(D>>>1)-(w<<15)<<16;u=(((VA(D>>16,l)|0)>>15)+(VA(w,l)|0)<<2)-((r>>15)+u)|0;u=(jA[E+6>>1]<<14)+u|0;r=u>>16;u=(u>>>1)-(r<<15)<<16;w=(((VA(u>>16,l)|0)>>15)+(VA(r,l)|0)<<2)-((D>>15)+(w<<16))|0;w=(jA[E+8>>1]<<14)+w|0;D=w>>16;r=(i<<16>>3)+((((VA((w>>>1)-(D<<15)<<16>>16,l)|0)>>15)+(VA(D,l)|0)<<1)-((u>>15)+(r<<16)))|0;u=E+4|0;l=E;D=0;w=0;i=0;v=E+10|0;r=(r+33554432|0)>>>0<67108863?r>>>10&65535:(r|0)>33554431?32767:-32768;A:while(1){c=A<<16>>16<<14;g=l+6|0;Q=l+8|0;o=w<<16>>16;while(1){if((o|0)>=60)break A;l=(o&65535)+1<<16>>16;B=jA[6908+(l<<16>>16<<1)>>1]|0;C=B<<16>>16;w=c+(C<<10)|0;n=w&-65536;w=(w>>>1)-(w>>16<<15)<<16;a=(((VA(w>>16,C)|0)>>15)+(VA(n>>16,C)|0)<<2)+-16777216|0;s=jA[u>>1]|0;a=(s<<16>>16<<14)+a|0;d=a>>16;a=(a>>>1)-(d<<15)<<16;n=(((VA(a>>16,C)|0)>>15)+(VA(d,C)|0)<<2)-((w>>15)+n)|0;w=jA[g>>1]|0;n=(w<<16>>16<<14)+n|0;A=n>>16;n=(n>>>1)-(A<<15)<<16;d=(((VA(n>>16,C)|0)>>15)+(VA(A,C)|0)<<2)-((a>>15)+(d<<16))|0;a=jA[Q>>1]|0;d=(a<<16>>16<<14)+d|0;b=d>>16;A=(((VA((d>>>1)-(b<<15)<<16>>16,C)|0)>>15)+(VA(b,C)|0)<<1)-((n>>15)+(A<<16))|0;n=jA[v>>1]|0;A=(n<<16>>16<<13)+A|0;A=(A+33554432|0)>>>0<67108863?A>>>10&65535:(A|0)>33554431?32767:-32768;if((VA(A<<16>>16,r<<16>>16)|0)<1){C=l;l=s;break}else{o=o+1|0;t=B;r=A}}u=n<<16>>16<<13;v=l<<16>>16<<14;s=w<<16>>16<<14;Q=a<<16>>16<<14;n=B<<16>>16;o=4;while(1){b=(t<<16>>16>>>1)+(n>>>1)|0;n=b<<16;g=n>>16;n=c+(n>>6)|0;d=n&-65536;n=(n>>>1)-(n>>16<<15)<<16;a=v+((((VA(n>>16,g)|0)>>15)+(VA(d>>16,g)|0)<<2)+-16777216)|0;l=a>>16;a=(a>>>1)-(l<<15)<<16;d=s+((((VA(a>>16,g)|0)>>15)+(VA(l,g)|0)<<2)-((n>>15)+d))|0;n=d>>16;d=(d>>>1)-(n<<15)<<16;l=Q+((((VA(d>>16,g)|0)>>15)+(VA(n,g)|0)<<2)-((a>>15)+(l<<16)))|0;a=l>>16;b=b&65535;n=u+((((VA((l>>>1)-(a<<15)<<16>>16,g)|0)>>15)+(VA(a,g)|0)<<1)-((d>>15)+(n<<16)))|0;n=(n+33554432|0)>>>0<67108863?n>>>10&65535:(n|0)>33554431?32767:-32768;d=(VA(n<<16>>16,A<<16>>16)|0)<1;g=d?B:b;A=d?A:n;t=d?b:t;r=d?n:r;o=o+-1<<16>>16;n=g<<16>>16;if(!(o<<16>>16)){B=n;w=t;t=g;break}else B=g}l=i<<16>>16;n=A<<16>>16;A=(r&65535)-n|0;r=A<<16;if(r){d=(A&65535)-(A>>>15&1)|0;d=d<<16>>31^d;A=(Ki(d&65535)|0)<<16>>16;A=(VA((Ei(16383,d<<16>>16<>16,(w&65535)-B<<16>>16)|0)>>19-A;if((r|0)<0)A=0-(A<<16>>16)|0;t=B-((VA(A<<16>>16,n)|0)>>>10)&65535}jA[e+(l<<1)>>1]=t;r=D<<16>>16==0?h:E;b=t<<16>>16;A=jA[r+2>>1]|0;n=(A<<16>>16<<14)+(b<<10)|0;d=n&-65536;n=(n>>>1)-(n>>16<<15)<<16;c=(((VA(n>>16,b)|0)>>15)+(VA(d>>16,b)|0)<<2)+-16777216|0;c=(jA[r+4>>1]<<14)+c|0;u=c>>16;c=(c>>>1)-(u<<15)<<16;d=(((VA(c>>16,b)|0)>>15)+(VA(u,b)|0)<<2)-((n>>15)+d)|0;d=(jA[r+6>>1]<<14)+d|0;n=d>>16;d=(d>>>1)-(n<<15)<<16;u=(((VA(d>>16,b)|0)>>15)+(VA(n,b)|0)<<2)-((c>>15)+(u<<16))|0;u=(jA[r+8>>1]<<14)+u|0;c=u>>16;i=i+1<<16>>16;n=(((VA((u>>>1)-(c<<15)<<16>>16,b)|0)>>15)+(VA(c,b)|0)<<1)-((d>>15)+(n<<16))|0;n=(jA[r+10>>1]<<13)+n|0;if(i<<16>>16<10){u=r+4|0;l=r;D=D^1;w=C;v=r+10|0;r=(n+33554432|0)>>>0<67108863?n>>>10&65535:(n|0)>33554431?32767:-32768}else{k=13;break}}if((k|0)==13){WA=P;return}jA[e>>1]=jA[f>>1]|0;jA[e+2>>1]=jA[f+2>>1]|0;jA[e+4>>1]=jA[f+4>>1]|0;jA[e+6>>1]=jA[f+6>>1]|0;jA[e+8>>1]=jA[f+8>>1]|0;jA[e+10>>1]=jA[f+10>>1]|0;jA[e+12>>1]=jA[f+12>>1]|0;jA[e+14>>1]=jA[f+14>>1]|0;jA[e+16>>1]=jA[f+16>>1]|0;jA[e+18>>1]=jA[f+18>>1]|0;WA=P;return}function Ei(A,e){A=A|0;e=e|0;var f=0,i=0,r=0,n=0,t=0,w=0;r=e<<16>>16;if(A<<16>>16<1?1:A<<16>>16>e<<16>>16){r=0;return r|0}if(A<<16>>16==e<<16>>16){r=32767;return r|0}i=r<<1;f=r<<2;n=A<<16>>16<<3;A=(n|0)<(f|0);n=n-(A?0:f)|0;A=A?0:4;t=(n|0)<(i|0);n=n-(t?0:i)|0;e=(n|0)<(r|0);A=(e&1|(t?A:A|2))<<3^8;e=n-(e?0:r)<<3;if((e|0)>=(f|0)){e=e-f|0;A=A&65528|4}n=(e|0)<(i|0);t=e-(n?0:i)|0;e=(t|0)<(r|0);A=(e&1^1|(n?A:A|2))<<16>>13;e=t-(e?0:r)<<3;if((e|0)>=(f|0)){e=e-f|0;A=A&65528|4}n=(e|0)<(i|0);t=e-(n?0:i)|0;e=(t|0)<(r|0);A=(e&1^1|(n?A:A|2))<<16>>13;e=t-(e?0:r)<<3;if((e|0)>=(f|0)){e=e-f|0;A=A&65528|4}w=(e|0)<(i|0);n=e-(w?0:i)|0;t=(n|0)<(r|0);e=(t&1^1|(w?A:A|2))<<16>>13;A=n-(t?0:r)<<3;if((A|0)>=(f|0)){A=A-f|0;e=e&65528|4}w=(A|0)<(i|0);w=((A-(w?0:i)|0)>=(r|0)|(w?e:e|2))&65535;return w|0}function hi(A){A=A|0;if(!A){A=-1;return A|0}jA[A>>1]=-14336;jA[A+8>>1]=-2381;jA[A+2>>1]=-14336;jA[A+10>>1]=-2381;jA[A+4>>1]=-14336;jA[A+12>>1]=-2381;jA[A+6>>1]=-14336;jA[A+14>>1]=-2381;A=0;return A|0}function Pi(A,e,f,i,r,n,t,w){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;var l=0,B=0,a=0,s=0,o=0,Q=0;Q=WA;WA=WA+16|0;s=Q+2|0;o=Q;l=0;B=10;while(1){a=jA[f>>1]|0;a=((VA(a,a)|0)>>>3)+l|0;l=jA[f+2>>1]|0;l=a+((VA(l,l)|0)>>>3)|0;a=jA[f+4>>1]|0;a=l+((VA(a,a)|0)>>>3)|0;l=jA[f+6>>1]|0;l=a+((VA(l,l)|0)>>>3)|0;B=B+-1<<16>>16;if(!(B<<16>>16))break;else f=f+8|0}B=l<<4;B=(B|0)<0?2147483647:B;if((e|0)==7){Gi(((er(B,w)|0)<<16>>16)*52428|0,s,o,w);a=DA[s>>1]<<16;B=jA[o>>1]<<1;e=jA[A+8>>1]|0;l=(e<<16>>16)*88|0;if(e<<16>>16>-1&(l|0)<-783741){pA[w>>2]=1;f=2147483647}else f=l+783741|0;e=(jA[A+10>>1]|0)*74|0;l=e+f|0;if((e^f|0)>-1&(l^f|0)<0){pA[w>>2]=1;f=(f>>>31)+2147483647|0}else f=l;e=(jA[A+12>>1]|0)*44|0;l=e+f|0;if((e^f|0)>-1&(l^f|0)<0){pA[w>>2]=1;f=(f>>>31)+2147483647|0}else f=l;A=(jA[A+14>>1]|0)*24|0;l=A+f|0;if((A^f|0)>-1&(l^f|0)<0){pA[w>>2]=1;l=(f>>>31)+2147483647|0}A=a+-1966080+B|0;f=l-A|0;if(((f^l)&(l^A)|0)<0){pA[w>>2]=1;f=(l>>>31)+2147483647|0}w=f>>17;jA[i>>1]=w;w=(f>>2)-(w<<15)|0;w=w&65535;jA[r>>1]=w;WA=Q;return}a=Ni(B)|0;l=a<<16>>16;if(a<<16>>16>0){f=B<>l|0)==(B|0))B=f;else B=B>>31^2147483647}else{l=0-l<<16;if((l|0)<2031616)B=B>>(l>>16);else B=0}Li(B,a,s,o);s=VA(jA[s>>1]|0,-49320)|0;l=(VA(jA[o>>1]|0,-24660)|0)>>15;l=(l&65536|0)==0?l:l|-65536;o=l<<1;f=o+s|0;if((o^s|0)>-1&(f^o|0)<0){pA[w>>2]=1;f=(l>>>30&1)+2147483647|0}switch(e|0){case 6:{l=f+2134784|0;if((f|0)>-1&(l^f|0)<0){pA[w>>2]=1;l=(f>>>31)+2147483647|0}break}case 5:{jA[t>>1]=B>>>16;jA[n>>1]=-11-(a&65535);l=f+2183936|0;if((f|0)>-1&(l^f|0)<0){pA[w>>2]=1;l=(f>>>31)+2147483647|0}break}case 4:{l=f+2085632|0;if((f|0)>-1&(l^f|0)<0){pA[w>>2]=1;l=(f>>>31)+2147483647|0}break}case 3:{l=f+2065152|0;if((f|0)>-1&(l^f|0)<0){pA[w>>2]=1;l=(f>>>31)+2147483647|0}break}default:{l=f+2134784|0;if((f|0)>-1&(l^f|0)<0){pA[w>>2]=1;l=(f>>>31)+2147483647|0}}}do{if((l|0)<=2097151)if((l|0)<-2097152){pA[w>>2]=1;f=-2147483648;break}else{f=l<<10;break}else{pA[w>>2]=1;f=2147483647}}while(0);t=(jA[A>>1]|0)*11142|0;l=t+f|0;if((t^f|0)>-1&(l^f|0)<0){pA[w>>2]=1;l=(f>>>31)+2147483647|0}t=(jA[A+2>>1]|0)*9502|0;f=t+l|0;if((t^l|0)>-1&(f^l|0)<0){pA[w>>2]=1;f=(l>>>31)+2147483647|0}t=(jA[A+4>>1]|0)*5570|0;l=t+f|0;if((t^f|0)>-1&(l^f|0)<0){pA[w>>2]=1;l=(f>>>31)+2147483647|0}A=(jA[A+6>>1]|0)*3112|0;f=A+l|0;if((A^l|0)>-1&(f^l|0)<0){pA[w>>2]=1;f=(l>>>31)+2147483647|0}f=VA(f>>16,(e|0)==4?10878:10886)|0;if((f|0)<0)f=~((f^-256)>>8);else f=f>>8;jA[i>>1]=f>>>16;if((f|0)<0)l=~((f^-2)>>1);else l=f>>1;i=f>>16<<15;f=l-i|0;if(((f^l)&(i^l)|0)>=0){w=f;w=w&65535;jA[r>>1]=w;WA=Q;return}pA[w>>2]=1;w=(l>>>31)+2147483647|0;w=w&65535;jA[r>>1]=w;WA=Q;return}function ki(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0;r=A+4|0;jA[A+6>>1]=jA[r>>1]|0;n=A+12|0;jA[A+14>>1]=jA[n>>1]|0;i=A+2|0;jA[r>>1]=jA[i>>1]|0;r=A+10|0;jA[n>>1]=jA[r>>1]|0;jA[i>>1]=jA[A>>1]|0;i=A+8|0;jA[r>>1]=jA[i>>1]|0;jA[i>>1]=e;jA[A>>1]=f;return}function bi(A){A=A|0;pA[A>>2]=6892;pA[A+4>>2]=8180;pA[A+8>>2]=21e3;pA[A+12>>2]=9716;pA[A+16>>2]=22024;pA[A+20>>2]=12788;pA[A+24>>2]=24072;pA[A+28>>2]=26120;pA[A+32>>2]=28168;pA[A+36>>2]=6876;pA[A+40>>2]=7452;pA[A+44>>2]=8140;pA[A+48>>2]=20980;pA[A+52>>2]=16884;pA[A+56>>2]=17908;pA[A+60>>2]=7980;pA[A+64>>2]=8160;pA[A+68>>2]=6678;pA[A+72>>2]=6646;pA[A+76>>2]=6614;pA[A+80>>2]=29704;pA[A+84>>2]=28680;pA[A+88>>2]=3720;pA[A+92>>2]=8;pA[A+96>>2]=4172;pA[A+100>>2]=44;pA[A+104>>2]=3436;pA[A+108>>2]=30316;pA[A+112>>2]=30796;pA[A+116>>2]=31276;pA[A+120>>2]=7472;pA[A+124>>2]=7552;pA[A+128>>2]=7632;pA[A+132>>2]=7712;return}function di(A,e){A=A|0;e=e|0;var f=0,i=0,r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0;s=WA;WA=WA+48|0;B=s+18|0;a=s;l=e<<16>>16;or(a|0,A|0,l<<1|0)|0;if(e<<16>>16>0){f=0;i=0}else{ZA()}do{w=0;t=-32767;while(1){r=jA[a+(w<<1)>>1]|0;n=r<<16>>16>16;i=n?i:w&65535;w=w+1|0;if((w&65535)<<16>>16==e<<16>>16)break;else t=n?t:r}jA[a+(i<<16>>16<<1)>>1]=-32768;jA[B+(f<<1)>>1]=i;f=f+1|0}while((f&65535)<<16>>16!=e<<16>>16);a=l>>1;a=B+(a<<1)|0;a=jA[a>>1]|0;a=a<<16>>16;a=A+(a<<1)|0;a=jA[a>>1]|0;WA=s;return a|0}function Ii(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0;n=WA;WA=WA+32|0;t=n;b=e+2|0;k=t+2|0;jA[t>>1]=((jA[e>>1]|0)>>>1)+((jA[A>>1]|0)>>>1);P=e+4|0;h=t+4|0;jA[k>>1]=((jA[b>>1]|0)>>>1)+((jA[A+2>>1]|0)>>>1);E=e+6|0;D=t+6|0;jA[h>>1]=((jA[P>>1]|0)>>>1)+((jA[A+4>>1]|0)>>>1);C=e+8|0;c=t+8|0;jA[D>>1]=((jA[E>>1]|0)>>>1)+((jA[A+6>>1]|0)>>>1);u=e+10|0;v=t+10|0;jA[c>>1]=((jA[C>>1]|0)>>>1)+((jA[A+8>>1]|0)>>>1);g=e+12|0;Q=t+12|0;jA[v>>1]=((jA[u>>1]|0)>>>1)+((jA[A+10>>1]|0)>>>1);o=e+14|0;s=t+14|0;jA[Q>>1]=((jA[g>>1]|0)>>>1)+((jA[A+12>>1]|0)>>>1);a=e+16|0;B=t+16|0;jA[s>>1]=((jA[o>>1]|0)>>>1)+((jA[A+14>>1]|0)>>>1);l=e+18|0;w=t+18|0;jA[B>>1]=((jA[a>>1]|0)>>>1)+((jA[A+16>>1]|0)>>>1);jA[w>>1]=((jA[l>>1]|0)>>>1)+((jA[A+18>>1]|0)>>>1);yi(t,i,r);yi(e,i+22|0,r);jA[t>>1]=((jA[f>>1]|0)>>>1)+((jA[e>>1]|0)>>>1);jA[k>>1]=((jA[f+2>>1]|0)>>>1)+((jA[b>>1]|0)>>>1);jA[h>>1]=((jA[f+4>>1]|0)>>>1)+((jA[P>>1]|0)>>>1);jA[D>>1]=((jA[f+6>>1]|0)>>>1)+((jA[E>>1]|0)>>>1);jA[c>>1]=((jA[f+8>>1]|0)>>>1)+((jA[C>>1]|0)>>>1);jA[v>>1]=((jA[f+10>>1]|0)>>>1)+((jA[u>>1]|0)>>>1);jA[Q>>1]=((jA[f+12>>1]|0)>>>1)+((jA[g>>1]|0)>>>1);jA[s>>1]=((jA[f+14>>1]|0)>>>1)+((jA[o>>1]|0)>>>1);jA[B>>1]=((jA[f+16>>1]|0)>>>1)+((jA[a>>1]|0)>>>1);jA[w>>1]=((jA[f+18>>1]|0)>>>1)+((jA[l>>1]|0)>>>1);yi(t,i+44|0,r);yi(f,i+66|0,r);WA=n;return}function Mi(A,e,f,i,r){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;var n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0;n=WA;WA=WA+32|0;t=n;b=e+2|0;k=t+2|0;jA[t>>1]=((jA[e>>1]|0)>>>1)+((jA[A>>1]|0)>>>1);P=e+4|0;h=t+4|0;jA[k>>1]=((jA[b>>1]|0)>>>1)+((jA[A+2>>1]|0)>>>1);E=e+6|0;D=t+6|0;jA[h>>1]=((jA[P>>1]|0)>>>1)+((jA[A+4>>1]|0)>>>1);C=e+8|0;c=t+8|0;jA[D>>1]=((jA[E>>1]|0)>>>1)+((jA[A+6>>1]|0)>>>1);u=e+10|0;v=t+10|0;jA[c>>1]=((jA[C>>1]|0)>>>1)+((jA[A+8>>1]|0)>>>1);g=e+12|0;Q=t+12|0;jA[v>>1]=((jA[u>>1]|0)>>>1)+((jA[A+10>>1]|0)>>>1);o=e+14|0;s=t+14|0;jA[Q>>1]=((jA[g>>1]|0)>>>1)+((jA[A+12>>1]|0)>>>1);a=e+16|0;B=t+16|0;jA[s>>1]=((jA[o>>1]|0)>>>1)+((jA[A+14>>1]|0)>>>1);l=e+18|0;w=t+18|0;jA[B>>1]=((jA[a>>1]|0)>>>1)+((jA[A+16>>1]|0)>>>1);jA[w>>1]=((jA[l>>1]|0)>>>1)+((jA[A+18>>1]|0)>>>1);yi(t,i,r);jA[t>>1]=((jA[f>>1]|0)>>>1)+((jA[e>>1]|0)>>>1);jA[k>>1]=((jA[f+2>>1]|0)>>>1)+((jA[b>>1]|0)>>>1);jA[h>>1]=((jA[f+4>>1]|0)>>>1)+((jA[P>>1]|0)>>>1);jA[D>>1]=((jA[f+6>>1]|0)>>>1)+((jA[E>>1]|0)>>>1);jA[c>>1]=((jA[f+8>>1]|0)>>>1)+((jA[C>>1]|0)>>>1);jA[v>>1]=((jA[f+10>>1]|0)>>>1)+((jA[u>>1]|0)>>>1);jA[Q>>1]=((jA[f+12>>1]|0)>>>1)+((jA[g>>1]|0)>>>1);jA[s>>1]=((jA[f+14>>1]|0)>>>1)+((jA[o>>1]|0)>>>1);jA[B>>1]=((jA[f+16>>1]|0)>>>1)+((jA[a>>1]|0)>>>1);jA[w>>1]=((jA[f+18>>1]|0)>>>1)+((jA[l>>1]|0)>>>1);yi(t,i+44|0,r);WA=n;return}function Fi(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0;r=WA;WA=WA+32|0;n=r;G=jA[A>>1]|0;jA[n>>1]=G-(G>>>2)+((jA[e>>1]|0)>>>2);G=A+2|0;F=jA[G>>1]|0;L=e+2|0;U=n+2|0;jA[U>>1]=F-(F>>>2)+((jA[L>>1]|0)>>>2);F=A+4|0;d=jA[F>>1]|0;H=e+4|0;M=n+4|0;jA[M>>1]=d-(d>>>2)+((jA[H>>1]|0)>>>2);d=A+6|0;P=jA[d>>1]|0;I=e+6|0;b=n+6|0;jA[b>>1]=P-(P>>>2)+((jA[I>>1]|0)>>>2);P=A+8|0;D=jA[P>>1]|0;k=e+8|0;h=n+8|0;jA[h>>1]=D-(D>>>2)+((jA[k>>1]|0)>>>2);D=A+10|0;u=jA[D>>1]|0;E=e+10|0;C=n+10|0;jA[C>>1]=u-(u>>>2)+((jA[E>>1]|0)>>>2);u=A+12|0;Q=jA[u>>1]|0;c=e+12|0;v=n+12|0;jA[v>>1]=Q-(Q>>>2)+((jA[c>>1]|0)>>>2);Q=A+14|0;a=jA[Q>>1]|0;g=e+14|0;o=n+14|0;jA[o>>1]=a-(a>>>2)+((jA[g>>1]|0)>>>2);a=A+16|0;w=jA[a>>1]|0;s=e+16|0;B=n+16|0;jA[B>>1]=w-(w>>>2)+((jA[s>>1]|0)>>>2);w=A+18|0;R=jA[w>>1]|0;l=e+18|0;t=n+18|0;jA[t>>1]=R-(R>>>2)+((jA[l>>1]|0)>>>2);yi(n,f,i);jA[n>>1]=((jA[A>>1]|0)>>>1)+((jA[e>>1]|0)>>>1);jA[U>>1]=((jA[G>>1]|0)>>>1)+((jA[L>>1]|0)>>>1);jA[M>>1]=((jA[F>>1]|0)>>>1)+((jA[H>>1]|0)>>>1);jA[b>>1]=((jA[d>>1]|0)>>>1)+((jA[I>>1]|0)>>>1);jA[h>>1]=((jA[P>>1]|0)>>>1)+((jA[k>>1]|0)>>>1);jA[C>>1]=((jA[D>>1]|0)>>>1)+((jA[E>>1]|0)>>>1);jA[v>>1]=((jA[u>>1]|0)>>>1)+((jA[c>>1]|0)>>>1);jA[o>>1]=((jA[Q>>1]|0)>>>1)+((jA[g>>1]|0)>>>1);jA[B>>1]=((jA[a>>1]|0)>>>1)+((jA[s>>1]|0)>>>1);jA[t>>1]=((jA[w>>1]|0)>>>1)+((jA[l>>1]|0)>>>1);yi(n,f+22|0,i);R=jA[e>>1]|0;jA[n>>1]=R-(R>>>2)+((jA[A>>1]|0)>>>2);A=jA[L>>1]|0;jA[U>>1]=A-(A>>>2)+((jA[G>>1]|0)>>>2);A=jA[H>>1]|0;jA[M>>1]=A-(A>>>2)+((jA[F>>1]|0)>>>2);A=jA[I>>1]|0;jA[b>>1]=A-(A>>>2)+((jA[d>>1]|0)>>>2);A=jA[k>>1]|0;jA[h>>1]=A-(A>>>2)+((jA[P>>1]|0)>>>2);A=jA[E>>1]|0;jA[C>>1]=A-(A>>>2)+((jA[D>>1]|0)>>>2);A=jA[c>>1]|0;jA[v>>1]=A-(A>>>2)+((jA[u>>1]|0)>>>2);A=jA[g>>1]|0;jA[o>>1]=A-(A>>>2)+((jA[Q>>1]|0)>>>2);A=jA[s>>1]|0;jA[B>>1]=A-(A>>>2)+((jA[a>>1]|0)>>>2);A=jA[l>>1]|0;jA[t>>1]=A-(A>>>2)+((jA[w>>1]|0)>>>2);yi(n,f+44|0,i);yi(e,f+66|0,i);WA=r;return}function Hi(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0;r=WA;WA=WA+32|0;n=r;G=jA[A>>1]|0;jA[n>>1]=G-(G>>>2)+((jA[e>>1]|0)>>>2);G=A+2|0;F=jA[G>>1]|0;L=e+2|0;U=n+2|0;jA[U>>1]=F-(F>>>2)+((jA[L>>1]|0)>>>2);F=A+4|0;d=jA[F>>1]|0;H=e+4|0;M=n+4|0;jA[M>>1]=d-(d>>>2)+((jA[H>>1]|0)>>>2);d=A+6|0;P=jA[d>>1]|0;I=e+6|0;b=n+6|0;jA[b>>1]=P-(P>>>2)+((jA[I>>1]|0)>>>2);P=A+8|0;D=jA[P>>1]|0;k=e+8|0;h=n+8|0;jA[h>>1]=D-(D>>>2)+((jA[k>>1]|0)>>>2);D=A+10|0;u=jA[D>>1]|0;E=e+10|0;C=n+10|0;jA[C>>1]=u-(u>>>2)+((jA[E>>1]|0)>>>2);u=A+12|0;Q=jA[u>>1]|0;c=e+12|0;v=n+12|0;jA[v>>1]=Q-(Q>>>2)+((jA[c>>1]|0)>>>2);Q=A+14|0;a=jA[Q>>1]|0;g=e+14|0;o=n+14|0;jA[o>>1]=a-(a>>>2)+((jA[g>>1]|0)>>>2);a=A+16|0;w=jA[a>>1]|0;s=e+16|0;B=n+16|0;jA[B>>1]=w-(w>>>2)+((jA[s>>1]|0)>>>2);w=A+18|0;R=jA[w>>1]|0;l=e+18|0;t=n+18|0;jA[t>>1]=R-(R>>>2)+((jA[l>>1]|0)>>>2);yi(n,f,i);jA[n>>1]=((jA[A>>1]|0)>>>1)+((jA[e>>1]|0)>>>1);jA[U>>1]=((jA[G>>1]|0)>>>1)+((jA[L>>1]|0)>>>1);jA[M>>1]=((jA[F>>1]|0)>>>1)+((jA[H>>1]|0)>>>1);jA[b>>1]=((jA[d>>1]|0)>>>1)+((jA[I>>1]|0)>>>1);jA[h>>1]=((jA[P>>1]|0)>>>1)+((jA[k>>1]|0)>>>1);jA[C>>1]=((jA[D>>1]|0)>>>1)+((jA[E>>1]|0)>>>1);jA[v>>1]=((jA[u>>1]|0)>>>1)+((jA[c>>1]|0)>>>1);jA[o>>1]=((jA[Q>>1]|0)>>>1)+((jA[g>>1]|0)>>>1);jA[B>>1]=((jA[a>>1]|0)>>>1)+((jA[s>>1]|0)>>>1);jA[t>>1]=((jA[w>>1]|0)>>>1)+((jA[l>>1]|0)>>>1);yi(n,f+22|0,i);e=jA[e>>1]|0;jA[n>>1]=e-(e>>>2)+((jA[A>>1]|0)>>>2);A=jA[L>>1]|0;jA[U>>1]=A-(A>>>2)+((jA[G>>1]|0)>>>2);A=jA[H>>1]|0;jA[M>>1]=A-(A>>>2)+((jA[F>>1]|0)>>>2);A=jA[I>>1]|0;jA[b>>1]=A-(A>>>2)+((jA[d>>1]|0)>>>2);A=jA[k>>1]|0;jA[h>>1]=A-(A>>>2)+((jA[P>>1]|0)>>>2);A=jA[E>>1]|0;jA[C>>1]=A-(A>>>2)+((jA[D>>1]|0)>>>2);A=jA[c>>1]|0;jA[v>>1]=A-(A>>>2)+((jA[u>>1]|0)>>>2);A=jA[g>>1]|0;jA[o>>1]=A-(A>>>2)+((jA[Q>>1]|0)>>>2);A=jA[s>>1]|0;jA[B>>1]=A-(A>>>2)+((jA[a>>1]|0)>>>2);A=jA[l>>1]|0;jA[t>>1]=A-(A>>>2)+((jA[w>>1]|0)>>>2);yi(n,f+44|0,i);WA=r;return}function Ui(A,e){A=A|0;e=e|0;var f=0,i=0;if((A|0)<1){e=1073741823;return e|0}f=(Ni(A)|0)<<16>>16;e=30-f|0;A=A<>(e&1^1);f=(A>>25<<16)+-1048576>>16;i=jA[7030+(f<<1)>>1]|0;e=(i<<16)-(VA(i-(DA[7030+(f+1<<1)>>1]|0)<<16>>15,A>>>10&32767)|0)>>(e<<16>>17)+1;return e|0}function Gi(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;i=Ni(A)|0;Li(A<<(i<<16>>16),i,e,f);return}function Li(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;if((A|0)<1){jA[f>>1]=0;f=0;jA[i>>1]=f;return}else{jA[f>>1]=30-(e&65535);f=(A>>25<<16)+-2097152>>16;e=jA[7128+(f<<1)>>1]|0;f=((e<<16)-(VA(A>>>9&65534,e-(DA[7128+(f+1<<1)>>1]|0)<<16>>16)|0)|0)>>>16&65535;jA[i>>1]=f;return}}function Ri(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0;i=A+2|0;f=jA[i>>1]|0;jA[e>>1]=f;r=A+4|0;jA[e+2>>1]=(DA[r>>1]|0)-(DA[A>>1]|0);jA[e+4>>1]=(DA[A+6>>1]|0)-(DA[i>>1]|0);i=A+8|0;jA[e+6>>1]=(DA[i>>1]|0)-(DA[r>>1]|0);jA[e+8>>1]=(DA[A+10>>1]|0)-(DA[A+6>>1]|0);r=A+12|0;jA[e+10>>1]=(DA[r>>1]|0)-(DA[i>>1]|0);jA[e+12>>1]=(DA[A+14>>1]|0)-(DA[A+10>>1]|0);jA[e+14>>1]=(DA[A+16>>1]|0)-(DA[r>>1]|0);jA[e+16>>1]=(DA[A+18>>1]|0)-(DA[A+14>>1]|0);jA[e+18>>1]=16384-(DA[A+16>>1]|0);A=10;r=e;while(1){f=f<<16>>16;e=(f<<16)+-120782848|0;if((e|0)>0)e=1843-((e>>16)*12484>>16)|0;else e=3427-((f*56320|0)>>>16)|0;i=r+2|0;jA[r>>1]=e<<3;A=A+-1<<16>>16;if(!(A<<16>>16))break;f=jA[i>>1]|0;r=i}return}function Ti(A,e,f){A=A|0;e=e|0;f=f|0;f=e<<16>>16;if(e<<16>>16>31){e=0;return e|0}if(e<<16>>16>0)return((1<>16<31?A>>f:0)|0;f=0-f<<16>>16;e=A<>f|0)==(A|0)?e:A>>31^2147483647;return e|0}function yi(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0;v=WA;WA=WA+48|0;Q=v+24|0;g=v;s=Q+4|0;pA[Q>>2]=16777216;i=0-(jA[A>>1]|0)|0;o=Q+8|0;pA[s>>2]=i<<10;r=jA[A+4>>1]|0;l=i>>6;pA[o>>2]=33554432-(((VA((i<<9)-(l<<15)<<16>>16,r)|0)>>15)+(VA(l,r)|0)<<2);l=Q+4|0;r=(pA[l>>2]|0)-(r<<10)|0;pA[l>>2]=r;l=Q+12|0;i=Q+4|0;pA[l>>2]=r;f=jA[A+8>>1]|0;n=r;B=1;while(1){w=l+-4|0;t=pA[w>>2]|0;a=t>>16;pA[l>>2]=n+r-(((VA((t>>>1)-(a<<15)<<16>>16,f)|0)>>15)+(VA(a,f)|0)<<2);if((B|0)==2)break;n=pA[l+-12>>2]|0;l=w;r=t;B=B+1|0}pA[i>>2]=(pA[i>>2]|0)-(f<<10);f=Q+16|0;i=pA[Q+8>>2]|0;pA[f>>2]=i;w=jA[A+12>>1]|0;r=i;l=1;while(1){t=f+-4|0;n=pA[t>>2]|0;a=n>>16;pA[f>>2]=r+i-(((VA((n>>>1)-(a<<15)<<16>>16,w)|0)>>15)+(VA(a,w)|0)<<2);if((l|0)==3)break;r=pA[f+-12>>2]|0;f=t;i=n;l=l+1|0}f=Q+4|0;pA[f>>2]=(pA[f>>2]|0)-(w<<10);f=Q+20|0;r=pA[Q+12>>2]|0;pA[f>>2]=r;i=jA[A+16>>1]|0;n=r;l=1;while(1){w=f+-4|0;t=pA[w>>2]|0;a=t>>16;pA[f>>2]=n+r-(((VA((t>>>1)-(a<<15)<<16>>16,i)|0)>>15)+(VA(a,i)|0)<<2);if((l|0)==4)break;n=pA[f+-12>>2]|0;f=w;r=t;l=l+1|0}l=Q+4|0;pA[l>>2]=(pA[l>>2]|0)-(i<<10);pA[g>>2]=16777216;l=0-(jA[A+2>>1]|0)|0;a=g+8|0;pA[g+4>>2]=l<<10;i=jA[A+6>>1]|0;B=l>>6;pA[a>>2]=33554432-(((VA((l<<9)-(B<<15)<<16>>16,i)|0)>>15)+(VA(B,i)|0)<<2);B=g+4|0;i=(pA[B>>2]|0)-(i<<10)|0;pA[B>>2]=i;B=g+12|0;l=g+4|0;pA[B>>2]=i;w=jA[A+10>>1]|0;r=i;f=1;while(1){t=B+-4|0;n=pA[t>>2]|0;u=n>>16;pA[B>>2]=r+i-(((VA((n>>>1)-(u<<15)<<16>>16,w)|0)>>15)+(VA(u,w)|0)<<2);if((f|0)==2)break;r=pA[B+-12>>2]|0;B=t;i=n;f=f+1|0}pA[l>>2]=(pA[l>>2]|0)-(w<<10);l=g+16|0;i=pA[g+8>>2]|0;pA[l>>2]=i;w=jA[A+14>>1]|0;r=i;f=1;while(1){t=l+-4|0;n=pA[t>>2]|0;u=n>>16;pA[l>>2]=r+i-(((VA((n>>>1)-(u<<15)<<16>>16,w)|0)>>15)+(VA(u,w)|0)<<2);if((f|0)==3)break;r=pA[l+-12>>2]|0;l=t;i=n;f=f+1|0}f=g+4|0;pA[f>>2]=(pA[f>>2]|0)-(w<<10);f=g+20|0;w=pA[g+12>>2]|0;pA[f>>2]=w;i=jA[A+18>>1]|0;t=w;l=1;while(1){r=f+-4|0;n=pA[r>>2]|0;u=n>>16;pA[f>>2]=t+w-(((VA((n>>>1)-(u<<15)<<16>>16,i)|0)>>15)+(VA(u,i)|0)<<2);if((l|0)==4)break;t=pA[f+-12>>2]|0;f=r;w=n;l=l+1|0}t=(pA[g+4>>2]|0)-(i<<10)|0;B=Q+20|0;w=g+20|0;l=pA[Q+16>>2]|0;A=(pA[B>>2]|0)+l|0;pA[B>>2]=A;B=pA[g+16>>2]|0;u=(pA[w>>2]|0)-B|0;pA[w>>2]=u;w=pA[Q+12>>2]|0;l=l+w|0;pA[Q+16>>2]=l;n=pA[g+12>>2]|0;B=B-n|0;pA[g+16>>2]=B;i=pA[o>>2]|0;w=w+i|0;pA[Q+12>>2]=w;r=pA[a>>2]|0;o=n-r|0;pA[g+12>>2]=o;n=pA[s>>2]|0;a=i+n|0;pA[Q+8>>2]=a;s=r-t|0;pA[g+8>>2]=s;Q=n+(pA[Q>>2]|0)|0;g=t-(pA[g>>2]|0)|0;jA[e>>1]=4096;Q=Q+4096|0;jA[e+2>>1]=(Q+g|0)>>>13;jA[e+20>>1]=(Q-g|0)>>>13;g=a+4096|0;jA[e+4>>1]=(g+s|0)>>>13;jA[e+18>>1]=(g-s|0)>>>13;g=w+4096|0;jA[e+6>>1]=(g+o|0)>>>13;jA[e+16>>1]=(g-o|0)>>>13;g=l+4096|0;jA[e+8>>1]=(g+B|0)>>>13;jA[e+14>>1]=(g-B|0)>>>13;g=A+4096|0;jA[e+10>>1]=(g+u|0)>>>13;jA[e+12>>1]=(g-u|0)>>>13;WA=v;return}function Yi(A){A=A|0;var e=0,f=0,i=0,r=0,n=0;if(!A){n=-1;return n|0}pA[A>>2]=0;e=lr(44)|0;if(!e){n=-1;return n|0}f=e+40|0;if((Zi(f)|0)<<16>>16){n=-1;return n|0}i=e;r=7452;n=i+20|0;do{jA[i>>1]=jA[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(n|0));i=e+20|0;r=7452;n=i+20|0;do{jA[i>>1]=jA[r>>1]|0;i=i+2|0;r=r+2|0}while((i|0)<(n|0));qi(pA[f>>2]|0)|0;pA[A>>2]=e;n=0;return n|0}function zi(A){A=A|0;var e=0,f=0,i=0;if(!A){i=-1;return i|0}e=A;f=7452;i=e+20|0;do{jA[e>>1]=jA[f>>1]|0;e=e+2|0;f=f+2|0}while((e|0)<(i|0));e=A+20|0;f=7452;i=e+20|0;do{jA[e>>1]=jA[f>>1]|0;e=e+2|0;f=f+2|0}while((e|0)<(i|0));qi(pA[A+40>>2]|0)|0;i=0;return i|0}function Xi(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;_i(e+40|0);Br(pA[A>>2]|0);pA[A>>2]=0;return}function Ji(A,e,f,i,r,n,t,w){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;var l=0,B=0,a=0,s=0,o=0;o=WA;WA=WA+64|0;s=o+44|0;l=o+24|0;B=o+4|0;a=o;if((e|0)==7){Di(i+22|0,l,A,w);Di(i+66|0,n,l,w);Mi(A,l,n,i,w);if((f|0)==8)i=6;else{Wi(pA[A+40>>2]|0,l,n,B,s,pA[t>>2]|0,w);Ii(A+20|0,B,s,r,w);r=(pA[t>>2]|0)+10|0;i=7}}else{Di(i+66|0,n,A,w);Hi(A,n,i,w);if((f|0)==8)i=6;else{ji(pA[A+40>>2]|0,e,n,s,pA[t>>2]|0,a,w);Fi(A+20|0,s,r,w);r=(pA[t>>2]|0)+6|0;i=7}}if((i|0)==6){ZA()}else if((i|0)==7){pA[t>>2]=r;i=A;r=i+20|0;do{jA[i>>1]=jA[n>>1]|0;i=i+2|0;n=n+2|0}while((i|0)<(r|0));i=A+20|0;n=s;r=i+20|0;do{jA[i>>1]=jA[n>>1]|0;i=i+2|0;n=n+2|0}while((i|0)<(r|0));WA=o;return}}function Oi(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0;if(f<<16>>16>0)i=0;else return;do{n=jA[A+(i<<1)>>1]|0;t=n>>8;r=jA[7194+(t<<1)>>1]|0;jA[e+(i<<1)>>1]=((VA((jA[7194+(t+1<<1)>>1]|0)-r|0,n&255)|0)>>>8)+r;i=i+1|0}while((i&65535)<<16>>16!=f<<16>>16);return}function mi(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0;i=(f<<16>>16)+-1|0;f=i&65535;if(f<<16>>16<=-1)return;r=63;t=e+(i<<1)|0;n=A+(i<<1)|0;while(1){A=jA[n>>1]|0;e=r;while(1){i=e<<16>>16;r=jA[7194+(i<<1)>>1]|0;if(A<<16>>16>r<<16>>16)e=e+-1<<16>>16;else break}jA[t>>1]=(((VA(jA[7324+(i<<1)>>1]|0,(A<<16>>16)-(r<<16>>16)|0)|0)+2048|0)>>>12)+(i<<8);f=f+-1<<16>>16;if(f<<16>>16>-1){r=e;t=t+-2|0;n=n+-2|0}else break}return}function Ni(A){A=A|0;var e=0;A:do{if((A|0)!=0?(e=A-(A>>>31)|0,e=e>>31^e,(e&1073741824|0)==0):0){A=e;e=0;while(1){if(A&536870912){A=7;break}if(A&268435456){A=8;break}if(A&134217728){A=9;break}e=e+4<<16>>16;A=A<<4;if(A&1073741824)break A}if((A|0)==7){e=e|1;break}else if((A|0)==8){e=e|2;break}else if((A|0)==9){e=e|3;break}}else e=0}while(0);return e|0}function Ki(A){A=A|0;var e=0,f=0;if(!(A<<16>>16)){f=0;return f|0}e=(A&65535)-((A&65535)>>>15&65535)|0;e=(e<<16>>31^e)<<16;A=e>>16;if(!(A&16384)){f=e;e=0}else{f=0;return f|0}while(1){if(A&8192){A=e;f=7;break}if(A&4096){A=e;f=8;break}if(A&2048){A=e;f=9;break}e=e+4<<16>>16;f=f<<4;A=f>>16;if(A&16384){A=e;f=10;break}}if((f|0)==7){f=A|1;return f|0}else if((f|0)==8){f=A|2;return f|0}else if((f|0)==9){f=A|3;return f|0}else if((f|0)==10)return A|0;return 0}function Si(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0;e=e<<16>>16;if((e&134217727|0)==33554432){pA[f>>2]=1;e=2147483647}else e=e<<6;i=e>>>16&31;n=jA[7792+(i<<1)>>1]|0;r=n<<16;e=VA(n-(DA[7792+(i+1<<1)>>1]|0)<<16>>16,e>>>1&32767)|0;if((e|0)==1073741824){pA[f>>2]=1;i=2147483647}else i=e<<1;e=r-i|0;if(((e^r)&(i^r)|0)>=0){n=e;A=A&65535;A=30-A|0;A=A&65535;f=Ti(n,A,f)|0;return f|0}pA[f>>2]=1;n=(n>>>15&1)+2147483647|0;A=A&65535;A=30-A|0;A=A&65535;f=Ti(n,A,f)|0;return f|0}function xi(A,e,f,i,r,n){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;var t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0;o=WA;WA=WA+48|0;s=o;a=0-(f&65535)|0;a=r<<16>>16==0?a:a<<1&131070;f=a&65535;a=(f<<16>>16<0?a+6|0:a)<<16>>16;n=6-a|0;jA[s>>1]=jA[7858+(a<<1)>>1]|0;jA[s+2>>1]=jA[7858+(n<<1)>>1]|0;jA[s+4>>1]=jA[7858+(a+6<<1)>>1]|0;jA[s+6>>1]=jA[7858+(n+6<<1)>>1]|0;jA[s+8>>1]=jA[7858+(a+12<<1)>>1]|0;jA[s+10>>1]=jA[7858+(n+12<<1)>>1]|0;jA[s+12>>1]=jA[7858+(a+18<<1)>>1]|0;jA[s+14>>1]=jA[7858+(n+18<<1)>>1]|0;jA[s+16>>1]=jA[7858+(a+24<<1)>>1]|0;jA[s+18>>1]=jA[7858+(n+24<<1)>>1]|0;jA[s+20>>1]=jA[7858+(a+30<<1)>>1]|0;jA[s+22>>1]=jA[7858+(n+30<<1)>>1]|0;jA[s+24>>1]=jA[7858+(a+36<<1)>>1]|0;jA[s+26>>1]=jA[7858+(n+36<<1)>>1]|0;jA[s+28>>1]=jA[7858+(a+42<<1)>>1]|0;jA[s+30>>1]=jA[7858+(n+42<<1)>>1]|0;jA[s+32>>1]=jA[7858+(a+48<<1)>>1]|0;jA[s+34>>1]=jA[7858+(n+48<<1)>>1]|0;jA[s+36>>1]=jA[7858+(a+54<<1)>>1]|0;jA[s+38>>1]=jA[7858+(n+54<<1)>>1]|0;n=i<<16>>16>>>1&65535;if(!(n<<16>>16)){WA=o;return}a=A+((f<<16>>16>>15<<16>>16)-(e<<16>>16)<<1)|0;while(1){B=a+2|0;t=jA[B>>1]|0;e=t;i=a;w=5;l=s;r=16384;f=16384;while(1){g=jA[l>>1]|0;v=(VA(g,e<<16>>16)|0)+f|0;Q=jA[B+-2>>1]|0;f=(VA(Q,g)|0)+r|0;g=i;i=i+4|0;u=jA[l+2>>1]|0;f=f+(VA(u,t<<16>>16)|0)|0;r=jA[i>>1]|0;u=v+(VA(r,u)|0)|0;B=B+-4|0;v=jA[l+4>>1]|0;Q=u+(VA(v,Q)|0)|0;e=jA[B>>1]|0;v=f+(VA(e<<16>>16,v)|0)|0;f=jA[l+6>>1]|0;r=v+(VA(f,r)|0)|0;t=jA[g+6>>1]|0;f=Q+(VA(t<<16>>16,f)|0)|0;if(w<<16>>16<=1)break;else{w=w+-1<<16>>16;l=l+8|0}}jA[A>>1]=r>>>15;jA[A+2>>1]=f>>>15;n=n+-1<<16>>16;if(!(n<<16>>16))break;else{a=a+4|0;A=A+4|0}}WA=o;return}function ji(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0;d=WA;WA=WA+144|0;u=d+120|0;h=d+100|0;k=d+80|0;b=d+60|0;P=d+40|0;Q=d+20|0;g=d;mi(f,u,10,t);Ri(u,h,t);if((e|0)==8){ZA()}else{f=0;do{E=VA(jA[8160+(f<<1)>>1]|0,jA[A+(f<<1)>>1]|0)|0;E=(E>>>15)+(DA[8140+(f<<1)>>1]|0)|0;jA[k+(f<<1)>>1]=E;jA[b+(f<<1)>>1]=(DA[u+(f<<1)>>1]|0)-E;f=f+1|0}while((f|0)!=10)}do{if(e>>>0>=2){E=b+2|0;D=b+4|0;C=DA[b>>1]|0;c=jA[h>>1]<<1;u=DA[E>>1]|0;Q=jA[h+2>>1]<<1;o=DA[D>>1]|0;s=jA[h+4>>1]<<1;if((e|0)==5){g=2147483647;n=0;f=0;v=17908;while(1){B=(VA(C-(DA[v>>1]|0)<<16>>16,c)|0)>>16;B=VA(B,B)|0;a=(VA(u-(DA[v+2>>1]|0)<<16>>16,Q)|0)>>16;B=(VA(a,a)|0)+B|0;a=(VA(o-(DA[v+4>>1]|0)<<16>>16,s)|0)>>16;a=B+(VA(a,a)|0)|0;B=(a|0)<(g|0);f=B?n:f;n=n+1<<16>>16;if(n<<16>>16>=512)break;else{g=B?a:g;v=v+6|0}}a=(f<<16>>16)*3|0;jA[b>>1]=jA[17908+(a<<1)>>1]|0;jA[E>>1]=jA[17908+(a+1<<1)>>1]|0;jA[D>>1]=jA[17908+(a+2<<1)>>1]|0;jA[r>>1]=f;a=b+6|0;B=b+8|0;C=b+10|0;v=DA[a>>1]|0;n=jA[h+6>>1]<<1;g=DA[B>>1]|0;Q=jA[h+8>>1]<<1;o=DA[C>>1]|0;s=jA[h+10>>1]<<1;w=2147483647;u=0;f=0;c=9716;while(1){l=(VA(n,v-(DA[c>>1]|0)<<16>>16)|0)>>16;l=VA(l,l)|0;e=(VA(Q,g-(DA[c+2>>1]|0)<<16>>16)|0)>>16;l=(VA(e,e)|0)+l|0;e=(VA(s,o-(DA[c+4>>1]|0)<<16>>16)|0)>>16;e=l+(VA(e,e)|0)|0;l=(e|0)<(w|0);f=l?u:f;u=u+1<<16>>16;if(u<<16>>16>=512)break;else{w=l?e:w;c=c+6|0}}w=(f<<16>>16)*3|0;jA[a>>1]=jA[9716+(w<<1)>>1]|0;jA[B>>1]=jA[9716+(w+1<<1)>>1]|0;jA[C>>1]=jA[9716+(w+2<<1)>>1]|0;jA[r+2>>1]=f;w=b+12|0;jA[r+4>>1]=pi(w,12788,h+12|0,512)|0;u=E;v=D;f=C;l=b;break}else{g=2147483647;n=0;f=0;v=8180;while(1){B=(VA(C-(DA[v>>1]|0)<<16>>16,c)|0)>>16;B=VA(B,B)|0;a=(VA(u-(DA[v+2>>1]|0)<<16>>16,Q)|0)>>16;B=(VA(a,a)|0)+B|0;a=(VA(o-(DA[v+4>>1]|0)<<16>>16,s)|0)>>16;a=B+(VA(a,a)|0)|0;B=(a|0)<(g|0);f=B?n:f;n=n+1<<16>>16;if(n<<16>>16>=256)break;else{g=B?a:g;v=v+6|0}}a=(f<<16>>16)*3|0;jA[b>>1]=jA[8180+(a<<1)>>1]|0;jA[E>>1]=jA[8180+(a+1<<1)>>1]|0;jA[D>>1]=jA[8180+(a+2<<1)>>1]|0;jA[r>>1]=f;a=b+6|0;B=b+8|0;C=b+10|0;v=DA[a>>1]|0;n=jA[h+6>>1]<<1;g=DA[B>>1]|0;Q=jA[h+8>>1]<<1;o=DA[C>>1]|0;s=jA[h+10>>1]<<1;w=2147483647;u=0;f=0;c=9716;while(1){l=(VA(n,v-(DA[c>>1]|0)<<16>>16)|0)>>16;l=VA(l,l)|0;e=(VA(Q,g-(DA[c+2>>1]|0)<<16>>16)|0)>>16;l=(VA(e,e)|0)+l|0;e=(VA(s,o-(DA[c+4>>1]|0)<<16>>16)|0)>>16;e=l+(VA(e,e)|0)|0;l=(e|0)<(w|0);f=l?u:f;u=u+1<<16>>16;if(u<<16>>16>=512)break;else{w=l?e:w;c=c+6|0}}w=(f<<16>>16)*3|0;jA[a>>1]=jA[9716+(w<<1)>>1]|0;jA[B>>1]=jA[9716+(w+1<<1)>>1]|0;jA[C>>1]=jA[9716+(w+2<<1)>>1]|0;jA[r+2>>1]=f;w=b+12|0;jA[r+4>>1]=pi(w,12788,h+12|0,512)|0;u=E;v=D;f=C;l=b;break}}else{D=b+2|0;E=b+4|0;a=DA[b>>1]|0;B=jA[h>>1]<<1;l=DA[D>>1]|0;w=jA[h+2>>1]<<1;e=DA[E>>1]|0;s=jA[h+4>>1]<<1;g=2147483647;n=0;f=0;v=8180;while(1){Q=(VA(B,a-(DA[v>>1]|0)<<16>>16)|0)>>16;Q=VA(Q,Q)|0;o=(VA(w,l-(DA[v+2>>1]|0)<<16>>16)|0)>>16;Q=(VA(o,o)|0)+Q|0;o=(VA(s,e-(DA[v+4>>1]|0)<<16>>16)|0)>>16;o=Q+(VA(o,o)|0)|0;Q=(o|0)<(g|0);f=Q?n:f;n=n+1<<16>>16;if(n<<16>>16>=256)break;else{g=Q?o:g;v=v+6|0}}a=(f<<16>>16)*3|0;jA[b>>1]=jA[8180+(a<<1)>>1]|0;jA[D>>1]=jA[8180+(a+1<<1)>>1]|0;jA[E>>1]=jA[8180+(a+2<<1)>>1]|0;jA[r>>1]=f;a=b+6|0;B=b+8|0;C=b+10|0;v=DA[a>>1]|0;n=jA[h+6>>1]<<1;g=DA[B>>1]|0;Q=jA[h+8>>1]<<1;o=DA[C>>1]|0;s=jA[h+10>>1]<<1;w=2147483647;u=0;f=0;c=9716;while(1){l=(VA(n,v-(DA[c>>1]|0)<<16>>16)|0)>>16;l=VA(l,l)|0;e=(VA(Q,g-(DA[c+2>>1]|0)<<16>>16)|0)>>16;l=(VA(e,e)|0)+l|0;e=(VA(s,o-(DA[c+4>>1]|0)<<16>>16)|0)>>16;e=l+(VA(e,e)|0)|0;l=(e|0)<(w|0);f=l?u:f;u=u+1<<16>>16;if(u<<16>>16>=256)break;else{w=l?e:w;c=c+12|0}}w=(f<<16>>16)*6|0;jA[a>>1]=jA[9716+(w<<1)>>1]|0;jA[B>>1]=jA[9716+((w|1)<<1)>>1]|0;jA[C>>1]=jA[9716+(w+2<<1)>>1]|0;jA[r+2>>1]=f;w=b+12|0;jA[r+4>>1]=pi(w,16884,h+12|0,128)|0;u=D;v=E;f=C;l=b}}while(0);c=A;o=b;s=c+20|0;do{jA[c>>1]=jA[o>>1]|0;c=c+2|0;o=o+2|0}while((c|0)<(s|0));jA[P>>1]=(DA[k>>1]|0)+(DA[l>>1]|0);jA[P+2>>1]=(DA[k+2>>1]|0)+(DA[u>>1]|0);jA[P+4>>1]=(DA[k+4>>1]|0)+(DA[v>>1]|0);jA[P+6>>1]=(DA[k+6>>1]|0)+(DA[a>>1]|0);jA[P+8>>1]=(DA[k+8>>1]|0)+(DA[B>>1]|0);jA[P+10>>1]=(DA[k+10>>1]|0)+(DA[f>>1]|0);jA[P+12>>1]=(DA[k+12>>1]|0)+(DA[w>>1]|0);jA[P+14>>1]=(DA[k+14>>1]|0)+(DA[b+14>>1]|0);jA[P+16>>1]=(DA[k+16>>1]|0)+(DA[b+16>>1]|0);jA[P+18>>1]=(DA[k+18>>1]|0)+(DA[b+18>>1]|0);$i(P,205,10,t);Oi(P,i,10,t);WA=d;return}function pi(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0;c=A+2|0;C=A+4|0;D=A+6|0;if(i<<16>>16>0){a=DA[A>>1]|0;s=jA[f>>1]<<1;o=DA[c>>1]|0;Q=jA[f+2>>1]<<1;g=DA[C>>1]|0;v=jA[f+4>>1]<<1;u=DA[D>>1]|0;r=jA[f+6>>1]<<1;w=2147483647;l=0;f=0;B=e;while(1){n=(VA(s,a-(DA[B>>1]|0)<<16>>16)|0)>>16;n=VA(n,n)|0;t=(VA(Q,o-(DA[B+2>>1]|0)<<16>>16)|0)>>16;n=(VA(t,t)|0)+n|0;t=(VA(v,g-(DA[B+4>>1]|0)<<16>>16)|0)>>16;t=n+(VA(t,t)|0)|0;n=(VA(r,u-(DA[B+6>>1]|0)<<16>>16)|0)>>16;n=t+(VA(n,n)|0)|0;t=(n|0)<(w|0);f=t?l:f;l=l+1<<16>>16;if(l<<16>>16>=i<<16>>16)break;else{w=t?n:w;B=B+8|0}}}else f=0;i=f<<16>>16<<2;u=i|1;jA[A>>1]=jA[e+(i<<1)>>1]|0;jA[c>>1]=jA[e+(u<<1)>>1]|0;jA[C>>1]=jA[e+(u+1<<1)>>1]|0;jA[D>>1]=jA[e+((i|3)<<1)>>1]|0;return f|0}function Wi(A,e,f,i,r,n,t){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;var w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0;G=WA;WA=WA+192|0;B=G+160|0;l=G+140|0;d=G+120|0;I=G+100|0;M=G+80|0;F=G+60|0;w=G+40|0;H=G+20|0;U=G;mi(e,B,10,t);mi(f,l,10,t);Ri(B,d,t);Ri(l,I,t);a=0;f=M;e=F;s=w;while(1){b=(((jA[A+(a<<1)>>1]|0)*21299|0)>>>15)+(DA[20980+(a<<1)>>1]|0)|0;jA[f>>1]=b;jA[e>>1]=(DA[B>>1]|0)-b;jA[s>>1]=(DA[l>>1]|0)-b;a=a+1|0;if((a|0)==10)break;else{B=B+2|0;l=l+2|0;f=f+2|0;e=e+2|0;s=s+2|0}}jA[n>>1]=Vi(F,w,21e3,jA[d>>1]|0,jA[d+2>>1]|0,jA[I>>1]|0,jA[I+2>>1]|0,128)|0;jA[n+2>>1]=Vi(F+4|0,w+4|0,22024,jA[d+4>>1]|0,jA[d+6>>1]|0,jA[I+4>>1]|0,jA[I+6>>1]|0,256)|0;h=F+8|0;P=w+8|0;k=F+10|0;b=w+10|0;f=jA[h>>1]|0;o=jA[d+8>>1]<<1;Q=jA[k>>1]|0;g=jA[d+10>>1]<<1;v=jA[P>>1]|0;u=jA[I+8>>1]<<1;c=jA[b>>1]|0;C=jA[I+10>>1]<<1;l=2147483647;D=0;s=0;E=24072;e=0;while(1){B=jA[E>>1]|0;a=(VA(f-B<<16>>16,o)|0)>>16;a=VA(a,a)|0;B=(VA(B+f<<16>>16,o)|0)>>16;B=VA(B,B)|0;L=jA[E+2>>1]|0;R=(VA(Q-L<<16>>16,g)|0)>>16;a=(VA(R,R)|0)+a|0;L=(VA(L+Q<<16>>16,g)|0)>>16;B=(VA(L,L)|0)+B|0;if((a|0)<(l|0)|(B|0)<(l|0)){R=jA[E+4>>1]|0;L=(VA(v-R<<16>>16,u)|0)>>16;L=(VA(L,L)|0)+a|0;R=(VA(R+v<<16>>16,u)|0)>>16;R=(VA(R,R)|0)+B|0;B=jA[E+6>>1]|0;a=(VA(c-B<<16>>16,C)|0)>>16;a=L+(VA(a,a)|0)|0;B=(VA(B+c<<16>>16,C)|0)>>16;B=R+(VA(B,B)|0)|0;R=(a|0)<(l|0);a=R?a:l;L=(B|0)<(a|0);a=L?B:a;s=R|L?D:s;e=L?1:R?0:e}else a=l;D=D+1<<16>>16;if(D<<16>>16>=256)break;else{l=a;E=E+8|0}}a=s<<16>>16;B=a<<2;s=B|1;l=24072+(s<<1)|0;f=jA[24072+(B<<1)>>1]|0;if(!(e<<16>>16)){jA[h>>1]=f;jA[k>>1]=jA[l>>1]|0;jA[P>>1]=jA[24072+(s+1<<1)>>1]|0;jA[b>>1]=jA[24072+((B|3)<<1)>>1]|0;e=a<<1}else{jA[h>>1]=0-(f&65535);jA[k>>1]=0-(DA[l>>1]|0);jA[P>>1]=0-(DA[24072+(s+1<<1)>>1]|0);jA[b>>1]=0-(DA[24072+((B|3)<<1)>>1]|0);e=a<<1&65534|1}jA[n+4>>1]=e;jA[n+6>>1]=Vi(F+12|0,w+12|0,26120,jA[d+12>>1]|0,jA[d+14>>1]|0,jA[I+12>>1]|0,jA[I+14>>1]|0,256)|0;jA[n+8>>1]=Vi(F+16|0,w+16|0,28168,jA[d+16>>1]|0,jA[d+18>>1]|0,jA[I+16>>1]|0,jA[I+18>>1]|0,64)|0;l=0;B=H;a=U;f=M;e=F;while(1){L=DA[f>>1]|0;jA[B>>1]=L+(DA[e>>1]|0);R=jA[w>>1]|0;jA[a>>1]=L+(R&65535);jA[A+(l<<1)>>1]=R;l=l+1|0;if((l|0)==10)break;else{B=B+2|0;a=a+2|0;f=f+2|0;e=e+2|0;w=w+2|0}}$i(H,205,10,t);$i(U,205,10,t);Oi(H,i,10,t);Oi(U,r,10,t);WA=G;return}function Vi(A,e,f,i,r,n,t,w){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;t=t|0;w=w|0;var l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0;Q=jA[A>>1]|0;D=A+2|0;v=jA[D>>1]|0;c=jA[e>>1]|0;E=e+2|0;C=jA[E>>1]|0;if(w<<16>>16>0){o=i<<16>>16<<1;s=r<<16>>16<<1;a=n<<16>>16<<1;r=t<<16>>16<<1;n=2147483647;l=0;i=0;B=f;while(1){t=(VA(o,Q-(jA[B>>1]|0)|0)|0)>>16;t=VA(t,t)|0;if(((t|0)<(n|0)?(g=(VA(s,v-(jA[B+2>>1]|0)|0)|0)>>16,g=(VA(g,g)|0)+t|0,(g|0)<(n|0)):0)?(u=(VA(a,c-(jA[B+4>>1]|0)|0)|0)>>16,u=(VA(u,u)|0)+g|0,(u|0)<(n|0)):0){t=(VA(r,C-(jA[B+6>>1]|0)|0)|0)>>16;t=(VA(t,t)|0)+u|0;h=(t|0)<(n|0);t=h?t:n;i=h?l:i}else t=n;l=l+1<<16>>16;if(l<<16>>16>=w<<16>>16)break;else{n=t;B=B+8|0}}}else i=0;h=i<<16>>16<<2;w=h|1;jA[A>>1]=jA[f+(h<<1)>>1]|0;jA[D>>1]=jA[f+(w<<1)>>1]|0;jA[e>>1]=jA[f+(w+1<<1)>>1]|0;jA[E>>1]=jA[f+((h|3)<<1)>>1]|0;return i|0}function Zi(A){A=A|0;var e=0,f=0,i=0;if(!A){i=-1;return i|0}pA[A>>2]=0;e=lr(20)|0;if(!e){i=-1;return i|0}f=e;i=f+20|0;do{jA[f>>1]=0;f=f+2|0}while((f|0)<(i|0));pA[A>>2]=e;i=0;return i|0}function qi(A){A=A|0;var e=0;if(!A){e=-1;return e|0}e=A+20|0;do{jA[A>>1]=0;A=A+2|0}while((A|0)<(e|0));e=0;return e|0}function _i(A){A=A|0;var e=0;if(!A)return;e=pA[A>>2]|0;if(!e)return;Br(e);pA[A>>2]=0;return}function $i(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0;if(f<<16>>16<=0)return;r=e<<16>>16;n=e&65535;t=0;while(1){i=jA[A>>1]|0;if(i<<16>>16>16){jA[A>>1]=e;i=(e<<16>>16)+r|0}else i=(i&65535)+n|0;t=t+1<<16>>16;if(t<<16>>16>=f<<16>>16)break;else{e=i&65535;A=A+2|0}}return}function Ar(A,e,f,i){A=A|0;e=e|0;f=f|0;i=i|0;var r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0;r=i<<16>>16;i=r>>>2&65535;if(!(i<<16>>16))return;o=r+-1|0;C=A+20|0;g=e+(r+-4<<1)|0;v=e+(r+-3<<1)|0;u=e+(r+-2<<1)|0;c=e+(o<<1)|0;Q=e+(r+-11<<1)|0;o=f+(o<<1)|0;while(1){e=jA[C>>1]|0;t=5;w=C;l=Q;B=Q+-2|0;a=Q+-4|0;s=Q+-6|0;n=2048;A=2048;r=2048;f=2048;while(1){n=(VA(jA[l>>1]|0,e)|0)+n|0;A=(VA(jA[B>>1]|0,e)|0)+A|0;r=(VA(jA[a>>1]|0,e)|0)+r|0;e=(VA(jA[s>>1]|0,e)|0)+f|0;f=jA[w+-2>>1]|0;n=n+(VA(jA[l+2>>1]|0,f)|0)|0;A=A+(VA(jA[B+2>>1]|0,f)|0)|0;r=r+(VA(jA[a+2>>1]|0,f)|0)|0;w=w+-4|0;f=e+(VA(jA[s+2>>1]|0,f)|0)|0;t=t+-1<<16>>16;e=jA[w>>1]|0;if(!(t<<16>>16))break;else{l=l+4|0;B=B+4|0;a=a+4|0;s=s+4|0}}l=(VA(jA[c>>1]|0,e)|0)+n|0;B=(VA(jA[u>>1]|0,e)|0)+A|0;a=(VA(jA[v>>1]|0,e)|0)+r|0;s=(VA(jA[g>>1]|0,e)|0)+f|0;jA[o>>1]=l>>>12;jA[o+-2>>1]=B>>>12;jA[o+-4>>1]=a>>>12;jA[o+-6>>1]=s>>>12;i=i+-1<<16>>16;if(!(i<<16>>16))break;else{g=g+-8|0;v=v+-8|0;u=u+-8|0;c=c+-8|0;Q=Q+-8|0;o=o+-8|0}}return}function er(A,e){A=A|0;e=e|0;var f=0;f=A+32768|0;if((A|0)>-1&(f^A|0)<0){pA[e>>2]=1;f=(A>>>31)+2147483647|0}return f>>>16&65535|0}function fr(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0;i=e<<16>>16;if(!(e<<16>>16))return A|0;if(e<<16>>16>0){A=A<<16>>16>>(e<<16>>16>15?15:i)&65535;return A|0}r=0-i|0;e=A<<16>>16;r=(r&65535)<<16>>16>15?15:r<<16>>16;i=e<>16>>r|0)==(e|0)){r=i&65535;return r|0}pA[f>>2]=1;r=A<<16>>16>0?32767:-32768;return r|0}function ir(A,e,f){A=A|0;e=e|0;f=f|0;if(e<<16>>16>15){e=0;return e|0}f=fr(A,e,f)|0;if(e<<16>>16>0)return f+((1<<(e<<16>>16)+-1&A<<16>>16|0)!=0&1)<<16>>16|0;else{e=f;return e|0}return 0}function rr(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0;if((A|0)<1){jA[e>>1]=0;f=0;return f|0}r=(Ni(A)|0)&65534;n=r&65535;r=r<<16>>16;if(n<<16>>16>0){i=A<>r|0)!=(A|0))i=A>>31^2147483647}else{r=0-r<<16;if((r|0)<2031616)i=A>>(r>>16);else i=0}jA[e>>1]=n;e=i>>>25&63;e=e>>>0>15?e+-16|0:e;n=jA[30216+(e<<1)>>1]|0;A=n<<16;i=VA(n-(DA[30216+(e+1<<1)>>1]|0)<<16>>16,i>>>10&32767)|0;if((i|0)==1073741824){pA[f>>2]=1;r=2147483647}else r=i<<1;i=A-r|0;if(((i^A)&(r^A)|0)>=0){f=i;return f|0}pA[f>>2]=1;f=(n>>>15&1)+2147483647|0;return f|0}function nr(A,e,f){A=A|0;e=e|0;f=f|0;A=(A<<16>>16)-(e<<16>>16)|0;if((A+32768|0)>>>0<=65535){f=A;f=f&65535;return f|0}pA[f>>2]=1;f=(A|0)>32767?32767:-32768;f=f&65535;return f|0}function tr(A,e,f,i,r,n){A=A|0;e=e|0;f=f|0;i=i|0;r=r|0;n=n|0;var t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0;b=WA;WA=WA+48|0;o=b;l=o;t=r;w=l+20|0;do{jA[l>>1]=jA[t>>1]|0;l=l+2|0;t=t+2|0}while((l|0)<(w|0));s=o+18|0;u=A+2|0;c=A+4|0;Q=e+20|0;C=A+6|0;D=A+8|0;E=A+10|0;h=A+12|0;P=A+14|0;k=A+16|0;g=A+18|0;v=A+20|0;w=jA[s>>1]|0;t=5;B=e;a=f;l=o+20|0;while(1){M=jA[A>>1]|0;I=(VA(M,jA[B>>1]|0)|0)+2048|0;M=(VA(jA[B+2>>1]|0,M)|0)+2048|0;o=w<<16>>16;I=I-(VA(o,jA[u>>1]|0)|0)|0;d=jA[c>>1]|0;o=M-(VA(o,d)|0)|0;M=jA[s+-2>>1]|0;d=I-(VA(M,d)|0)|0;I=jA[C>>1]|0;M=o-(VA(I,M)|0)|0;o=jA[s+-4>>1]|0;I=d-(VA(o,I)|0)|0;d=jA[D>>1]|0;o=M-(VA(d,o)|0)|0;M=jA[s+-6>>1]|0;d=I-(VA(M,d)|0)|0;I=jA[E>>1]|0;M=o-(VA(M,I)|0)|0;o=jA[s+-8>>1]|0;I=d-(VA(o,I)|0)|0;d=jA[h>>1]|0;o=M-(VA(d,o)|0)|0;M=jA[s+-10>>1]|0;d=I-(VA(M,d)|0)|0;I=jA[P>>1]|0;M=o-(VA(I,M)|0)|0;o=jA[s+-12>>1]|0;I=d-(VA(o,I)|0)|0;d=jA[k>>1]|0;o=M-(VA(o,d)|0)|0;M=jA[s+-14>>1]|0;d=I-(VA(M,d)|0)|0;I=jA[g>>1]|0;M=o-(VA(I,M)|0)|0;o=jA[s+-16>>1]|0;I=d-(VA(o,I)|0)|0;d=jA[v>>1]|0;o=M-(VA(d,o)|0)|0;d=I-(VA(jA[s+-18>>1]|0,d)|0)|0;d=(d+134217728|0)>>>0<268435455?d>>>12&65535:(d|0)>134217727?32767:-32768;o=o-(VA(jA[u>>1]|0,d<<16>>16)|0)|0;s=l+2|0;jA[l>>1]=d;jA[a>>1]=d;w=(o+134217728|0)>>>0<268435455?o>>>12&65535:(o|0)>134217727?32767:-32768;jA[s>>1]=w;jA[a+2>>1]=w;t=t+-1<<16>>16;if(!(t<<16>>16))break;else{B=B+4|0;a=a+4|0;l=l+4|0}}i=(i<<16>>16)+-10|0;l=i>>>1&65535;if(l<<16>>16){o=f+18|0;w=e+16|0;s=jA[o>>1]|0;B=Q;t=f+20|0;while(1){d=jA[A>>1]|0;a=(VA(d,jA[B>>1]|0)|0)+2048|0;d=(VA(jA[w+6>>1]|0,d)|0)+2048|0;w=jA[u>>1]|0;I=s<<16>>16;a=a-(VA(I,w)|0)|0;M=jA[c>>1]|0;I=d-(VA(I,M)|0)|0;d=jA[o+-2>>1]|0;M=a-(VA(d,M)|0)|0;a=jA[C>>1]|0;d=I-(VA(a,d)|0)|0;I=jA[o+-4>>1]|0;a=M-(VA(I,a)|0)|0;M=jA[D>>1]|0;I=d-(VA(M,I)|0)|0;d=jA[o+-6>>1]|0;M=a-(VA(d,M)|0)|0;a=jA[E>>1]|0;d=I-(VA(d,a)|0)|0;I=jA[o+-8>>1]|0;a=M-(VA(I,a)|0)|0;M=jA[h>>1]|0;I=d-(VA(M,I)|0)|0;d=jA[o+-10>>1]|0;M=a-(VA(d,M)|0)|0;a=jA[P>>1]|0;d=I-(VA(a,d)|0)|0;I=jA[o+-12>>1]|0;a=M-(VA(I,a)|0)|0;M=jA[k>>1]|0;I=d-(VA(I,M)|0)|0;d=jA[o+-14>>1]|0;M=a-(VA(d,M)|0)|0;a=jA[g>>1]|0;d=I-(VA(a,d)|0)|0;I=jA[o+-16>>1]|0;a=M-(VA(I,a)|0)|0;M=jA[v>>1]|0;I=d-(VA(M,I)|0)|0;M=a-(VA(jA[o+-18>>1]|0,M)|0)|0;a=B+4|0;M=(M+134217728|0)>>>0<268435455?M>>>12&65535:(M|0)>134217727?32767:-32768;w=I-(VA(w,M<<16>>16)|0)|0;o=t+2|0;jA[t>>1]=M;do{if((w+134217728|0)>>>0>=268435455){t=t+4|0;if((w|0)>134217727){jA[o>>1]=32767;w=32767;break}else{jA[o>>1]=-32768;w=-32768;break}}else{w=w>>>12&65535;jA[o>>1]=w;t=t+4|0}}while(0);l=l+-1<<16>>16;if(!(l<<16>>16))break;else{M=B;s=w;B=a;w=M}}}if(!(n<<16>>16)){WA=b;return}l=r;t=f+(i<<1)|0;w=l+20|0;do{jA[l>>1]=jA[t>>1]|0;l=l+2|0;t=t+2|0}while((l|0)<(w|0));WA=b;return}function wr(A,e,f){A=A|0;e=e|0;f=f|0;jA[f>>1]=jA[A>>1]|0;jA[f+2>>1]=((VA(jA[e>>1]|0,jA[A+2>>1]|0)|0)+16384|0)>>>15;jA[f+4>>1]=((VA(jA[e+2>>1]|0,jA[A+4>>1]|0)|0)+16384|0)>>>15;jA[f+6>>1]=((VA(jA[e+4>>1]|0,jA[A+6>>1]|0)|0)+16384|0)>>>15;jA[f+8>>1]=((VA(jA[e+6>>1]|0,jA[A+8>>1]|0)|0)+16384|0)>>>15;jA[f+10>>1]=((VA(jA[e+8>>1]|0,jA[A+10>>1]|0)|0)+16384|0)>>>15;jA[f+12>>1]=((VA(jA[e+10>>1]|0,jA[A+12>>1]|0)|0)+16384|0)>>>15;jA[f+14>>1]=((VA(jA[e+12>>1]|0,jA[A+14>>1]|0)|0)+16384|0)>>>15;jA[f+16>>1]=((VA(jA[e+14>>1]|0,jA[A+16>>1]|0)|0)+16384|0)>>>15;jA[f+18>>1]=((VA(jA[e+16>>1]|0,jA[A+18>>1]|0)|0)+16384|0)>>>15;jA[f+20>>1]=((VA(jA[e+18>>1]|0,jA[A+20>>1]|0)|0)+16384|0)>>>15;return}function lr(A){A=A|0;var e=0,f=0,i=0,r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0,M=0,F=0,H=0,U=0,G=0,L=0,R=0,T=0,y=0,Y=0,z=0,X=0,J=0,O=0,m=0,N=0,K=0,S=0,x=0,j=0;do{if(A>>>0<245){c=A>>>0<11?16:A+11&-8;A=c>>>3;s=pA[26]|0;l=s>>>A;if(l&3){ZA()}e=pA[28]|0;if(c>>>0>e>>>0){if(l){ZA()}A=pA[27]|0;if(A){ZA()}else j=154}else j=154}else if(A>>>0<=4294967231){A=A+11|0;h=A&-8;s=pA[27]|0;if(s){ZA()}else{c=h;j=154}}else{c=-1;j=154}}while(0);A:do{if((j|0)==154){A=pA[28]|0;if(A>>>0>=c>>>0){ZA()}A=pA[29]|0;if(A>>>0>c>>>0){j=A-c|0;pA[29]=j;n=pA[32]|0;pA[32]=n+c;pA[n+(c+4)>>2]=j|1;pA[n+4>>2]=c|3;n=n+8|0;break}if(!(pA[144]|0))sr();s=c+48|0;f=pA[146]|0;a=c+47|0;i=f+a|0;f=0-f|0;B=i&f;if(B>>>0>c>>>0){A=pA[136]|0;if((A|0)!=0?(M=pA[134]|0,L=M+B|0,L>>>0<=M>>>0|L>>>0>A>>>0):0){n=0;break}e:do{if(!(pA[137]&4)){A=pA[32]|0;f:do{if(A){w=552;while(1){l=pA[w>>2]|0;if(l>>>0<=A>>>0?(P=w+4|0,(l+(pA[P>>2]|0)|0)>>>0>A>>>0):0){n=w;A=P;break}w=pA[w+8>>2]|0;if(!w){j=172;break f}}l=i-(pA[29]|0)&f;if(l>>>0<2147483647){w=iA(l|0)|0;L=(w|0)==((pA[n>>2]|0)+(pA[A>>2]|0)|0);A=L?l:0;if(L){if((w|0)!=(-1|0)){d=w;C=A;j=192;break e}}else j=182}else A=0}else j=172}while(0);do{if((j|0)==172){n=iA(0)|0;if((n|0)!=(-1|0)){A=n;l=pA[145]|0;w=l+-1|0;if(!(w&A))l=B;else l=B-A+(w+A&0-l)|0;A=pA[134]|0;w=A+l|0;if(l>>>0>c>>>0&l>>>0<2147483647){L=pA[136]|0;if((L|0)!=0?w>>>0<=A>>>0|w>>>0>L>>>0:0){A=0;break}w=iA(l|0)|0;j=(w|0)==(n|0);A=j?l:0;if(j){d=n;C=A;j=192;break e}else j=182}else A=0}else A=0}}while(0);f:do{if((j|0)==182){ZA()}}while(0);pA[137]=pA[137]|4;j=189}else{A=0;j=189}}while(0);if((((j|0)==189?B>>>0<2147483647:0)?(F=iA(B|0)|0,H=iA(0)|0,F>>>0>>0&((F|0)!=(-1|0)&(H|0)!=(-1|0))):0)?(U=H-F|0,G=U>>>0>(c+40|0)>>>0,G):0){d=F;C=G?U:A;j=192}if((j|0)==192){l=(pA[134]|0)+C|0;pA[134]=l;if(l>>>0>(pA[135]|0)>>>0)pA[135]=l;v=pA[32]|0;e:do{if(v){n=552;do{A=pA[n>>2]|0;l=n+4|0;w=pA[l>>2]|0;if((d|0)==(A+w|0)){R=A;T=l;y=w;Y=n;j=202;break}n=pA[n+8>>2]|0}while((n|0)!=0);if(((j|0)==202?(pA[Y+12>>2]&8|0)==0:0)?v>>>0>>0&v>>>0>=R>>>0:0){pA[T>>2]=y+C;j=(pA[29]|0)+C|0;x=v+8|0;x=(x&7|0)==0?0:0-x&7;S=j-x|0;pA[32]=v+x;pA[29]=S;pA[v+(x+4)>>2]=S|1;pA[v+(j+4)>>2]=40;pA[33]=pA[148];break}l=pA[30]|0;if(d>>>0>>0){pA[30]=d;l=d}w=d+C|0;A=552;while(1){if((pA[A>>2]|0)==(w|0)){ZA()}A=pA[A+8>>2]|0;if(!A){w=552;break}}if((j|0)==210)if(!(pA[w+12>>2]&8)){ZA()}else w=552;while(1){n=pA[w>>2]|0;if(n>>>0<=v>>>0?(t=pA[w+4>>2]|0,r=n+t|0,r>>>0>v>>>0):0)break;w=pA[w+8>>2]|0}w=n+(t+-39)|0;w=n+(t+-47+((w&7|0)==0?0:0-w&7))|0;l=v+16|0;w=w>>>0>>0?v:w;t=w+8|0;n=d+8|0;n=(n&7|0)==0?0:0-n&7;j=C+-40-n|0;pA[32]=d+n;pA[29]=j;pA[d+(n+4)>>2]=j|1;pA[d+(C+-36)>>2]=40;pA[33]=pA[148];n=w+4|0;pA[n>>2]=27;pA[t>>2]=pA[138];pA[t+4>>2]=pA[139];pA[t+8>>2]=pA[140];pA[t+12>>2]=pA[141];pA[138]=d;pA[139]=C;pA[141]=0;pA[140]=t;t=w+28|0;pA[t>>2]=7;if((w+32|0)>>>0>>0)do{ZA()}while((j+8|0)>>>0>>0);if((w|0)!=(v|0)){ZA()}}else{j=pA[30]|0;if((j|0)==0|d>>>0>>0)pA[30]=d;pA[138]=d;pA[139]=C;pA[141]=0;pA[35]=pA[144];pA[34]=-1;f=0;do{j=f<<1;x=144+(j<<2)|0;pA[144+(j+3<<2)>>2]=x;pA[144+(j+2<<2)>>2]=x;f=f+1|0}while((f|0)!=32);j=d+8|0;j=(j&7|0)==0?0:0-j&7;x=C+-40-j|0;pA[32]=d+j;pA[29]=x;pA[d+(j+4)>>2]=x|1;pA[d+(C+-36)>>2]=40;pA[33]=pA[148]}}while(0);e=pA[29]|0;if(e>>>0>c>>>0){j=e-c|0;pA[29]=j;n=pA[32]|0;pA[32]=n+c;pA[n+(c+4)>>2]=j|1;pA[n+4>>2]=c|3;n=n+8|0;break}}pA[(ar()|0)>>2]=12;n=0}else n=0}}while(0);return n|0}function Br(A){A=A|0;var e=0,f=0,i=0,r=0,n=0,t=0,w=0,l=0,B=0,a=0,s=0,o=0,Q=0,g=0,v=0,u=0,c=0,C=0,D=0,E=0,h=0,P=0,k=0,b=0,d=0,I=0;A:do{if(A){r=A+-8|0;B=pA[30]|0;e:do{if(r>>>0>=B>>>0?(i=pA[A+-4>>2]|0,f=i&3,(f|0)!=1):0){E=i&-8;h=A+(E+-8)|0;do{if(!(i&1)){r=pA[r>>2]|0;if(!f)break A;a=-8-r|0;o=A+a|0;Q=r+E|0;if(o>>>0>>0)break e;if((o|0)==(pA[31]|0)){ZA()}f=r>>>3;if(r>>>0<256){i=pA[A+(a+8)>>2]|0;n=pA[A+(a+12)>>2]|0;r=144+(f<<1<<2)|0;do{if((i|0)!=(r|0)){ZA()}}while(0);if((n|0)==(i|0)){pA[26]=pA[26]&~(1<>2]=n;pA[e>>2]=i;I=o;n=Q;break}t=pA[A+(a+24)>>2]|0;r=pA[A+(a+12)>>2]|0;do{if((r|0)==(o|0)){i=A+(a+20)|0;r=pA[i>>2]|0;if(!r){i=A+(a+16)|0;r=pA[i>>2]|0;if(!r){s=0;break}}while(1){f=r+20|0;e=pA[f>>2]|0;if(e){r=e;i=f;continue}f=r+16|0;e=pA[f>>2]|0;if(!e)break;else{r=e;i=f}}if(i>>>0>>0)eA();else{pA[i>>2]=0;s=r;break}}else{ZA()}}while(0);if(t){r=pA[A+(a+28)>>2]|0;i=408+(r<<2)|0;if((o|0)==(pA[i>>2]|0)){pA[i>>2]=s;if(!s){pA[27]=pA[27]&~(1<>>0<(pA[30]|0)>>>0)eA();r=t+16|0;if((pA[r>>2]|0)==(o|0))pA[r>>2]=s;else pA[t+20>>2]=s;if(!s){I=o;n=Q;break}}i=pA[30]|0;if(s>>>0>>0)eA();pA[s+24>>2]=t;r=pA[A+(a+16)>>2]|0;do{if(r)if(r>>>0>>0)eA();else{pA[s+16>>2]=r;pA[r+24>>2]=s;break}}while(0);r=pA[A+(a+20)>>2]|0;if(r)if(r>>>0<(pA[30]|0)>>>0)eA();else{ZA()}else{I=o;n=Q}}else{I=o;n=Q}}else{I=r;n=E}}while(0);if(I>>>0>>0?(g=A+(E+-4)|0,v=pA[g>>2]|0,(v&1|0)!=0):0){if(!(v&2)){if((h|0)==(pA[32]|0)){d=(pA[29]|0)+n|0;pA[29]=d;pA[32]=I;pA[I+4>>2]=d|1;if((I|0)!=(pA[31]|0))break A;pA[31]=0;pA[28]=0;break A}if((h|0)==(pA[31]|0)){ZA()}l=(v&-8)+n|0;f=v>>>3;do{if(v>>>0>=256){e=pA[A+(E+16)>>2]|0;n=pA[A+(E|4)>>2]|0;do{if((n|0)==(h|0)){r=A+(E+12)|0;n=pA[r>>2]|0;if(!n){r=A+(E+8)|0;n=pA[r>>2]|0;if(!n){P=0;break}}while(1){i=n+20|0;f=pA[i>>2]|0;if(f){n=f;r=i;continue}i=n+16|0;f=pA[i>>2]|0;if(!f)break;else{n=f;r=i}}if(r>>>0<(pA[30]|0)>>>0)eA();else{pA[r>>2]=0;P=n;break}}else{ZA()}}while(0);if(e){n=pA[A+(E+20)>>2]|0;r=408+(n<<2)|0;if((h|0)==(pA[r>>2]|0)){pA[r>>2]=P;if(!P){pA[27]=pA[27]&~(1<>>0<(pA[30]|0)>>>0)eA();n=e+16|0;if((pA[n>>2]|0)==(h|0))pA[n>>2]=P;else pA[e+20>>2]=P;if(!P)break}n=pA[30]|0;if(P>>>0>>0)eA();pA[P+24>>2]=e;r=pA[A+(E+8)>>2]|0;do{if(r)if(r>>>0>>0)eA();else{ZA()}}while(0);f=pA[A+(E+12)>>2]|0;if(f)if(f>>>0<(pA[30]|0)>>>0)eA();else{ZA()}}}else{i=pA[A+E>>2]|0;n=pA[A+(E|4)>>2]|0;r=144+(f<<1<<2)|0;do{if((i|0)!=(r|0)){ZA()}}while(0);if((n|0)==(i|0)){pA[26]=pA[26]&~(1<>2]=n;pA[u>>2]=i}}while(0);pA[I+4>>2]=l|1;pA[I+l>>2]=l;if((I|0)==(pA[31]|0)){pA[28]=l;break A}else n=l}else{pA[g>>2]=v&-2;pA[I+4>>2]=n|1;pA[I+n>>2]=n}r=n>>>3;if(n>>>0<256){i=r<<1;n=144+(i<<2)|0;e=pA[26]|0;f=1<>2]=I;pA[b+12>>2]=I;pA[I+8>>2]=b;pA[I+12>>2]=n;break A}e=n>>>8;if(e)if(n>>>0>16777215)r=31;else{k=(e+1048320|0)>>>16&8;b=e<>>16&4;b=b<>>16&2;r=14-(A|k|r)+(b<>>15)|0;r=n>>>(r+7|0)&1|r<<1}else r=0;f=408+(r<<2)|0;pA[I+28>>2]=r;pA[I+20>>2]=0;pA[I+16>>2]=0;e=pA[27]|0;i=1<>2]|0;i:do{if((pA[f+4>>2]&-8|0)!=(n|0)){r=n<<((r|0)==31?0:25-(r>>>1)|0);while(1){e=f+16+(r>>>31<<2)|0;i=pA[e>>2]|0;if(!i)break;if((pA[i+4>>2]&-8|0)==(n|0)){d=i;break i}else{r=r<<1;f=i}}if(e>>>0<(pA[30]|0)>>>0)eA();else{pA[e>>2]=I;pA[I+24>>2]=f;pA[I+12>>2]=I;pA[I+8>>2]=I;break f}}else d=f}while(0);e=d+8|0;f=pA[e>>2]|0;b=pA[30]|0;if(f>>>0>=b>>>0&d>>>0>=b>>>0){ZA()}else eA()}else{pA[27]=e|i;pA[f>>2]=I;pA[I+24>>2]=f;pA[I+12>>2]=I;pA[I+8>>2]=I}}while(0);I=(pA[34]|0)+-1|0;pA[34]=I;if(!I)e=560;else break A;while(1){e=pA[e>>2]|0;if(!e)break;else e=e+8|0}pA[34]=-1;break A}}}while(0);eA()}}while(0);return}function ar(){var A=0;if(!0)A=600;else A=pA[(AA()|0)+60>>2]|0;return A|0}function sr(){var A=0;do{if(!(pA[144]|0)){A=$(30)|0;if(!(A+-1&A)){pA[146]=A;pA[145]=A;pA[147]=-1;pA[148]=-1;pA[149]=0;pA[137]=0;pA[144]=(rA(0)|0)&-16^1431655768;break}else eA()}}while(0);return}function or(A,e,f){A=A|0;e=e|0;f=f|0;var i=0;if((f|0)>=4096)return tA(A|0,e|0,f|0)|0;i=A|0;if((A&3)==(e&3)){while(A&3){if(!f)return i|0;xA[A>>0]=xA[e>>0]|0;A=A+1|0;e=e+1|0;f=f-1|0}while((f|0)>=4){pA[A>>2]=pA[e>>2];A=A+4|0;e=e+4|0;f=f-4|0}}while((f|0)>0){xA[A>>0]=xA[e>>0]|0;A=A+1|0;e=e+1|0;f=f-1|0}return i|0}function Qr(A,e,f){A=A|0;e=e|0;f=f|0;var i=0;if((e|0)<(A|0)&(A|0)<(e+f|0)){ZA()}else or(A,e,f)|0;return A|0}function gr(A,e,f){A=A|0;e=e|0;f=f|0;var i=0,r=0,n=0,t=0;i=A+f|0;if((f|0)>=20){e=e&255;n=A&3;t=e|e<<8|e<<16|e<<24;r=i&~3;if(n){n=A+4-n|0;while((A|0)<(n|0)){xA[A>>0]=e;A=A+1|0}}while((A|0)<(r|0)){pA[A>>2]=t;A=A+4|0}}while((A|0)<(i|0)){xA[A>>0]=e;A=A+1|0}return A-f|0}return{_free:Br,___errno_location:ar,_memmove:Qr,_Decoder_Interface_Decode:sA,_Decoder_Interface_exit:aA,_Encoder_Interface_init:oA,_memset:gr,_malloc:lr,_memcpy:or,_Encoder_Interface_exit:QA,_Decoder_Interface_init:BA,_Encoder_Interface_Encode:gA}}(f.asmGlobalArg,f.asmLibraryArg,l);f._Encoder_Interface_Encode=F._Encoder_Interface_Encode,f._free=F._free;var H=f._memmove=F._memmove;f._Decoder_Interface_exit=F._Decoder_Interface_exit,f._Encoder_Interface_init=F._Encoder_Interface_init;var U=f._memset=F._memset;f._malloc=F._malloc;var G=f._memcpy=F._memcpy;return f._Decoder_Interface_Decode=F._Decoder_Interface_Decode,f._Decoder_Interface_init=F._Decoder_Interface_init,f._Encoder_Interface_exit=F._Encoder_Interface_exit,f.___errno_location=F.___errno_location,f._main(),v.Create=A,v}()}(("object"==typeof window&&window.document?window:Object).Recorder),function(A){var e="object"==typeof window&&!!window.document,f=(e?window:Object).Recorder,i=f.i18n;!function(Q,A,g,e){"use strict";Q.prototype.enc_wav={stable:!0,fast:!0,getTestMsg:function(){return g("gPSE::支持位数8位、16位(填在比特率里面),采样率取值无限制;此编码器仅在pcm数据前加了一个44字节的wav头,编码出来的16位wav文件去掉开头的44字节即可得到pcm(注:其他wav编码器可能不是44字节)")}};Q.prototype.wav=function(A,e,f){var i=this.set;!function(A){var e=A.bitRate,f=8==e?8:16;e!=f&&Q.CLog(g("wyw9::WAV Info: 不支持{1}位,已更新成{2}位",0,e,f),3);A.bitRate=f}(i);var r=A.length,n=i.sampleRate,t=i.bitRate,w=r*(t/8),l=Q.wav_header(1,1,n,t,w),B=l.length,a=new Uint8Array(B+w);if(a.set(l),8==t)for(var s=0;s>8);a[B++]=o}else(a=new Int16Array(a.buffer)).set(A,B/2);e(a.buffer,"audio/wav")},Q.wav_header=function(A,e,f,i,r){var n=1==A?0:2,t=new ArrayBuffer(44+n),w=new DataView(t),l=0,B=function(A){for(var e=0;e>>0)+4294967296*+(r>>>0):+(e>>>0)+4294967296*+(0|r)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,r){e||abort("Assertion failed: "+r)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,r,i,t){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":HEAP8[e>>0]=r;break;case"i16":HEAP16[e>>1]=r;break;case"i32":HEAP32[e>>2]=r;break;case"i64":tempI64=[r>>>0,(tempDouble=r,1<=+Math_abs(tempDouble)?0>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=r;break;case"double":HEAPF64[e>>3]=r;break;default:abort("invalid type for setValue: "+i)}}function getValue(e,r,i){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+r)}return null}!function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var r=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,r),r},stringToC:function(e){var r=0;return null!=e&&0!==e&&writeStringToMemory(e,r=Runtime.stackAlloc(1+(e.length<<2))),r}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,i,t,n){var o=getCFunc(e),a=[],s=0;if(t)for(var l=0;l>2]=0;for(l=a+o;t>0]=0;return a}if("i8"===s)return e.subarray||e.slice?HEAPU8.set(e,a):HEAPU8.set(new Uint8Array(e),a),a;for(var f,u,c,h=0;h>0],(0!=i||r)&&(n++,!r||n!=r););r||(r=n);var o="";if(t<128){for(var a;0>0];if(!i)return r;r+=String.fromCharCode(i)}}function stringToAscii(e,r){return writeAsciiToMemory(e,r,!1)}function UTF8ArrayToString(e,r){for(var i,t,n,o,a,s="";;){if(!(i=e[r++]))return s;if(128&i)if(t=63&e[r++],192!=(224&i))if(n=63&e[r++],224==(240&i)?i=(15&i)<<12|t<<6|n:(o=63&e[r++],240==(248&i)?i=(7&i)<<18|t<<12|n<<6|o:(a=63&e[r++],i=248==(252&i)?(3&i)<<24|t<<18|n<<12|o<<6|a:(1&i)<<30|t<<24|n<<18|o<<12|a<<6|63&e[r++])),i<65536)s+=String.fromCharCode(i);else{var l=i-65536;s+=String.fromCharCode(55296|l>>10,56320|1023&l)}else s+=String.fromCharCode((31&i)<<6|t);else s+=String.fromCharCode(i)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,r,i,t){if(!(0>6,r[i++]=128|63&s}else if(s<=65535){if(o<=i+2)break;r[i++]=224|s>>12,r[i++]=128|s>>6&63,r[i++]=128|63&s}else if(s<=2097151){if(o<=i+3)break;r[i++]=240|s>>18,r[i++]=128|s>>12&63,r[i++]=128|s>>6&63,r[i++]=128|63&s}else if(s<=67108863){if(o<=i+4)break;r[i++]=248|s>>24,r[i++]=128|s>>18&63,r[i++]=128|s>>12&63,r[i++]=128|s>>6&63,r[i++]=128|63&s}else{if(o<=i+5)break;r[i++]=252|s>>30,r[i++]=128|s>>24&63,r[i++]=128|s>>18&63,r[i++]=128|s>>12&63,r[i++]=128|s>>6&63,r[i++]=128|63&s}}return r[i]=0,i-n}function stringToUTF8(e,r,i){return stringToUTF8Array(e,HEAPU8,r,i)}function lengthBytesUTF8(e){for(var r=0,i=0;i>1];if(0==t)return i;++r,i+=String.fromCharCode(t)}}function stringToUTF16(e,r,i){if(void 0===i&&(i=2147483647),i<2)return 0;for(var t=r,n=(i-=2)<2*e.length?i/2:e.length,o=0;o>1]=a,r+=2}return HEAP16[r>>1]=0,r-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var r=0,i="";;){var t=HEAP32[e+4*r>>2];if(0==t)return i;if(++r,65536<=t){var n=t-65536;i+=String.fromCharCode(55296|n>>10,56320|1023&n)}else i+=String.fromCharCode(t)}}function stringToUTF32(e,r,i){if(void 0===i&&(i=2147483647),i<4)return 0;for(var t=r,n=t+i-4,o=0;o>2]=a,n<(r+=4)+4)break}return HEAP32[r>>2]=0,r-t}function lengthBytesUTF32(e){for(var r=0,i=0;i"}else o=n;e:for(;h>0]=o,n+=1}}function writeArrayToMemory(e,r){for(var i=0;i>0]=e[i]}function writeAsciiToMemory(e,r,i){for(var t=0;t>0]=e.charCodeAt(t);i||(HEAP8[r>>0]=0)}function unSign(e,r,i){return 0<=e?e:r<=32?2*Math.abs(1<>>16)*t+i*(r>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var r=0;r<32;r++)if(e&1<<31-r)return r;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var r=dependenciesFulfilled;dependenciesFulfilled=null,r()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+553552,__ATINIT__.push(),allocate([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240),allocate([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480),allocate([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720),allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+41032),allocate([1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+49544),allocate([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+50572),allocate([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52752),allocate([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+55148),allocate([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+62212),allocate([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+72464),allocate([1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+78916),allocate([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+79944),allocate([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+81996),allocate([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+83152),allocate([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+86572),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+97272),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+107456),allocate([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+117696),allocate([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+124340),allocate([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+134580),allocate([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+144820),allocate([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+155104),allocate([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+165344),allocate([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+175348),allocate([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+185588),allocate([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+195830),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+207264),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+218416),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+229400),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+240320),allocate([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+242772),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+253728),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+263472),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+274008),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+284176),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+294712),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+304880),allocate([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+315120),allocate([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+325360),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+339320),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+349504),allocate([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+360488),allocate([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+363696),allocate([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+366508),allocate([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+369616),allocate([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+379856),allocate([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+390097),allocate([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+400337),allocate([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+410577),allocate([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+420817),allocate([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+431057),allocate([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+441297),allocate([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+446300),allocate([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+456540),allocate([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+466780),allocate([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+477020),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+487288),allocate([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+489700),allocate([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+500144),allocate([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+510456),allocate([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+520696),allocate([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+530936),allocate([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+541176),allocate([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+551416);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}assert(tempDoublePtr%8==0);var _cosf=Math_cos,_fabsf=Math_abs,___errno_state=0;function ___setErrNo(e){return HEAP32[___errno_state>>2]=e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}Module._memset=_memset;var _BDtoILow=!0;function _abort(){Module.abort()}Module._strlen=_strlen,Module._strcat=_strcat,Module._bitshift64Shl=_bitshift64Shl,Module._i64Add=_i64Add;var _floor=Math_floor,ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},TTY={ttys:[],init:function(){},shutdown:function(){},register:function(e,r){TTY.ttys[e]={input:[],output:[],ops:r},FS.registerDevice(e,TTY.stream_ops)},stream_ops:{open:function(e){var r=TTY.ttys[e.node.rdev];if(!r)throw new FS.ErrnoError(ERRNO_CODES.ENODEV);e.tty=r,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,r,i,t,n){if(!e.tty||!e.tty.ops.get_char)throw new FS.ErrnoError(ERRNO_CODES.ENXIO);for(var o=0,a=0;ae.contents.length&&(e.contents=MEMFS.getFileDataAsRegularArray(e),e.usedBytes=e.contents.length),!e.contents||e.contents.subarray){var i=e.contents?e.contents.buffer.byteLength:0;if(r<=i)return;r=Math.max(r,i*(i<1048576?2:1.125)|0),0!=i&&(r=Math.max(r,256));var t=e.contents;return e.contents=new Uint8Array(r),void(0r)e.contents.length=r;else for(;e.contents.length=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,t);if(assert(0<=a),8i.timestamp)&&(a.push(e),o++)});var i=[];if(Object.keys(n.entries).forEach(function(e){n.entries[e];t.entries[e]||(i.push(e),o++)}),!o)return r(null);var s=0,e=("remote"===t.type?t.db:n.db).transaction([IDBFS.DB_STORE_NAME],"readwrite"),l=e.objectStore(IDBFS.DB_STORE_NAME);function f(e){return e?f.errored?void 0:(f.errored=!0,r(e)):++s>=o?r(null):void 0}e.onerror=function(e){f(this.error),e.preventDefault()},a.sort().forEach(function(i){"local"===n.type?IDBFS.loadRemoteEntry(l,i,function(e,r){if(e)return f(e);IDBFS.storeLocalEntry(i,r,f)}):IDBFS.loadLocalEntry(i,function(e,r){if(e)return f(e);IDBFS.storeRemoteEntry(l,i,r,f)})}),i.sort().reverse().forEach(function(e){"local"===n.type?IDBFS.removeLocalEntry(e,f):IDBFS.removeRemoteEntry(l,e,f)})}},NODEFS={isWindows:!1,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/)},mount:function(e){return assert(ENVIRONMENT_IS_NODE),NODEFS.createNode(null,"/",NODEFS.getMode(e.opts.root),0)},createNode:function(e,r,i,t){if(!FS.isDir(i)&&!FS.isFile(i)&&!FS.isLink(i))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var n=FS.createNode(e,r,i);return n.node_ops=NODEFS.node_ops,n.stream_ops=NODEFS.stream_ops,n},getMode:function(e){var r;try{r=fs.lstatSync(e),NODEFS.isWindows&&(r.mode=r.mode|(146&r.mode)>>1)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return r.mode},realPath:function(e){for(var r=[];e.parent!==e;)r.push(e.name),e=e.parent;return r.push(e.mount.opts.root),r.reverse(),PATH.join.apply(null,r)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(e){return e in NODEFS.flagsToPermissionStringMap?NODEFS.flagsToPermissionStringMap[e]:e},node_ops:{getattr:function(e){var r,i=NODEFS.realPath(e);try{r=fs.lstatSync(i)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return NODEFS.isWindows&&!r.blksize&&(r.blksize=4096),NODEFS.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(e,r){var i=NODEFS.realPath(e);try{if(void 0!==r.mode&&(fs.chmodSync(i,r.mode),e.mode=r.mode),void 0!==r.timestamp){var t=new Date(r.timestamp);fs.utimesSync(i,t,t)}void 0!==r.size&&fs.truncateSync(i,r.size)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},lookup:function(e,r){var i=PATH.join2(NODEFS.realPath(e),r),t=NODEFS.getMode(i);return NODEFS.createNode(e,r,t)},mknod:function(e,r,i,t){var n=NODEFS.createNode(e,r,i,t),o=NODEFS.realPath(n);try{FS.isDir(n.mode)?fs.mkdirSync(o,n.mode):fs.writeFileSync(o,"",{mode:n.mode})}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return n},rename:function(e,r,i){var t=NODEFS.realPath(e),n=PATH.join2(NODEFS.realPath(r),i);try{fs.renameSync(t,n)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},unlink:function(e,r){var i=PATH.join2(NODEFS.realPath(e),r);try{fs.unlinkSync(i)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},rmdir:function(e,r){var i=PATH.join2(NODEFS.realPath(e),r);try{fs.rmdirSync(i)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readdir:function(e){var r=NODEFS.realPath(e);try{return fs.readdirSync(r)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},symlink:function(e,r,i){var t=PATH.join2(NODEFS.realPath(e),r);try{fs.symlinkSync(i,t)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},readlink:function(e){var r=NODEFS.realPath(e);try{return r=fs.readlinkSync(r),r=NODEJS_PATH.relative(NODEJS_PATH.resolve(e.mount.opts.root),r)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}},stream_ops:{open:function(e){var r=NODEFS.realPath(e.node);try{FS.isFile(e.node.mode)&&(e.nfd=fs.openSync(r,NODEFS.flagsToPermissionString(e.flags)))}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},close:function(e){try{FS.isFile(e.node.mode)&&e.nfd&&fs.closeSync(e.nfd)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}},read:function(e,r,i,t,n){if(0===t)return 0;var o,a=new Buffer(t);try{o=fs.readSync(e.nfd,a,0,t,n)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(0>>0)%FS.nameTable.length},hashAddNode:function(e){var r=FS.hashName(e.parent.id,e.name);e.name_next=FS.nameTable[r],FS.nameTable[r]=e},hashRemoveNode:function(e){var r=FS.hashName(e.parent.id,e.name);if(FS.nameTable[r]===e)FS.nameTable[r]=e.name_next;else for(var i=FS.nameTable[r];i;){if(i.name_next===e){i.name_next=e.name_next;break}i=i.name_next}},lookupNode:function(e,r){var i=FS.mayLookup(e);if(i)throw new FS.ErrnoError(i,e);for(var t=FS.hashName(e.id,r),n=FS.nameTable[t];n;n=n.name_next){var o=n.name;if(n.parent.id===e.id&&o===r)return n}return FS.lookup(e,r)},createNode:function(e,r,i,t){if(!FS.FSNode){FS.FSNode=function(e,r,i,t){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=FS.nextInode++,this.name=r,this.mode=i,this.node_ops={},this.stream_ops={},this.rdev=t},FS.FSNode.prototype={};Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var n=new FS.FSNode(e,r,i,t);return FS.hashAddNode(n),n},destroyNode:function(e){FS.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(e){var r=FS.flagModes[e];if(void 0===r)throw new Error("Unknown file open mode: "+e);return r},flagsToPermissionString:function(e){var r=["r","w","rw"][2097155&e];return 512&e&&(r+="w"),r},nodePermissions:function(e,r){return FS.ignorePermissions?0:(-1===r.indexOf("r")||292&e.mode)&&(-1===r.indexOf("w")||146&e.mode)&&(-1===r.indexOf("x")||73&e.mode)?0:ERRNO_CODES.EACCES},mayLookup:function(e){var r=FS.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:ERRNO_CODES.EACCES)},mayCreate:function(e,r){try{FS.lookupNode(e,r);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(e,"wx")},mayDelete:function(e,r,i){var t;try{t=FS.lookupNode(e,r)}catch(e){return e.errno}var n=FS.nodePermissions(e,"wx");if(n)return n;if(i){if(!FS.isDir(t.mode))return ERRNO_CODES.ENOTDIR;if(FS.isRoot(t)||FS.getPath(t)===FS.cwd())return ERRNO_CODES.EBUSY}else if(FS.isDir(t.mode))return ERRNO_CODES.EISDIR;return 0},mayOpen:function(e,r){return e?FS.isLink(e.mode)?ERRNO_CODES.ELOOP:FS.isDir(e.mode)&&(0!=(2097155&r)||512&r)?ERRNO_CODES.EISDIR:FS.nodePermissions(e,FS.flagsToPermissionString(r)):ERRNO_CODES.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(e,r){e=e||0,r=r||FS.MAX_OPEN_FDS;for(var i=e;i<=r;i++)if(!FS.streams[i])return i;throw new FS.ErrnoError(ERRNO_CODES.EMFILE)},getStream:function(e){return FS.streams[e]},createStream:function(e,r,i){FS.FSStream||(FS.FSStream=function(){},FS.FSStream.prototype={},Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var t=new FS.FSStream;for(var n in e)t[n]=e[n];e=t;var o=FS.nextfd(r,i);return e.fd=o,FS.streams[o]=e},closeStream:function(e){FS.streams[e]=null},getStreamFromPtr:function(e){return FS.streams[e-1]},getPtrForStream:function(e){return e?e.fd+1:0},chrdev_stream_ops:{open:function(e){var r=FS.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,r){return e<<8|r},registerDevice:function(e,r){FS.devices[e]={stream_ops:r}},getDevice:function(e){return FS.devices[e]},getMounts:function(e){for(var r=[],i=[e];i.length;){var t=i.pop();r.push(t),i.push.apply(i,t.mounts)}return r},syncfs:function(r,i){"function"==typeof r&&(i=r,r=!1);var t=FS.getMounts(FS.root.mount),n=0;function o(e){if(e)return o.errored?void 0:(o.errored=!0,i(e));++n>=t.length&&i(null)}t.forEach(function(e){if(!e.type.syncfs)return o(null);e.type.syncfs(e,r,o)})},mount:function(e,r,i){var t,n="/"===i,o=!i;if(n&&FS.root)throw new FS.ErrnoError(ERRNO_CODES.EBUSY);if(!n&&!o){var a=FS.lookupPath(i,{follow_mount:!1});if(i=a.path,t=a.node,FS.isMountpoint(t))throw new FS.ErrnoError(ERRNO_CODES.EBUSY);if(!FS.isDir(t.mode))throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var s={type:e,opts:r,mountpoint:i,mounts:[]},l=e.mount(s);return(l.mount=s).root=l,n?FS.root=l:t&&(t.mounted=s,t.mount&&t.mount.mounts.push(s)),l},unmount:function(e){var r=FS.lookupPath(e,{follow_mount:!1});if(!FS.isMountpoint(r.node))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var i=r.node,t=i.mounted,n=FS.getMounts(t);Object.keys(FS.nameTable).forEach(function(e){for(var r=FS.nameTable[e];r;){var i=r.name_next;-1!==n.indexOf(r.mount)&&FS.destroyNode(r),r=i}}),i.mounted=null;var o=i.mount.mounts.indexOf(t);assert(-1!==o),i.mount.mounts.splice(o,1)},lookup:function(e,r){return e.node_ops.lookup(e,r)},mknod:function(e,r,i){var t=FS.lookupPath(e,{parent:!0}).node,n=PATH.basename(e);if(!n||"."===n||".."===n)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var o=FS.mayCreate(t,n);if(o)throw new FS.ErrnoError(o);if(!t.node_ops.mknod)throw new FS.ErrnoError(ERRNO_CODES.EPERM);return t.node_ops.mknod(t,n,r,i)},create:function(e,r){return r=void 0!==r?r:438,r&=4095,r|=32768,FS.mknod(e,r,0)},mkdir:function(e,r){return r=void 0!==r?r:511,r&=1023,r|=16384,FS.mknod(e,r,0)},mkdev:function(e,r,i){return void 0===i&&(i=r,r=438),r|=8192,FS.mknod(e,r,i)},symlink:function(e,r){if(!PATH.resolve(e))throw new FS.ErrnoError(ERRNO_CODES.ENOENT);var i=FS.lookupPath(r,{parent:!0}).node;if(!i)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);var t=PATH.basename(r),n=FS.mayCreate(i,t);if(n)throw new FS.ErrnoError(n);if(!i.node_ops.symlink)throw new FS.ErrnoError(ERRNO_CODES.EPERM);return i.node_ops.symlink(i,t,e)},rename:function(r,i){var e,t,n=PATH.dirname(r),o=PATH.dirname(i),a=PATH.basename(r),s=PATH.basename(i);try{e=FS.lookupPath(r,{parent:!0}).node,t=FS.lookupPath(i,{parent:!0}).node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!e||!t)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(e.mount!==t.mount)throw new FS.ErrnoError(ERRNO_CODES.EXDEV);var l,f=FS.lookupNode(e,a),u=PATH.relative(r,o);if("."!==u.charAt(0))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);if("."!==(u=PATH.relative(i,n)).charAt(0))throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);try{l=FS.lookupNode(t,s)}catch(e){}if(f!==l){var c=FS.isDir(f.mode),h=FS.mayDelete(e,a,c);if(h)throw new FS.ErrnoError(h);if(h=l?FS.mayDelete(t,s,c):FS.mayCreate(t,s))throw new FS.ErrnoError(h);if(!e.node_ops.rename)throw new FS.ErrnoError(ERRNO_CODES.EPERM);if(FS.isMountpoint(f)||l&&FS.isMountpoint(l))throw new FS.ErrnoError(ERRNO_CODES.EBUSY);if(t!==e&&(h=FS.nodePermissions(e,"w")))throw new FS.ErrnoError(h);try{FS.trackingDelegate.willMovePath&&FS.trackingDelegate.willMovePath(r,i)}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+i+"') threw an exception: "+e.message)}FS.hashRemoveNode(f);try{e.node_ops.rename(f,t,s)}catch(e){throw e}finally{FS.hashAddNode(f)}try{FS.trackingDelegate.onMovePath&&FS.trackingDelegate.onMovePath(r,i)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+i+"') threw an exception: "+e.message)}}},rmdir:function(r){var e=FS.lookupPath(r,{parent:!0}).node,i=PATH.basename(r),t=FS.lookupNode(e,i),n=FS.mayDelete(e,i,!0);if(n)throw new FS.ErrnoError(n);if(!e.node_ops.rmdir)throw new FS.ErrnoError(ERRNO_CODES.EPERM);if(FS.isMountpoint(t))throw new FS.ErrnoError(ERRNO_CODES.EBUSY);try{FS.trackingDelegate.willDeletePath&&FS.trackingDelegate.willDeletePath(r)}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e.message)}e.node_ops.rmdir(e,i),FS.destroyNode(t);try{FS.trackingDelegate.onDeletePath&&FS.trackingDelegate.onDeletePath(r)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e.message)}},readdir:function(e){var r=FS.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);return r.node_ops.readdir(r)},unlink:function(r){var e=FS.lookupPath(r,{parent:!0}).node,i=PATH.basename(r),t=FS.lookupNode(e,i),n=FS.mayDelete(e,i,!1);if(n)throw n===ERRNO_CODES.EISDIR&&(n=ERRNO_CODES.EPERM),new FS.ErrnoError(n);if(!e.node_ops.unlink)throw new FS.ErrnoError(ERRNO_CODES.EPERM);if(FS.isMountpoint(t))throw new FS.ErrnoError(ERRNO_CODES.EBUSY);try{FS.trackingDelegate.willDeletePath&&FS.trackingDelegate.willDeletePath(r)}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e.message)}e.node_ops.unlink(e,i),FS.destroyNode(t);try{FS.trackingDelegate.onDeletePath&&FS.trackingDelegate.onDeletePath(r)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e.message)}},readlink:function(e){var r=FS.lookupPath(e),i=r.node;if(!i)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(!i.node_ops.readlink)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);return PATH.resolve(FS.getPath(r.node.parent),i.node_ops.readlink(i))},stat:function(e,r){var i=FS.lookupPath(e,{follow:!r}).node;if(!i)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(!i.node_ops.getattr)throw new FS.ErrnoError(ERRNO_CODES.EPERM);return i.node_ops.getattr(i)},lstat:function(e){return FS.stat(e,!0)},chmod:function(e,r,i){var t;"string"==typeof e?t=FS.lookupPath(e,{follow:!i}).node:t=e;if(!t.node_ops.setattr)throw new FS.ErrnoError(ERRNO_CODES.EPERM);t.node_ops.setattr(t,{mode:4095&r|-4096&t.mode,timestamp:Date.now()})},lchmod:function(e,r){FS.chmod(e,r,!0)},fchmod:function(e,r){var i=FS.getStream(e);if(!i)throw new FS.ErrnoError(ERRNO_CODES.EBADF);FS.chmod(i.node,r)},chown:function(e,r,i,t){var n;"string"==typeof e?n=FS.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new FS.ErrnoError(ERRNO_CODES.EPERM);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown:function(e,r,i){FS.chown(e,r,i,!0)},fchown:function(e,r,i){var t=FS.getStream(e);if(!t)throw new FS.ErrnoError(ERRNO_CODES.EBADF);FS.chown(t.node,r,i)},truncate:function(e,r){if(r<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var i;"string"==typeof e?i=FS.lookupPath(e,{follow:!0}).node:i=e;if(!i.node_ops.setattr)throw new FS.ErrnoError(ERRNO_CODES.EPERM);if(FS.isDir(i.mode))throw new FS.ErrnoError(ERRNO_CODES.EISDIR);if(!FS.isFile(i.mode))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var t=FS.nodePermissions(i,"w");if(t)throw new FS.ErrnoError(t);i.node_ops.setattr(i,{size:r,timestamp:Date.now()})},ftruncate:function(e,r){var i=FS.getStream(e);if(!i)throw new FS.ErrnoError(ERRNO_CODES.EBADF);if(0==(2097155&i.flags))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);FS.truncate(i.node,r)},utime:function(e,r,i){var t=FS.lookupPath(e,{follow:!0}).node;t.node_ops.setattr(t,{timestamp:Math.max(r,i)})},open:function(r,e,i,t,n){if(""===r)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);var o;if(i=void 0===i?438:i,i=64&(e="string"==typeof e?FS.modeStringToFlags(e):e)?4095&i|32768:0,"object"==typeof r)o=r;else{r=PATH.normalize(r);try{o=FS.lookupPath(r,{follow:!(131072&e)}).node}catch(e){}}var a=!1;if(64&e)if(o){if(128&e)throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}else o=FS.mknod(r,i,0),a=!0;if(!o)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(FS.isChrdev(o.mode)&&(e&=-513),!a){var s=FS.mayOpen(o,e);if(s)throw new FS.ErrnoError(s)}512&e&&FS.truncate(o,0),e&=-641;var l=FS.createStream({node:o,path:FS.getPath(o),flags:e,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1},t,n);l.stream_ops.open&&l.stream_ops.open(l),!Module.logReadFiles||1&e||(FS.readFiles||(FS.readFiles={}),r in FS.readFiles||(FS.readFiles[r]=1,Module.printErr("read file: "+r)));try{if(FS.trackingDelegate.onOpenFile){var f=0;1!=(2097155&e)&&(f|=FS.tracking.openFlags.READ),0!=(2097155&e)&&(f|=FS.tracking.openFlags.WRITE),FS.trackingDelegate.onOpenFile(r,f)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+e.message)}return l},close:function(e){try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{FS.closeStream(e.fd)}},llseek:function(e,r,i){if(!e.seekable||!e.stream_ops.llseek)throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);return e.position=e.stream_ops.llseek(e,r,i),e.ungotten=[],e.position},read:function(e,r,i,t,n){if(t<0||n<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);if(1==(2097155&e.flags))throw new FS.ErrnoError(ERRNO_CODES.EBADF);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(ERRNO_CODES.EISDIR);if(!e.stream_ops.read)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var o=!0;if(void 0===n)n=e.position,o=!1;else if(!e.seekable)throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);var a=e.stream_ops.read(e,r,i,t,n);return o||(e.position+=a),a},write:function(e,r,i,t,n,o){if(t<0||n<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);if(0==(2097155&e.flags))throw new FS.ErrnoError(ERRNO_CODES.EBADF);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(ERRNO_CODES.EISDIR);if(!e.stream_ops.write)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);1024&e.flags&&FS.llseek(e,0,2);var a=!0;if(void 0===n)n=e.position,a=!1;else if(!e.seekable)throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);var s=e.stream_ops.write(e,r,i,t,n,o);a||(e.position+=s);try{e.path&&FS.trackingDelegate.onWriteToFile&&FS.trackingDelegate.onWriteToFile(e.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return s},allocate:function(e,r,i){if(r<0||i<=0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);if(0==(2097155&e.flags))throw new FS.ErrnoError(ERRNO_CODES.EBADF);if(!FS.isFile(e.node.mode)&&!FS.isDir(node.mode))throw new FS.ErrnoError(ERRNO_CODES.ENODEV);if(!e.stream_ops.allocate)throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);e.stream_ops.allocate(e,r,i)},mmap:function(e,r,i,t,n,o,a){if(1==(2097155&e.flags))throw new FS.ErrnoError(ERRNO_CODES.EACCES);if(!e.stream_ops.mmap)throw new FS.ErrnoError(ERRNO_CODES.ENODEV);return e.stream_ops.mmap(e,r,i,t,n,o,a)},msync:function(e,r,i,t,n){return e&&e.stream_ops.msync?e.stream_ops.msync(e,r,i,t,n):0},munmap:function(e){return 0},ioctl:function(e,r,i){if(!e.stream_ops.ioctl)throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);return e.stream_ops.ioctl(e,r,i)},readFile:function(e,r){if((r=r||{}).flags=r.flags||"r",r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error('Invalid encoding type "'+r.encoding+'"');var i,t=FS.open(e,r.flags),n=FS.stat(e).size,o=new Uint8Array(n);return FS.read(t,o,0,n,0),"utf8"===r.encoding?i=UTF8ArrayToString(o,0):"binary"===r.encoding&&(i=o),FS.close(t),i},writeFile:function(e,r,i){if((i=i||{}).flags=i.flags||"w",i.encoding=i.encoding||"utf8","utf8"!==i.encoding&&"binary"!==i.encoding)throw new Error('Invalid encoding type "'+i.encoding+'"');var t=FS.open(e,i.flags,i.mode);if("utf8"===i.encoding){var n=new Uint8Array(lengthBytesUTF8(r)+1),o=stringToUTF8Array(r,n,0,n.length);FS.write(t,n,0,o,0,i.canOwn)}else"binary"===i.encoding&&FS.write(t,r,0,r.length,0,i.canOwn);FS.close(t)},cwd:function(){return FS.currentPath},chdir:function(e){var r=FS.lookupPath(e,{follow:!0});if(!FS.isDir(r.node.mode))throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);var i=FS.nodePermissions(r.node,"x");if(i)throw new FS.ErrnoError(i);FS.currentPath=r.path},createDefaultDirectories:function(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices:function(){var e;if(FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(e,r,i,t,n){return t}}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0)),"undefined"!=typeof crypto){var r=new Uint8Array(1);e=function(){return crypto.getRandomValues(r),r[0]}}else e=ENVIRONMENT_IS_NODE?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};FS.createDevice("/dev","random",e),FS.createDevice("/dev","urandom",e),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createStandardStreams:function(){Module.stdin?FS.createDevice("/dev","stdin",Module.stdin):FS.symlink("/dev/tty","/dev/stdin"),Module.stdout?FS.createDevice("/dev","stdout",null,Module.stdout):FS.symlink("/dev/tty","/dev/stdout"),Module.stderr?FS.createDevice("/dev","stderr",null,Module.stderr):FS.symlink("/dev/tty1","/dev/stderr");var e=FS.open("/dev/stdin","r");HEAP32[_stdin>>2]=FS.getPtrForStream(e),assert(0===e.fd,"invalid handle for stdin ("+e.fd+")");var r=FS.open("/dev/stdout","w");HEAP32[_stdout>>2]=FS.getPtrForStream(r),assert(1===r.fd,"invalid handle for stdout ("+r.fd+")");var i=FS.open("/dev/stderr","w");HEAP32[_stderr>>2]=FS.getPtrForStream(i),assert(2===i.fd,"invalid handle for stderr ("+i.fd+")")},ensureErrnoError:function(){FS.ErrnoError||(FS.ErrnoError=function(e,r){this.node=r,this.setErrno=function(e){for(var r in this.errno=e,ERRNO_CODES)if(ERRNO_CODES[r]===e){this.code=r;break}},this.setErrno(e),this.message=ERRNO_MESSAGES[e]},FS.ErrnoError.prototype=new Error,FS.ErrnoError.prototype.constructor=FS.ErrnoError,[ERRNO_CODES.ENOENT].forEach(function(e){FS.genericErrors[e]=new FS.ErrnoError(e),FS.genericErrors[e].stack=""}))},staticInit:function(){FS.ensureErrnoError(),FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices()},init:function(e,r,i){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),FS.init.initialized=!0,FS.ensureErrnoError(),Module.stdin=e||Module.stdin,Module.stdout=r||Module.stdout,Module.stderr=i||Module.stderr,FS.createStandardStreams()},quit:function(){FS.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var r=e%this.chunkSize,i=e/this.chunkSize|0;return this.getter(i)[r]}},n.prototype.setDataGetter=function(e){this.getter=e},n.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",a,!1),e.send(null),!(200<=e.status&&e.status<300||304===e.status))throw new Error("Couldn't load "+a+". Status: "+e.status);var r,t=Number(e.getResponseHeader("Content-length")),i=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,n=1048576;i||(n=t);var o=this;o.setDataGetter(function(e){var r=e*n,i=(e+1)*n-1;if(i=Math.min(i,t-1),void 0===o.chunks[e]&&(o.chunks[e]=function(e,r){if(r=o.length)return 0;var a=Math.min(o.length-n,t);if(assert(0<=a),o.slice)for(var s=0;s>n-6&63;n-=6,i+=r[a]}return 2==n?(i+=r[(3&t)<<4],i+="=="):4==n&&(i+=r[(15&t)<<2],i+="="),i}(r),o(f))},f.src=l,Browser.safeSetTimeout(function(){o(f)},1e4)}};Module.preloadPlugins.push(r);var i=Module.canvas;i&&(i.requestPointerLock=i.requestPointerLock||i.mozRequestPointerLock||i.webkitRequestPointerLock||i.msRequestPointerLock||function(){},i.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},i.exitPointerLock=i.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&i.addEventListener("click",function(e){!Browser.pointerLock&&i.requestPointerLock&&(i.requestPointerLock(),e.preventDefault())},!1))}function t(){Browser.pointerLock=document.pointerLockElement===i||document.mozPointerLockElement===i||document.webkitPointerLockElement===i||document.msPointerLockElement===i}},createContext:function(e,r,i,t){if(r&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,o;if(r){var a={antialias:!1,alpha:!1};if(t)for(var s in t)a[s]=t[s];(o=GL.createContext(e,a))&&(n=GL.getContext(o).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(i&&(r||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,r&&GL.makeContextCurrent(o),Module.useWebGL=r,Browser.moduleContextCreatedCallbacks.forEach(function(e){e()}),Browser.init()),n):null},destroyContext:function(e,r,i){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,r,i){Browser.lockPointer=e,Browser.resizeCanvas=r,Browser.vrDevice=i,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var t=Module.canvas;function n(){Browser.isFullScreen=!1;var e=t.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},t.cancelFullScreen=t.cancelFullScreen.bind(document),Browser.lockPointer&&t.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(t)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var o=document.createElement("div");t.parentNode.insertBefore(o,t),o.appendChild(t),o.requestFullScreen=o.requestFullScreen||o.mozRequestFullScreen||o.msRequestFullscreen||(o.webkitRequestFullScreen?function(){o.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),i?o.requestFullScreen({vrDisplay:i}):o.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var r=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=r+1e3/60;else for(;r+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var i=Math.max(Browser.nextRAF-r,0);setTimeout(e,i)},requestAnimationFrame:function(e){void 0===window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,0>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,r,i){r&&i?(e.widthNative=r,e.heightNative=i):(r=e.widthNative,i=e.heightNative);var t=r,n=i;if(Module.forcedAspectRatio&&0>>0;return i}function ___errno_location(){return ___errno_state}Module._memmove=_memmove;var _BItoD=!0;Module._strcpy=_strcpy;var _exp=Math_exp;function _time(e){var r=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=r),r}function _floor0_exportbundle(){Module.printErr("missing function: floor0_exportbundle"),abort(-1)}if(___errno_state=Runtime.staticAlloc(4),HEAP32[___errno_state>>2]=0,Module.requestFullScreen=function(e,r,i){Browser.requestFullScreen(e,r,i)},Module.requestAnimationFrame=function(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function(e,r,i){Browser.setCanvasSize(e,r,i)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},Module.createContext=function(e,r,i,t){return Browser.createContext(e,r,i,t)},FS.staticInit(),__ATINIT__.unshift(function(){Module.noFSInit||FS.init.initialized||FS.init()}),__ATMAIN__.push(function(){FS.ignorePermissions=!1}),__ATEXIT__.push(function(){FS.quit()}),Module.FS_createFolder=FS.createFolder,Module.FS_createPath=FS.createPath,Module.FS_createDataFile=FS.createDataFile,Module.FS_createPreloadedFile=FS.createPreloadedFile,Module.FS_createLazyFile=FS.createLazyFile,Module.FS_createLink=FS.createLink,Module.FS_createDevice=FS.createDevice,__ATINIT__.unshift(function(){TTY.init()}),__ATEXIT__.push(function(){TTY.shutdown()}),ENVIRONMENT_IS_NODE){var fs=require("fs"),NODEJS_PATH=require("path");NODEFS.staticInit()}STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE>0]=An[e>>0];An[Ku+1>>0]=An[e+1>>0];An[Ku+2>>0]=An[e+2>>0];An[Ku+3>>0]=An[e+3>>0]}function ke(e){e=e|0;An[Ku>>0]=An[e>>0];An[Ku+1>>0]=An[e+1>>0];An[Ku+2>>0]=An[e+2>>0];An[Ku+3>>0]=An[e+3>>0];An[Ku+4>>0]=An[e+4>>0];An[Ku+5>>0]=An[e+5>>0];An[Ku+6>>0]=An[e+6>>0];An[Ku+7>>0]=An[e+7>>0]}function ge(e){e=e|0;Un=e}function Ae(){return Un|0}function gi(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0;a=RA;yA[e>>2]=0|0;yA[e+4>>2]=0|0;yA[e+8>>2]=0|0;yA[e+12>>2]=0|0;r=DA(256)|0;i=e+8|0;yA[i>>2]=r;t=e+12|0;yA[t>>2]=r;An[r>>0]=0;n=e+16|0;yA[n>>2]=256;return}function Zt(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0;_=RA;i=r>>3;t=e+12|0;u=yA[t>>2]|0;c=(u|0)==(0|0);if(c){return}h=i<<3;d=r-h|0;v=e+8|0;m=yA[v>>2]|0;w=m+i|0;yA[t>>2]=w;E=e+4|0;yA[E>>2]=d;yA[e>>2]=i;n=8+(d<<2)|0;o=yA[n>>2]|0;a=An[w>>0]|0;s=a&255;l=s&o;f=l&255;An[w>>0]=f;return}function Zu(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0;var g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0;var q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0;var fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0;Se=RA;o=i>>>0>32;do{if(!o){a=yA[e>>2]|0;E=e+16|0;F=yA[E>>2]|0;H=F+-4|0;Z=(a|0)<(H|0);t=e+12|0;n=yA[t>>2]|0;if(Z){g=n}else{se=(n|0)==(0|0);if(se){return}Ee=(F|0)>2147483391;if(Ee){break}pe=e+8|0;_e=yA[pe>>2]|0;s=F+256|0;l=jn(_e,s)|0;f=(l|0)==(0|0);if(f){break}yA[pe>>2]=l;u=yA[E>>2]|0;c=u+256|0;yA[E>>2]=c;h=yA[e>>2]|0;d=l+h|0;yA[t>>2]=d;g=d}v=8+(i<<2)|0;m=yA[v>>2]|0;w=m&r;p=e+4|0;_=yA[p>>2]|0;b=_+i|0;S=w<<_;k=An[g>>0]|0;A=k&255;O=A|S;y=O&255;An[g>>0]=y;M=(b|0)>7;do{if(M){R=yA[p>>2]|0;L=8-R|0;N=w>>>L;T=N&255;D=yA[t>>2]|0;B=D+1|0;An[B>>0]=T;P=(b|0)>15;if(P){C=yA[p>>2]|0;I=16-C|0;x=w>>>I;U=x&255;z=yA[t>>2]|0;V=z+2|0;An[V>>0]=U;q=(b|0)>23;if(q){G=yA[p>>2]|0;W=24-G|0;j=w>>>W;Y=j&255;X=yA[t>>2]|0;K=X+3|0;An[K>>0]=Y;J=(b|0)>31;if(J){Q=yA[p>>2]|0;$=(Q|0)==0;if($){oe=yA[t>>2]|0;ae=oe+4|0;An[ae>>0]=0;break}else{ee=32-Q|0;re=w>>>ee;ie=re&255;te=yA[t>>2]|0;ne=te+4|0;An[ne>>0]=ie;break}}}}}}while(0);le=(b|0)/8&-1;fe=yA[e>>2]|0;ue=fe+le|0;yA[e>>2]=ue;ce=yA[t>>2]|0;he=ce+le|0;yA[t>>2]=he;de=b&7;yA[p>>2]=de;return}}while(0);ve=e+8|0;me=yA[ve>>2]|0;we=(me|0)==(0|0);if(!we){Wn(me)}yA[e>>2]=0|0;yA[e+4>>2]=0|0;yA[e+8>>2]=0|0;yA[e+12>>2]=0|0;yA[e+16>>2]=0|0;return}function Ai(e){e=e|0;var r=0,i=0,t=0,n=0,o=0;o=RA;r=e+8|0;i=yA[r>>2]|0;t=(i|0)==(0|0);if(!t){Wn(i)}yA[e>>2]=0|0;yA[e+4>>2]=0|0;yA[e+8>>2]=0|0;yA[e+12>>2]=0|0;yA[e+16>>2]=0|0;return}function Oi(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0;f=RA;r=e+12|0;i=yA[r>>2]|0;t=(i|0)==(0|0);if(t){return}n=e+8|0;o=yA[n>>2]|0;yA[r>>2]=o;a=o;An[a>>0]=0;yA[e>>2]=0;s=e+4|0;yA[s>>2]=0;return}function He(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0;te=RA;t=r>>>0>32;if(t){i=-1;return i|0}n=8+(r<<2)|0;m=yA[n>>2]|0;y=e+4|0;I=yA[y>>2]|0;X=I+r|0;Z=yA[e>>2]|0;J=e+16|0;Q=yA[J>>2]|0;$=Q+-4|0;o=(Z|0)<($|0);if(!o){a=X+7|0;s=a>>3;l=Q-s|0;f=(Z|0)>(l|0);if(f){i=-1;return i|0}u=(X|0)==0;if(u){i=0;return i|0}}c=e+12|0;h=yA[c>>2]|0;d=An[h>>0]|0;v=d&255;w=v>>>I;E=(X|0)>8;if(E){p=h+1|0;_=An[p>>0]|0;b=_&255;S=8-I|0;k=b<16;if(A){O=h+2|0;M=An[O>>0]|0;F=M&255;R=16-I|0;L=F<24;if(T){D=h+3|0;B=An[D>>0]|0;P=B&255;C=24-I|0;x=P<>0]|0;G=q&255;W=32-I|0;j=G<>2]|0;c=t+r|0;h=yA[e>>2]|0;d=e+16|0;v=yA[d>>2]|0;m=c+7|0;w=m>>3;E=v-w|0;p=(h|0)>(E|0);if(p){u=e+12|0;yA[u>>2]=0;yA[e>>2]=v;_=1;yA[i>>2]=_;return}else{n=(c|0)/8&-1;o=e+12|0;a=yA[o>>2]|0;s=a+n|0;yA[o>>2]=s;l=h+n|0;yA[e>>2]=l;f=c&7;_=f;yA[i>>2]=_;return}}function Tr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0;ve=RA;l=r>>>0>32;do{if(l){t=e+16|0;n=yA[t>>2]|0;s=e+4|0;o=e;a=s;ae=n}else{f=8+(r<<2)|0;b=yA[f>>2]|0;N=e+4|0;V=yA[N>>2]|0;$=V+r|0;se=yA[e>>2]|0;le=e+16|0;fe=yA[le>>2]|0;ue=fe+-4|0;u=(se|0)<(ue|0);if(!u){c=$+7|0;h=c>>3;d=fe-h|0;v=(se|0)>(d|0);if(v){o=e;a=N;ae=fe;break}m=($|0)==0;if(m){i=0;return i|0}}w=e+12|0;E=yA[w>>2]|0;p=An[E>>0]|0;_=p&255;S=_>>>V;k=($|0)>8;if(k){g=E+1|0;A=An[g>>0]|0;O=A&255;y=8-V|0;M=O<16;if(R){L=E+2|0;T=An[L>>0]|0;D=T&255;B=16-V|0;P=D<24;if(I){x=E+3|0;H=An[x>>0]|0;U=H&255;z=24-V|0;q=U<>0]|0;K=X&255;Z=32-V|0;J=K<>2]=ie;te=se+re|0;yA[e>>2]=te;ne=$&7;yA[N>>2]=ne;i=ee;return i|0}}while(0);oe=e+12|0;yA[oe>>2]=0;yA[o>>2]=ae;yA[a>>2]=1;i=-1;return i|0}function Jt(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0;l=RA;r=yA[e>>2]|0;i=e+4|0;t=yA[i>>2]|0;n=t+7|0;o=(n|0)/8&-1;a=o+r|0;return a|0}function Oe(e){e=e|0;var r=0,i=0,t=0,n=0;n=RA;r=e+8|0;i=yA[r>>2]|0;return i|0}function ye(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0;k=RA;n=(e|0)==(0|0);if(n){i=-1;return i|0}tl(e|0,0,360)|0;o=e+4|0;yA[o>>2]=16384;h=e+24|0;yA[h>>2]=1024;d=DA(16384)|0;yA[e>>2]=d;v=DA(4096)|0;m=e+16|0;yA[m>>2]=v;w=DA(8192)|0;E=e+20|0;yA[E>>2]=w;p=(d|0)==(0|0);do{if(p){s=v}else{_=(v|0)==(0|0);a=(w|0)==(0|0);b=a|_;if(b){Wn(d);t=yA[m>>2]|0;s=t;break}c=e+336|0;yA[c>>2]=r;i=0;return i|0}}while(0);l=(s|0)==(0|0);if(!l){Wn(s)}f=yA[E>>2]|0;u=(f|0)==(0|0);if(!u){Wn(f)}tl(e|0,0,360)|0;i=-1;return i|0}function Me(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0;c=RA;r=(e|0)==(0|0);if(r){return 0}i=yA[e>>2]|0;t=(i|0)==(0|0);if(!t){Wn(i)}n=e+16|0;o=yA[n>>2]|0;a=(o|0)==(0|0);if(!a){Wn(o)}s=e+20|0;l=yA[s>>2]|0;f=(l|0)==(0|0);if(!f){Wn(l)}tl(e|0,0,360)|0;return 0}function ht(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0;var se=0,le=0,fe=0;fe=RA;r=(e|0)==(0|0);if(r){return}i=yA[e>>2]|0;d=i+22|0;An[d>>0]=0;A=yA[e>>2]|0;P=A+23|0;An[P>>0]=0;j=yA[e>>2]|0;Q=j+24|0;An[Q>>0]=0;$=yA[e>>2]|0;ee=$+25|0;An[ee>>0]=0;re=e+4|0;t=yA[re>>2]|0;n=(t|0)>0;if(n){o=yA[e>>2]|0;te=0;ae=0;while(1){c=te<<8;h=te>>>24;v=o+ae|0;m=An[v>>0]|0;w=m&255;E=w^h;p=144+(E<<2)|0;_=yA[p>>2]|0;b=_^c;S=ae+1|0;k=(S|0)<(t|0);if(k){te=b;ae=S}else{ie=b;break}}}else{ie=0}a=e+12|0;s=yA[a>>2]|0;l=(s|0)>0;if(l){f=e+8|0;u=yA[f>>2]|0;oe=ie;se=0;while(1){g=oe<<8;O=oe>>>24;y=u+se|0;M=An[y>>0]|0;F=M&255;R=F^O;L=144+(R<<2)|0;N=yA[L>>2]|0;T=N^g;D=se+1|0;B=(D|0)<(s|0);if(B){oe=T;se=D}else{ne=T;break}}}else{ne=ie}C=ne&255;I=yA[e>>2]|0;x=I+22|0;An[x>>0]=C;H=ne>>>8;U=H&255;z=yA[e>>2]|0;V=z+23|0;An[V>>0]=U;q=ne>>>16;G=q&255;W=yA[e>>2]|0;Y=W+24|0;An[Y>>0]=G;X=ne>>>24;K=X&255;Z=yA[e>>2]|0;J=Z+25|0;An[J>>0]=K;return}function Fe(e,r,i,t,n,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;var a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0,O=0;var y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0,W=0;var j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0,ce=0;var he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0,Le=0,Ne=0;var Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0,Ze=0,Je=0;var Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0,mr=0,wr=0,Er=0;var pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0,Pr=0,Cr=0;Cr=RA;j=(e|0)==(0|0);if(j){s=-1;return s|0}te=yA[e>>2]|0;ve=(te|0)==(0|0);if(ve){s=-1;return s|0}Oe=(r|0)==(0|0);if(Oe){s=0;return s|0}Ce=(i|0)>0;e:do{if(Ce){Mr=0;Rr=0;while(1){Ye=(r+(Rr<<3)|0)+4|0;nr=yA[Ye>>2]|0;mr=(nr|0)<0;v=2147483647-nr|0;O=(Mr|0)>(v|0);Dr=mr|O;if(Dr){s=-1;break}C=nr+Mr|0;H=Rr+1|0;U=(H|0)<(i|0);if(U){Mr=C;Rr=H}else{yr=C;break e}}return s|0}else{yr=0}}while(0);z=(yr|0)/255&-1;V=z+1|0;q=e+12|0;G=yA[q>>2]|0;W=(G|0)==0;d=e+8|0;if(!W){Y=yA[d>>2]|0;X=Y-G|0;yA[d>>2]=X;K=(Y|0)==(G|0);if(!K){Z=te+G|0;Xn(te|0,Z|0,X|0)|0}yA[q>>2]=0}J=e+4|0;Q=yA[J>>2]|0;$=Q-yr|0;ee=yA[d>>2]|0;re=($|0)>(ee|0);do{if(!re){ie=2147483647-yr|0;ne=(Q|0)>(ie|0);if(ne){oe=yA[e>>2]|0;ae=(oe|0)==(0|0);if(!ae){Wn(oe)}se=e+16|0;le=yA[se>>2]|0;fe=(le|0)==(0|0);if(!fe){Wn(le)}ue=e+20|0;ce=yA[ue>>2]|0;he=(ce|0)==(0|0);if(!he){Wn(ce)}tl(e|0,0,360)|0;s=-1;return s|0}de=Q+yr|0;me=(de|0)<2147482623;we=de+1024|0;a=me?we:de;Ee=yA[e>>2]|0;pe=jn(Ee,a)|0;_e=(pe|0)==(0|0);if(!_e){yA[J>>2]=a;yA[e>>2]=pe;break}be=yA[e>>2]|0;Se=(be|0)==(0|0);if(!Se){Wn(be)}ke=e+16|0;ge=yA[ke>>2]|0;Ae=(ge|0)==(0|0);if(!Ae){Wn(ge)}ye=e+20|0;Me=yA[ye>>2]|0;Fe=(Me|0)==(0|0);if(!Fe){Wn(Me)}tl(e|0,0,360)|0;s=-1;return s|0}}while(0);Re=Ir(e,V)|0;Le=(Re|0)==0;if(!Le){s=-1;return s|0}if(Ce){f=yA[d>>2]|0;qe=f;Lr=0;while(1){ze=yA[e>>2]|0;Ve=ze+qe|0;Ge=r+(Lr<<3)|0;We=yA[Ge>>2]|0;je=(r+(Lr<<3)|0)+4|0;Xe=yA[je>>2]|0;PA(Ve|0,We|0,Xe|0)|0;Ke=yA[je>>2]|0;Ze=yA[d>>2]|0;Je=Ze+Ke|0;yA[d>>2]=Je;Qe=Lr+1|0;Fr=(Qe|0)==(i|0);if(Fr){break}else{qe=Je;Lr=Qe}}}Ne=(yr|0)>254;Te=e+28|0;De=yA[Te>>2]|0;Be=e+16|0;Pe=yA[Be>>2]|0;if(Ne){Ie=e+352|0;xe=e+20|0;He=yA[xe>>2]|0;Ue=(z|0)>1;Tr=0;while(1){$e=De+Tr|0;er=Pe+($e<<2)|0;yA[er>>2]=255;rr=Ie;ir=rr;tr=yA[ir>>2]|0;or=rr+4|0;ar=or;sr=yA[ar>>2]|0;lr=He+($e<<3)|0;fr=lr;ur=fr;yA[ur>>2]=tr;cr=fr+4|0;hr=cr;yA[hr>>2]=sr;dr=Tr+1|0;vr=(dr|0)<(z|0);if(vr){Tr=dr}else{break}}Br=Ue?z:1;u=Ie;br=He;Nr=Br}else{l=e+20|0;c=yA[l>>2]|0;h=e+352|0;u=h;br=c;Nr=0}wr=(yr|0)%255&-1;Er=De+Nr|0;pr=Pe+(Er<<2)|0;yA[pr>>2]=wr;_r=br+(Er<<3)|0;Sr=_r;kr=Sr;yA[kr>>2]=n;gr=Sr+4|0;Ar=gr;yA[Ar>>2]=o;Or=u;m=Or;yA[m>>2]=n;w=Or+4|0;E=w;yA[E>>2]=o;p=Pe+(De<<2)|0;_=yA[p>>2]|0;b=_|256;yA[p>>2]=b;S=De+V|0;yA[Te>>2]=S;k=e+344|0;g=k;A=g;y=yA[A>>2]|0;M=g+4|0;F=M;R=yA[F>>2]|0;L=Yn(y|0,R|0,1,0)|0;N=Un;T=k;D=T;yA[D>>2]=L;B=T+4|0;P=B;yA[P>>2]=N;I=(t|0)==0;if(I){s=0;return s|0}x=e+328|0;yA[x>>2]=1;s=0;return s|0}function Re(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0;p=RA;RA=RA+16|0;w=p;i=yA[r>>2]|0;yA[w>>2]=i;t=r+4|0;l=yA[t>>2]|0;f=w+4|0;yA[f>>2]=l;u=r+12|0;c=yA[u>>2]|0;h=r+16|0;d=h;v=d;m=yA[v>>2]|0;n=d+4|0;o=n;a=yA[o>>2]|0;s=Fe(e,w,1,c,m,a)|0;RA=p;return s|0}function Le(e,r){e=e|0;r=r|0;var i=0,t=0,n=0;n=RA;i=Te(e,r,1,4096)|0;return i|0}function Ne(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0;p=RA;o=(e|0)==(0|0);if(o){i=0;return i|0}a=yA[e>>2]|0;s=(a|0)==(0|0);if(s){i=0;return i|0}l=e+328|0;f=yA[l>>2]|0;u=(f|0)==0;t=e+28|0;n=yA[t>>2]|0;w=(n|0)==0;if(u){if(w){m=0}else{c=e+332|0;h=yA[c>>2]|0;d=(h|0)==0;if(d){E=7}else{m=0}}}else{if(w){m=0}else{E=7}}if((E|0)==7){m=1}v=Te(e,r,m,4096)|0;i=v;return i|0}function Ir(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0;Y=RA;n=e+24|0;o=yA[n>>2]|0;w=o-r|0;M=e+28|0;x=yA[M>>2]|0;z=(w|0)>(x|0);if(z){t=0;return t|0}V=2147483647-r|0;q=(o|0)>(V|0);if(q){G=yA[e>>2]|0;W=(G|0)==(0|0);if(!W){Wn(G)}a=e+16|0;s=yA[a>>2]|0;l=(s|0)==(0|0);if(!l){Wn(s)}f=e+20|0;u=yA[f>>2]|0;c=(u|0)==(0|0);if(!c){Wn(u)}tl(e|0,0,360)|0;t=-1;return t|0}h=o+r|0;d=(h|0)<2147483615;v=h+32|0;i=d?v:h;m=e+16|0;E=yA[m>>2]|0;p=i<<2;_=jn(E,p)|0;b=(_|0)==(0|0);if(b){S=yA[e>>2]|0;k=(S|0)==(0|0);if(!k){Wn(S)}g=yA[m>>2]|0;A=(g|0)==(0|0);if(!A){Wn(g)}O=e+20|0;y=yA[O>>2]|0;F=(y|0)==(0|0);if(!F){Wn(y)}tl(e|0,0,360)|0;t=-1;return t|0}yA[m>>2]=_;R=e+20|0;L=yA[R>>2]|0;N=i<<3;T=jn(L,N)|0;D=(T|0)==(0|0);if(!D){yA[R>>2]=T;yA[n>>2]=i;t=0;return t|0}B=yA[e>>2]|0;P=(B|0)==(0|0);if(!P){Wn(B)}C=yA[m>>2]|0;I=(C|0)==(0|0);if(!I){Wn(C)}H=yA[R>>2]|0;U=(H|0)==(0|0);if(!U){Wn(H)}tl(e|0,0,360)|0;t=-1;return t|0}function Te(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0;var A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0;var G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0;var ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0;var Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0;var Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0,mr=0;var wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0,Pr=0;var Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0,ei=0,ri=0;var ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0,bi=0,Si=0;var ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0,Ui=0,zi=0;var Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0,at=0,st=0;var lt=0,ft=0,ut=0,ct=0;ct=RA;w=e+28|0;E=yA[w>>2]|0;Me=(E|0)>255;n=Me?255:E;xe=(e|0)==(0|0);if(xe){o=0;return o|0}Ke=yA[e>>2]|0;ar=(Ke|0)==(0|0);Er=(n|0)==0;$i=Er|ar;if($i){o=0;return o|0}Fr=e+332|0;Hr=yA[Fr>>2]|0;Zr=(Hr|0)==0;e:do{if(Zr){J=e+16|0;ot=0;while(1){le=(ot|0)<(n|0);if(!le){s=i;Pi=0;Ci=0;Ii=0;xi=0;Hi=0;Ui=0;zi=0;Vi=0;lt=ot;ut=14;break e}_e=yA[J>>2]|0;ge=_e+(ot<<2)|0;Ae=yA[ge>>2]|0;Oe=Ae&255;ye=(Oe|0)==255;Fe=ot+1|0;if(ye){ot=Fe}else{s=i;Pi=0;Ci=0;Ii=0;xi=0;Hi=0;Ui=0;zi=0;Vi=0;lt=Fe;ut=14;break}}}else{p=(n|0)>0;if(p){R=e+16|0;U=e+20|0;si=0;_i=-1;bi=-1;Si=-1;ki=-1;gi=-1;Ai=-1;Oi=-1;yi=-1;et=0;it=0;st=0;while(1){Re=(si|0)>(t|0);Le=(et|0)>3;Ji=Re&Le;if(Ji){a=1;ci=_i;hi=bi;di=Si;vi=ki;mi=gi;wi=Ai;Ei=Oi;pi=yi;at=st;break}Ne=yA[R>>2]|0;Te=Ne+(st<<2)|0;De=yA[Te>>2]|0;Be=De&255;Pe=Be+si|0;Ce=(Be|0)==255;if(Ce){Mi=_i;Fi=bi;Ri=Si;Li=ki;Ni=gi;Ti=Ai;Di=Oi;Bi=yi;rt=0;tt=it}else{Ie=yA[U>>2]|0;He=Ie+(st<<3)|0;Ue=He;ze=Ue;Ve=yA[ze>>2]|0;qe=Ue+4|0;Ge=qe;We=yA[Ge>>2]|0;je=it+1|0;Ye=Ve&255;Xe=dt(Ve|0,We|0,8)|0;Ze=Un;Je=Xe&255;Qe=dt(Ve|0,We|0,16)|0;$e=Un;er=Qe&255;rr=dt(Ve|0,We|0,24)|0;ir=Un;tr=rr&255;nr=We&255;or=dt(Ve|0,We|0,40)|0;sr=Un;lr=or&255;fr=dt(Ve|0,We|0,48)|0;ur=Un;cr=fr&255;hr=dt(Ve|0,We|0,56)|0;dr=Un;vr=hr&255;Mi=Ye;Fi=er;Ri=tr;Li=nr;Ni=lr;Ti=cr;Di=vr;Bi=Je;rt=je;tt=je}mr=st+1|0;wr=(mr|0)<(n|0);if(wr){si=Pe;_i=Mi;bi=Fi;Si=Ri;ki=Li;gi=Ni;Ai=Ti;Oi=Di;yi=Bi;et=rt;it=tt;st=mr}else{a=i;ci=Mi;hi=Fi;di=Ri;vi=Li;mi=Ni;wi=Ti;Ei=Di;pi=Bi;at=mr;break}}pr=(at|0)==255;if(pr){qi=ci;Gi=hi;Wi=di;ji=vi;Yi=mi;Xi=wi;Ki=Ei;Zi=pi;ft=255}else{s=a;Pi=ci;Ci=hi;Ii=di;xi=vi;Hi=mi;Ui=wi;zi=Ei;Vi=pi;lt=at;ut=14}}else{s=i;Pi=-1;Ci=-1;Ii=-1;xi=-1;Hi=-1;Ui=-1;zi=-1;Vi=-1;lt=0;ut=14}}}while(0);if((ut|0)==14){_r=(s|0)==0;if(_r){o=0;return o|0}else{qi=Pi;Gi=Ci;Wi=Ii;ji=xi;Yi=Hi;Xi=Ui;Ki=zi;Zi=Vi;ft=lt}}br=e+40|0;An[br>>0]=1399285583&255;An[br+1>>0]=1399285583>>8&255;An[br+2>>0]=1399285583>>16&255;An[br+3>>0]=1399285583>>24;Sr=e+44|0;An[Sr>>0]=0;kr=e+45|0;An[kr>>0]=0;gr=e+16|0;Ar=yA[gr>>2]|0;Or=yA[Ar>>2]|0;yr=Or>>>8;c=yr&1;Mr=c^1;Rr=Mr|2;l=Zr?Rr:Mr;nt=l&255;An[kr>>0]=nt;Lr=e+328|0;Nr=yA[Lr>>2]|0;Tr=(Nr|0)!=0;Dr=(E|0)==(ft|0);Qi=Tr&Dr;if(Qi){f=Zr?Rr:Mr;Br=f|4;Pr=Br&255;An[kr>>0]=Pr}yA[Fr>>2]=1;Cr=e+46|0;An[Cr>>0]=qi;Ir=e+47|0;An[Ir>>0]=Zi;xr=e+48|0;An[xr>>0]=Gi;Ur=e+49|0;An[Ur>>0]=Wi;zr=e+50|0;An[zr>>0]=ji;Vr=e+51|0;An[Vr>>0]=Yi;qr=e+52|0;An[qr>>0]=Xi;Gr=e+53|0;An[Gr>>0]=Ki;Wr=e+336|0;jr=yA[Wr>>2]|0;Yr=jr&255;Xr=e+54|0;An[Xr>>0]=Yr;Kr=jr>>>8;Jr=Kr&255;Qr=e+55|0;An[Qr>>0]=Jr;$r=jr>>>16;ei=$r&255;ri=e+56|0;An[ri>>0]=ei;ii=jr>>>24;ti=ii&255;ni=e+57|0;An[ni>>0]=ti;oi=e+340|0;ai=yA[oi>>2]|0;_=(ai|0)==-1;if(_){yA[oi>>2]=0;S=0}else{S=ai}b=S+1|0;yA[oi>>2]=b;k=S&255;g=e+58|0;An[g>>0]=k;A=S>>>8;O=A&255;y=e+59|0;An[y>>0]=O;M=S>>>16;F=M&255;L=e+60|0;An[L>>0]=F;N=S>>>24;T=N&255;D=e+61|0;An[D>>0]=T;B=e+62|0;P=ft&255;C=e+66|0;An[B>>0]=0&255;An[B+1>>0]=0>>8&255;An[B+2>>0]=0>>16&255;An[B+3>>0]=0>>24;An[C>>0]=P;I=(ft|0)>0;if(I){x=yA[Ar>>2]|0;H=x&255;z=e+67|0;An[z>>0]=H;V=x&255;ui=(ft|0)==1;if(ui){u=V}else{G=1;Q=V;while(1){h=yA[gr>>2]|0;q=h+(G<<2)|0;W=yA[q>>2]|0;j=W&255;Y=G+27|0;X=(e+40|0)+Y|0;An[X>>0]=j;K=W&255;Z=K+Q|0;$=G+1|0;fi=($|0)==(ft|0);if(fi){u=Z;break}else{G=$;Q=Z}}}d=yA[e>>2]|0;v=yA[w>>2]|0;m=yA[gr>>2]|0;ae=d;ce=v;de=m;li=u}else{ae=Ke;ce=E;de=Ar;li=0}yA[r>>2]=br;ee=ft+27|0;re=e+324|0;yA[re>>2]=ee;ie=r+4|0;yA[ie>>2]=ee;te=e+12|0;ne=yA[te>>2]|0;oe=ae+ne|0;se=r+8|0;yA[se>>2]=oe;fe=r+12|0;yA[fe>>2]=li;ue=ce-ft|0;yA[w>>2]=ue;he=de+(ft<<2)|0;ve=ue<<2;Xn(de|0,he|0,ve|0)|0;me=e+20|0;we=yA[me>>2]|0;Ee=we+(ft<<3)|0;pe=yA[w>>2]|0;be=pe<<3;Xn(we|0,Ee|0,be|0)|0;Se=yA[te>>2]|0;ke=Se+li|0;yA[te>>2]=ke;ht(r);o=1;return o|0}function De(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0;ge=RA;t=e+104|0;n=yA[t>>2]|0;m=e+88|0;y=n+12|0;yA[m>>2]=0|0;yA[m+4>>2]=0|0;yA[m+8>>2]=0|0;yA[m+12>>2]=0|0;I=yA[y>>2]|0;Oi(I);X=n+16|0;oe=yA[X>>2]|0;Oi(oe);we=n+20|0;be=yA[we>>2]|0;Oi(be);Se=n+24|0;o=yA[Se>>2]|0;Oi(o);a=n+28|0;s=yA[a>>2]|0;Oi(s);l=n+32|0;f=yA[l>>2]|0;Oi(f);u=n+36|0;c=yA[u>>2]|0;Oi(c);h=n+40|0;d=yA[h>>2]|0;Oi(d);v=n+44|0;w=yA[v>>2]|0;Oi(w);E=n+48|0;p=yA[E>>2]|0;Oi(p);_=n+52|0;b=yA[_>>2]|0;Oi(b);S=n+56|0;k=yA[S>>2]|0;Oi(k);g=n+60|0;A=yA[g>>2]|0;Oi(A);O=n+64|0;M=yA[O>>2]|0;Oi(M);F=n+68|0;R=yA[F>>2]|0;Oi(R);L=yA[25664>>2]|0;N=L+12|0;T=yA[N>>2]|0;D=vt[T&1](e)|0;B=(D|0)==0;if(!B){i=D;return i|0}P=(r|0)==(0|0);if(P){i=0;return i|0}C=Ju(e)|0;x=(C|0)==0;if(!x){i=-131;return i|0}H=e+4|0;U=Oe(H)|0;yA[r>>2]=U;z=Jt(H)|0;V=r+4|0;yA[V>>2]=z;q=r+8|0;yA[q>>2]=0;G=e+44|0;W=yA[G>>2]|0;j=r+12|0;yA[j>>2]=W;Y=e+48|0;K=Y;Z=K;J=yA[Z>>2]|0;Q=K+4|0;$=Q;ee=yA[$>>2]|0;re=r+16|0;ie=re;te=ie;yA[te>>2]=J;ne=ie+4|0;ae=ne;yA[ae>>2]=ee;se=e+56|0;le=se;fe=le;ue=yA[fe>>2]|0;ce=le+4|0;he=ce;de=yA[he>>2]|0;ve=r+24|0;me=ve;Ee=me;yA[Ee>>2]=ue;pe=me+4|0;_e=pe;yA[_e>>2]=de;i=0;return i|0}function Be(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0.0,u=0.0,c=0.0,h=0.0,d=0.0,v=0,m=0.0,w=0,E=0,p=0,_=0,b=0.0,S=0.0;var k=0.0,g=0.0,A=0,O=0,y=0,M=0,F=0,R=0.0,L=0.0,N=0.0,T=0.0,D=0,B=0,P=0,C=0,I=0.0,x=0,H=0.0,U=0.0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0;J=RA;i=e+28|0;t=yA[i>>2]|0;K=r;Q=K+48|0;do{yA[K>>2]=0|0;K=K+4|0}while((K|0)<(Q|0));v=t+3372|0;O=yA[v>>2]|0;C=(O|0)>0;if(!C){return}G=e+8|0;W=yA[G>>2]|0;j=yA[t>>2]|0;Y=j>>1;X=t+4|0;n=yA[X>>2]|0;o=(n|0)/(j|0)&-1;a=r+24|0;yA[a>>2]=o;yA[r>>2]=1;s=t+3360|0;l=yA[s>>2]|0;f=+(l|0);u=+(Y|0);c=f*u;h=+(W|0);d=c/h;m=+Hn(d);w=~~m;E=r+12|0;yA[E>>2]=w;p=t+3364|0;_=yA[p>>2]|0;b=+(_|0);S=b*u;k=S/h;g=+Hn(k);A=~~g;y=r+16|0;yA[y>>2]=A;M=t+3368|0;F=yA[M>>2]|0;R=+(F|0);L=R*u;N=L/h;T=+Hn(N);D=~~T;B=r+20|0;yA[B>>2]=D;P=r+32|0;FA[P>>3]=7.0;I=+(O|0);x=t+3376|0;H=+FA[x>>3];U=I*H;z=~~U;V=r+8|0;yA[V>>2]=z;q=r+4|0;yA[q>>2]=z;return}function Ur(e){e=e|0;var r=0,i=0,t=0,n=0;t=RA;r=e;n=r+48|0;do{yA[r>>2]=0|0;r=r+4|0}while((r|0)<(n|0));return}function Ju(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0;u=RA;i=e+64|0;t=yA[i>>2]|0;n=t+104|0;o=yA[n>>2]|0;a=o+80|0;s=yA[a>>2]|0;l=(s|0)!=0;r=l&1;return r|0}function Pe(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0.0,d=0,v=0,m=0.0,w=0.0,E=0.0,p=0,_=0,b=0.0;var S=0.0,k=0.0,g=0.0,A=0.0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0.0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0;var se=0,le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0;var Me=0,Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0;var Ye=0,Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0;var dr=0,vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0;var Dr=0,Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0;var $r=0,ei=0,ri=0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0.0,fi=0,ui=0.0,ci=0.0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0;var _i=0,bi=0,Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0.0,Ri=0.0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0;var Hi=0,Ui=0,zi=0,Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0;var ot=0,at=0,st=0,lt=0,ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0.0,bt=0.0,St=0.0,kt=0.0,gt=0.0,At=0;var Ot=0,yt=0,Mt=0,Ft=0,Rt=0,Lt=0,Nt=0,Tt=0,Dt=0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0.0,zt=0.0,Vt=0,qt=0,Gt=0;var Wt=0,jt=0,Yt=0,Xt=0,Kt=0;Kt=RA;f=e+104|0;u=yA[f>>2]|0;dr=e+64|0;ri=yA[dr>>2]|0;hi=ri+104|0;gi=yA[hi>>2]|0;Bi=ri+4|0;Wi=yA[Bi>>2]|0;it=Wi+28|0;dt=yA[it>>2]|0;c=gi+112|0;k=+FA[c>>3];D=+Hn(k);G=~~D;re=(u+12|0)+(G<<2)|0;he=yA[re>>2]|0;ge=Jt(he)|0;Be=ge<<3;We=e+28|0;ir=yA[We>>2]|0;vr=(ir|0)==0;Or=gi+96|0;Cr=yA[Or>>2]|0;if(vr){Yr=gi+100|0;Kr=yA[Yr>>2]|0;B=Cr;Q=Yr;ie=Kr}else{Zr=gi+104|0;Jr=yA[Zr>>2]|0;Qr=gi+100|0;$r=yA[Qr>>2]|0;ei=LA(Jr,Cr)|0;ii=LA(Jr,$r)|0;B=ei;Q=Qr;ie=ii}ti=dt+(ir<<2)|0;ni=yA[ti>>2]|0;oi=ni>>1;ai=dt+3372|0;si=yA[ai>>2]|0;li=+(si|0);fi=dt+3376|0;ui=+FA[fi>>3];ci=li*ui;di=~~ci;vi=gi+80|0;mi=yA[vi>>2]|0;wi=(mi|0)==0;Ei=gi+120|0;if(wi){pi=yA[Ei>>2]|0;_i=(pi|0)==(0|0);if(!_i){i=-1;return i|0}yA[Ei>>2]=e;i=0;return i|0}yA[Ei>>2]=e;bi=gi+92|0;Si=yA[bi>>2]|0;ki=(Si|0)>0;if(ki){if(vr){Di=Si}else{Ai=gi+104|0;Oi=yA[Ai>>2]|0;yi=LA(Oi,Si)|0;Di=yi}Mi=dt+3384|0;Fi=+FA[Mi>>3];Ri=15.0/Fi;Li=gi+84|0;Ni=yA[Li>>2]|0;Ti=Be-Di|0;Pi=Ni+Ti|0;Ci=(Pi|0)>(di|0);e:do{if(Ci){Ii=(G|0)>0;xi=(Be|0)>(Di|0);Dt=xi&Ii;if(Dt){Hi=Be-Di|0;Ui=Hi+Ni|0;zi=(Ui|0)>(di|0);if(zi){At=G;while(1){Vi=At+-1|0;qi=(u+12|0)+(Vi<<2)|0;Gi=yA[qi>>2]|0;ji=Jt(Gi)|0;Yi=ji<<3;Xi=(At|0)>1;Ki=(Yi|0)>(Di|0);Tt=KiΞif(!Tt){Ot=Vi;break e}s=yA[Li>>2]|0;Zi=Yi-Di|0;Ji=Zi+s|0;Qi=(Ji|0)>(di|0);if(Qi){At=Vi}else{Ot=Vi;break}}}else{Ot=G}}else{Ot=G}}else{$i=(Pi|0)<(di|0);if($i){et=G+1|0;rt=(et|0)<15;tt=(Be|0)<(Di|0);Pt=tt&rt;if(Pt){nt=Be-Di|0;ot=nt+Ni|0;at=(ot|0)<(di|0);if(at){lt=et;while(1){st=(u+12|0)+(lt<<2)|0;ft=yA[st>>2]|0;ut=Jt(ft)|0;ct=ut<<3;ht=lt+1|0;vt=(ht|0)<15;mt=(ct|0)<(Di|0);Bt=mt&vt;if(!Bt){Ot=lt;break e}a=yA[Li>>2]|0;wt=ct-Di|0;Et=wt+a|0;pt=(Et|0)<(di|0);if(pt){lt=ht}else{Ot=lt;break}}}else{Ot=G}}else{Ot=G}}else{Ot=G}}}while(0);_t=+(Ot|0);bt=+FA[c>>3];St=_t-bt;kt=+Hn(St);gt=+(oi|0);h=kt/gt;d=Wi+8|0;v=yA[d>>2]|0;m=+(v|0);w=m*h;E=-Ri;p=wRi;zt=_?Ri:Ut;b=zt/m;S=b*gt;g=S+bt;FA[c>>3]=g;A=+Hn(g);O=~~A;y=(u+12|0)+(O<<2)|0;M=yA[y>>2]|0;F=Jt(M)|0;R=F<<3;l=yA[Or>>2]|0;L=l;yt=O;Vt=R}else{L=Cr;yt=G;Vt=Be}N=(L|0)>0;T=(Vt|0)<(B|0);Ct=T&N;e:do{if(Ct){P=gi+88|0;C=yA[P>>2]|0;I=Vt-B|0;x=I+C|0;H=(x|0)<0;if(H){Mt=yt;qt=Vt;while(1){U=Mt+1|0;z=(Mt|0)>13;if(z){Ft=U;Gt=qt;break e}V=(u+12|0)+(U<<2)|0;q=yA[V>>2]|0;W=Jt(q)|0;j=W<<3;Y=yA[P>>2]|0;X=j-B|0;K=X+Y|0;Z=(K|0)<0;if(Z){Mt=U;qt=j}else{Ft=U;Gt=j;break}}}else{Ft=yt;Gt=Vt}}else{Ft=yt;Gt=Vt}}while(0);J=yA[Q>>2]|0;$=(J|0)>0;ee=(Gt|0)>(ie|0);It=ee&$;e:do{if(It){te=gi+88|0;ne=yA[te>>2]|0;oe=Gt-ie|0;ae=oe+ne|0;se=yA[ai>>2]|0;le=(ae|0)>(se|0);if(le){Rt=Ft;Wt=Gt;while(1){fe=Rt+-1|0;ue=(Rt|0)<1;if(ue){Lt=fe;jt=Wt;break e}ce=(u+12|0)+(fe<<2)|0;de=yA[ce>>2]|0;ve=Jt(de)|0;me=ve<<3;we=yA[te>>2]|0;Ee=me-ie|0;pe=Ee+we|0;_e=yA[ai>>2]|0;be=(pe|0)>(_e|0);if(be){Rt=fe;Wt=me}else{Lt=fe;jt=me;break}}}else{Lt=Ft;jt=Gt}}else{Lt=Ft;jt=Gt}}while(0);Se=(Lt|0)<0;if(Se){ke=yA[ai>>2]|0;Ae=gi+88|0;Oe=yA[Ae>>2]|0;ye=ke+ie|0;Me=ye-Oe|0;Fe=(Me|0)/8&-1;Re=gi+124|0;yA[Re>>2]=0;Le=u+12|0;Ne=yA[Le>>2]|0;Te=Jt(Ne)|0;De=(Te|0)>(Fe|0);if(De){Pe=yA[Le>>2]|0;Ce=Fe<<3;Zt(Pe,Ce);Ie=yA[Le>>2]|0;xe=Jt(Ie)|0;He=xe<<3;Yt=He}else{Yt=jt}}else{Ue=gi+88|0;ze=yA[Ue>>2]|0;Ve=B+7|0;qe=Ve-ze|0;Ge=(qe|0)/8&-1;je=(Lt|0)>14;n=je?14:Lt;Ye=gi+124|0;yA[Ye>>2]=n;Xe=(u+12|0)+(n<<2)|0;Ke=yA[Xe>>2]|0;Ze=Jt(Ke)|0;Je=Ge-Ze|0;Qe=(Je|0)>0;$e=yA[Xe>>2]|0;if(Qe){rr=$e;Nt=Je;while(1){er=Nt+-1|0;Zu(rr,0,8);tr=(Nt|0)>1;nr=yA[Xe>>2]|0;if(tr){rr=nr;Nt=er}else{o=nr;break}}}else{o=$e}or=Jt(o)|0;ar=or<<3;Yt=ar}sr=yA[Or>>2]|0;lr=(sr|0)>0;if(lr){Xt=37}else{fr=yA[Q>>2]|0;ur=(fr|0)>0;if(ur){Xt=37}}do{if((Xt|0)==37){cr=(ie|0)>0;hr=(Yt|0)>(ie|0);xt=cr&hr;if(xt){mr=Yt-ie|0;wr=gi+88|0;Er=yA[wr>>2]|0;pr=mr+Er|0;yA[wr>>2]=pr;break}_r=(B|0)>0;br=(Yt|0)<(B|0);Ht=_r&br;if(Ht){Sr=Yt-B|0;kr=gi+88|0;gr=yA[kr>>2]|0;Ar=Sr+gr|0;yA[kr>>2]=Ar;break}yr=gi+88|0;Mr=yA[yr>>2]|0;Fr=(Mr|0)>(di|0);if(Fr){if(cr){Rr=Yt-ie|0;Lr=Mr+Rr|0;Nr=(Lr|0)<(di|0);r=Nr?di:Lr;yA[yr>>2]=r;break}else{yA[yr>>2]=di;break}}else{if(_r){Tr=Yt-B|0;Dr=Mr+Tr|0;Br=(Dr|0)>(di|0);t=Br?di:Dr;yA[yr>>2]=t;break}else{yA[yr>>2]=di;break}}}}while(0);Pr=yA[bi>>2]|0;Ir=(Pr|0)>0;if(!Ir){i=0;return i|0}xr=yA[We>>2]|0;Hr=(xr|0)==0;if(Hr){Gr=Pr}else{Ur=gi+104|0;zr=yA[Ur>>2]|0;Vr=LA(zr,Pr)|0;Gr=Vr}qr=Yt-Gr|0;Wr=gi+84|0;jr=yA[Wr>>2]|0;Xr=qr+jr|0;yA[Wr>>2]=Xr;i=0;return i|0}function Ce(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0;ie=RA;t=e+104|0;n=yA[t>>2]|0;m=n+120|0;y=yA[m>>2]|0;I=(y|0)==(0|0);if(I){i=0;return i|0}X=(r|0)==(0|0);if(!X){K=y+104|0;Z=yA[K>>2]|0;J=y+64|0;Q=yA[J>>2]|0;o=Q+104|0;a=yA[o>>2]|0;s=a+80|0;l=yA[s>>2]|0;ee=(l|0)==0;if(ee){$=7}else{f=n+124|0;u=yA[f>>2]|0;$=u}c=(Z+12|0)+($<<2)|0;h=yA[c>>2]|0;d=Oe(h)|0;yA[r>>2]=d;v=yA[c>>2]|0;w=Jt(v)|0;E=r+4|0;yA[E>>2]=w;p=r+8|0;yA[p>>2]=0;_=y+44|0;b=yA[_>>2]|0;S=r+12|0;yA[S>>2]=b;k=y+48|0;g=k;A=g;O=yA[A>>2]|0;M=g+4|0;F=M;R=yA[F>>2]|0;L=r+16|0;N=L;T=N;yA[T>>2]=O;D=N+4|0;B=D;yA[B>>2]=R;P=y+56|0;C=P;x=C;H=yA[x>>2]|0;U=C+4|0;z=U;V=yA[z>>2]|0;q=r+24|0;G=q;W=G;yA[W>>2]=H;j=G+4|0;Y=j;yA[Y>>2]=V}yA[m>>2]=0;i=1;return i|0}function Ie(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0;S=RA;_=r;k=_+112|0;do{yA[_>>2]=0|0;_=_+4|0}while((_|0)<(k|0));i=r+64|0;yA[i>>2]=e;t=r+76|0;yA[t>>2]=0;f=r+68|0;yA[f>>2]=0;u=yA[e>>2]|0;c=(u|0)==0;if(c){return 0}h=BA(1,72)|0;d=r+104|0;yA[d>>2]=h;v=h+4|0;MA[v>>2]=-9999.0;m=r+4|0;w=h+12|0;n=h+40|0;p=0;while(1){o=(p|0)==7;if(o){yA[n>>2]=m;gi(m);p=8;continue}else{a=BA(1,20)|0;s=w+(p<<2)|0;yA[s>>2]=a;gi(a);l=p+1|0;E=(l|0)==15;if(E){break}else{p=l;continue}}}return 0}function Qu(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0;M=RA;i=r+7|0;t=i&-8;v=e+72|0;_=yA[v>>2]|0;b=_+t|0;S=e+76|0;k=yA[S>>2]|0;g=(b|0)>(k|0);A=e+68|0;O=yA[A>>2]|0;if(!g){w=O;E=_;m=w+E|0;p=E+t|0;yA[v>>2]=p;return m|0}n=(O|0)==(0|0);if(!n){o=O;a=DA(8)|0;s=e+80|0;l=yA[s>>2]|0;f=l+_|0;yA[s>>2]=f;u=e+84|0;c=yA[u>>2]|0;h=a+4|0;yA[h>>2]=c;yA[a>>2]=o;yA[u>>2]=a}yA[S>>2]=t;d=DA(t)|0;yA[A>>2]=d;yA[v>>2]=0;w=d;E=0;m=w+E|0;p=E+t|0;yA[v>>2]=p;return m|0}function xe(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0;C=RA;t=e+104|0;n=yA[t>>2]|0;m=e+84|0;A=yA[m>>2]|0;O=(A|0)==(0|0);if(!O){D=A;while(1){y=D+4|0;M=yA[y>>2]|0;F=yA[D>>2]|0;Wn(F);Wn(D);R=(M|0)==(0|0);if(R){break}else{D=M}}}L=e+80|0;o=yA[L>>2]|0;a=(o|0)==0;r=e+68|0;i=yA[r>>2]|0;if(a){w=i}else{s=e+76|0;l=yA[s>>2]|0;f=l+o|0;u=jn(i,f)|0;yA[r>>2]=u;c=yA[L>>2]|0;h=yA[s>>2]|0;d=h+c|0;yA[s>>2]=d;yA[L>>2]=0;w=u}v=e+72|0;yA[v>>2]=0;yA[m>>2]=0;E=(w|0)==(0|0);if(!E){Wn(w)}p=(n|0)==(0|0);if(p){B=e;I=B+112|0;do{yA[B>>2]=0|0;B=B+4|0}while((B|0)<(I|0));return 0}else{T=0}while(1){_=(n+12|0)+(T<<2)|0;b=yA[_>>2]|0;Ai(b);S=(T|0)==7;if(S){T=8;continue}k=yA[_>>2]|0;Wn(k);g=T+1|0;N=(g|0)==15;if(N){break}else{T=g}}Wn(n);B=e;I=B+112|0;do{yA[B>>2]=0|0;B=B+4|0}while((B|0)<(I|0));return 0}function ze(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0;E=RA;t=We(e,r,1)|0;n=(t|0)==0;if(!n){i=1;return i|0}l=e+104|0;f=yA[l>>2]|0;u=br(r)|0;c=f+60|0;yA[c>>2]=u;h=BA(1,180)|0;yA[f>>2]=h;Ze(h,r);d=f+80|0;Be(r,d);v=e+64|0;m=v;o=m;yA[o>>2]=3;a=m+4|0;s=a;yA[s>>2]=0;i=0;return i|0}function Ti(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0;var se=0,le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0;var Me=0,Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0;var Ye=0,Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0;var dr=0,vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0;var Dr=0,Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0;xr=RA;u=(e|0)==(0|0);if(u){return}c=e+4|0;re=yA[c>>2]|0;he=(re|0)!=(0|0);if(he){ge=re+28|0;Be=yA[ge>>2]|0;ce=Be}else{ce=0}We=e+104|0;ir=yA[We>>2]|0;dr=(ir|0)!=(0|0);if(dr){Ar=yA[ir>>2]|0;h=(Ar|0)==(0|0);if(!h){zr(Ar);g=yA[ir>>2]|0;Wn(g)}B=ir+12|0;W=yA[B>>2]|0;K=(W|0)==(0|0);if(!K){Z=yA[W>>2]|0;Vr(Z);J=yA[B>>2]|0;Q=yA[J>>2]|0;Wn(Q);$=yA[B>>2]|0;Wn($)}ee=ir+16|0;ie=yA[ee>>2]|0;te=(ie|0)==(0|0);if(!te){ne=yA[ie>>2]|0;Vr(ne);oe=yA[ee>>2]|0;ae=yA[oe>>2]|0;Wn(ae);se=yA[ee>>2]|0;Wn(se)}le=ir+48|0;fe=yA[le>>2]|0;ue=(fe|0)==(0|0);if(!ue){de=(ce|0)==(0|0);if(de){Ue=fe}else{ve=ce+16|0;me=yA[ve>>2]|0;we=(me|0)>0;if(we){Ee=ce+800|0;pe=yA[Ee>>2]|0;_e=25640+(pe<<2)|0;be=yA[_e>>2]|0;Se=be+16|0;ke=yA[Se>>2]|0;Ae=yA[fe>>2]|0;ut[ke&7](Ae);Oe=yA[ve>>2]|0;ye=(Oe|0)>1;if(ye){Fe=1;while(1){r=yA[le>>2]|0;Me=Ee+(Fe<<2)|0;Re=yA[Me>>2]|0;Le=25640+(Re<<2)|0;Ne=yA[Le>>2]|0;Te=Ne+16|0;De=yA[Te>>2]|0;Pe=r+(Fe<<2)|0;Ce=yA[Pe>>2]|0;ut[De&7](Ce);Ie=Fe+1|0;xe=yA[ve>>2]|0;He=(Ie|0)<(xe|0);if(He){Fe=Ie}else{break}}}i=yA[le>>2]|0;Ue=i}else{Ue=fe}}Wn(Ue)}ze=ir+52|0;Ve=yA[ze>>2]|0;qe=(Ve|0)==(0|0);if(!qe){Ge=(ce|0)==(0|0);if(Ge){pr=Ve}else{je=ce+20|0;Ye=yA[je>>2]|0;Xe=(Ye|0)>0;if(Xe){Ke=ce+1312|0;Ze=yA[Ke>>2]|0;Je=25648+(Ze<<2)|0;Qe=yA[Je>>2]|0;$e=Qe+16|0;er=yA[$e>>2]|0;rr=yA[Ve>>2]|0;ut[er&7](rr);tr=yA[je>>2]|0;nr=(tr|0)>1;if(nr){ar=1;while(1){t=yA[ze>>2]|0;or=Ke+(ar<<2)|0;sr=yA[or>>2]|0;lr=25648+(sr<<2)|0;fr=yA[lr>>2]|0;ur=fr+16|0;cr=yA[ur>>2]|0;hr=t+(ar<<2)|0;vr=yA[hr>>2]|0;ut[cr&7](vr);mr=ar+1|0;wr=yA[je>>2]|0;Er=(mr|0)<(wr|0);if(Er){ar=mr}else{break}}}n=yA[ze>>2]|0;pr=n}else{pr=Ve}}Wn(pr)}_r=ir+56|0;br=yA[_r>>2]|0;Sr=(br|0)==(0|0);if(!Sr){kr=(ce|0)==(0|0);if(kr){Br=br}else{gr=ce+28|0;Or=yA[gr>>2]|0;yr=(Or|0)>0;if(yr){Gr(br);Mr=yA[gr>>2]|0;Fr=(Mr|0)>1;if(Fr){Lr=1;while(1){o=yA[_r>>2]|0;Rr=o+(Lr*52|0)|0;Gr(Rr);Nr=Lr+1|0;Tr=yA[gr>>2]|0;Dr=(Nr|0)<(Tr|0);if(Dr){Lr=Nr}else{break}}}a=yA[_r>>2]|0;Br=a}else{Br=br}}Wn(Br)}d=ir+60|0;v=yA[d>>2]|0;m=(v|0)==(0|0);if(!m){qr(v)}w=ir+80|0;Ur(w);E=ir+20|0;Zr(E);p=ir+32|0;Zr(p)}_=e+8|0;b=yA[_>>2]|0;S=(b|0)==(0|0);if(!S){if(he){k=re+4|0;A=yA[k>>2]|0;O=(A|0)>0;if(O){M=b;X=A;Pr=0;while(1){y=M+(Pr<<2)|0;F=yA[y>>2]|0;R=(F|0)==(0|0);if(R){T=X}else{Wn(F);l=yA[k>>2]|0;T=l}L=Pr+1|0;N=(L|0)<(T|0);if(!N){break}s=yA[_>>2]|0;M=s;X=T;Pr=L}f=yA[_>>2]|0;D=f}else{D=b}}else{D=b}Wn(D);P=e+12|0;C=yA[P>>2]|0;I=(C|0)==(0|0);if(!I){Wn(C)}}if(dr){x=ir+64|0;H=yA[x>>2]|0;U=(H|0)==(0|0);if(!U){Wn(H)}z=ir+68|0;V=yA[z>>2]|0;q=(V|0)==(0|0);if(!q){Wn(V)}G=ir+72|0;j=yA[G>>2]|0;Y=(j|0)==(0|0);if(!Y){Wn(j)}Wn(ir)}Cr=e;Hr=Cr+112|0;do{yA[Cr>>2]=0|0;Cr=Cr+4|0}while((Cr|0)<(Hr|0));return}function Ve(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0;he=RA;s=e+4|0;l=yA[s>>2]|0;_=e+104|0;L=yA[_>>2]|0;z=L+64|0;Q=yA[z>>2]|0;ae=(Q|0)==(0|0);if(!ae){Wn(Q)}yA[z>>2]=0;se=L+68|0;le=yA[se>>2]|0;fe=(le|0)==(0|0);if(!fe){Wn(le)}yA[se>>2]=0;f=L+72|0;u=yA[f>>2]|0;c=(u|0)==(0|0);if(!c){Wn(u)}yA[f>>2]=0;h=e+20|0;d=yA[h>>2]|0;v=d+r|0;m=e+16|0;w=yA[m>>2]|0;E=(v|0)<(w|0);if(E){i=l+4|0;o=yA[i>>2]|0;D=o;ce=11}else{p=r<<1;b=d+p|0;yA[m>>2]=b;S=l+4|0;k=yA[S>>2]|0;g=(k|0)>0;if(g){A=e+8|0;O=yA[A>>2]|0;y=yA[O>>2]|0;M=b<<2;F=jn(y,M)|0;R=yA[A>>2]|0;yA[R>>2]=F;N=yA[S>>2]|0;T=(N|0)>1;if(T){U=1;while(1){t=yA[m>>2]|0;x=yA[A>>2]|0;H=x+(U<<2)|0;V=yA[H>>2]|0;q=t<<2;G=jn(V,q)|0;W=yA[A>>2]|0;j=W+(U<<2)|0;yA[j>>2]=G;Y=U+1|0;X=yA[S>>2]|0;K=(Y|0)<(X|0);if(K){U=Y}else{D=X;ce=11;break}}}else{D=N;ce=11}}}if((ce|0)==11){B=(D|0)>0;if(B){P=e+8|0;C=yA[h>>2]|0;I=e+12|0;ue=0;while(1){Z=yA[P>>2]|0;J=Z+(ue<<2)|0;$=yA[J>>2]|0;ee=$+(C<<2)|0;re=yA[I>>2]|0;ie=re+(ue<<2)|0;yA[ie>>2]=ee;te=ue+1|0;ne=(te|0)<(D|0);if(ne){ue=te}else{n=I;break}}oe=yA[n>>2]|0;return oe|0}}a=e+12|0;n=a;oe=yA[n>>2]|0;return oe|0}function qe(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0;pe=RA;s=e+4|0;l=yA[s>>2]|0;_=l+28|0;L=yA[_>>2]|0;z=(r|0)<1;if(!z){Z=e+20|0;J=yA[Z>>2]|0;$=J+r|0;ee=e+16|0;re=yA[ee>>2]|0;ie=($|0)>(re|0);if(ie){t=-131;RA=pe;return t|0}yA[Z>>2]=$;te=e+28|0;ne=yA[te>>2]|0;oe=(ne|0)==0;if(!oe){t=0;RA=pe;return t|0}ae=e+48|0;se=yA[ae>>2]|0;le=$-se|0;ue=L+4|0;ce=yA[ue>>2]|0;he=(le|0)>(ce|0);if(!he){t=0;RA=pe;return t|0}je(e);t=0;RA=pe;return t|0}Q=RA;RA=RA+128|0;fe=e+28|0;de=yA[fe>>2]|0;ve=(de|0)==0;if(ve){je(e)}me=L+4|0;f=yA[me>>2]|0;u=f*3|0;Ve(e,u)|0;c=e+20|0;h=yA[c>>2]|0;d=e+32|0;yA[d>>2]=h;v=yA[me>>2]|0;m=v*3|0;w=h+m|0;yA[c>>2]=w;E=l+4|0;p=yA[E>>2]|0;b=(p|0)>0;if(!b){t=0;RA=pe;return t|0}S=e+8|0;k=h;we=0;while(1){g=(k|0)>64;if(g){A=yA[me>>2]|0;O=(k|0)>(A|0);i=O?A:k;y=yA[S>>2]|0;M=y+(we<<2)|0;F=yA[M>>2]|0;o=k-i|0;R=F+(o<<2)|0;+hr(R,Q,i,32);N=yA[S>>2]|0;T=N+(we<<2)|0;D=yA[T>>2]|0;B=yA[d>>2]|0;P=D+(B<<2)|0;a=B+-32|0;C=D+(a<<2)|0;I=yA[c>>2]|0;x=I-B|0;vr(Q,C,32,P,x)}else{H=yA[S>>2]|0;U=H+(we<<2)|0;V=yA[U>>2]|0;q=V+(k<<2)|0;G=yA[c>>2]|0;W=G-k|0;j=W<<2;tl(q|0,0,j|0)|0}Y=we+1|0;X=yA[E>>2]|0;K=(Y|0)<(X|0);if(!K){t=0;break}n=yA[d>>2]|0;k=n;we=Y}RA=pe;return t|0}function Ge(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0.0,I=0.0,x=0,H=0.0,U=0.0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0;var Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0;var vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0;var Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0;var ei=0,ri=0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0;var bi=0,Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0;var Ui=0,zi=0,Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0;var at=0,st=0,lt=0,ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0,Ot=0;var yt=0,Mt=0,Ft=0,Rt=0,Lt=0,Nt=0,Tt=0,Dt=0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0,zt=0,Vt=0,qt=0,Gt=0,Wt=0;var jt=0,Yt=0,Xt=0,Kt=0,Zt=0,Jt=0,Qt=0,$t=0,en=0,rn=0,tn=0,nn=0,on=0,an=0,sn=0,ln=0,fn=0,un=0,cn=0,hn=0;var dn=0,vn=0,mn=0,wn=0,En=0,pn=0,_n=0,bn=0,Sn=0,kn=0,gn=0,An=0,On=0,yn=0,Mn=0,Fn=0,Rn=0,Ln=0,Nn=0,Tn=0;var Dn=0,Bn=0,Pn=0,Cn=0,In=0,xn=0,Hn=0;Hn=RA;c=e+4|0;h=yA[c>>2]|0;mr=h+28|0;ct=yA[mr>>2]|0;kt=e+104|0;Dt=yA[kt>>2]|0;Gt=Dt+60|0;rn=yA[Gt>>2]|0;dn=e+48|0;An=yA[dn>>2]|0;d=e+40|0;A=yA[d>>2]|0;P=ct+(A<<2)|0;j=yA[P>>2]|0;te=(j|0)/2&-1;ve=An-te|0;Oe=r+104|0;Ce=yA[Oe>>2]|0;Ye=e+28|0;nr=yA[Ye>>2]|0;wr=(nr|0)==0;if(wr){t=0;return t|0}Mr=e+32|0;xr=yA[Mr>>2]|0;Kr=(xr|0)==-1;if(Kr){t=0;return t|0}ai=zn(e)|0;Ei=(ai|0)==-1;do{if(Ei){Fi=yA[Mr>>2]|0;Hi=(Fi|0)==0;if(Hi){t=0;return t|0}else{Zi=e+44|0;yA[Zi>>2]=0;o=Zi;At=0;break}}else{st=yA[ct>>2]|0;ht=ct+4|0;dt=yA[ht>>2]|0;vt=(st|0)==(dt|0);mt=e+44|0;if(vt){yA[mt>>2]=0;o=mt;At=0;break}else{yA[mt>>2]=ai;o=mt;At=ai;break}}}while(0);wt=yA[dn>>2]|0;Et=yA[d>>2]|0;pt=ct+(Et<<2)|0;_t=yA[pt>>2]|0;bt=(_t|0)/4&-1;St=bt+wt|0;gt=ct+(At<<2)|0;Ot=yA[gt>>2]|0;yt=(Ot|0)/4&-1;Mt=St+yt|0;Ft=(Ot|0)/2&-1;Rt=Mt+Ft|0;Lt=e+20|0;Nt=yA[Lt>>2]|0;Tt=(Nt|0)<(Rt|0);if(Tt){t=0;return t|0}Bt=r+84|0;Pt=yA[Bt>>2]|0;Ct=(Pt|0)==(0|0);if(!Ct){In=Pt;while(1){It=In+4|0;xt=yA[It>>2]|0;Ht=yA[In>>2]|0;Wn(Ht);Wn(In);Ut=(xt|0)==(0|0);if(Ut){break}else{In=xt}}}zt=r+80|0;Vt=yA[zt>>2]|0;qt=(Vt|0)==0;if(!qt){Wt=r+68|0;jt=yA[Wt>>2]|0;Yt=r+76|0;Xt=yA[Yt>>2]|0;Kt=Xt+Vt|0;Zt=jn(jt,Kt)|0;yA[Wt>>2]=Zt;Jt=yA[zt>>2]|0;Qt=yA[Yt>>2]|0;$t=Qt+Jt|0;yA[Yt>>2]=$t;yA[zt>>2]=0}en=r+72|0;yA[en>>2]=0;yA[Bt>>2]=0;tn=e+36|0;nn=yA[tn>>2]|0;on=r+24|0;yA[on>>2]=nn;an=yA[d>>2]|0;sn=r+28|0;yA[sn>>2]=an;ln=yA[o>>2]|0;fn=r+32|0;yA[fn>>2]=ln;un=(an|0)==0;do{if(un){mn=Vn(e)|0;wn=(mn|0)==0;En=Ce+8|0;if(wn){yA[En>>2]=1;break}else{yA[En>>2]=0;break}}else{cn=(nn|0)==0;hn=(ln|0)==0;Cn=cn|hn;vn=Ce+8|0;if(Cn){yA[vn>>2]=0;break}else{yA[vn>>2]=1;break}}}while(0);pn=r+64|0;yA[pn>>2]=e;_n=e+64|0;bn=_n;Sn=bn;kn=yA[Sn>>2]|0;gn=bn+4|0;On=gn;yn=yA[On>>2]|0;Mn=Yn(kn|0,yn|0,1,0)|0;Fn=Un;Rn=_n;Ln=Rn;yA[Ln>>2]=Mn;Nn=Rn+4|0;Tn=Nn;yA[Tn>>2]=Fn;Dn=r+56|0;Bn=Dn;v=Bn;yA[v>>2]=kn;m=Bn+4|0;w=m;yA[w>>2]=yn;E=e+56|0;p=E;_=p;b=yA[_>>2]|0;S=p+4|0;k=S;g=yA[k>>2]|0;O=r+48|0;y=O;M=y;yA[M>>2]=b;F=y+4|0;R=F;yA[R>>2]=g;L=yA[d>>2]|0;N=ct+(L<<2)|0;T=yA[N>>2]|0;D=r+36|0;yA[D>>2]=T;B=Ce+4|0;C=+MA[B>>2];I=+MA[rn>>2];x=C>I;if(x){MA[rn>>2]=C;H=C}else{H=I}U=+Gn(H,e);MA[rn>>2]=U;MA[B>>2]=U;z=h+4|0;V=yA[z>>2]|0;q=V<<2;G=q+7|0;W=G&-8;Y=yA[en>>2]|0;X=W+Y|0;K=r+76|0;Z=yA[K>>2]|0;J=(X|0)>(Z|0);Q=r+68|0;$=yA[Q>>2]|0;if(J){ee=($|0)==(0|0);if(!ee){re=$;ie=DA(8)|0;ne=yA[zt>>2]|0;oe=ne+Y|0;yA[zt>>2]=oe;ae=yA[Bt>>2]|0;se=ie+4|0;yA[se>>2]=ae;yA[ie>>2]=re;yA[Bt>>2]=ie}yA[K>>2]=W;le=DA(W)|0;yA[Q>>2]=le;yA[en>>2]=0;n=yA[z>>2]|0;ue=le;ce=0;me=n;be=W}else{ue=$;ce=Y;me=V;be=Z}fe=ue+ce|0;he=ce+W|0;yA[en>>2]=he;yA[r>>2]=fe;de=me<<2;we=de+7|0;Ee=we&-8;pe=Ee+he|0;_e=(pe|0)>(be|0);if(_e){Se=(ue|0)==(0|0);if(!Se){ke=ue;ge=DA(8)|0;Ae=yA[zt>>2]|0;ye=Ae+he|0;yA[zt>>2]=ye;Me=yA[Bt>>2]|0;Fe=ge+4|0;yA[Fe>>2]=Me;yA[ge>>2]=ke;yA[Bt>>2]=ge}yA[K>>2]=Ee;Re=DA(Ee)|0;yA[Q>>2]=Re;yA[en>>2]=0;a=yA[z>>2]|0;Ne=Re;Te=0;Be=a;ut=Ee}else{Ne=ue;Te=he;Be=me;ut=be}Le=Ne+Te|0;De=Te+Ee|0;yA[en>>2]=De;yA[Ce>>2]=Le;Pe=(Be|0)>0;e:do{if(Pe){Ie=e+8|0;Ge=De;je=ut;Xe=Ne;Pn=0;while(1){xe=yA[D>>2]|0;He=xe+ve|0;Ue=He<<2;ze=Ue+7|0;Ve=ze&-8;qe=Ve+Ge|0;We=(qe|0)>(je|0);if(We){Ke=(Xe|0)==(0|0);if(!Ke){Ze=Xe;Je=DA(8)|0;Qe=yA[zt>>2]|0;$e=Qe+Ge|0;yA[zt>>2]=$e;er=yA[Bt>>2]|0;rr=Je+4|0;yA[rr>>2]=er;yA[Je>>2]=Ze;yA[Bt>>2]=Je}yA[K>>2]=Ve;ir=DA(Ve)|0;yA[Q>>2]=ir;yA[en>>2]=0;or=ir;ar=0}else{or=Xe;ar=Ge}tr=or+ar|0;sr=ar+Ve|0;yA[en>>2]=sr;lr=yA[Ce>>2]|0;fr=lr+(Pn<<2)|0;yA[fr>>2]=tr;ur=yA[Ce>>2]|0;cr=ur+(Pn<<2)|0;hr=yA[cr>>2]|0;dr=yA[Ie>>2]|0;vr=dr+(Pn<<2)|0;Er=yA[vr>>2]|0;PA(hr|0,Er|0,Ue|0)|0;pr=yA[Ce>>2]|0;_r=pr+(Pn<<2)|0;br=yA[_r>>2]|0;Sr=br+(ve<<2)|0;kr=yA[r>>2]|0;gr=kr+(Pn<<2)|0;yA[gr>>2]=Sr;Ar=Pn+1|0;Or=yA[z>>2]|0;yr=(Ar|0)<(Or|0);if(!yr){break e}s=yA[en>>2]|0;l=yA[K>>2]|0;f=yA[Q>>2]|0;Ge=s;je=l;Xe=f;Pn=Ar}}}while(0);Fr=yA[Mr>>2]|0;Rr=(Fr|0)==0;if(!Rr){Lr=yA[dn>>2]|0;Nr=(Lr|0)<(Fr|0);if(!Nr){yA[Mr>>2]=-1;Tr=r+44|0;yA[Tr>>2]=1;t=1;return t|0}}Dr=ct+4|0;Br=yA[Dr>>2]|0;Pr=(Br|0)/2&-1;Cr=Mt-Pr|0;Ir=(Cr|0)>0;if(!Ir){t=1;return t|0}Hr=yA[Dt>>2]|0;qn(Hr,Cr);Ur=yA[Lt>>2]|0;zr=Ur-Cr|0;yA[Lt>>2]=zr;Vr=yA[z>>2]|0;qr=(Vr|0)>0;if(qr){Gr=e+8|0;Wr=yA[Gr>>2]|0;jr=yA[Wr>>2]|0;Yr=jr+(Cr<<2)|0;Xr=zr<<2;Xn(jr|0,Yr|0,Xr|0)|0;Zr=yA[z>>2]|0;Jr=(Zr|0)>1;if(Jr){ei=1;while(1){u=yA[Lt>>2]|0;Qr=yA[Gr>>2]|0;$r=Qr+(ei<<2)|0;ri=yA[$r>>2]|0;ii=ri+(Cr<<2)|0;ti=u<<2;Xn(ri|0,ii|0,ti|0)|0;ni=ei+1|0;oi=yA[z>>2]|0;si=(ni|0)<(oi|0);if(si){ei=ni}else{break}}}}li=yA[d>>2]|0;yA[tn>>2]=li;fi=yA[o>>2]|0;yA[d>>2]=fi;yA[dn>>2]=Pr;ui=yA[Mr>>2]|0;ci=(ui|0)==0;if(ci){Xi=(Cr|0)<0;Ki=Xi<<31>>31;Ji=E;Qi=Ji;$i=yA[Qi>>2]|0;et=Ji+4|0;rt=et;it=yA[rt>>2]|0;tt=Yn($i|0,it|0,Cr|0,Ki|0)|0;nt=Un;ot=E;at=ot;yA[at>>2]=tt;lt=ot+4|0;ft=lt;yA[ft>>2]=nt;t=1;return t|0}hi=ui-Cr|0;di=(hi|0)<1;i=di?-1:hi;yA[Mr>>2]=i;vi=(i|0)>(Pr|0);if(vi){Di=(Cr|0)<0;Bi=Di<<31>>31;Pi=E;Ci=Pi;Ii=yA[Ci>>2]|0;xi=Pi+4|0;Ui=xi;zi=yA[Ui>>2]|0;Vi=Yn(Ii|0,zi|0,Cr|0,Bi|0)|0;qi=Un;Gi=E;Wi=Gi;yA[Wi>>2]=Vi;ji=Gi+4|0;Yi=ji;yA[Yi>>2]=qi;t=1;return t|0}else{mi=i+Cr|0;wi=mi-Pr|0;pi=(wi|0)<0;_i=pi<<31>>31;bi=E;Si=bi;ki=yA[Si>>2]|0;gi=bi+4|0;Ai=gi;Oi=yA[Ai>>2]|0;yi=Yn(ki|0,Oi|0,wi|0,_i|0)|0;Mi=Un;Ri=E;Li=Ri;yA[Li>>2]=yi;Ni=Ri+4|0;Ti=Ni;yA[Ti>>2]=Mi;t=1;return t|0}return 0|0}function We(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0;var g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0;var q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0;var fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0;var Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0;var Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0;var mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0;var Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0,ei=0;var ri=0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0,bi=0;var Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0;Li=RA;f=r+28|0;u=yA[f>>2]|0;qe=(u|0)==(0|0);if(qe){t=1;return t|0}er=u+8|0;cr=yA[er>>2]|0;kr=(cr|0)<1;if(kr){t=1;return t|0}Dr=yA[u>>2]|0;Gr=(Dr|0)<64;if(Gr){t=1;return t|0}ri=u+4|0;hi=yA[ri>>2]|0;c=(hi|0)<(Dr|0);if(c){t=1;return t|0}k=u+3656|0;D=yA[k>>2]|0;Fi=e;Ni=Fi+112|0;do{yA[Fi>>2]=0|0;Fi=Fi+4|0}while((Fi|0)<(Ni|0));G=BA(1,136)|0;re=e+104|0;yA[re>>2]=G;he=e+4|0;yA[he>>2]=r;ge=yA[er>>2]|0;Be=ge+-1|0;ze=yn(Be)|0;Ve=G+44|0;yA[Ve>>2]=ze;Ge=BA(1,4)|0;We=G+12|0;yA[We>>2]=Ge;je=BA(1,4)|0;Ye=G+16|0;yA[Ye>>2]=je;Xe=BA(1,20)|0;yA[Ge>>2]=Xe;Ke=BA(1,20)|0;yA[je>>2]=Ke;Ze=yA[u>>2]|0;Je=Ze>>D;Di(Xe,Je);Qe=yA[Ye>>2]|0;$e=yA[Qe>>2]|0;rr=yA[ri>>2]|0;ir=rr>>D;Di($e,ir);tr=yA[u>>2]|0;nr=yn(tr)|0;or=nr+-7|0;ar=G+4|0;yA[ar>>2]=or;sr=yA[ri>>2]|0;lr=yn(sr)|0;fr=lr+-7|0;ur=G+8|0;yA[ur>>2]=fr;hr=(i|0)==0;e:do{if(hr){ai=u+2848|0;si=yA[ai>>2]|0;li=(si|0)==(0|0);if(li){fi=u+24|0;ui=yA[fi>>2]|0;ci=BA(ui,56)|0;yA[ai>>2]=ci;di=yA[fi>>2]|0;vi=(di|0)>0;if(vi){He=di;Ai=0;while(1){mi=(u+1824|0)+(Ai<<2)|0;wi=yA[mi>>2]|0;Ei=(wi|0)==(0|0);if(Ei){pi=He;break}bi=yA[ai>>2]|0;Si=bi+(Ai*56|0)|0;ki=Ui(Si,wi)|0;h=(ki|0)==0;if(!h){Ri=20;break}d=yA[mi>>2]|0;Ci(d);yA[mi>>2]=0;v=Ai+1|0;m=yA[fi>>2]|0;w=(v|0)<(m|0);if(w){He=m;Ai=v}else{break e}}if((Ri|0)==20){s=yA[fi>>2]|0;pi=s}_i=(pi|0)>0;if(_i){Ue=pi;Mi=0;while(1){Te=(u+1824|0)+(Mi<<2)|0;De=yA[Te>>2]|0;Pe=(De|0)==(0|0);if(Pe){xe=Ue}else{Ci(De);yA[Te>>2]=0;l=yA[fi>>2]|0;xe=l}Ce=Mi+1|0;Ie=(Ce|0)<(xe|0);if(Ie){Ue=xe;Mi=Ce}else{break}}}Ti(e);t=-1;return t|0}}}else{dr=G+20|0;vr=yA[u>>2]|0;zi(dr,vr);mr=G+32|0;wr=yA[ri>>2]|0;zi(mr,wr);Er=u+2848|0;pr=yA[Er>>2]|0;_r=(pr|0)==(0|0);if(_r){br=u+24|0;Sr=yA[br>>2]|0;gr=BA(Sr,56)|0;yA[Er>>2]=gr;Ar=yA[br>>2]|0;Or=(Ar|0)>0;if(Or){yr=u+1824|0;Mr=yA[yr>>2]|0;xi(gr,Mr)|0;Fr=yA[br>>2]|0;Rr=(Fr|0)>1;if(Rr){Nr=1;while(1){n=yA[Er>>2]|0;Lr=n+(Nr*56|0)|0;Tr=(u+1824|0)+(Nr<<2)|0;Br=yA[Tr>>2]|0;xi(Lr,Br)|0;Pr=Nr+1|0;Cr=yA[br>>2]|0;Ir=(Pr|0)<(Cr|0);if(Ir){Nr=Pr}else{break}}}}}xr=u+28|0;Hr=yA[xr>>2]|0;Ur=BA(Hr,52)|0;zr=G+56|0;yA[zr>>2]=Ur;Vr=yA[xr>>2]|0;qr=(Vr|0)>0;r:do{if(qr){Wr=u+2868|0;jr=r+8|0;Xr=Ur;gi=0;while(1){Yr=Xr+(gi*52|0)|0;Kr=(u+2852|0)+(gi<<2)|0;Zr=yA[Kr>>2]|0;Jr=yA[Zr>>2]|0;Qr=u+(Jr<<2)|0;$r=yA[Qr>>2]|0;ei=($r|0)/2&-1;ii=yA[jr>>2]|0;Bi(Yr,Zr,Wr,ei,ii);ti=gi+1|0;ni=yA[xr>>2]|0;oi=(ti|0)<(ni|0);if(!oi){break r}o=yA[zr>>2]|0;Xr=o;gi=ti}}}while(0);yA[e>>2]=1}}while(0);E=yA[ri>>2]|0;p=e+16|0;yA[p>>2]=E;_=r+4|0;b=yA[_>>2]|0;S=b<<2;g=DA(S)|0;A=e+8|0;yA[A>>2]=g;O=DA(S)|0;y=e+12|0;yA[y>>2]=O;M=(b|0)>0;if(M){F=BA(E,4)|0;yA[g>>2]=F;R=(b|0)>1;if(R){T=1;while(1){a=yA[A>>2]|0;L=BA(E,4)|0;N=a+(T<<2)|0;yA[N>>2]=L;B=T+1|0;P=(B|0)<(b|0);if(P){T=B}else{break}}}}C=e+36|0;yA[C>>2]=0;I=e+40|0;yA[I>>2]=0;x=yA[ri>>2]|0;H=(x|0)/2&-1;U=e+48|0;yA[U>>2]=H;z=e+20|0;yA[z>>2]=H;V=u+16|0;q=yA[V>>2]|0;W=BA(q,4)|0;j=G+48|0;yA[j>>2]=W;Y=u+20|0;X=yA[Y>>2]|0;K=BA(X,4)|0;Z=G+52|0;yA[Z>>2]=K;J=yA[V>>2]|0;Q=(J|0)>0;if(Q){Oi=0;while(1){ie=(u+800|0)+(Oi<<2)|0;te=yA[ie>>2]|0;ne=25640+(te<<2)|0;oe=yA[ne>>2]|0;ae=oe+8|0;se=yA[ae>>2]|0;le=(u+1056|0)+(Oi<<2)|0;fe=yA[le>>2]|0;ue=_t[se&15](e,fe)|0;ce=yA[j>>2]|0;de=ce+(Oi<<2)|0;yA[de>>2]=ue;ve=Oi+1|0;me=yA[V>>2]|0;we=(ve|0)<(me|0);if(we){Oi=ve}else{break}}}$=yA[Y>>2]|0;ee=($|0)>0;if(ee){yi=0}else{t=0;return t|0}while(1){Ee=(u+1312|0)+(yi<<2)|0;pe=yA[Ee>>2]|0;_e=25648+(pe<<2)|0;be=yA[_e>>2]|0;Se=be+8|0;ke=yA[Se>>2]|0;Ae=(u+1568|0)+(yi<<2)|0;Oe=yA[Ae>>2]|0;ye=_t[ke&15](e,Oe)|0;Me=yA[Z>>2]|0;Fe=Me+(yi<<2)|0;yA[Fe>>2]=ye;Re=yi+1|0;Le=yA[Y>>2]|0;Ne=(Re|0)<(Le|0);if(Ne){yi=Re}else{t=0;break}}return t|0}function je(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0;oe=RA;RA=RA+64|0;n=oe;o=e+20|0;w=yA[o>>2]|0;M=w<<2;r=M;x=RA;RA=RA+((1*r|0)+15&-16)|0;K=e+28|0;yA[K>>2]=1;J=e+48|0;Q=yA[J>>2]|0;$=w-Q|0;ee=($|0)>32;if(!ee){RA=oe;return}a=e+4|0;s=yA[a>>2]|0;l=s+4|0;f=yA[l>>2]|0;u=(f|0)>0;if(!u){RA=oe;return}c=e+8|0;h=w;re=0;while(1){d=(h|0)>0;if(d){v=yA[c>>2]|0;m=v+(re<<2)|0;E=yA[m>>2]|0;ie=0;while(1){p=ie^-1;_=h+p|0;b=E+(_<<2)|0;S=yA[b>>2]|0;k=x+(ie<<2)|0;yA[k>>2]=S;g=ie+1|0;A=(h|0)>(g|0);if(A){ie=g}else{break}}}O=yA[J>>2]|0;y=h-O|0;+hr(x,n,y,16);F=yA[o>>2]|0;R=yA[J>>2]|0;i=F-R|0;L=x+(i<<2)|0;t=i+-16|0;N=x+(t<<2)|0;vr(n,N,16,L,R);T=yA[o>>2]|0;D=(T|0)>0;if(D){B=yA[c>>2]|0;P=B+(re<<2)|0;C=yA[P>>2]|0;te=0;while(1){I=x+(te<<2)|0;H=yA[I>>2]|0;U=te^-1;z=T+U|0;V=C+(z<<2)|0;yA[V>>2]=H;q=te+1|0;G=(T|0)>(q|0);if(G){te=q}else{break}}}W=re+1|0;j=yA[a>>2]|0;Y=j+4|0;X=yA[Y>>2]|0;Z=(W|0)<(X|0);if(Z){h=T;re=W}else{break}}RA=oe;return}function yi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0;var Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0;var vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0;Ar=RA;Zu(r,5653314,24);a=yA[e>>2]|0;Zu(r,a,16);s=e+4|0;A=yA[s>>2]|0;Zu(r,A,24);P=yA[s>>2]|0;j=(P|0)>1;e:do{if(j){te=e+8|0;ve=yA[te>>2]|0;n=An[ve>>0]|0;Oe=n;cr=1;while(1){Ce=Oe<<24>>24==0;if(Ce){ur=cr;break e}Ye=ve+cr|0;l=An[Ye>>0]|0;m=l<<24>>24>24;if(m){ur=cr;break e}w=cr+1|0;E=(w|0)<(P|0);if(E){Oe=l;cr=w}else{ur=w;break}}}else{ur=1}}while(0);p=(ur|0)==(P|0);e:do{if(p){Zu(r,1,1);_=e+8|0;b=yA[_>>2]|0;S=An[b>>0]|0;k=S<<24>>24;g=k+-1|0;Zu(r,g,5);O=yA[s>>2]|0;y=(O|0)>1;if(y){v=O;or=0;dr=1;while(1){M=yA[_>>2]|0;F=M+dr|0;R=An[F>>0]|0;L=dr+-1|0;N=M+L|0;T=An[N>>0]|0;D=R<<24>>24>T<<24>>24;if(D){B=T<<24>>24;C=R<<24>>24;H=v;ar=or;br=B;while(1){I=dr-ar|0;x=H-ar|0;U=yn(x)|0;Zu(r,I,U);z=br+1|0;fr=(z|0)==(C|0);o=yA[s>>2]|0;if(fr){G=o;sr=dr;break}else{H=o;ar=dr;br=z}}}else{G=v;sr=or}V=dr+1|0;q=(V|0)<(G|0);if(q){v=G;or=sr;dr=V}else{t=G;nr=sr;hr=V;break}}}else{t=O;nr=0;hr=1}W=hr-nr|0;Y=t-nr|0;X=yn(Y)|0;Zu(r,W,X)}else{Zu(r,0,1);K=yA[s>>2]|0;Z=(K|0)>0;r:do{if(Z){J=e+8|0;Q=yA[J>>2]|0;mr=0;while(1){$=Q+mr|0;ee=An[$>>0]|0;re=ee<<24>>24==0;if(re){vr=mr;break r}ie=mr+1|0;ne=(ie|0)<(K|0);if(ne){mr=ie}else{vr=ie;break}}}else{vr=0}}while(0);oe=(vr|0)==(K|0);if(oe){Zu(r,0,1);ae=yA[s>>2]|0;se=(ae|0)>0;if(!se){break}le=e+8|0;wr=0;while(1){fe=yA[le>>2]|0;ue=fe+wr|0;ce=An[ue>>0]|0;he=ce<<24>>24;de=he+-1|0;Zu(r,de,5);me=wr+1|0;we=yA[s>>2]|0;Ee=(me|0)<(we|0);if(Ee){wr=me}else{break e}}}Zu(r,1,1);pe=yA[s>>2]|0;_e=(pe|0)>0;if(_e){be=e+8|0;Er=0;while(1){Se=yA[be>>2]|0;ke=Se+Er|0;ge=An[ke>>0]|0;Ae=ge<<24>>24==0;if(Ae){Zu(r,0,1)}else{Zu(r,1,1);ye=yA[be>>2]|0;Me=ye+Er|0;Fe=An[Me>>0]|0;Re=Fe<<24>>24;Le=Re+-1|0;Zu(r,Le,5)}Ne=Er+1|0;Te=yA[s>>2]|0;De=(Ne|0)<(Te|0);if(De){Er=Ne}else{break}}}}}while(0);Be=e+12|0;Pe=yA[Be>>2]|0;Zu(r,Pe,4);Ie=yA[Be>>2]|0;if((Ie|0)==2|(Ie|0)==1){gr=28}else if(!((Ie|0)==0)){i=-1;return i|0}do{if((gr|0)==28){xe=e+32|0;He=yA[xe>>2]|0;Ue=(He|0)==(0|0);if(Ue){i=-1;return i|0}ze=e+16|0;Ve=yA[ze>>2]|0;Zu(r,Ve,32);qe=e+20|0;Ge=yA[qe>>2]|0;Zu(r,Ge,32);We=e+24|0;je=yA[We>>2]|0;Xe=je+-1|0;Zu(r,Xe,4);Ke=e+28|0;Ze=yA[Ke>>2]|0;Zu(r,Ze,1);Je=yA[Be>>2]|0;if((Je|0)==1){Qe=jr(e)|0;kr=Qe}else if((Je|0)==2){$e=yA[s>>2]|0;er=yA[e>>2]|0;rr=LA(er,$e)|0;kr=rr}else{break}ir=(kr|0)>0;if(ir){pr=0;while(1){tr=yA[xe>>2]|0;f=tr+(pr<<2)|0;u=yA[f>>2]|0;_r=(u|0)>-1;Sr=0-u|0;c=_r?u:Sr;h=yA[We>>2]|0;Zu(r,c,h);d=pr+1|0;lr=(d|0)==(kr|0);if(lr){break}else{pr=d}}}}}while(0);i=0;return i|0}function On(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0;var g=0,A=0,O=0,y=0;y=RA;n=(r|0)<0;if(n){t=0;return t|0}o=e+12|0;w=yA[o>>2]|0;p=w+4|0;_=yA[p>>2]|0;b=(_|0)>(r|0);if(!b){t=0;return t|0}S=e+20|0;k=yA[S>>2]|0;g=k+(r<<2)|0;A=yA[g>>2]|0;a=w+8|0;s=yA[a>>2]|0;l=s+r|0;f=An[l>>0]|0;u=f<<24>>24;Zu(i,A,u);c=yA[o>>2]|0;h=c+8|0;d=yA[h>>2]|0;v=d+r|0;m=An[v>>0]|0;E=m<<24>>24;t=E;return t|0}function Dr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0;d=RA;t=e+8|0;n=yA[t>>2]|0;o=(n|0)>0;if(!o){i=-1;return i|0}a=Yr(e,r)|0;s=(a|0)>-1;if(!s){i=-1;return i|0}l=e+24|0;f=yA[l>>2]|0;u=f+(a<<2)|0;c=yA[u>>2]|0;i=c;return i|0}function Ye(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0.0,E=0,p=0,_=0.0,b=0,S=0.0,k=0,g=0;var A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0;var G=0,W=0,j=0;j=RA;l=e+8|0;f=yA[l>>2]|0;b=(f|0)>0;if(!b){n=0;RA=j;return n|0}N=yA[e>>2]|0;D=(t|0)/(N|0)&-1;B=D<<2;o=B;P=RA;RA=RA+((1*o|0)+15&-16)|0;C=(D|0)>0;e:do{if(C){I=e+16|0;z=0;while(1){g=Yr(e,i)|0;A=(g|0)==-1;if(A){n=-1;break}O=yA[I>>2]|0;y=yA[e>>2]|0;M=LA(y,g)|0;F=O+(M<<2)|0;R=P+(z<<2)|0;yA[R>>2]=F;L=z+1|0;T=(L|0)<(D|0);if(T){z=L}else{x=y;break e}}RA=j;return n|0}else{x=N}}while(0);a=(x|0)<1;s=C^1;H=a|s;if(H){n=0;RA=j;return n|0}else{V=0;G=0}while(1){q=0;while(1){d=P+(q<<2)|0;v=yA[d>>2]|0;m=v+(V<<2)|0;w=+MA[m>>2];E=q+G|0;p=r+(E<<2)|0;_=+MA[p>>2];S=_+w;MA[p>>2]=S;k=q+1|0;U=(k|0)==(D|0);if(U){break}else{q=k}}u=V+1|0;c=G+D|0;h=(u|0)<(x|0);if(h){V=u;G=c}else{n=0;break}}RA=j;return n|0}function Xe(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0;var A=0,O=0,y=0,M=0,F=0,R=0,L=0.0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0;var G=0,W=0,j=0.0,Y=0,X=0,K=0.0,Z=0.0,J=0,Q=0,$=0,ee=0.0,re=0,ie=0,te=0,ne=0.0,oe=0.0,ae=0,se=0,le=0,fe=0;var ue=0,ce=0.0,he=0,de=0,ve=0,me=0.0,we=0.0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0.0,ge=0,Ae=0,Oe=0,ye=0.0,Me=0.0,Fe=0,Re=0;var Le=0,Ne=0,Te=0,De=0.0,Be=0,Pe=0,Ce=0,Ie=0.0,xe=0.0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0.0,We=0,je=0,Ye=0,Xe=0.0,Ke=0.0;var Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0.0,ir=0,tr=0,nr=0,or=0.0,ar=0.0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0.0,dr=0,vr=0,mr=0;var wr=0.0,Er=0.0,pr=0,_r=0,br=0,Sr=0.0,kr=0,gr=0,Ar=0.0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0,Pr=0;var Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0;jr=RA;M=e+8|0;F=yA[M>>2]|0;W=(F|0)>0;if(!W){n=0;return n|0}ie=yA[e>>2]|0;de=(ie|0)>8;if(de){je=(t|0)>0;if(!je){n=0;return n|0}tr=e+16|0;Or=0;while(1){C=Yr(e,i)|0;I=(C|0)==-1;if(I){n=-1;Wr=29;break}x=yA[tr>>2]|0;H=yA[e>>2]|0;U=LA(H,C)|0;z=(H|0)>0;if(z){V=(H|0)>1;Gr=V?H:1;Mr=Or;Cr=0;while(1){q=Cr+1|0;y=Cr+U|0;G=x+(y<<2)|0;j=+MA[G>>2];Y=Mr+1|0;X=r+(Mr<<2)|0;K=+MA[X>>2];Z=K+j;MA[X>>2]=Z;J=(q|0)<(H|0);if(J){Mr=Y;Cr=q}else{break}}vr=Or+Gr|0;yr=vr}else{yr=Or}R=(yr|0)<(t|0);if(R){Or=yr}else{n=0;Wr=29;break}}if((Wr|0)==29){return n|0}}Ae=e+16|0;Pe=(t|0)>0;if(Pe){Fr=0}else{n=0;return n|0}e:while(1){r:while(1){T=Yr(e,i)|0;D=(T|0)==-1;if(D){n=-1;Wr=29;break e}B=yA[Ae>>2]|0;P=yA[e>>2]|0;switch(P|0){case 4:{u=T;w=B;Wr=19;break r;break}case 3:{c=T;E=B;Wr=21;break r;break}case 7:{s=T;d=B;Wr=13;break r;break}case 6:{l=T;v=B;Wr=15;break r;break}case 8:{o=B;a=T;Wr=12;break r;break}case 5:{f=T;m=B;Wr=17;break r;break}case 1:{pr=T;br=B;Pr=Fr;qr=0;break r;break}case 2:{h=T;p=B;Wr=23;break r;break}default:{}}}if((Wr|0)==12){Wr=0;Q=a<<3;$=o+(Q<<2)|0;ee=+MA[$>>2];re=Fr+1|0;te=r+(Fr<<2)|0;ne=+MA[te>>2];oe=ne+ee;MA[te>>2]=oe;le=Q;ue=o;Rr=re;Ir=1;Wr=14}else if((Wr|0)==13){Wr=0;ae=s*7|0;le=ae;ue=d;Rr=Fr;Ir=0;Wr=14}else if((Wr|0)==15){Wr=0;Ee=l*6|0;_e=Ee;Se=v;Lr=Fr;xr=0;Wr=16}else if((Wr|0)==17){Wr=0;Fe=f*5|0;Le=Fe;Te=m;Nr=Fr;Hr=0;Wr=18}else if((Wr|0)==19){Wr=0;He=u<<2;ze=He;qe=w;Tr=Fr;Ur=0;Wr=20}else if((Wr|0)==21){Wr=0;Ze=c*3|0;Qe=Ze;er=E;Dr=Fr;zr=0;Wr=22}else if((Wr|0)==23){Wr=0;sr=h<<1;fr=sr;cr=p;Br=Fr;Vr=0;Wr=24}if((Wr|0)==14){Wr=0;se=Ir+1|0;O=Ir+le|0;fe=ue+(O<<2)|0;ce=+MA[fe>>2];he=Rr+1|0;ve=r+(Rr<<2)|0;me=+MA[ve>>2];we=me+ce;MA[ve>>2]=we;_e=le;Se=ue;Lr=he;xr=se;Wr=16}if((Wr|0)==16){Wr=0;pe=xr+1|0;A=xr+_e|0;be=Se+(A<<2)|0;ke=+MA[be>>2];ge=Lr+1|0;Oe=r+(Lr<<2)|0;ye=+MA[Oe>>2];Me=ye+ke;MA[Oe>>2]=Me;Le=_e;Te=Se;Nr=ge;Hr=pe;Wr=18}if((Wr|0)==18){Wr=0;Re=Hr+1|0;g=Hr+Le|0;Ne=Te+(g<<2)|0;De=+MA[Ne>>2];Be=Nr+1|0;Ce=r+(Nr<<2)|0;Ie=+MA[Ce>>2];xe=Ie+De;MA[Ce>>2]=xe;ze=Le;qe=Te;Tr=Be;Ur=Re;Wr=20}if((Wr|0)==20){Wr=0;Ue=Ur+1|0;k=Ur+ze|0;Ve=qe+(k<<2)|0;Ge=+MA[Ve>>2];We=Tr+1|0;Ye=r+(Tr<<2)|0;Xe=+MA[Ye>>2];Ke=Xe+Ge;MA[Ye>>2]=Ke;Qe=ze;er=qe;Dr=We;zr=Ue;Wr=22}if((Wr|0)==22){Wr=0;Je=zr+1|0;S=zr+Qe|0;$e=er+(S<<2)|0;rr=+MA[$e>>2];ir=Dr+1|0;nr=r+(Dr<<2)|0;or=+MA[nr>>2];ar=or+rr;MA[nr>>2]=ar;fr=Qe;cr=er;Br=ir;Vr=Je;Wr=24}if((Wr|0)==24){Wr=0;lr=Vr+1|0;b=Vr+fr|0;ur=cr+(b<<2)|0;hr=+MA[ur>>2];dr=Br+1|0;mr=r+(Br<<2)|0;wr=+MA[mr>>2];Er=wr+hr;MA[mr>>2]=Er;pr=fr;br=cr;Pr=dr;qr=lr}_=qr+pr|0;_r=br+(_<<2)|0;Sr=+MA[_r>>2];kr=Pr+1|0;gr=r+(Pr<<2)|0;Ar=+MA[gr>>2];L=Ar+Sr;MA[gr>>2]=L;N=(kr|0)<(t|0);if(N){Fr=kr}else{n=0;Wr=29;break}}if((Wr|0)==29){return n|0}return 0|0}function Ke(e,r,i,t,n,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;var a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0.0,_=0,b=0,S=0,k=0,g=0,A=0.0,O=0.0;var y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0,W=0;W=RA;u=e+8|0;c=yA[u>>2]|0;k=(c|0)>0;if(!k){s=0;return s|0}L=(i|0)/(t|0)&-1;N=o+i|0;T=(N|0)/(t|0)&-1;D=(L|0)<(T|0);if(!D){s=0;return s|0}B=e+16|0;I=0;U=L;while(1){C=Yr(e,n)|0;h=(C|0)==-1;if(h){s=-1;G=8;break}d=yA[B>>2]|0;v=yA[e>>2]|0;m=LA(v,C)|0;w=(v|0)>0;if(w){H=I;V=U;q=0;while(1){f=q+m|0;E=d+(f<<2)|0;p=+MA[E>>2];_=H+1|0;b=r+(H<<2)|0;S=yA[b>>2]|0;g=S+(V<<2)|0;A=+MA[g>>2];O=A+p;MA[g>>2]=O;y=(_|0)==(t|0);M=y&1;l=M+V|0;a=y?0:_;F=q+1|0;R=(F|0)<(v|0);if(R){H=a;V=l;q=F}else{x=a;z=l;break}}}else{x=I;z=U}P=(z|0)<(T|0);if(P){I=x;U=z}else{s=0;G=8;break}}if((G|0)==8){return s|0}return 0|0}function Yr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0;xe=RA;n=e+40|0;o=yA[n>>2]|0;w=e+36|0;M=yA[w>>2]|0;x=He(r,M)|0;K=(x|0)>-1;do{if(K){ae=e+32|0;Ee=yA[ae>>2]|0;Me=Ee+(x<<2)|0;Fe=yA[Me>>2]|0;a=(Fe|0)<0;if(a){s=Fe>>>15;l=s&32767;f=e+8|0;u=yA[f>>2]|0;c=Fe&32767;h=u-c|0;Re=h;Ne=l;break}d=Fe+-1|0;v=e+28|0;m=yA[v>>2]|0;E=m+d|0;p=An[E>>0]|0;_=p<<24>>24;Ue(r,_);i=d;return i|0}else{b=e+8|0;S=yA[b>>2]|0;Re=S;Ne=0}}while(0);k=He(r,o)|0;g=(k|0)<0;A=(o|0)>1;O=g&A;if(O){Ce=o;while(1){y=Ce+-1|0;F=He(r,y)|0;R=(F|0)<0;L=(y|0)>1;N=R&L;if(N){Ce=y}else{t=R;Be=F;Pe=y;break}}}else{t=g;Be=k;Pe=o}if(t){i=-1;return i|0}T=Be>>>16;D=Be<<16;B=T|D;P=B>>>8;C=P&16711935;I=B<<8;H=I&-16711936;U=C|H;z=U>>>4;V=z&252645135;q=U<<4;G=q&-252645136;W=V|G;j=W>>>2;Y=j&858993459;X=W<<2;Z=X&-858993460;J=Y|Z;Q=J>>>1;$=Q&1431655765;ee=J<<1;re=ee&-1431655766;ie=$|re;te=Re-Ne|0;ne=(te|0)>1;if(ne){oe=e+20|0;se=yA[oe>>2]|0;fe=te;Le=Re;De=Ne;while(1){le=fe>>1;ue=le+De|0;ce=se+(ue<<2)|0;he=yA[ce>>2]|0;de=he>>>0>ie>>>0;ve=de?0:le;me=ve+De|0;we=de?le:0;pe=Le-we|0;_e=pe-me|0;be=(_e|0)>1;if(be){fe=_e;Le=pe;De=me}else{Te=me;break}}}else{Te=Ne}Se=e+28|0;ke=yA[Se>>2]|0;ge=ke+Te|0;Ae=An[ge>>0]|0;Oe=Ae<<24>>24;ye=(Oe|0)>(Pe|0);if(ye){Ue(r,Pe);i=-1;return i|0}else{Ue(r,Oe);i=Te;return i|0}return 0|0}function Ze(e,r){e=e|0;r=r|0;var i=0.0,t=0,n=0,o=0,a=0,s=0.0,l=0.0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0.0,b=0.0,S=0;var k=0.0,g=0.0,A=0,O=0.0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0.0,K=0,Z=0.0,J=0.0,Q=0.0,$=0.0,ee=0,re=0.0,ie=0.0,te=0,ne=0.0,oe=0.0,ae=0,se=0.0;var le=0.0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;Me=RA;f=r+28|0;u=yA[f>>2]|0;S=r+4|0;T=yA[S>>2]|0;q=e+4|0;yA[q>>2]=128;ee=e+8|0;yA[ee>>2]=64;ce=u+2932|0;Ee=yA[ce>>2]|0;pe=e+12|0;yA[pe>>2]=Ee;yA[e>>2]=T;_e=e+164|0;yA[_e>>2]=128;c=u+4|0;h=yA[c>>2]|0;d=(h|0)/2&-1;v=e+176|0;yA[v>>2]=d;m=BA(128,4)|0;w=e+36|0;yA[w>>2]=m;E=e+16|0;Di(E,128);p=yA[w>>2]|0;ge=0;while(1){_=+(ge|0);b=_*0.024736950028266088;k=+rf(+b);g=k;A=p+(ge<<2)|0;O=g*g;MA[A>>2]=O;y=ge+1|0;ke=(y|0)==128;if(ke){break}else{ge=y}}M=e+40|0;yA[M>>2]=2;F=e+44|0;yA[F>>2]=4;R=e+56|0;yA[R>>2]=4;L=e+60|0;yA[L>>2]=5;N=e+72|0;yA[N>>2]=6;D=e+76|0;yA[D>>2]=6;B=e+88|0;yA[B>>2]=9;P=e+92|0;yA[P>>2]=8;C=e+104|0;yA[C>>2]=13;I=e+108|0;yA[I>>2]=8;x=e+120|0;yA[x>>2]=17;H=e+124|0;yA[H>>2]=8;U=e+136|0;yA[U>>2]=22;z=e+140|0;yA[z>>2]=8;G=4;Oe=0;while(1){V=G<<2;W=DA(V)|0;j=((e+40|0)+(Oe<<4)|0)+8|0;yA[j>>2]=W;Y=(G|0)>0;if(Y){X=+(G|0);K=((e+40|0)+(Oe<<4)|0)+12|0;l=+MA[K>>2];oe=l;Ae=0;while(1){Z=+(Ae|0);J=Z+0.5;Q=J/X;$=Q*3.1415926535897931;re=+rf(+$);ie=re;te=W+(Ae<<2)|0;MA[te>>2]=ie;ne=oe+ie;ae=Ae+1|0;be=(ae|0)==(G|0);if(be){i=ne;break}else{oe=ne;Ae=ae}}MA[K>>2]=i;a=K;le=i}else{n=((e+40|0)+(Oe<<4)|0)+12|0;s=+MA[n>>2];a=n;le=s}se=1.0/le;MA[a>>2]=se;fe=Oe+1|0;Se=(fe|0)==7;if(Se){break}t=((e+40|0)+(fe<<4)|0)+4|0;o=yA[t>>2]|0;G=o;Oe=fe}ue=T*7|0;he=BA(ue,144)|0;de=e+152|0;yA[de>>2]=he;ve=yA[_e>>2]|0;me=BA(ve,4)|0;we=e+160|0;yA[we>>2]=me;return}function zr(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0;g=RA;r=e+16|0;Vr(r);i=e+48|0;d=yA[i>>2]|0;Wn(d);m=e+64|0;w=yA[m>>2]|0;Wn(w);E=e+80|0;p=yA[E>>2]|0;Wn(p);_=e+96|0;b=yA[_>>2]|0;Wn(b);S=e+112|0;t=yA[S>>2]|0;Wn(t);n=e+128|0;o=yA[n>>2]|0;Wn(o);a=e+144|0;s=yA[a>>2]|0;Wn(s);l=e+36|0;f=yA[l>>2]|0;Wn(f);u=e+152|0;c=yA[u>>2]|0;Wn(c);h=e+160|0;v=yA[h>>2]|0;Wn(v);tl(e|0,0,180)|0;return}function zn(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0;var se=0,le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0;var Me=0,Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0;var Ye=0,Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0;lr=RA;o=e+4|0;a=yA[o>>2]|0;b=a+28|0;N=yA[b>>2]|0;V=N+2868|0;$=e+104|0;ue=yA[$>>2]|0;Se=yA[ue>>2]|0;Te=Se+168|0;qe=yA[Te>>2]|0;s=Se+8|0;c=yA[s>>2]|0;h=(qe|0)/(c|0)&-1;d=e+20|0;v=yA[d>>2]|0;m=(v|0)/(c|0)&-1;w=m+-4|0;E=(h|0)<0;r=E?0:h;p=m+2|0;_=Se+164|0;S=yA[_>>2]|0;k=(p|0)>(S|0);if(k){yA[_>>2]=p;g=Se+160|0;A=yA[g>>2]|0;O=p<<2;y=jn(A,O)|0;yA[g>>2]=y}M=(r|0)<(w|0);if(M){F=Se+156|0;R=Se+160|0;L=e+8|0;T=Se+40|0;D=Se+152|0;ir=r;while(1){B=yA[F>>2]|0;P=B+1|0;C=(B|0)>23;t=C?24:P;yA[F>>2]=t;I=yA[Se>>2]|0;x=(I|0)>0;if(x){rr=0;ar=0;while(1){q=yA[L>>2]|0;G=q+(rr<<2)|0;W=yA[G>>2]|0;j=yA[s>>2]|0;Y=LA(j,ir)|0;X=W+(Y<<2)|0;K=yA[D>>2]|0;Z=rr*7|0;J=K+(Z*144|0)|0;Q=fr(Se,V,X,T,J)|0;ee=Q|ar;re=rr+1|0;ie=yA[Se>>2]|0;te=(re|0)<(ie|0);if(te){rr=re;ar=ee}else{n=ee;break}}ne=ir+2|0;oe=yA[R>>2]|0;ae=oe+(ne<<2)|0;yA[ae>>2]=0;se=n&1;le=(se|0)==0;if(!le){fe=oe+(ir<<2)|0;yA[fe>>2]=1;ce=ir+1|0;he=oe+(ce<<2)|0;yA[he>>2]=1}de=n&2;ve=(de|0)==0;if(!ve){me=oe+(ir<<2)|0;yA[me>>2]=1;we=(ir|0)>0;if(we){Ee=ir+-1|0;pe=oe+(Ee<<2)|0;yA[pe>>2]=1}}_e=n&4;be=(_e|0)==0;if(!be){yA[F>>2]=-1}}else{H=ir+2|0;U=yA[R>>2]|0;z=U+(H<<2)|0;yA[z>>2]=0}ke=ir+1|0;er=(ke|0)==(w|0);if(er){break}else{ir=ke}}}ge=yA[s>>2]|0;Ae=LA(ge,w)|0;yA[Te>>2]=Ae;Oe=e+48|0;ye=yA[Oe>>2]|0;Me=e+40|0;Fe=yA[Me>>2]|0;Re=N+(Fe<<2)|0;Le=yA[Re>>2]|0;Ne=(Le|0)/4&-1;De=Ne+ye|0;Be=N+4|0;Pe=yA[Be>>2]|0;Ce=(Pe|0)/2&-1;Ie=De+Ce|0;xe=yA[N>>2]|0;He=(xe|0)/4&-1;Ue=Ie+He|0;ze=Se+176|0;Ve=yA[ze>>2]|0;Ge=Ae-ge|0;We=(Ve|0)<(Ge|0);if(!We){i=-1;return i|0}je=Se+160|0;tr=Ve;while(1){Ke=(tr|0)<(Ue|0);if(!Ke){i=1;sr=22;break}yA[ze>>2]=tr;Ze=(tr|0)/(ge|0)&-1;Je=yA[je>>2]|0;Qe=Je+(Ze<<2)|0;$e=yA[Qe>>2]|0;l=($e|0)!=0;f=(tr|0)>(ye|0);or=f&l;Ye=ge+tr|0;if(or){nr=tr;sr=21;break}Xe=(Ye|0)<(Ge|0);if(Xe){tr=Ye}else{i=-1;sr=22;break}}if((sr|0)==21){u=Se+172|0;yA[u>>2]=nr;i=0;return i|0}else if((sr|0)==22){return i|0}return 0|0}function Vn(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0;ee=RA;n=e+104|0;o=yA[n>>2]|0;w=yA[o>>2]|0;M=e+4|0;x=yA[M>>2]|0;G=x+28|0;W=yA[G>>2]|0;j=e+48|0;Y=yA[j>>2]|0;X=e+40|0;a=yA[X>>2]|0;s=W+(a<<2)|0;l=yA[s>>2]|0;f=(l|0)/4&-1;u=Y-f|0;c=f+Y|0;h=(a|0)==0;if(h){A=yA[W>>2]|0;O=(A|0)/4&-1;i=O;t=O}else{d=e+36|0;v=yA[d>>2]|0;m=W+(v<<2)|0;E=yA[m>>2]|0;p=(E|0)/4&-1;_=e+44|0;b=yA[_>>2]|0;S=W+(b<<2)|0;k=yA[S>>2]|0;g=(k|0)/4&-1;i=g;t=p}K=u-t|0;Z=c+i|0;y=w+172|0;F=yA[y>>2]|0;R=(F|0)>=(K|0);L=(F|0)<(Z|0);Q=R&L;if(Q){r=1;return r|0}N=w+8|0;T=yA[N>>2]|0;D=(K|0)/(T|0)&-1;B=(Z|0)/(T|0)&-1;P=(D|0)<(B|0);if(!P){r=0;return r|0}C=w+160|0;I=yA[C>>2]|0;J=D;while(1){z=I+(J<<2)|0;V=yA[z>>2]|0;q=(V|0)==0;H=J+1|0;if(!q){r=1;$=9;break}U=(H|0)<(B|0);if(U){J=H}else{r=0;$=9;break}}if(($|0)==9){return r|0}return 0|0}function qn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0;A=RA;i=e+168|0;t=yA[i>>2]|0;v=e+8|0;w=yA[v>>2]|0;E=(t|0)/(w|0)&-1;p=E+2|0;_=(r|0)/(w|0)&-1;b=e+160|0;S=yA[b>>2]|0;k=S+(_<<2)|0;n=p-_|0;o=n<<2;Xn(S|0,k|0,o|0)|0;a=yA[i>>2]|0;s=a-r|0;yA[i>>2]=s;l=e+172|0;f=yA[l>>2]|0;u=(f|0)>-1;if(!u){h=e+176|0;d=yA[h>>2]|0;m=d-r|0;yA[h>>2]=m;return}c=f-r|0;yA[l>>2]=c;h=e+176|0;d=yA[h>>2]|0;m=d-r|0;yA[h>>2]=m;return}function fr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0.0,h=0.0,d=0,v=0,m=0,w=0,E=0,p=0.0,_=0.0,b=0,S=0.0,k=0,g=0.0,A=0.0;var O=0.0,y=0.0,M=0,F=0,R=0,L=0,N=0,T=0,D=0.0,B=0,P=0.0,C=0,I=0,x=0,H=0,U=0.0,z=0,V=0.0,q=0,G=0;var W=0.0,j=0.0,Y=0.0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0.0,re=0,ie=0,te=0.0,ne=0,oe=0,ae=0.0,se=0.0,le=0.0,fe=0,ue=0;var ce=0.0,he=0.0,de=0.0,ve=0,me=0,we=0.0,Ee=0.0,pe=0.0,_e=0.0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0.0,Me=0,Fe=0,Re=0,Le=0;var Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0.0,xe=0,He=0.0,Ue=0.0,ze=0,Ve=0.0,qe=0,Ge=0,We=0,je=0.0,Ye=0.0,Xe=0,Ke=0,Ze=0;var Je=0,Qe=0,$e=0.0,er=0,rr=0.0,ir=0,tr=0.0,nr=0.0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0.0,hr=0.0,dr=0,vr=0,mr=0,wr=0.0;var Er=0.0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0.0,Or=0,yr=0.0,Mr=0.0,Fr=0,Rr=0,Lr=0,Nr=0.0,Tr=0.0,Dr=0.0,Br=0.0,Pr=0,Cr=0.0;var Ir=0.0,xr=0.0,Hr=0.0,Ur=0.0,zr=0,Vr=0.0,qr=0.0,Gr=0,Wr=0.0,jr=0.0,Yr=0.0,Xr=0.0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0.0,ei=0.0,ri=0,ii=0;var ti=0,ni=0.0,oi=0.0,ai=0,si=0.0,li=0.0,fi=0,ui=0.0,ci=0.0,hi=0,di=0.0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0.0,bi=0,Si=0,ki=0.0;var gi=0,Ai=0.0,Oi=0.0,yi=0.0,Mi=0.0,Fi=0.0,Ri=0.0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0.0,Ci=0.0,Ii=0.0,xi=0,Hi=0,Ui=0.0,zi=0,Vi=0;var qi=0,Gi=0,Wi=0,ji=0,Yi=0.0,Xi=0.0,Ki=0,Zi=0,Ji=0,Qi=0.0,$i=0.0,et=0,rt=0,it=0.0,tt=0.0,nt=0.0,ot=0.0,at=0,st=0,lt=0;var ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0.0,_t=0.0,bt=0.0,St=0.0,kt=0,gt=0,At=0,Ot=0,yt=0,Mt=0,Ft=0;var Rt=0,Lt=0;Lt=RA;M=e+4|0;F=yA[M>>2]|0;kr=e+12|0;Dr=+MA[kr>>2];Gr=F<<2;E=Gr;ri=RA;RA=RA+((1*E|0)+15&-16)|0;hi=e+156|0;gi=yA[hi>>2]|0;Bi=(gi|0)>5;Wi=(gi|0)/2&-1;o=Bi?Wi:2;R=r+60|0;U=+MA[R>>2];J=Wi+-2|0;le=+(J|0);_e=U-le;Le=_e<0.0;pt=Le?0.0:_e;ze=pt>U;_t=ze?U:pt;Qe=(F|0)>0;if(Qe){fr=e+36|0;br=yA[fr>>2]|0;ut=0;while(1){gr=i+(ut<<2)|0;Ar=+MA[gr>>2];Or=br+(ut<<2)|0;yr=+MA[Or>>2];Mr=yr*Ar;Fr=ri+(ut<<2)|0;MA[Fr>>2]=Mr;Rr=ut+1|0;st=(Rr|0)==(F|0);if(st){break}else{ut=Rr}}}Lr=e+16|0;ic(Lr,ri,ri);Nr=+MA[ri>>2];Tr=Nr*Nr;Br=Tr;Pr=ri+4|0;Cr=+MA[Pr>>2];Ir=Cr;xr=Ir*Ir;Hr=xr*0.69999999999999996;Ur=Hr+Br;zr=ri+8|0;Vr=+MA[zr>>2];qr=Vr;Wr=qr*qr;jr=Wr*0.20000000000000001;Yr=Ur+jr;Xr=Yr;Kr=n+140|0;Zr=yA[Kr>>2]|0;Jr=(Zr|0)==0;if(Jr){Qr=n+136|0;$r=+MA[Qr>>2];ei=$r+Xr;ii=n+132|0;MA[ii>>2]=ei;MA[Qr>>2]=Xr;k=ii;di=ei}else{ti=n+132|0;ni=+MA[ti>>2];oi=ni+Xr;MA[ti>>2]=oi;ai=n+136|0;si=+MA[ai>>2];li=si+Xr;MA[ai>>2]=li;k=ti;di=oi}fi=(n+72|0)+(Zr<<2)|0;ui=+MA[fi>>2];ci=di-ui;MA[k>>2]=ci;MA[fi>>2]=Xr;vi=yA[Kr>>2]|0;mi=vi+1|0;wi=(vi|0)>13;a=wi?0:mi;yA[Kr>>2]=a;Ei=(F|0)/2&-1;pi=(F|0)>1;e:do{if(pi){_i=di*0.0625;bi=(MA[Ku>>2]=_i,yA[Ku>>2]|0);Si=bi&2147483647;ki=+(Si>>>0);Ai=ki*7.1771142984289327E-7;Oi=Ai+-764.6162109375;yi=Oi;Mi=yi*0.5;Fi=Mi+-15.0;Ri=Fi;p=Ri;se=Nr;ct=0;while(1){ae=se*se;fe=ct|1;ue=ri+(fe<<2)|0;ce=+MA[ue>>2];he=ce*ce;de=he+ae;ve=(MA[Ku>>2]=de,yA[Ku>>2]|0);me=ve&2147483647;we=+(me>>>0);Ee=we*3.5885571492144663E-7;pe=Ee+-382.30810546875;be=pe>1;ge=ri+(ke<<2)|0;MA[ge>>2]=y;Ae=ct+2|0;Oe=(Ae|0)<(Ei|0);if(!Oe){break e}ye=p+-8.0;b=ri+(Ae<<2)|0;S=+MA[b>>2];p=ye;se=S;ct=Ae}}}while(0);Li=(o|0)>0;if(Li){wt=0;At=0}else{mt=0;gt=0;while(1){Me=(t+(mt<<4)|0)+4|0;Fe=yA[Me>>2]|0;Re=(Fe|0)>0;if(Re){Ne=t+(mt<<4)|0;Te=yA[Ne>>2]|0;De=(t+(mt<<4)|0)+8|0;Be=yA[De>>2]|0;nt=0.0;ht=0;while(1){Pe=Te+ht|0;Ce=ri+(Pe<<2)|0;Ie=+MA[Ce>>2];xe=Be+(ht<<2)|0;He=+MA[xe>>2];Ue=He*Ie;Ve=Ue+nt;qe=ht+1|0;Ge=(qe|0)<(Fe|0);if(Ge){nt=Ve;ht=qe}else{it=Ve;break}}}else{it=0.0}We=(t+(mt<<4)|0)+12|0;je=+MA[We>>2];Ye=je*it;Xe=(n+(mt*144|0)|0)+68|0;Ke=yA[Xe>>2]|0;Ze=(Ke|0)<1;f=Ze?16:-1;s=f+Ke|0;Je=(n+(mt*144|0)|0)+(s<<2)|0;$e=+MA[Je>>2];er=Ye<$e;rr=er?$e:Ye;ir=Ye>$e;c=ir?$e:Ye;tr=c+-99999.0;nr=rr+99999.0;or=(n+(mt*144|0)|0)+(Ke<<2)|0;MA[or>>2]=Ye;ar=yA[Xe>>2]|0;sr=ar+1|0;lr=(ar|0)>15;m=lr?0:sr;yA[Xe>>2]=m;ur=(r+4|0)+(mt<<2)|0;cr=+MA[ur>>2];hr=cr+_t;dr=nr>hr;vr=gt|5;Ot=dr?vr:gt;mr=(r+32|0)+(mt<<2)|0;wr=+MA[mr>>2];Er=wr-_t;pr=tr>2]|0;Di=(Ti|0)>0;if(Di){Z=t+(wt<<4)|0;H=yA[Z>>2]|0;Q=(t+(wt<<4)|0)+8|0;G=yA[Q>>2]|0;ot=0.0;dt=0;while(1){x=H+dt|0;z=ri+(x<<2)|0;V=+MA[z>>2];q=G+(dt<<2)|0;W=+MA[q>>2];j=W*V;Y=j+ot;X=dt+1|0;K=(X|0)<(Ti|0);if(K){ot=Y;dt=X}else{tt=Y;break}}}else{tt=0.0}$=(t+(wt<<4)|0)+12|0;ee=+MA[$>>2];Ui=ee*tt;Vi=(n+(wt*144|0)|0)+68|0;Hi=yA[Vi>>2]|0;re=(Hi|0)<1;u=re?16:-1;l=u+Hi|0;ie=(n+(wt*144|0)|0)+(l<<2)|0;te=+MA[ie>>2];ne=Uite;h=oe?te:Ui;vt=0;Et=l;bt=-99999.0;St=99999.0;while(1){N=(Et|0)<1;v=N?16:-1;d=v+Et|0;T=(n+(wt*144|0)|0)+(d<<2)|0;D=+MA[T>>2];B=btD;g=C?D:St;I=vt+1|0;lt=(I|0)==(o|0);if(lt){_=P;A=g;break}else{vt=I;Et=d;bt=P;St=g}}Pi=h-A;Ci=Ii-_;xi=(n+(wt*144|0)|0)+(Hi<<2)|0;MA[xi>>2]=Ui;zi=yA[Vi>>2]|0;qi=zi+1|0;Gi=(zi|0)>15;w=Gi?0:qi;yA[Vi>>2]=w;ji=(r+4|0)+(wt<<2)|0;Yi=+MA[ji>>2];Xi=Yi+_t;Ki=Ci>Xi;Zi=At|5;yt=Ki?Zi:At;Ji=(r+32|0)+(wt<<2)|0;Qi=+MA[Ji>>2];$i=Qi-_t;et=Pi<$i;rt=yt|2;Ft=et?rt:yt;L=wt+1|0;ft=(L|0)==7;if(ft){kt=Ft;break}else{wt=L;At=Ft}}RA=Lt;return kt|0}function $u(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0;var A=0.0,O=0.0,y=0.0,M=0.0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0;var G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0;var ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0;var Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0;var Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0.0,tr=0.0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0.0,mr=0.0;var wr=0.0,Er=0,pr=0.0,_r=0.0,br=0.0,Sr=0,kr=0.0,gr=0,Ar=0.0,Or=0.0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0,Pr=0;var Cr=0,Ir=0.0,xr=0.0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0.0,Kr=0.0,Zr=0,Jr=0,Qr=0.0,$r=0.0,ei=0.0,ri=0;var ii=0.0,ti=0,ni=0.0,oi=0.0,ai=0,si=0,li=0,fi=0.0,ui=0.0,ci=0.0,hi=0,di=0.0,vi=0.0,mi=0,wi=0.0,Ei=0.0,pi=0.0,_i=0,bi=0,Si=0.0;var ki=0,gi=0.0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0.0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0,Ui=0,zi=0;var Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0,at=0,st=0;var lt=0,ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0,Ot=0,yt=0,Mt=0;var Ft=0,Rt=0,Lt=0,Nt=0,Tt=0,Dt=0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0,zt=0,Vt=0,qt=0,Gt=0,Wt=0,jt=0,Yt=0.0;var Xt=0,Kt=0,Zt=0,Jt=0,Qt=0,$t=0,en=0,rn=0,tn=0,nn=0,on=0.0,an=0,sn=0,ln=0,fn=0,un=0,cn=0,hn=0,dn=0,vn=0;var mn=0.0,wn=0,En=0,pn=0,_n=0,bn=0,Sn=0,kn=0,gn=0,An=0,On=0,yn=0,Mn=0,Fn=0,Rn=0,Ln=0,Nn=0,Tn=0,Dn=0,Bn=0;var Pn=0,Cn=0,In=0,xn=0,Hn=0,Un=0,zn=0,Vn=0,qn=0,Gn=0,Wn=0,jn=0,Yn=0,Xn=0,Kn=0,Zn=0,Jn=0,Qn=0,$n=0,eo=0;var ro=0,io=0,to=0,no=0,oo=0,ao=0,so=0.0,lo=0.0,fo=0,uo=0,co=0,ho=0,vo=0,mo=0,wo=0.0,Eo=0.0,po=0.0,_o=0,bo=0,So=0;var ko=0,go=0,Ao=0,Oo=0,yo=0,Mo=0,Fo=0,Ro=0,Lo=0,No=0,To=0,Do=0,Bo=0,Po=0,Co=0,Io=0,xo=0,Ho=0,Uo=0,zo=0;var Vo=0,qo=0,Go=0,Wo=0,jo=0,Yo=0,Xo=0,Ko=0,Zo=0,Jo=0,Qo=0,$o=0,ea=0,ra=0,ia=0,ta=0,na=0,oa=0,aa=0,sa=0;var la=0,fa=0,ua=0,ca=0,ha=0,da=0,va=0,ma=0,wa=0,Ea=0,pa=0,_a=0,ba=0,Sa=0,ka=0,ga=0,Aa=0,Oa=0,ya=0,Ma=0;var Fa=0,Ra=0,La=0,Na=0,Ta=0,Da=0,Ba=0,Pa=0,Ca=0,Ia=0,xa=0,Ha=0,Ua=0,za=0,Va=0,qa=0,Ga=0,Wa=0,ja=0,Ya=0;var Xa=0,Ka=0,Za=0,Ja=0,Qa=0,$a=0,es=0,rs=0,is=0,ts=0,ns=0,os=0,as=0,ss=0,ls=0,fs=0,us=0,cs=0,hs=0,ds=0;var vs=0,ms=0,ws=0,Es=0,ps=0,_s=0,bs=0,Ss=0,ks=0,gs=0,As=0,Os=0,ys=0,Ms=0,Fs=0,Rs=0,Ls=0,Ns=0,Ts=0,Ds=0;var Bs=0,Ps=0,Cs=0,Is=0,xs=0,Hs=0,Us=0,zs=0,Vs=0,qs=0,Gs=0,Ws=0,js=0,Ys=0,Xs=0,Ks=0,Zs=0,Js=0,Qs=0,$s=0;var el=0;$s=RA;RA=RA+4912|0;Wo=$s+1328|0;qo=$s+1064|0;Go=$s+804|0;ca=$s+544|0;jo=$s+284|0;va=$s+24|0;Os=$s+20|0;ys=$s+16|0;ha=$s+12|0;da=$s+8|0;Yo=$s+4|0;Xo=$s;F=r+1296|0;R=yA[F>>2]|0;Tr=r+1288|0;Pt=yA[Tr>>2]|0;kn=r+1284|0;Dn=yA[kn>>2]|0;Gn=(Dn|0)>0;if(Gn){Jo=0;while(1){ro=qo+(Jo<<2)|0;yA[ro>>2]=-200;ho=Jo+1|0;Vo=(ho|0)==(Dn|0);if(Vo){break}else{Jo=ho}}if(Gn){Qo=0;while(1){Ao=Go+(Qo<<2)|0;yA[Ao>>2]=-200;L=Qo+1|0;zo=(L|0)==(Dn|0);if(zo){break}else{Qo=L}}if(Gn){z=Dn<<2;tl(ca|0,0,z|0)|0;$o=0;while(1){Q=jo+($o<<2)|0;yA[Q>>2]=1;fe=$o+1|0;Uo=(fe|0)==(Dn|0);if(Uo){break}else{$o=fe}}if(Gn){Ne=Dn<<2;tl(va|0,-1,Ne|0)|0;Ve=(Dn|0)>1;if(!Ve){Ha=0;RA=$s;return Ha|0}$e=Pt+-1|0;ur=R+1112|0;Sr=Dn+-1|0;S=yA[r>>2]|0;io=S;ea=0;Ba=0;while(1){Jn=ea+1|0;Qn=r+(Jn<<2)|0;$n=yA[Qn>>2]|0;eo=Wo+(ea*56|0)|0;Js=eo;el=Js+56|0;do{yA[Js>>2]=0|0;Js=Js+4|0}while((Js|0)<(el|0));yA[eo>>2]=io;to=(Wo+(ea*56|0)|0)+4|0;yA[to>>2]=$n;no=($n|0)<(Pt|0);Ua=no?$n:$e;oo=(Ua|0)<(io|0);if(oo){ba=0;ya=0;Va=0;Xa=0;es=0;as=0;hs=0;ps=0;Fs=0;Bs=0;Us=0;js=0}else{Zo=io;ka=0;Fa=0;Ga=0;Za=0;is=0;ls=0;vs=0;bs=0;Ls=0;Cs=0;Vs=0;Xs=0;while(1){ao=t+(Zo<<2)|0;O=+MA[ao>>2];so=O*7.3142857551574707;lo=so+1023.5;fo=~~lo;uo=(fo|0)>1023;co=(fo|0)<0;a=co?0:fo;c=uo?1023:a;vo=(c|0)==0;do{if(vo){Aa=ka;La=Fa;ja=Ga;Qa=Za;ns=is;us=ls;ws=vs;ks=bs;Ts=Ls;xs=Cs;Gs=Vs;Zs=Xs}else{mo=i+(Zo<<2)|0;wo=+MA[mo>>2];Eo=+MA[ur>>2];po=Eo+wo;_o=!(po>=O);if(_o){Lo=Zo+ls|0;No=c+Xs|0;To=LA(Zo,Zo)|0;Do=To+Za|0;Bo=LA(c,c)|0;N=Bo+Cs|0;T=LA(c,Zo)|0;D=T+bs|0;B=Fa+1|0;Aa=ka;La=B;ja=Ga;Qa=Do;ns=is;us=Lo;ws=vs;ks=D;Ts=Ls;xs=N;Gs=Vs;Zs=No;break}else{bo=Zo+is|0;So=c+Vs|0;ko=LA(Zo,Zo)|0;go=ko+Ga|0;Oo=LA(c,c)|0;yo=Oo+Ls|0;Mo=LA(c,Zo)|0;Fo=Mo+vs|0;Ro=ka+1|0;Aa=Ro;La=Fa;ja=go;Qa=Za;ns=bo;us=ls;ws=Fo;ks=bs;Ts=yo;xs=Cs;Gs=So;Zs=Xs;break}}}while(0);P=Zo+1|0;C=(Zo|0)<(Ua|0);if(C){Zo=P;ka=Aa;Fa=La;Ga=ja;Za=Qa;is=ns;ls=us;vs=ws;bs=ks;Ls=Ts;Cs=xs;Vs=Gs;Xs=Zs}else{ba=Aa;ya=La;Va=ja;Xa=Qa;es=ns;as=us;hs=ws;ps=ks;Fs=Ts;Bs=xs;Us=Gs;js=Zs;break}}}I=(Wo+(ea*56|0)|0)+8|0;yA[I>>2]=es;x=(Wo+(ea*56|0)|0)+12|0;yA[x>>2]=Us;H=(Wo+(ea*56|0)|0)+16|0;yA[H>>2]=Va;U=(Wo+(ea*56|0)|0)+20|0;yA[U>>2]=Fs;V=(Wo+(ea*56|0)|0)+24|0;yA[V>>2]=hs;q=(Wo+(ea*56|0)|0)+28|0;yA[q>>2]=ba;G=(Wo+(ea*56|0)|0)+32|0;yA[G>>2]=as;W=(Wo+(ea*56|0)|0)+36|0;yA[W>>2]=js;j=(Wo+(ea*56|0)|0)+40|0;yA[j>>2]=Xa;Y=(Wo+(ea*56|0)|0)+44|0;yA[Y>>2]=Bs;X=(Wo+(ea*56|0)|0)+48|0;yA[X>>2]=ps;K=(Wo+(ea*56|0)|0)+52|0;yA[K>>2]=ya;Z=ba+Ba|0;Ho=(Jn|0)==(Sr|0);if(Ho){Pa=Z;break}else{io=$n;ea=Jn;Ba=Z}}}else{Qs=9}}else{Qs=9}}else{Qs=9}}else{Qs=9}if((Qs|0)==9){be=(Dn|0)==0;if(!be){Ha=0;RA=$s;return Ha|0}Dr=Wo+4|0;Js=Wo;el=Js+56|0;do{yA[Js>>2]=0|0;Js=Js+4|0}while((Js|0)<(el|0));yA[Dr>>2]=Pt;Gr=(Pt|0)<1;if(Gr){_a=0;Oa=0;za=0;Ya=0;$a=0;os=0;cs=0;Es=0;Ms=0;Ds=0;Hs=0;Ws=0}else{ri=R+1112|0;Ko=0;Sa=0;Ma=0;qa=0;Ka=0;rs=0;ss=0;ds=0;_s=0;Rs=0;Ps=0;zs=0;Ys=0;while(1){hi=t+(Ko<<2)|0;A=+MA[hi>>2];gi=A*7.3142857551574707;Bi=gi+1023.5;Wi=~~Bi;it=(Wi|0)>1023;dt=(Wi|0)<0;o=dt?0:Wi;u=it?1023:o;At=(u|0)==0;do{if(At){ga=Sa;Ra=Ma;Wa=qa;Ja=Ka;ts=rs;fs=ss;ms=ds;Ss=_s;Ns=Rs;Is=Ps;qs=zs;Ks=Ys}else{Ct=i+(Ko<<2)|0;Yt=+MA[Ct>>2];on=+MA[ri>>2];mn=on+Yt;wn=!(mn>=A);if(wn){Mn=Ko+ss|0;Fn=u+Ys|0;Rn=LA(Ko,Ko)|0;Ln=Rn+Ka|0;Nn=LA(u,u)|0;Tn=Nn+Ps|0;Bn=LA(u,Ko)|0;Pn=Bn+_s|0;Cn=Ma+1|0;ga=Sa;Ra=Cn;Wa=qa;Ja=Ln;ts=rs;fs=Mn;ms=ds;Ss=Pn;Ns=Rs;Is=Tn;qs=zs;Ks=Fn;break}else{En=Ko+rs|0;pn=u+zs|0;_n=LA(Ko,Ko)|0;bn=_n+qa|0;Sn=LA(u,u)|0;gn=Sn+Rs|0;An=LA(u,Ko)|0;On=An+ds|0;yn=Sa+1|0;ga=yn;Ra=Ma;Wa=bn;Ja=Ka;ts=En;fs=ss;ms=On;Ss=_s;Ns=gn;Is=Ps;qs=pn;Ks=Ys;break}}}while(0);In=Ko+1|0;xo=(In|0)==(Pt|0);if(xo){_a=ga;Oa=Ra;za=Wa;Ya=Ja;$a=ts;os=fs;cs=ms;Es=Ss;Ms=Ns;Ds=Is;Hs=qs;Ws=Ks;break}else{Ko=In;Sa=ga;Ma=Ra;qa=Wa;Ka=Ja;rs=ts;ss=fs;ds=ms;_s=Ss;Rs=Ns;Ps=Is;zs=qs;Ys=Ks}}}xn=Wo+8|0;yA[xn>>2]=$a;Hn=Wo+12|0;yA[Hn>>2]=Hs;Un=Wo+16|0;yA[Un>>2]=za;zn=Wo+20|0;yA[zn>>2]=Ms;Vn=Wo+24|0;yA[Vn>>2]=cs;qn=Wo+28|0;yA[qn>>2]=_a;Wn=Wo+32|0;yA[Wn>>2]=os;jn=Wo+36|0;yA[jn>>2]=Ws;Yn=Wo+40|0;yA[Yn>>2]=Ya;Xn=Wo+44|0;yA[Xn>>2]=Ds;Kn=Wo+48|0;yA[Kn>>2]=Es;Zn=Wo+52|0;yA[Zn>>2]=Oa;Pa=_a}J=(Pa|0)==0;if(J){Ha=0;RA=$s;return Ha|0}yA[Os>>2]=-200;yA[ys>>2]=-200;$=Dn+-1|0;il(Wo,$,Os,ys,R)|0;ee=yA[Os>>2]|0;yA[qo>>2]=ee;yA[Go>>2]=ee;re=yA[ys>>2]|0;ie=Go+4|0;yA[ie>>2]=re;te=qo+4|0;yA[te>>2]=re;ne=(Dn|0)>2;do{if(ne){oe=R+1112|0;ae=R+1096|0;se=R+1100|0;le=R+1104|0;ra=2;e:while(1){ue=(r+520|0)+(ra<<2)|0;ce=yA[ue>>2]|0;he=ca+(ce<<2)|0;de=yA[he>>2]|0;ve=jo+(ce<<2)|0;me=yA[ve>>2]|0;we=va+(de<<2)|0;Ee=yA[we>>2]|0;pe=(Ee|0)==(me|0);r:do{if(!pe){_e=(r+520|0)+(de<<2)|0;Se=yA[_e>>2]|0;ke=(r+520|0)+(me<<2)|0;ge=yA[ke>>2]|0;yA[we>>2]=me;Ae=(R+836|0)+(de<<2)|0;Oe=yA[Ae>>2]|0;ye=(R+836|0)+(me<<2)|0;Me=yA[ye>>2]|0;Fe=qo+(de<<2)|0;Re=yA[Fe>>2]|0;Le=(Re|0)<0;Te=Go+(de<<2)|0;De=yA[Te>>2]|0;if(Le){v=De}else{Be=(De|0)<0;if(Be){v=Re}else{Pe=De+Re|0;Ce=Pe>>1;v=Ce}}Ie=qo+(me<<2)|0;xe=yA[Ie>>2]|0;He=(xe|0)<0;Ue=Go+(me<<2)|0;ze=yA[Ue>>2]|0;if(He){w=ze}else{qe=(ze|0)<0;if(qe){w=xe}else{Ge=ze+xe|0;We=Ge>>1;w=We}}je=(v|0)==-1;Ye=(w|0)==-1;Ca=je|Ye;if(Ca){Qs=38;break e}Xe=w-v|0;Ke=Me-Oe|0;na=(Xe|0)>-1;Ta=0-Xe|0;Ze=na?Xe:Ta;Je=(Xe|0)/(Ke|0)&-1;Qe=Xe>>31;er=Qe|1;rr=t+(Oe<<2)|0;M=+MA[rr>>2];ir=M*7.3142857551574707;tr=ir+1023.5;nr=~~tr;or=(nr|0)>1023;ar=(nr|0)<0;s=ar?0:nr;h=or?1023:s;sr=LA(Je,Ke)|0;oa=(sr|0)>-1;Da=0-sr|0;lr=oa?sr:Da;fr=Ze-lr|0;cr=v-h|0;hr=LA(cr,cr)|0;dr=i+(Oe<<2)|0;vr=+MA[dr>>2];mr=+MA[oe>>2];wr=mr+vr;Er=!(wr>=M);if(Er){Qs=42}else{pr=+(v|0);_r=+MA[ae>>2];br=_r+pr;kr=+(h|0);gr=br>2];Or=pr-Ar;yr=Or>kr;if(!yr){Qs=42}}}i:do{if((Qs|0)==42){Qs=0;Mr=Oe+1|0;Fr=(Mr|0)<(Me|0);if(Fr){Cr=Mr;Po=0;wa=hr;pa=1;gs=v;while(1){Rr=Po+fr|0;Lr=(Rr|0)<(Ke|0);Nr=Lr?0:er;Br=Lr?0:Ke;Co=Rr-Br|0;b=gs+Je|0;As=b+Nr|0;Pr=t+(Cr<<2)|0;y=+MA[Pr>>2];Ir=y*7.3142857551574707;xr=Ir+1023.5;Hr=~~xr;Ur=(Hr|0)>1023;zr=(Hr|0)<0;l=zr?0:Hr;m=Ur?1023:l;Vr=As-m|0;qr=LA(Vr,Vr)|0;Wr=qr+wa|0;jr=pa+1|0;Yr=i+(Cr<<2)|0;Xr=+MA[Yr>>2];Kr=Xr+mr;Zr=Kr>=y;Jr=(m|0)!=0;Ia=Zr&Jr;if(Ia){Qr=+(As|0);$r=+MA[ae>>2];ei=$r+Qr;ii=+(m|0);ti=ei>2];oi=Qr-ni;ai=oi>ii;if(ai){break i}}si=Cr+1|0;li=(si|0)<(Me|0);if(li){Cr=si;Po=Co;wa=Wr;pa=jr;gs=As}else{ma=Wr;Ea=jr;break}}}else{ma=hr;Ea=1}fi=+MA[ae>>2];ui=fi*fi;ci=+(Ea|0);di=ui/ci;vi=+MA[le>>2];mi=di>vi;if(!mi){wi=+MA[se>>2];Ei=wi*wi;pi=Ei/ci;_i=pi>vi;if(!_i){bi=(ma|0)/(Ea|0)&-1;Si=+(bi|0);ki=Si>vi;if(ki){break}}}ot=qo+(ra<<2)|0;yA[ot>>2]=-200;at=Go+(ra<<2)|0;yA[at>>2]=-200;break r}}while(0);yA[ha>>2]=-200;yA[da>>2]=-200;yA[Yo>>2]=-200;yA[Xo>>2]=-200;Ai=Wo+(Se*56|0)|0;Oi=ce-Se|0;yi=il(Ai,Oi,ha,da,R)|0;Mi=Wo+(ce*56|0)|0;Fi=ge-ce|0;Ri=il(Mi,Fi,Yo,Xo,R)|0;Li=(yi|0)!=0;if(Li){yA[ha>>2]=v;Ni=yA[Yo>>2]|0;yA[da>>2]=Ni}Ti=(Ri|0)==0;if(!Ti){Di=yA[da>>2]|0;yA[Yo>>2]=Di;yA[Xo>>2]=w;if(Li){Pi=qo+(ra<<2)|0;yA[Pi>>2]=-200;Ci=Go+(ra<<2)|0;yA[Ci>>2]=-200;break}}Ii=yA[ha>>2]|0;yA[Te>>2]=Ii;xi=(de|0)==0;if(xi){yA[qo>>2]=Ii}Hi=yA[da>>2]|0;Ui=qo+(ra<<2)|0;yA[Ui>>2]=Hi;zi=yA[Yo>>2]|0;Vi=Go+(ra<<2)|0;yA[Vi>>2]=zi;qi=yA[Xo>>2]|0;yA[Ie>>2]=qi;Gi=(me|0)==1;if(Gi){yA[ie>>2]=qi}ji=zi&Hi;Yi=(ji|0)>-1;if(Yi){Xi=(ce|0)>0;i:do{if(Xi){sa=ce;while(1){aa=sa+-1|0;Zi=jo+(aa<<2)|0;Ji=yA[Zi>>2]|0;Qi=(Ji|0)==(me|0);if(!Qi){break i}yA[Zi>>2]=ra;$i=(sa|0)>1;if($i){sa=aa}else{break}}}}while(0);fa=ce+1|0;Ki=(fa|0)<(Dn|0);if(Ki){ua=fa;while(1){et=ca+(ua<<2)|0;rt=yA[et>>2]|0;tt=(rt|0)==(de|0);if(!tt){break r}yA[et>>2]=ra;la=ua+1|0;nt=(la|0)<(Dn|0);if(nt){ua=la}else{break}}}}}}while(0);st=ra+1|0;lt=(st|0)<(Dn|0);if(lt){ra=st}else{Qs=68;break}}if((Qs|0)==38){rl(1)}else if((Qs|0)==68){k=yA[qo>>2]|0;g=yA[Go>>2]|0;ct=k;vt=g;break}}else{ct=ee;vt=ee}}while(0);ft=Dn<<2;ut=Qu(e,ft)|0;ht=(ct|0)<0;if(ht){d=vt}else{mt=(vt|0)<0;if(mt){d=ct}else{wt=vt+ct|0;Et=wt>>1;d=Et}}yA[ut>>2]=d;pt=yA[te>>2]|0;_t=(pt|0)<0;bt=yA[ie>>2]|0;if(_t){p=bt}else{St=(bt|0)<0;if(St){p=pt}else{kt=bt+pt|0;gt=kt>>1;p=gt}}Ot=ut+4|0;yA[Ot>>2]=p;if(ne){ia=2}else{Ha=ut;RA=$s;return Ha|0}while(1){yt=ia+-2|0;Mt=(r+1032|0)+(yt<<2)|0;Ft=yA[Mt>>2]|0;Rt=(r+780|0)+(yt<<2)|0;Lt=yA[Rt>>2]|0;Nt=(R+836|0)+(Ft<<2)|0;Tt=yA[Nt>>2]|0;Dt=(R+836|0)+(Lt<<2)|0;Bt=yA[Dt>>2]|0;It=ut+(Ft<<2)|0;xt=yA[It>>2]|0;Ht=ut+(Lt<<2)|0;Ut=yA[Ht>>2]|0;zt=(R+836|0)+(ia<<2)|0;Vt=yA[zt>>2]|0;qt=xt&32767;Gt=Ut&32767;Wt=Gt-qt|0;jt=Bt-Tt|0;ta=(Wt|0)>-1;Na=0-Wt|0;Xt=ta?Wt:Na;Kt=Vt-Tt|0;Zt=LA(Xt,Kt)|0;Jt=(Zt|0)/(jt|0)&-1;Qt=(Wt|0)<0;$t=0-Jt|0;_=Qt?$t:Jt;E=_+qt|0;en=qo+(ia<<2)|0;rn=yA[en>>2]|0;tn=(rn|0)<0;nn=Go+(ia<<2)|0;an=yA[nn>>2]|0;if(tn){f=an}else{sn=(an|0)<0;if(sn){f=rn}else{ln=an+rn|0;fn=ln>>1;f=fn}}un=(f|0)<0;cn=(E|0)==(f|0);xa=un|cn;hn=E|32768;n=xa?hn:f;dn=ut+(ia<<2)|0;yA[dn>>2]=n;vn=ia+1|0;Io=(vn|0)==(Dn|0);if(Io){Ha=ut;break}else{ia=vn}}RA=$s;return Ha|0}function ec(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0;var O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0;x=RA;o=r+1284|0;a=yA[o>>2]|0;E=(i|0)!=(0|0);y=(t|0)!=(0|0);P=E&y;if(!P){C=0;return C|0}M=a<<2;F=Qu(e,M)|0;R=(a|0)>0;if(!R){C=F;return C|0}L=65536-n|0;B=0;while(1){N=i+(B<<2)|0;T=yA[N>>2]|0;s=T&32767;l=LA(s,L)|0;f=t+(B<<2)|0;u=yA[f>>2]|0;c=u&32767;h=LA(c,n)|0;d=l+32768|0;v=d+h|0;m=v>>16;w=F+(B<<2)|0;yA[w>>2]=m;p=yA[N>>2]|0;_=p&32768;b=(_|0)==0;if(!b){S=yA[f>>2]|0;k=S&32768;g=(k|0)==0;if(!g){A=m|32768;yA[w>>2]=A}}O=B+1|0;D=(O|0)==(a|0);if(D){C=F;break}else{B=O}}return C|0}function rc(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0;var O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0;var W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0;var ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0,Le=0;var Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0,Ze=0;var Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0,mr=0,wr=0;var Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0,Pr=0,Cr=0;var Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0,ei=0,ri=0,ii=0;var ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0,bi=0,Si=0,ki=0;var gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0,Ui=0,zi=0,Vi=0;var qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0,at=0,st=0,lt=0;var ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0,Ot=0,yt=0,Mt=0,Ft=0;var Rt=0,Lt=0,Nt=0,Tt=0,Dt=0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0,zt=0,Vt=0,qt=0,Gt=0,Wt=0,jt=0,Yt=0,Xt=0;var Kt=0,Zt=0,Jt=0,Qt=0,$t=0,en=0,rn=0,tn=0,nn=0,on=0,an=0,sn=0,ln=0,fn=0,un=0,cn=0,hn=0,dn=0,vn=0,mn=0;var wn=0,En=0,pn=0,_n=0,bn=0,Sn=0,kn=0,gn=0;gn=RA;RA=RA+336|0;wn=gn+64|0;Mt=gn+32|0;cn=gn;m=i+1296|0;w=yA[m>>2]|0;_r=i+1284|0;ni=yA[_r>>2]|0;mi=r+64|0;yi=yA[mi>>2]|0;Ii=yi+4|0;Xi=yA[Ii>>2]|0;ot=Xi+28|0;wt=yA[ot>>2]|0;E=wt+2848|0;F=yA[E>>2]|0;H=(t|0)==(0|0);if(H){Zu(e,0,1);Yr=r+36|0;Xr=yA[Yr>>2]|0;Kr=(Xr|0)/2&-1;Zr=Kr<<2;tl(n|0,0,Zr|0)|0;a=0;RA=gn;return a|0}Z=(ni|0)>0;if(Z){se=w+832|0;Gt=0;while(1){pe=t+(Gt<<2)|0;Re=yA[pe>>2]|0;Ue=Re&32767;Je=yA[se>>2]|0;if((Je|0)==4){Vr=Ue>>>4;En=Vr}else if((Je|0)==1){lr=Ue>>>2;En=lr}else if((Je|0)==2){br=Ue>>>3;En=br}else if((Je|0)==3){Nr=(Ue>>>0)/12&-1;En=Nr}else{En=Ue}Jr=Re&32768;Qr=Jr|En;yA[pe>>2]=Qr;$r=Gt+1|0;Ut=($r|0)==(ni|0);if(Ut){break}else{Gt=$r}}}ei=yA[t>>2]|0;yA[wn>>2]=ei;ri=t+4|0;ii=yA[ri>>2]|0;ti=wn+4|0;yA[ti>>2]=ii;oi=(ni|0)>2;ai=i+1292|0;if(oi){Wt=2;while(1){si=Wt+-2|0;li=(i+1032|0)+(si<<2)|0;fi=yA[li>>2]|0;ui=(i+780|0)+(si<<2)|0;ci=yA[ui>>2]|0;hi=(w+836|0)+(fi<<2)|0;di=yA[hi>>2]|0;vi=(w+836|0)+(ci<<2)|0;wi=yA[vi>>2]|0;Ei=t+(fi<<2)|0;pi=yA[Ei>>2]|0;_i=t+(ci<<2)|0;bi=yA[_i>>2]|0;Si=(w+836|0)+(Wt<<2)|0;ki=yA[Si>>2]|0;gi=pi&32767;Ai=bi&32767;Oi=Ai-gi|0;Mi=wi-di|0;Yt=(Oi|0)>-1;hn=0-Oi|0;Fi=Yt?Oi:hn;Ri=ki-di|0;Li=LA(Fi,Ri)|0;Ni=(Li|0)/(Mi|0)&-1;Ti=(Oi|0)<0;Di=0-Ni|0;l=Ti?Di:Ni;s=l+gi|0;Bi=t+(Wt<<2)|0;Pi=yA[Bi>>2]|0;Ci=Pi&32768;xi=(Ci|0)!=0;Hi=(Pi|0)==(s|0);mn=xi|Hi;if(mn){Ui=s|32768;yA[Bi>>2]=Ui;zi=wn+(Wt<<2)|0;yA[zi>>2]=0}else{Vi=yA[ai>>2]|0;qi=Vi-s|0;Gi=(qi|0)<(s|0);o=Gi?qi:s;Wi=Pi-s|0;ji=(Wi|0)<0;do{if(ji){Yi=0-o|0;Ki=(Wi|0)<(Yi|0);if(Ki){Zi=Wi^-1;Ji=o+Zi|0;pn=Ji;break}else{Qi=Wi<<1;$i=Qi^-1;pn=$i;break}}else{et=(o|0)>(Wi|0);if(et){it=Wi<<1;pn=it;break}else{rt=o+Wi|0;pn=rt;break}}}while(0);tt=wn+(Wt<<2)|0;yA[tt>>2]=pn;yA[Ei>>2]=gi;nt=yA[_i>>2]|0;at=nt&32767;yA[_i>>2]=at}st=Wt+1|0;Ht=(st|0)==(ni|0);if(Ht){break}else{Wt=st}}c=yA[wn>>2]|0;h=yA[ti>>2]|0;kt=c;yt=h}else{kt=ei;yt=ii}Zu(e,1,1);lt=i+1308|0;ft=yA[lt>>2]|0;ut=ft+1|0;yA[lt>>2]=ut;ct=yA[ai>>2]|0;ht=ct+-1|0;dt=yn(ht)|0;vt=dt<<1;mt=i+1304|0;Et=yA[mt>>2]|0;pt=Et+vt|0;yA[mt>>2]=pt;_t=yA[ai>>2]|0;bt=_t+-1|0;St=yn(bt)|0;Zu(e,kt,St);gt=yA[ai>>2]|0;At=gt+-1|0;Ot=yn(At)|0;Zu(e,yt,Ot);p=yA[w>>2]|0;_=(p|0)>0;if(_){b=i+1300|0;jt=0;Zt=2;while(1){S=(w+4|0)+(jt<<2)|0;k=yA[S>>2]|0;g=(w+128|0)+(k<<2)|0;A=yA[g>>2]|0;O=(w+192|0)+(k<<2)|0;y=yA[O>>2]|0;M=1<>2]=0|0;yA[Mt+4>>2]=0|0;yA[Mt+8>>2]=0|0;yA[Mt+12>>2]=0|0;yA[Mt+16>>2]=0|0;yA[Mt+20>>2]=0|0;yA[Mt+24>>2]=0|0;yA[Mt+28>>2]=0|0;R=(y|0)==0;if(!R){yA[cn>>2]=0|0;yA[cn+4>>2]=0|0;yA[cn+8>>2]=0|0;yA[cn+12>>2]=0|0;yA[cn+16>>2]=0|0;yA[cn+20>>2]=0|0;yA[cn+24>>2]=0|0;yA[cn+28>>2]=0|0;L=(y|0)==31;if(!L){$t=0;while(1){Y=((w+320|0)+(k<<5)|0)+($t<<2)|0;X=yA[Y>>2]|0;K=(X|0)<0;if(K){v=1}else{J=(wt+1824|0)+(X<<2)|0;Q=yA[J>>2]|0;$=Q+4|0;ee=yA[$>>2]|0;v=ee}re=cn+($t<<2)|0;yA[re>>2]=v;ie=$t+1|0;te=(ie|0)<(M|0);if(te){$t=ie}else{break}}}N=(A|0)>0;e:do{if(N){if(L){Ft=0;Nt=0;en=0;while(1){ne=Mt+(en<<2)|0;oe=yA[ne>>2]|0;ae=oe<>2]|0;nn=0;while(1){T=cn+(nn<<2)|0;D=yA[T>>2]|0;P=(B|0)<(D|0);if(P){on=nn;kn=31;break}C=nn+1|0;I=(C|0)<(M|0);if(I){nn=C}else{kn=33;break}}if((kn|0)==31){kn=0;x=Mt+(rn<<2)|0;yA[x>>2]=on;z=on}else if((kn|0)==33){kn=0;f=Mt+(rn<<2)|0;d=yA[f>>2]|0;z=d}U=z<>2]|0;de=F+(he*56|0)|0;ve=On(de,Lt,e)|0;me=yA[b>>2]|0;we=me+ve|0;yA[b>>2]=we}Ee=(A|0)>0;if(Ee){tn=0;while(1){_e=Mt+(tn<<2)|0;be=yA[_e>>2]|0;Se=((w+320|0)+(k<<5)|0)+(be<<2)|0;ke=yA[Se>>2]|0;ge=(ke|0)>-1;if(ge){Ae=tn+Zt|0;Oe=wn+(Ae<<2)|0;ye=yA[Oe>>2]|0;Me=(F+(ke*56|0)|0)+4|0;Fe=yA[Me>>2]|0;Le=(ye|0)<(Fe|0);if(Le){Ne=F+(ke*56|0)|0;Te=On(Ne,ye,e)|0;De=yA[mt>>2]|0;Be=De+Te|0;yA[mt>>2]=Be}}Pe=tn+1|0;It=(Pe|0)==(A|0);if(It){break}else{tn=Pe}}}Ce=A+Zt|0;Ie=jt+1|0;xe=yA[w>>2]|0;He=(Ie|0)<(xe|0);if(He){jt=Ie;Zt=Ce}else{break}}}ze=yA[t>>2]|0;Ve=w+832|0;qe=yA[Ve>>2]|0;Ge=LA(qe,ze)|0;We=r+28|0;je=yA[We>>2]|0;Ye=wt+(je<<2)|0;Xe=yA[Ye>>2]|0;Ke=(Xe|0)/2&-1;Ze=yA[_r>>2]|0;Qe=(Ze|0)>1;if(Qe){Vt=0;Jt=1;an=0;fn=Ge;while(1){tr=(i+260|0)+(Jt<<2)|0;nr=yA[tr>>2]|0;or=t+(nr<<2)|0;ar=yA[or>>2]|0;sr=ar&32767;fr=(sr|0)==(ar|0);if(fr){ur=yA[Ve>>2]|0;cr=LA(ur,ar)|0;hr=(w+836|0)+(nr<<2)|0;dr=yA[hr>>2]|0;vr=cr-fn|0;mr=dr-an|0;Xt=(vr|0)>-1;dn=0-vr|0;wr=Xt?vr:dn;Er=(vr|0)/(mr|0)&-1;pr=vr>>31;Sr=pr|1;kr=LA(Er,mr)|0;Kt=(kr|0)>-1;vn=0-kr|0;gr=Kt?kr:vn;Ar=wr-gr|0;Or=(Ke|0)>(dr|0);_n=Or?dr:Ke;yr=(_n|0)>(an|0);if(yr){Mr=n+(an<<2)|0;yA[Mr>>2]=fn}Fr=an+1|0;Rr=(Fr|0)<(_n|0);if(Rr){Cr=Fr;Dt=0;bn=fn;while(1){Lr=Dt+Ar|0;Tr=(Lr|0)<(mr|0);Dr=Tr?0:Sr;Br=Tr?0:mr;Bt=Lr-Br|0;u=bn+Er|0;Sn=u+Dr|0;Pr=n+(Cr<<2)|0;yA[Pr>>2]=Sn;Ir=Cr+1|0;Ct=(Ir|0)==(_n|0);if(Ct){qt=dr;sn=dr;un=cr;break}else{Cr=Ir;Dt=Bt;bn=Sn}}}else{qt=dr;sn=dr;un=cr}}else{qt=Vt;sn=an;un=fn}xr=Jt+1|0;Hr=yA[_r>>2]|0;Ur=(xr|0)<(Hr|0);if(Ur){Vt=qt;Jt=xr;an=sn;fn=un}else{zt=qt;ln=un;break}}}else{zt=0;ln=Ge}$e=r+36|0;er=yA[$e>>2]|0;rr=(er|0)/2&-1;ir=(zt|0)<(rr|0);if(ir){Qt=zt}else{a=1;RA=gn;return a|0}while(1){zr=n+(Qt<<2)|0;yA[zr>>2]=ln;qr=Qt+1|0;Gr=yA[$e>>2]|0;Wr=(Gr|0)/2&-1;jr=(qr|0)<(Wr|0);if(jr){Qt=qr}else{a=1;break}}RA=gn;return a|0}function il(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0.0,d=0.0,v=0.0,m=0,w=0.0,E=0.0,p=0.0,_=0.0,b=0,S=0,k=0,g=0,A=0;var O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0.0,D=0.0,B=0,P=0.0,C=0.0,I=0.0,x=0.0,H=0,U=0,z=0,V=0.0,q=0,G=0;var W=0.0,j=0.0,Y=0.0,X=0.0,K=0,Z=0,J=0,Q=0.0,$=0,ee=0,re=0.0,ie=0.0,te=0.0,ne=0.0,oe=0,ae=0,se=0.0,le=0,fe=0,ue=0;var ce=0.0,he=0.0,de=0.0,ve=0.0,me=0,we=0,Ee=0.0,pe=0,_e=0,be=0,Se=0.0,ke=0.0,ge=0.0,Ae=0.0,Oe=0.0,ye=0.0,Me=0.0,Fe=0.0,Re=0.0,Le=0.0;var Ne=0,Te=0,De=0,Be=0.0,Pe=0.0,Ce=0.0,Ie=0.0,xe=0,He=0.0,Ue=0.0,ze=0,Ve=0,qe=0.0,Ge=0.0,We=0.0,je=0,Ye=0,Xe=0.0,Ke=0.0,Ze=0.0;var Je=0.0,Qe=0,$e=0,er=0.0,rr=0.0,ir=0,tr=0.0,nr=0.0,or=0.0,ar=0.0,sr=0.0,lr=0.0,fr=0,ur=0,cr=0.0,hr=0.0,dr=0.0,vr=0.0,mr=0.0,wr=0.0;var Er=0.0,pr=0.0,_r=0.0,br=0.0,Sr=0.0,kr=0.0,gr=0.0,Ar=0,Or=0,yr=0.0,Mr=0.0,Fr=0.0,Rr=0.0,Lr=0.0,Nr=0.0,Tr=0.0,Dr=0.0,Br=0.0,Pr=0.0,Cr=0.0;var Ir=0.0,xr=0.0,Hr=0.0,Ur=0.0,zr=0.0,Vr=0,qr=0;qr=RA;f=yA[e>>2]|0;u=r+-1|0;U=(e+(u*56|0)|0)+4|0;J=yA[U>>2]|0;le=(r|0)>0;if(le){_e=n+1108|0;Le=+MA[_e>>2];Sr=0.0;Or=0;Mr=0.0;Nr=0.0;Pr=0.0;Hr=0.0;while(1){ze=(e+(Or*56|0)|0)+52|0;Qe=yA[ze>>2]|0;fr=(e+(Or*56|0)|0)+28|0;c=yA[fr>>2]|0;k=c+Qe|0;T=+(k|0);D=T*Le;B=c+1|0;P=+(B|0);C=D/P;I=C;x=I+1.0;H=(e+(Or*56|0)|0)+32|0;z=yA[H>>2]|0;V=+(z|0);q=(e+(Or*56|0)|0)+8|0;G=yA[q>>2]|0;W=+(G|0);j=W*x;Y=V+Nr;X=Y+j;K=(e+(Or*56|0)|0)+36|0;Z=yA[K>>2]|0;Q=+(Z|0);$=(e+(Or*56|0)|0)+12|0;ee=yA[$>>2]|0;re=+(ee|0);ie=re*x;te=Q+Hr;ne=te+ie;oe=(e+(Or*56|0)|0)+40|0;ae=yA[oe>>2]|0;se=+(ae|0);fe=(e+(Or*56|0)|0)+16|0;ue=yA[fe>>2]|0;ce=+(ue|0);he=ce*x;de=se+Mr;ve=de+he;me=(e+(Or*56|0)|0)+48|0;we=yA[me>>2]|0;Ee=+(we|0);pe=(e+(Or*56|0)|0)+24|0;be=yA[pe>>2]|0;Se=+(be|0);ke=Se*x;ge=Ee+Pr;Ae=ge+ke;Oe=+(Qe|0);ye=+(c|0);Me=x*ye;Fe=Oe+Sr;Re=Fe+Me;Ne=Or+1|0;Ar=(Ne|0)==(r|0);if(Ar){br=Re;yr=ve;Lr=X;Br=Ae;xr=ne;break}else{Sr=Re;Or=Ne;Mr=ve;Nr=X;Pr=Ae;Hr=ne}}}else{br=0.0;yr=0.0;Lr=0.0;Br=0.0;xr=0.0}Te=yA[i>>2]|0;De=(Te|0)>-1;if(De){Be=+(f|0);Pe=Lr+Be;Ce=+(Te|0);Ie=Ce+xr;xe=LA(f,f)|0;He=+(xe|0);Ue=yr+He;Ve=LA(Te,f)|0;qe=+(Ve|0);Ge=qe+Br;We=br+1.0;kr=We;Fr=Ue;Tr=Pe;Cr=Ge;Ur=Ie}else{kr=br;Fr=yr;Tr=Lr;Cr=Br;Ur=xr}je=yA[t>>2]|0;Ye=(je|0)>-1;if(Ye){Xe=+(J|0);Ke=Tr+Xe;Ze=+(je|0);Je=Ze+Ur;$e=LA(J,J)|0;er=+($e|0);rr=Fr+er;ir=LA(je,J)|0;tr=+(ir|0);nr=tr+Cr;or=kr+1.0;gr=or;Rr=rr;Dr=Ke;Ir=nr;zr=Je}else{gr=kr;Rr=Fr;Dr=Tr;Ir=Cr;zr=Ur}ar=Rr*gr;sr=Dr*Dr;lr=ar-sr;ur=lr>0.0;if(!ur){yA[i>>2]=0;yA[t>>2]=0;o=1;return o|0}cr=zr*Rr;hr=Dr*Ir;dr=cr-hr;vr=dr/lr;mr=Ir*gr;wr=Dr*zr;Er=mr-wr;pr=Er/lr;_r=+(f|0);h=pr*_r;d=h+vr;v=+Hn(d);m=~~v;yA[i>>2]=m;w=+(J|0);E=pr*w;p=E+vr;_=+Hn(p);b=~~_;yA[t>>2]=b;S=yA[i>>2]|0;g=(S|0)>1023;if(g){yA[i>>2]=1023;a=yA[t>>2]|0;A=a;L=1023}else{A=b;L=S}O=(A|0)>1023;if(O){yA[t>>2]=1023;s=yA[i>>2]|0;y=s;N=1023}else{y=L;N=A}M=(y|0)<0;if(M){yA[i>>2]=0;l=yA[t>>2]|0;F=l}else{F=N}R=(F|0)<0;if(!R){o=0;return o|0}yA[t>>2]=0;o=0;return o|0}function Je(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0;Oe=RA;a=e+836|0;s=e+840|0;p=yA[s>>2]|0;R=yA[e>>2]|0;Zu(r,R,5);U=yA[e>>2]|0;J=(U|0)>0;if(J){le=e+4|0;we=0;ge=-1;while(1){u=le+(we<<2)|0;c=yA[u>>2]|0;Zu(r,c,4);h=yA[u>>2]|0;d=(ge|0)<(h|0);i=d?h:ge;v=we+1|0;m=yA[e>>2]|0;w=(v|0)<(m|0);if(w){we=v;ge=i}else{t=i;break}}ue=(t|0)>-1;if(ue){ce=e+128|0;he=e+192|0;l=e+256|0;f=e+320|0;Ee=0;while(1){E=ce+(Ee<<2)|0;_=yA[E>>2]|0;b=_+-1|0;Zu(r,b,3);S=he+(Ee<<2)|0;k=yA[S>>2]|0;Zu(r,k,2);g=yA[S>>2]|0;A=(g|0)==0;if(A){_e=0;Ae=8}else{O=l+(Ee<<2)|0;y=yA[O>>2]|0;Zu(r,y,8);n=yA[S>>2]|0;M=(n|0)==31;if(!M){_e=0;Ae=8}}if((Ae|0)==8){while(1){Ae=0;F=(f+(Ee<<5)|0)+(_e<<2)|0;L=yA[F>>2]|0;N=L+1|0;Zu(r,N,8);T=_e+1|0;D=yA[S>>2]|0;B=1<>2]|0;H=x+-1|0;Zu(r,H,2);z=p+-1|0;V=yn(z)|0;Zu(r,V,4);q=yn(z)|0;G=yA[e>>2]|0;W=(G|0)>0;if(!W){return}j=e+4|0;Y=e+128|0;fe=G;de=0;pe=0;be=0;while(1){X=j+(pe<<2)|0;K=yA[X>>2]|0;Z=Y+(K<<2)|0;Q=yA[Z>>2]|0;$=Q+de|0;ee=(be|0)<($|0);if(ee){ke=be;while(1){re=ke+2|0;ie=a+(re<<2)|0;te=yA[ie>>2]|0;Zu(r,te,q);ne=ke+1|0;ve=(ne|0)==($|0);if(ve){break}else{ke=ne}}o=yA[e>>2]|0;se=o;Se=$}else{se=fe;Se=be}oe=pe+1|0;ae=(oe|0)<(se|0);if(ae){fe=se;de=$;pe=oe;be=Se}else{break}}return}function Qe(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0;var Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0;dr=RA;RA=RA+272|0;cr=dr;m=e+28|0;w=yA[m>>2]|0;M=BA(1,1120)|0;x=Tr(r,5)|0;yA[M>>2]=x;K=(x|0)>0;e:do{if(K){ae=M+4|0;er=0;fr=-1;while(1){_=Tr(r,4)|0;b=ae+(er<<2)|0;yA[b>>2]=_;S=(_|0)<0;if(S){break e}k=(fr|0)<(_|0);n=k?_:fr;g=er+1|0;A=yA[M>>2]|0;O=(g|0)<(A|0);if(O){er=g;fr=n}else{o=n;break}}Ee=(o|0)>-1;if(Ee){Fe=M+128|0;He=M+192|0;Ze=M+256|0;E=w+24|0;p=M+320|0;rr=0;while(1){y=Tr(r,3)|0;F=y+1|0;R=Fe+(rr<<2)|0;yA[R>>2]=F;L=Tr(r,2)|0;N=He+(rr<<2)|0;yA[N>>2]=L;T=(L|0)<0;if(T){break e}D=(L|0)==0;if(D){a=Ze+(rr<<2)|0;s=yA[a>>2]|0;C=s}else{B=Tr(r,8)|0;P=Ze+(rr<<2)|0;yA[P>>2]=B;C=B}I=(C|0)<0;if(I){break e}H=yA[E>>2]|0;U=(C|0)<(H|0);if(!U){break e}z=yA[N>>2]|0;V=(z|0)==31;if(!V){or=0;while(1){Y=Tr(r,8)|0;X=Y+-1|0;Z=(p+(rr<<5)|0)+(or<<2)|0;yA[Z>>2]=X;J=(Y|0)<0;if(J){break e}Q=yA[E>>2]|0;$=(Y|0)>(Q|0);W=or+1|0;if($){break e}q=yA[N>>2]|0;G=1<>2]=te;oe=Tr(r,4)|0;se=(oe|0)<0;if(!se){le=yA[M>>2]|0;fe=(le|0)>0;if(fe){ue=M+4|0;ce=M+128|0;he=M+836|0;de=1<>2]|0;we=ce+(me<<2)|0;pe=yA[we>>2]|0;_e=pe+$e|0;be=(_e|0)>63;if(be){break e}Se=(ar|0)<(_e|0);if(Se){lr=ar;while(1){ke=Tr(r,oe)|0;ge=lr+2|0;Ae=he+(ge<<2)|0;yA[Ae>>2]=ke;Oe=(ke|0)>-1;ye=(ke|0)<(de|0);ur=Oe&ye;if(!ur){break e}Me=lr+1|0;Re=(Me|0)<(_e|0);if(Re){lr=Me}else{t=Me;break}}u=yA[M>>2]|0;Te=u;sr=t}else{Te=Je;sr=ar}Le=ir+1|0;Ne=(Le|0)<(Te|0);if(Ne){Je=Te;$e=_e;ir=Le;ar=sr}else{l=he;f=de;Qe=_e;break}}}else{d=M+836|0;v=1<>2]=0;De=M+840|0;yA[De>>2]=f;Be=Qe+2|0;Pe=(Qe|0)>-2;if(Pe){tr=0;while(1){Ce=l+(tr<<2)|0;Ie=cr+(tr<<2)|0;yA[Ie>>2]=Ce;xe=tr+1|0;Ue=(xe|0)<(Be|0);if(Ue){tr=xe}else{break}}}Rn(cr,Be,4,8);ze=(Be|0)>1;r:do{if(ze){c=yA[cr>>2]|0;h=yA[c>>2]|0;Ye=h;nr=1;while(1){Ge=cr+(nr<<2)|0;We=yA[Ge>>2]|0;je=yA[We>>2]|0;Xe=(Ye|0)==(je|0);Ve=nr+1|0;if(Xe){break}qe=(Ve|0)<(Be|0);if(qe){Ye=je;nr=Ve}else{break r}}Ke=(M|0)==(0|0);if(Ke){i=0}else{break e}RA=dr;return i|0}}while(0);i=M;RA=dr;return i|0}}}while(0);Wn(M);i=0;RA=dr;return i|0}function $e(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0;var Xe=0,Ke=0;Ke=RA;RA=RA+272|0;Ye=Ke;t=BA(1,1312)|0;n=t+1296|0;yA[n>>2]=r;m=r+836|0;y=r+840|0;I=yA[y>>2]|0;X=t+1288|0;yA[X>>2]=I;oe=yA[r>>2]|0;we=(oe|0)>0;if(we){ge=r+4|0;o=r+128|0;Le=0;Ge=0;while(1){a=ge+(Le<<2)|0;s=yA[a>>2]|0;l=o+(s<<2)|0;f=yA[l>>2]|0;u=f+Ge|0;c=Le+1|0;h=(c|0)<(oe|0);if(h){Le=c;Ge=u}else{i=u;break}}d=i+2|0;v=t+1284|0;yA[v>>2]=d;w=(i|0)>-2;if(w){S=d;qe=i;Xe=7}else{Rn(Ye,d,4,8);Ve=i}}else{ke=t+1284|0;yA[ke>>2]=2;S=2;qe=0;Xe=7}if((Xe|0)==7){Ne=0;while(1){E=m+(Ne<<2)|0;p=Ye+(Ne<<2)|0;yA[p>>2]=E;_=Ne+1|0;b=(_|0)<(S|0);if(b){Ne=_}else{break}}Rn(Ye,S,4,8);k=m;g=t+260|0;Te=0;while(1){M=Ye+(Te<<2)|0;F=yA[M>>2]|0;R=F;L=R-k|0;N=L>>2;T=g+(Te<<2)|0;yA[T>>2]=N;D=Te+1|0;B=(D|0)<(S|0);if(B){Te=D}else{break}}A=t+260|0;O=t+520|0;De=0;while(1){C=A+(De<<2)|0;x=yA[C>>2]|0;H=O+(x<<2)|0;yA[H>>2]=De;U=De+1|0;z=(U|0)<(S|0);if(z){De=U}else{break}}P=t+260|0;Be=0;while(1){V=P+(Be<<2)|0;q=yA[V>>2]|0;G=m+(q<<2)|0;W=yA[G>>2]|0;j=t+(Be<<2)|0;yA[j>>2]=W;Y=Be+1|0;K=(Y|0)<(S|0);if(K){Be=Y}else{Ve=qe;break}}}Z=r+832|0;J=yA[Z>>2]|0;if((J|0)==4){re=t+1292|0;yA[re>>2]=64}else if((J|0)==2){$=t+1292|0;yA[$>>2]=128}else if((J|0)==1){Q=t+1292|0;yA[Q>>2]=256}else if((J|0)==3){ee=t+1292|0;yA[ee>>2]=86}ie=(Ve|0)>0;if(!ie){RA=Ke;return t|0}te=t+1032|0;ne=t+780|0;Pe=0;while(1){ae=Pe+2|0;se=m+(ae<<2)|0;le=yA[se>>2]|0;fe=yA[X>>2]|0;Oe=1;Fe=fe;Ce=0;Ie=0;Ue=0;while(1){ue=m+(Ce<<2)|0;ce=yA[ue>>2]|0;he=(ce|0)>(Ue|0);de=(ce|0)<(le|0);We=he&de;xe=We?Ce:Ie;ze=We?ce:Ue;ve=(ce|0)<(Fe|0);me=(ce|0)>(le|0);je=ve&me;ye=je?Ce:Oe;Re=je?ce:Fe;Ee=Ce+1|0;pe=(Ee|0)<(ae|0);if(pe){Oe=ye;Fe=Re;Ce=Ee;Ie=xe;Ue=ze}else{Me=ye;He=xe;break}}_e=te+(Pe<<2)|0;yA[_e>>2]=He;be=ne+(Pe<<2)|0;yA[be>>2]=Me;Se=Pe+1|0;Ae=(Se|0)==(Ve|0);if(Ae){break}else{Pe=Se}}RA=Ke;return t|0}function er(e){e=e|0;var r=0,i=0,t=0;t=RA;r=(e|0)==(0|0);if(!r){Wn(e)}return}function rr(e){e=e|0;var r=0,i=0,t=0;t=RA;r=(e|0)==(0|0);if(!r){Wn(e)}return}function ir(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0;var Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0;var vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0;Nr=RA;o=r+1296|0;a=yA[o>>2]|0;z=e+64|0;Q=yA[z>>2]|0;fe=Q+4|0;be=yA[fe>>2]|0;Ne=be+28|0;Ve=yA[Ne>>2]|0;$e=Ve+2848|0;ur=yA[$e>>2]|0;s=e+4|0;p=Tr(s,1)|0;R=(p|0)==1;if(!R){i=0;return i|0}B=r+1284|0;P=yA[B>>2]|0;C=P<<2;I=Qu(e,C)|0;x=r+1292|0;H=yA[x>>2]|0;U=H+-1|0;V=yn(U)|0;q=Tr(s,V)|0;yA[I>>2]=q;G=yA[x>>2]|0;W=G+-1|0;j=yn(W)|0;Y=Tr(s,j)|0;X=I+4|0;yA[X>>2]=Y;K=yA[a>>2]|0;Z=(K|0)>0;e:do{if(Z){gr=0;yr=2;r:while(1){ie=(a+4|0)+(gr<<2)|0;te=yA[ie>>2]|0;ne=(a+128|0)+(te<<2)|0;oe=yA[ne>>2]|0;ae=(a+192|0)+(te<<2)|0;se=yA[ae>>2]|0;le=1<>2]|0;de=ur+(he*56|0)|0;ve=Dr(de,s)|0;me=(ve|0)==-1;if(me){i=0;Lr=25;break}else{Sr=ve}}we=(oe|0)>0;if(we){Ee=le+-1|0;kr=Sr;Mr=0;while(1){pe=kr&Ee;_e=((a+320|0)+(te<<5)|0)+(pe<<2)|0;Se=yA[_e>>2]|0;ke=kr>>se;ge=(Se|0)>-1;if(ge){Ae=ur+(Se*56|0)|0;Oe=Dr(Ae,s)|0;ye=Mr+yr|0;Me=I+(ye<<2)|0;yA[Me>>2]=Oe;Fe=(Oe|0)==-1;if(Fe){i=0;Lr=25;break r}}else{Re=Mr+yr|0;Le=I+(Re<<2)|0;yA[Le>>2]=0}Te=Mr+1|0;De=(Te|0)<(oe|0);if(De){kr=ke;Mr=Te}else{break}}}Be=oe+yr|0;Pe=gr+1|0;Ce=yA[a>>2]|0;Ie=(Pe|0)<(Ce|0);if(Ie){gr=Pe;yr=Be}else{break e}}if((Lr|0)==25){return i|0}}}while(0);J=yA[B>>2]|0;$=(J|0)>2;if(!$){i=I;return i|0}ee=r+1032|0;re=r+780|0;Ar=2;while(1){xe=Ar+-2|0;He=ee+(xe<<2)|0;Ue=yA[He>>2]|0;ze=(a+836|0)+(Ue<<2)|0;qe=yA[ze>>2]|0;Ge=re+(xe<<2)|0;We=yA[Ge>>2]|0;je=(a+836|0)+(We<<2)|0;Ye=yA[je>>2]|0;Xe=I+(Ue<<2)|0;Ke=yA[Xe>>2]|0;Ze=I+(We<<2)|0;Je=yA[Ze>>2]|0;Qe=(a+836|0)+(Ar<<2)|0;er=yA[Qe>>2]|0;rr=Ke&32767;ir=Je&32767;tr=ir-rr|0;nr=Ye-qe|0;Or=(tr|0)>-1;Fr=0-tr|0;or=Or?tr:Fr;ar=er-qe|0;sr=LA(or,ar)|0;lr=(sr|0)/(nr|0)&-1;fr=(tr|0)<0;cr=0-lr|0;n=fr?cr:lr;t=n+rr|0;hr=yA[x>>2]|0;dr=hr-t|0;vr=I+(Ar<<2)|0;mr=yA[vr>>2]|0;wr=(mr|0)==0;if(wr){L=t|32768;yA[vr>>2]=L}else{Er=(dr|0)<(t|0);pr=Er?dr:t;_r=pr<<1;br=(mr|0)<(_r|0);do{if(br){h=mr&1;d=(h|0)==0;if(d){E=mr>>1;Rr=E;break}else{v=mr+1|0;m=v>>1;w=0-m|0;Rr=w;break}}else{l=(dr|0)>(t|0);if(l){f=mr-t|0;Rr=f;break}else{u=mr-dr|0;c=u^-1;Rr=c;break}}}while(0);_=Rr+t|0;b=_&32767;yA[vr>>2]=b;S=yA[He>>2]|0;k=I+(S<<2)|0;g=yA[k>>2]|0;A=g&32767;yA[k>>2]=A;O=yA[Ge>>2]|0;y=I+(O<<2)|0;M=yA[y>>2]|0;F=M&32767;yA[y>>2]=F}N=Ar+1|0;T=yA[B>>2]|0;D=(N|0)<(T|0);if(D){Ar=N}else{i=I;break}}return i|0}function tr(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0;var A=0,O=0,y=0,M=0.0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0;var G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0.0,te=0,ne=0.0,oe=0.0,ae=0,se=0,le=0,fe=0;var ue=0,ce=0,he=0,de=0,ve=0.0,me=0,we=0,Ee=0.0,pe=0.0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0.0,Oe=0.0,ye=0,Me=0,Fe=0,Re=0;var Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0;var Ze=0,Je=0,Qe=0;Qe=RA;a=r+1296|0;s=yA[a>>2]|0;p=e+64|0;R=yA[p>>2]|0;U=R+4|0;J=yA[U>>2]|0;le=J+28|0;_e=yA[le>>2]|0;Fe=e+28|0;Re=yA[Fe>>2]|0;l=_e+(Re<<2)|0;f=yA[l>>2]|0;u=(f|0)/2&-1;c=(i|0)==(0|0);if(c){Me=u<<2;tl(t|0,0,Me|0)|0;n=0;return n|0}h=yA[i>>2]|0;d=s+832|0;v=yA[d>>2]|0;m=LA(v,h)|0;w=(m|0)<0;E=(m|0)>255;_=E?255:m;b=w?0:_;S=r+1284|0;k=yA[S>>2]|0;g=(k|0)>1;if(g){A=r+260|0;Pe=0;He=1;ze=0;Ge=b;while(1){F=A+(He<<2)|0;L=yA[F>>2]|0;N=i+(L<<2)|0;T=yA[N>>2]|0;D=T&32767;B=(D|0)==(T|0);if(B){P=(s+836|0)+(L<<2)|0;C=yA[P>>2]|0;I=LA(v,T)|0;x=(I|0)<0;H=(I|0)>255;z=H?255:I;V=x?0:z;q=V-Ge|0;G=C-ze|0;Ie=(q|0)>-1;je=0-q|0;W=Ie?q:je;j=(q|0)/(G|0)&-1;Y=q>>31;X=Y|1;K=LA(j,G)|0;xe=(K|0)>-1;Ye=0-K|0;Z=xe?K:Ye;Q=W-Z|0;$=(u|0)>(C|0);Xe=$?C:u;ee=(Xe|0)>(ze|0);if(ee){re=1768+(Ge<<2)|0;ie=+MA[re>>2];te=t+(ze<<2)|0;ne=+MA[te>>2];oe=ne*ie;MA[te>>2]=oe}ae=ze+1|0;se=(ae|0)<(Xe|0);if(se){we=ae;Le=0;Ke=Ge;while(1){fe=Le+Q|0;ue=(fe|0)<(G|0);ce=ue?0:X;he=ue?0:G;Ne=fe-he|0;o=Ke+j|0;Ze=o+ce|0;de=1768+(Ze<<2)|0;ve=+MA[de>>2];me=t+(we<<2)|0;Ee=+MA[me>>2];pe=Ee*ve;MA[me>>2]=pe;be=we+1|0;De=(be|0)==(Xe|0);if(De){Ce=C;Ve=C;We=V;break}else{we=be;Le=Ne;Ke=Ze}}}else{Ce=C;Ve=C;We=V}}else{Ce=Pe;Ve=ze;We=Ge}Se=He+1|0;ke=(Se|0)<(k|0);if(ke){Pe=Ce;He=Se;ze=Ve;Ge=We}else{Be=Ce;qe=We;break}}}else{Be=0;qe=b}O=(Be|0)<(u|0);if(!O){n=1;return n|0}y=1768+(qe<<2)|0;M=+MA[y>>2];Ue=Be;while(1){ge=t+(Ue<<2)|0;Ae=+MA[ge>>2];Oe=Ae*M;MA[ge>>2]=Oe;ye=Ue+1|0;Te=(ye|0)==(u|0);if(Te){n=1;break}else{Ue=ye}}return n|0}function nr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0;l=RA;i=yA[e>>2]|0;t=yA[i>>2]|0;n=yA[r>>2]|0;o=yA[n>>2]|0;a=t-o|0;return a|0}function or(e){e=e|0;var r=0,i=0;i=RA;yA[e>>2]=0|0;yA[e+4>>2]=0|0;yA[e+8>>2]=0|0;yA[e+12>>2]=0|0;return}function ar(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0;var g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0;x=RA;n=wi(r|0)|0;o=wi(i|0)|0;w=n+2|0;M=w+o|0;t=M;R=RA;RA=RA+((1*t|0)+15&-16)|0;_i(R|0,r|0)|0;C=wi(R|0)|0;P=R+C|0;An[P>>0]=61&255;An[P+1>>0]=61>>8;Ei(R|0,i|0)|0;L=yA[e>>2]|0;N=e+8|0;T=yA[N>>2]|0;D=T<<2;B=D+8|0;a=jn(L,B)|0;yA[e>>2]=a;s=e+4|0;l=yA[s>>2]|0;f=yA[N>>2]|0;u=f<<2;c=u+8|0;h=jn(l,c)|0;yA[s>>2]=h;d=wi(R|0)|0;v=yA[N>>2]|0;m=h+(v<<2)|0;yA[m>>2]=d;E=d+1|0;p=DA(E)|0;_=yA[e>>2]|0;b=_+(v<<2)|0;yA[b>>2]=p;S=yA[e>>2]|0;k=S+(v<<2)|0;g=yA[k>>2]|0;_i(g|0,R|0)|0;A=yA[N>>2]|0;O=A+1|0;yA[N>>2]=O;y=yA[e>>2]|0;F=y+(O<<2)|0;yA[F>>2]=0;RA=x;return}function sr(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0;M=RA;n=(e|0)==(0|0);if(n){return}o=yA[e>>2]|0;w=(o|0)==(0|0);if(!w){p=e+8|0;_=yA[p>>2]|0;b=(_|0)>0;if(b){E=_;k=o;O=0;while(1){S=k+(O<<2)|0;g=yA[S>>2]|0;A=(g|0)==(0|0);if(A){l=E}else{Wn(g);i=yA[p>>2]|0;l=i}a=O+1|0;s=(a|0)<(l|0);if(!s){break}r=yA[e>>2]|0;E=l;k=r;O=a}t=yA[e>>2]|0;f=t}else{f=o}Wn(f)}u=e+4|0;c=yA[u>>2]|0;h=(c|0)==(0|0);if(!h){Wn(c)}d=e+12|0;v=yA[d>>2]|0;m=(v|0)==(0|0);if(!m){Wn(v)}yA[e>>2]=0|0;yA[e+4>>2]=0|0;yA[e+8>>2]=0|0;yA[e+12>>2]=0|0;return}function lr(e){e=e|0;var r=0,i=0,t=0,n=0;n=RA;yA[e>>2]=0|0;yA[e+4>>2]=0|0;yA[e+8>>2]=0|0;yA[e+12>>2]=0|0;yA[e+16>>2]=0|0;yA[e+20>>2]=0|0;yA[e+24>>2]=0|0;r=BA(1,3664)|0;i=e+28|0;yA[i>>2]=r;return}function ur(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0;var se=0,le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0;var Me=0,Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0;Ve=RA;o=e+28|0;a=yA[o>>2]|0;E=(a|0)==(0|0);if(E){yA[e>>2]=0|0;yA[e+4>>2]=0|0;yA[e+8>>2]=0|0;yA[e+12>>2]=0|0;yA[e+16>>2]=0|0;yA[e+20>>2]=0|0;yA[e+24>>2]=0|0;yA[e+28>>2]=0|0;return}F=a+8|0;H=yA[F>>2]|0;Z=(H|0)>0;if(Z){Le=H;Pe=0;while(1){Be=(a+32|0)+(Pe<<2)|0;s=yA[Be>>2]|0;l=(s|0)==(0|0);if(l){c=Le}else{Wn(s);r=yA[F>>2]|0;c=r}f=Pe+1|0;u=(f|0)<(c|0);if(u){Le=c;Pe=f}else{break}}}se=a+12|0;pe=yA[se>>2]|0;Re=(pe|0)>0;if(Re){Ne=pe;Ce=0;while(1){m=(a+544|0)+(Ce<<2)|0;w=yA[m>>2]|0;p=(w|0)==(0|0);if(p){M=Ne}else{_=(a+288|0)+(Ce<<2)|0;b=yA[_>>2]|0;S=25664+(b<<2)|0;k=yA[S>>2]|0;g=k+8|0;A=yA[g>>2]|0;ut[A&7](w);i=yA[se>>2]|0;M=i}O=Ce+1|0;y=(O|0)<(M|0);if(y){Ne=M;Ce=O}else{break}}}h=a+16|0;d=yA[h>>2]|0;v=(d|0)>0;if(v){Te=d;Ie=0;while(1){T=(a+1056|0)+(Ie<<2)|0;D=yA[T>>2]|0;B=(D|0)==(0|0);if(B){G=Te}else{P=(a+800|0)+(Ie<<2)|0;C=yA[P>>2]|0;I=25640+(C<<2)|0;x=yA[I>>2]|0;U=x+12|0;z=yA[U>>2]|0;ut[z&7](D);t=yA[h>>2]|0;G=t}V=Ie+1|0;q=(V|0)<(G|0);if(q){Te=G;Ie=V}else{break}}}R=a+20|0;L=yA[R>>2]|0;N=(L|0)>0;if(N){De=L;xe=0;while(1){K=(a+1568|0)+(xe<<2)|0;J=yA[K>>2]|0;Q=(J|0)==(0|0);if(Q){le=De}else{$=(a+1312|0)+(xe<<2)|0;ee=yA[$>>2]|0;re=25648+(ee<<2)|0;ie=yA[re>>2]|0;te=ie+12|0;ne=yA[te>>2]|0;ut[ne&7](J);n=yA[R>>2]|0;le=n}oe=xe+1|0;ae=(oe|0)<(le|0);if(ae){De=le;xe=oe}else{break}}}W=a+24|0;j=yA[W>>2]|0;Y=(j|0)>0;X=a+2848|0;if(Y){He=0;while(1){fe=(a+1824|0)+(He<<2)|0;ue=yA[fe>>2]|0;ce=(ue|0)==(0|0);if(!ce){Ci(ue)}he=yA[X>>2]|0;de=(he|0)==(0|0);if(!de){ve=he+(He*56|0)|0;Xr(ve)}me=He+1|0;we=yA[W>>2]|0;Ee=(me|0)<(we|0);if(Ee){He=me}else{break}}}_e=yA[X>>2]|0;be=(_e|0)==(0|0);if(!be){Wn(_e)}Se=a+28|0;ke=yA[Se>>2]|0;ge=(ke|0)>0;if(ge){Ue=0;while(1){Ae=(a+2852|0)+(Ue<<2)|0;Oe=yA[Ae>>2]|0;Sr(Oe);ye=Ue+1|0;Me=yA[Se>>2]|0;Fe=(ye|0)<(Me|0);if(Fe){Ue=ye}else{break}}}Wn(a);yA[e>>2]=0|0;yA[e+4>>2]=0|0;yA[e+8>>2]=0|0;yA[e+12>>2]=0|0;yA[e+16>>2]=0|0;yA[e+20>>2]=0|0;yA[e+24>>2]=0|0;yA[e+28>>2]=0|0;return}function cr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0;var O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0;var W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0;var ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0,Le=0;var Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0,Ze=0;var Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0,mr=0,wr=0;var Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0,Pr=0,Cr=0;var Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0,ei=0,ri=0,ii=0;var ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0,bi=0,Si=0,ki=0;ki=RA;RA=RA+32|0;pi=ki;l=e+4|0;f=yA[l>>2]|0;De=e+104|0;Ge=yA[De>>2]|0;rr=(Ge|0)==(0|0);if(rr){yA[i>>2]=0|0;yA[i+4>>2]=0|0;yA[i+8>>2]=0|0;yA[i+12>>2]=0|0;yA[i+16>>2]=0|0;yA[i+20>>2]=0|0;yA[i+24>>2]=0|0;yA[i+28>>2]=0|0;yA[t>>2]=0|0;yA[t+4>>2]=0|0;yA[t+8>>2]=0|0;yA[t+12>>2]=0|0;yA[t+16>>2]=0|0;yA[t+20>>2]=0|0;yA[t+24>>2]=0|0;yA[t+28>>2]=0|0;yA[n>>2]=0|0;yA[n+4>>2]=0|0;yA[n+8>>2]=0|0;yA[n+12>>2]=0|0;yA[n+16>>2]=0|0;yA[n+20>>2]=0|0;yA[n+24>>2]=0|0;yA[n+28>>2]=0|0;o=-129;RA=ki;return o|0}hr=f+4|0;gr=yA[hr>>2]|0;Br=(gr|0)<1;if(Br){_i=-129;Si=27}else{gi(pi);Wr=f+28|0;ii=yA[Wr>>2]|0;u=(ii|0)==(0|0);if(u){_i=-130;Si=27}else{S=yA[ii>>2]|0;T=(S|0)<64;if(T){_i=-130;Si=27}else{q=ii+4|0;ee=yA[q>>2]|0;ce=(ee|0)<(S|0);if(ce){_i=-130;Si=27}else{Zu(pi,1,8);Zu(pi,118,8);Zu(pi,111,8);Zu(pi,114,8);Zu(pi,98,8);Zu(pi,105,8);Zu(pi,115,8);Zu(pi,0,32);ke=yA[hr>>2]|0;Zu(pi,ke,8);Le=f+8|0;Ne=yA[Le>>2]|0;Zu(pi,Ne,32);Te=f+12|0;Be=yA[Te>>2]|0;Zu(pi,Be,32);Pe=f+16|0;Ce=yA[Pe>>2]|0;Zu(pi,Ce,32);Ie=f+20|0;xe=yA[Ie>>2]|0;Zu(pi,xe,32);He=yA[ii>>2]|0;Ue=He+-1|0;ze=yn(Ue)|0;Zu(pi,ze,4);Ve=yA[q>>2]|0;qe=Ve+-1|0;We=yn(qe)|0;Zu(pi,We,4);Zu(pi,1,1);je=Ge+64|0;Ye=yA[je>>2]|0;Xe=(Ye|0)==(0|0);if(!Xe){Wn(Ye)}Ke=Jt(pi)|0;Ze=DA(Ke)|0;yA[je>>2]=Ze;Je=pi+8|0;Qe=yA[Je>>2]|0;$e=Jt(pi)|0;PA(Ze|0,Qe|0,$e|0)|0;er=yA[je>>2]|0;yA[i>>2]=er;ir=Jt(pi)|0;tr=i+4|0;yA[tr>>2]=ir;nr=i+8|0;yA[nr>>2]=1;or=i+12|0;yA[or>>2]=0|0;yA[or+4>>2]=0|0;yA[or+8>>2]=0|0;yA[or+12>>2]=0|0;yA[or+16>>2]=0|0;Oi(pi);Mi(pi,r);ar=Ge+68|0;sr=yA[ar>>2]|0;lr=(sr|0)==(0|0);if(!lr){Wn(sr)}fr=Jt(pi)|0;ur=DA(fr)|0;yA[ar>>2]=ur;cr=yA[Je>>2]|0;dr=Jt(pi)|0;PA(ur|0,cr|0,dr|0)|0;vr=yA[ar>>2]|0;yA[t>>2]=vr;mr=Jt(pi)|0;wr=t+4|0;yA[wr>>2]=mr;Er=t+8|0;pr=t+24|0;yA[Er>>2]=0|0;yA[Er+4>>2]=0|0;yA[Er+8>>2]=0|0;yA[Er+12>>2]=0|0;_r=pr;br=_r;yA[br>>2]=1;Sr=_r+4|0;kr=Sr;yA[kr>>2]=0;Oi(pi);Ar=yA[Wr>>2]|0;Or=(Ar|0)==(0|0);e:do{if(!Or){Zu(pi,5,8);Zu(pi,118,8);Zu(pi,111,8);Zu(pi,114,8);Zu(pi,98,8);Zu(pi,105,8);Zu(pi,115,8);yr=Ar+24|0;Mr=yA[yr>>2]|0;Fr=Mr+-1|0;Zu(pi,Fr,8);Rr=yA[yr>>2]|0;Lr=(Rr|0)>0;if(Lr){di=0;while(1){Pr=(Ar+1824|0)+(di<<2)|0;Cr=yA[Pr>>2]|0;Ir=yi(Cr,pi)|0;xr=(Ir|0)==0;Tr=di+1|0;if(!xr){break e}Nr=yA[yr>>2]|0;Dr=(Tr|0)<(Nr|0);if(Dr){di=Tr}else{break}}}Zu(pi,0,6);Zu(pi,0,16);Hr=Ar+16|0;Ur=yA[Hr>>2]|0;zr=Ur+-1|0;Zu(pi,zr,6);Vr=yA[Hr>>2]|0;qr=(Vr|0)>0;if(qr){vi=0;while(1){Gr=(Ar+800|0)+(vi<<2)|0;jr=yA[Gr>>2]|0;Zu(pi,jr,16);Yr=yA[Gr>>2]|0;Xr=25640+(Yr<<2)|0;Kr=yA[Xr>>2]|0;Zr=yA[Kr>>2]|0;Jr=(Zr|0)==(0|0);if(Jr){break e}Qr=(Ar+1056|0)+(vi<<2)|0;$r=yA[Qr>>2]|0;ct[Zr&3]($r,pi);ei=vi+1|0;ri=yA[Hr>>2]|0;ti=(ei|0)<(ri|0);if(ti){vi=ei}else{break}}}ni=Ar+20|0;oi=yA[ni>>2]|0;ai=oi+-1|0;Zu(pi,ai,6);si=yA[ni>>2]|0;li=(si|0)>0;if(li){mi=0;while(1){fi=(Ar+1312|0)+(mi<<2)|0;ui=yA[fi>>2]|0;Zu(pi,ui,16);ci=yA[fi>>2]|0;hi=25648+(ci<<2)|0;c=yA[hi>>2]|0;h=yA[c>>2]|0;d=(Ar+1568|0)+(mi<<2)|0;v=yA[d>>2]|0;ct[h&3](v,pi);m=mi+1|0;w=yA[ni>>2]|0;E=(m|0)<(w|0);if(E){mi=m}else{break}}}p=Ar+12|0;_=yA[p>>2]|0;b=_+-1|0;Zu(pi,b,6);k=yA[p>>2]|0;g=(k|0)>0;if(g){wi=0;while(1){A=(Ar+288|0)+(wi<<2)|0;O=yA[A>>2]|0;Zu(pi,O,16);y=yA[A>>2]|0;M=25664+(y<<2)|0;F=yA[M>>2]|0;R=yA[F>>2]|0;L=(Ar+544|0)+(wi<<2)|0;N=yA[L>>2]|0;mt[R&1](f,N,pi);D=wi+1|0;B=yA[p>>2]|0;P=(D|0)<(B|0);if(P){wi=D}else{break}}}C=Ar+8|0;I=yA[C>>2]|0;x=I+-1|0;Zu(pi,x,6);H=yA[C>>2]|0;U=(H|0)>0;if(U){Ei=0;while(1){z=(Ar+32|0)+(Ei<<2)|0;V=yA[z>>2]|0;G=yA[V>>2]|0;Zu(pi,G,1);W=yA[z>>2]|0;j=W+4|0;Y=yA[j>>2]|0;Zu(pi,Y,16);X=yA[z>>2]|0;K=X+8|0;Z=yA[K>>2]|0;Zu(pi,Z,16);J=yA[z>>2]|0;Q=J+12|0;$=yA[Q>>2]|0;Zu(pi,$,8);re=Ei+1|0;ie=yA[C>>2]|0;te=(re|0)<(ie|0);if(te){Ei=re}else{break}}}Zu(pi,1,1);ne=Ge+72|0;oe=yA[ne>>2]|0;ae=(oe|0)==(0|0);if(!ae){Wn(oe)}se=Jt(pi)|0;le=DA(se)|0;yA[ne>>2]=le;fe=yA[Je>>2]|0;ue=Jt(pi)|0;PA(le|0,fe|0,ue|0)|0;he=yA[ne>>2]|0;yA[n>>2]=he;de=Jt(pi)|0;ve=n+4|0;yA[ve>>2]=de;me=n+8|0;we=n+24|0;yA[me>>2]=0|0;yA[me+4>>2]=0|0;yA[me+8>>2]=0|0;yA[me+12>>2]=0|0;Ee=we;pe=Ee;yA[pe>>2]=2;_e=Ee+4|0;be=_e;yA[be>>2]=0;Ai(pi);o=0;RA=ki;return o|0}}while(0);yA[i>>2]=0|0;yA[i+4>>2]=0|0;yA[i+8>>2]=0|0;yA[i+12>>2]=0|0;yA[i+16>>2]=0|0;yA[i+20>>2]=0|0;yA[i+24>>2]=0|0;yA[i+28>>2]=0|0;yA[t>>2]=0|0;yA[t+4>>2]=0|0;yA[t+8>>2]=0|0;yA[t+12>>2]=0|0;yA[t+16>>2]=0|0;yA[t+20>>2]=0|0;yA[t+24>>2]=0|0;yA[t+28>>2]=0|0;yA[n>>2]=0|0;yA[n+4>>2]=0|0;yA[n+8>>2]=0|0;yA[n+12>>2]=0|0;yA[n+16>>2]=0|0;yA[n+20>>2]=0|0;yA[n+24>>2]=0|0;yA[n+28>>2]=0|0;s=je;bi=-130}}}}if((Si|0)==27){yA[i>>2]=0|0;yA[i+4>>2]=0|0;yA[i+8>>2]=0|0;yA[i+12>>2]=0|0;yA[i+16>>2]=0|0;yA[i+20>>2]=0|0;yA[i+24>>2]=0|0;yA[i+28>>2]=0|0;yA[t>>2]=0|0;yA[t+4>>2]=0|0;yA[t+8>>2]=0|0;yA[t+12>>2]=0|0;yA[t+16>>2]=0|0;yA[t+20>>2]=0|0;yA[t+24>>2]=0|0;yA[t+28>>2]=0|0;yA[n>>2]=0|0;yA[n+4>>2]=0|0;yA[n+8>>2]=0|0;yA[n+12>>2]=0|0;yA[n+16>>2]=0|0;yA[n+20>>2]=0|0;yA[n+24>>2]=0|0;yA[n+28>>2]=0|0;a=Ge+64|0;s=a;bi=_i}Ai(pi);Se=yA[s>>2]|0;ge=(Se|0)==(0|0);if(!ge){Wn(Se)}Ae=Ge+68|0;Oe=yA[Ae>>2]|0;ye=(Oe|0)==(0|0);if(!ye){Wn(Oe)}Me=Ge+72|0;Fe=yA[Me>>2]|0;Re=(Fe|0)==(0|0);if(!Re){Wn(Fe)}yA[s>>2]=0;yA[Ae>>2]=0;yA[Me>>2]=0;o=bi;RA=ki;return o|0}function Mi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;U=RA;Zu(e,3,8);Zu(e,118,8);Zu(e,111,8);Zu(e,114,8);Zu(e,98,8);Zu(e,105,8);Zu(e,115,8);Zu(e,44,32);i=1200;n=44;while(1){a=n+-1|0;s=i+1|0;p=An[i>>0]|0;R=p<<24>>24;Zu(e,R,8);T=(a|0)==0;if(T){break}else{i=s;n=a}}D=r+8|0;B=yA[D>>2]|0;Zu(e,B,32);P=yA[D>>2]|0;C=(P|0)>0;if(!C){Zu(e,1,1);return}I=r+4|0;x=0;while(1){l=yA[r>>2]|0;f=l+(x<<2)|0;u=yA[f>>2]|0;c=(u|0)==(0|0);if(c){Zu(e,0,32)}else{h=yA[I>>2]|0;d=h+(x<<2)|0;v=yA[d>>2]|0;Zu(e,v,32);m=yA[I>>2]|0;w=m+(x<<2)|0;E=yA[w>>2]|0;_=(E|0)==0;if(!_){b=yA[r>>2]|0;S=b+(x<<2)|0;k=yA[S>>2]|0;t=k;o=E;while(1){g=o+-1|0;A=t+1|0;O=An[t>>0]|0;y=O<<24>>24;Zu(e,y,8);M=(g|0)==0;if(M){break}else{t=A;o=g}}}}F=x+1|0;L=yA[D>>2]|0;N=(F|0)<(L|0);if(N){x=F}else{break}}Zu(e,1,1);return}function hr(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0.0,s=0.0,l=0,f=0,u=0.0,c=0,h=0,d=0.0,v=0.0,m=0.0,w=0.0,E=0,p=0,_=0,b=0,S=0,k=0.0,g=0.0;var A=0.0,O=0.0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0.0,B=0.0,P=0,C=0.0,I=0,x=0,H=0.0,U=0,z=0,V=0,q=0.0;var G=0.0,W=0.0,j=0,Y=0.0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0.0,ie=0,te=0,ne=0.0,oe=0.0,ae=0.0,se=0.0,le=0.0,fe=0.0;var ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0.0,Ee=0.0,pe=0.0,_e=0.0,be=0.0,Se=0,ke=0.0,ge=0.0,Ae=0,Oe=0,ye=0.0,Me=0.0,Fe=0.0,Re=0;var Le=0,Ne=0.0,Te=0,De=0.0,Be=0,Pe=0,Ce=0.0,Ie=0.0,xe=0.0,He=0.0,Ue=0.0,ze=0.0,Ve=0.0,qe=0.0,Ge=0.0,We=0,je=0,Ye=0,Xe=0,Ke=0;var Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0.0,or=0,ar=0,sr=0;sr=RA;l=t+1|0;f=l<<3;n=f;b=RA;RA=RA+((1*n|0)+15&-16)|0;N=t<<3;o=N;V=RA;RA=RA+((1*o|0)+15&-16)|0;$=(l|0)==0;if($){g=0.0}else{ue=t;while(1){Se=(ue|0)<(i|0);if(Se){He=0.0;Ke=ue;while(1){Te=e+(Ke<<2)|0;Ie=+MA[Te>>2];u=Ie;c=Ke-ue|0;h=e+(c<<2)|0;d=+MA[h>>2];v=d;m=v*u;w=m+He;E=Ke+1|0;Xe=(E|0)==(i|0);if(Xe){xe=w;break}else{He=w;Ke=E}}}else{xe=0.0}p=b+(ue<<3)|0;FA[p>>3]=xe;_=ue+-1|0;S=(ue|0)==0;if(S){break}else{ue=_}}s=+FA[b>>3];g=s}k=g*1.0000000001;A=g*1.0000000000000001E-9;O=A+1.0E-10;y=(t|0)>0;if(y){ze=k;Ze=0}else{Ge=k;Ce=Ge;RA=sr;return+Ce}while(1){Qe=Ze+1|0;M=ze>3];B=-D;P=(Ze|0)>0;if(P){$e=0;nr=B;while(1){x=V+($e<<3)|0;H=+FA[x>>3];U=Ze-$e|0;z=b+(U<<3)|0;q=+FA[z>>3];G=q*H;W=nr-G;j=$e+1|0;Ye=(j|0)==(Ze|0);if(Ye){a=W;break}else{$e=j;nr=W}}Y=a/ze;X=V+(Ze<<3)|0;FA[X>>3]=Y;K=(Ze|0)/2&-1;Z=(Ze|0)>1;if(Z){J=Ze+-1|0;Q=(K|0)>1;rr=0;while(1){ee=V+(rr<<3)|0;re=+FA[ee>>3];ie=J-rr|0;te=V+(ie<<3)|0;ne=+FA[te>>3];oe=ne*Y;ae=oe+re;FA[ee>>3]=ae;se=re*Y;le=+FA[te>>3];fe=le+se;FA[te>>3]=fe;ce=rr+1|0;he=(ce|0)<(K|0);if(he){rr=ce}else{break}}or=Q?K:1;pe=Y;er=or}else{pe=Y;er=0}}else{C=B/ze;I=V+(Ze<<3)|0;FA[I>>3]=C;pe=C;er=0}de=Ze&1;ve=(de|0)==0;if(!ve){me=V+(er<<3)|0;we=+FA[me>>3];Ee=we*pe;_e=Ee+we;FA[me>>3]=_e}be=pe*pe;ke=1.0-be;ge=ke*ze;Ae=(Qe|0)<(t|0);if(Ae){ze=ge;Ze=Qe}else{qe=ge;break}}if((ar|0)==8){F=V+(Je<<3)|0;R=t-Je|0;L=R<<3;tl(F|0,0,L|0)|0;qe=Ve}if(y){Ue=0.98999999999999999;ir=0}else{Ge=qe;Ce=Ge;RA=sr;return+Ce}while(1){Oe=V+(ir<<3)|0;ye=+FA[Oe>>3];Me=ye*Ue;FA[Oe>>3]=Me;Fe=Ue*0.98999999999999999;Re=ir+1|0;je=(Re|0)==(t|0);if(je){break}else{Ue=Fe;ir=Re}}if(y){tr=0}else{Ge=qe;Ce=Ge;RA=sr;return+Ce}while(1){Le=V+(tr<<3)|0;Ne=+FA[Le>>3];De=Ne;Be=r+(tr<<2)|0;MA[Be>>2]=De;Pe=tr+1|0;We=(Pe|0)==(t|0);if(We){Ge=qe;break}else{tr=Pe}}Ce=Ge;RA=sr;return+Ce}function vr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0.0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0.0,m=0,w=0,E=0.0,p=0.0,_=0,b=0.0,S=0,k=0,g=0,A=0;var O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0.0,C=0,I=0;I=RA;s=n+i|0;l=s<<2;o=l;_=RA;RA=RA+((1*o|0)+15&-16)|0;S=(r|0)==(0|0);k=(i|0)>0;if(S){if(k){A=i<<2;tl(_|0,0,A|0)|0}}else{if(k){g=i<<2;PA(_|0,r|0,g|0)|0}}O=(n|0)>0;if(!O){RA=I;return}y=(i|0)>0;if(y){L=0;N=i}else{M=n<<2;tl(_|0,0,M|0)|0;tl(t|0,0,M|0)|0;RA=I;return}while(1){D=L;B=i;P=0.0;while(1){h=D+1|0;d=_+(D<<2)|0;v=+MA[d>>2];m=B+-1|0;w=e+(m<<2)|0;E=+MA[w>>2];p=E*v;b=P-p;F=(h|0)==(N|0);if(F){a=b;break}else{D=h;B=m;P=b}}f=_+(N<<2)|0;MA[f>>2]=a;u=t+(L<<2)|0;MA[u>>2]=a;c=L+1|0;T=N+1|0;R=(c|0)==(n|0);if(R){break}else{L=c;N=T}}RA=I;return}function mr(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0;var g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0;var q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0;te=RA;n=yA[r>>2]|0;o=(n|0)>1;if(o){Zu(i,1,1);w=yA[r>>2]|0;M=w+-1|0;Zu(i,M,4)}else{Zu(i,0,1)}x=r+1156|0;X=yA[x>>2]|0;K=(X|0)>0;if(K){Zu(i,1,1);Z=yA[x>>2]|0;J=Z+-1|0;Zu(i,J,8);Q=yA[x>>2]|0;a=(Q|0)>0;if(a){s=r+1160|0;l=e+4|0;f=r+2184|0;$=0;while(1){u=s+($<<2)|0;c=yA[u>>2]|0;h=yA[l>>2]|0;d=h+-1|0;v=yn(d)|0;Zu(i,c,v);m=f+($<<2)|0;E=yA[m>>2]|0;p=yA[l>>2]|0;_=p+-1|0;b=yn(_)|0;Zu(i,E,b);S=$+1|0;k=yA[x>>2]|0;g=(S|0)<(k|0);if(g){$=S}else{break}}}}else{Zu(i,0,1)}Zu(i,0,2);A=yA[r>>2]|0;O=(A|0)>1;if(O){y=e+4|0;F=yA[y>>2]|0;R=(F|0)>0;if(R){L=r+4|0;ee=0;while(1){P=L+(ee<<2)|0;C=yA[P>>2]|0;Zu(i,C,4);I=ee+1|0;H=yA[y>>2]|0;U=(I|0)<(H|0);if(U){ee=I}else{break}}t=yA[r>>2]|0;N=t;ie=13}}else{N=A;ie=13}if((ie|0)==13){T=(N|0)>0;if(!T){return}}D=r+1028|0;B=r+1092|0;re=0;while(1){Zu(i,0,8);z=D+(re<<2)|0;V=yA[z>>2]|0;Zu(i,V,8);q=B+(re<<2)|0;G=yA[q>>2]|0;Zu(i,G,8);W=re+1|0;j=yA[r>>2]|0;Y=(W|0)<(j|0);if(Y){re=W}else{break}}return}function wr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0;Be=RA;n=BA(1,3208)|0;o=e+28|0;w=yA[o>>2]|0;tl(n|0,0,3208)|0;M=e+4|0;x=yA[M>>2]|0;K=(x|0)<1;e:do{if(K){De=24}else{ae=Tr(r,1)|0;Ee=(ae|0)<0;if(Ee){De=24}else{ge=(ae|0)==0;if(ge){yA[n>>2]=1}else{Ae=Tr(r,4)|0;a=Ae+1|0;yA[n>>2]=a;s=(Ae|0)<0;if(s){break}}l=Tr(r,1)|0;f=(l|0)<0;if(!f){u=(l|0)==0;if(!u){c=Tr(r,8)|0;h=c+1|0;d=n+1156|0;yA[d>>2]=h;v=(c|0)<0;if(v){break}m=n+1160|0;E=n+2184|0;t=yA[M>>2]|0;k=t;Oe=0;while(1){S=k+-1|0;g=yn(S)|0;A=Tr(r,g)|0;O=m+(Oe<<2)|0;yA[O>>2]=A;y=yA[M>>2]|0;F=y+-1|0;R=yn(F)|0;L=Tr(r,R)|0;N=E+(Oe<<2)|0;yA[N>>2]=L;T=L|A;D=(T|0)<0;B=(A|0)==(L|0);Fe=B|D;if(Fe){break e}P=yA[M>>2]|0;C=(A|0)<(P|0);I=(L|0)<(P|0);Re=C&I;_=Oe+1|0;if(!Re){break e}p=yA[d>>2]|0;b=(_|0)<(p|0);if(b){k=P;Oe=_}else{break}}}H=Tr(r,2)|0;U=(H|0)==0;if(U){z=yA[n>>2]|0;V=(z|0)>1;if(V){q=yA[M>>2]|0;G=(q|0)>0;if(G){W=n+4|0;ye=0;while(1){ie=Tr(r,4)|0;te=W+(ye<<2)|0;yA[te>>2]=ie;ne=yA[n>>2]|0;oe=(ie|0)>=(ne|0);se=(ie|0)<0;Le=se|oe;ee=ye+1|0;if(Le){break e}$=yA[M>>2]|0;re=(ee|0)<($|0);if(re){ye=ee}else{j=ne;De=17;break}}}}else{j=z;De=17}if((De|0)==17){Y=(j|0)>0;if(!Y){i=n;return i|0}}X=n+1028|0;Z=w+16|0;J=n+1092|0;Q=w+20|0;Me=0;while(1){Tr(r,8)|0;ce=Tr(r,8)|0;he=X+(Me<<2)|0;yA[he>>2]=ce;de=yA[Z>>2]|0;ve=(ce|0)>=(de|0);me=(ce|0)<0;Ne=me|ve;if(Ne){break e}we=Tr(r,8)|0;pe=J+(Me<<2)|0;yA[pe>>2]=we;_e=yA[Q>>2]|0;be=(we|0)>=(_e|0);Se=(we|0)<0;Te=Se|be;fe=Me+1|0;if(Te){break e}le=yA[n>>2]|0;ue=(fe|0)<(le|0);if(ue){Me=fe}else{i=n;break}}return i|0}}}}}while(0);if((De|0)==24){ke=(n|0)==(0|0);if(ke){i=0;return i|0}}Wn(n);i=0;return i|0}function Er(e){e=e|0;var r=0,i=0,t=0;t=RA;r=(e|0)==(0|0);if(!r){Wn(e)}return}function pr(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0.0;var S=0.0,k=0,g=0,A=0,O=0.0,y=0,M=0,F=0,R=0.0,L=0,N=0,T=0.0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0.0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0;var se=0,le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0;var Me=0,Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0;var Ye=0,Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0;var dr=0,vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0;var Dr=0,Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0;var $r=0,ei=0,ri=0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0.0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0;var _i=0,bi=0,Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0;var Hi=0,Ui=0,zi=0,Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0;var ot=0,at=0,st=0,lt=0,ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0;var Ot=0,yt=0,Mt=0,Ft=0.0,Rt=0.0,Lt=0.0,Nt=0.0,Tt=0.0,Dt=0.0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0,zt=0,Vt=0,qt=0,Gt=0;var Wt=0,jt=0,Yt=0,Xt=0,Kt=0,Zt=0,Jt=0,Qt=0,$t=0,en=0,rn=0.0,tn=0,nn=0,on=0,an=0,sn=0,ln=0,fn=0,un=0,cn=0;var hn=0,dn=0,vn=0,mn=0,wn=0,En=0,pn=0,_n=0,bn=0,Sn=0,kn=0,gn=0,An=0,On=0,yn=0,Mn=0,Fn=0,Rn=0,Ln=0,Nn=0;var Tn=0,Dn=0,Bn=0,Pn=0,Cn=0,In=0,xn=0,Hn=0,Un=0,zn=0,Vn=0,qn=0,Gn=0,Wn=0,jn=0,Yn=0,Xn=0,Kn=0,Zn=0,Jn=0;var Qn=0,$n=0,eo=0,ro=0,io=0,to=0,no=0,oo=0,ao=0,so=0,lo=0,fo=0,uo=0,co=0,ho=0,vo=0,mo=0,wo=0,Eo=0,po=0;var _o=0,bo=0,So=0,ko=0,go=0,Ao=0,Oo=0,yo=0,Mo=0,Fo=0,Ro=0,Lo=0,No=0,To=0,Do=0,Bo=0,Po=0,Co=0,Io=0,xo=0;var Ho=0,Uo=0,zo=0.0,Vo=0,qo=0,Go=0,Wo=0,jo=0,Yo=0,Xo=0,Ko=0,Zo=0,Jo=0,Qo=0.0,$o=0,ea=0,ra=0,ia=0,ta=0,na=0;var oa=0,aa=0,sa=0,la=0,fa=0,ua=0,ca=0,ha=0,da=0,va=0,ma=0,wa=0,Ea=0,pa=0,_a=0,ba=0,Sa=0,ka=0,ga=0,Aa=0;var Oa=0,ya=0,Ma=0,Fa=0,Ra=0,La=0,Na=0,Ta=0,Da=0,Ba=0,Pa=0,Ca=0,Ia=0,xa=0,Ha=0,Ua=0,za=0,Va=0,qa=0,Ga=0;var Wa=0,ja=0,Ya=0,Xa=0,Ka=0,Za=0,Ja=0,Qa=0,$a=0.0,es=0,rs=0,is=0,ts=0,ns=0,os=0,as=0,ss=0,ls=0,fs=0,us=0.0;var cs=0,hs=0,ds=0,vs=0,ms=0,ws=0,Es=0,ps=0,_s=0,bs=0,Ss=0.0,ks=0,gs=0,As=0,Os=0,ys=0,Ms=0,Fs=0,Rs=0,Ls=0;var Ns=0,Ts=0,Ds=0.0,Bs=0,Ps=0,Cs=0,Is=0,xs=0,Hs=0,Us=0,zs=0,Vs=0,qs=0,Gs=0.0,Ws=0,js=0,Ys=0,Xs=0,Ks=0,Zs=0;var Js=0,Qs=0,$s=0,el=0,rl=0.0,il=0,tl=0,nl=0,ol=0,al=0,sl=0,ll=0,fl=0,ul=0,cl=0,hl=0,dl=0,vl=0,ml=0,wl=0;var El=0,pl=0,_l=0,bl=0,Sl=0,kl=0,gl=0,Al=0,Ol=0,yl=0,Ml=0,Fl=0,Rl=0,Ll=0,Nl=0,Tl=0,Dl=0,Bl=0,Pl=0,Cl=0;var Il=0,xl=0,Hl=0,Ul=0,zl=0,Vl=0,ql=0,Gl=0,Wl=0.0,jl=0,Yl=0,Xl=0,Kl=0,Zl=0,Jl=0,Ql=0,$l=0,ef=0,rf=0,tf=0;var nf=0,of=0,af=0,sf=0,lf=0,ff=0,uf=0,cf=0,hf=0,df=0,vf=0,mf=0,wf=0,Ef=0,pf=0,_f=0,bf=0,Sf=0,kf=0,gf=0;var Af=0,Of=0.0,yf=0,Mf=0,Ff=0,Rf=0,Lf=0,Nf=0,Tf=0,Df=0.0,Bf=0,Pf=0,Cf=0,If=0,xf=0,Hf=0,Uf=0,zf=0,Vf=0,qf=0;var Gf=0,Wf=0,jf=0,Yf=0,Xf=0,Kf=0,Zf=0,Jf=0,Qf=0,$f=0,eu=0,ru=0,iu=0.0,tu=0,nu=0.0,ou=0.0,au=0.0,su=0.0,lu=0.0,fu=0;var uu=0,cu=0.0,hu=0.0,du=0,vu=0,mu=0,wu=0.0,Eu=0.0,pu=0.0,_u=0,bu=0,Su=0.0,ku=0.0,gu=0.0,Au=0.0,Ou=0,yu=0,Mu=0,Fu=0,Ru=0;var Lu=0,Nu=0.0,Tu=0.0,Du=0.0,Bu=0,Pu=0,Cu=0,Iu=0,xu=0,Hu=0,Uu=0,zu=0,Vu=0,qu=0,Gu=0,Wu=0,ju=0,Yu=0,Xu=0;Yu=RA;E=e+64|0;p=yA[E>>2]|0;Sr=p+4|0;At=yA[Sr>>2]|0;Ro=At+28|0;Ts=yA[Ro>>2]|0;Pf=p+104|0;jf=yA[Pf>>2]|0;tu=e+104|0;vu=yA[tu>>2]|0;_=e+36|0;L=yA[_>>2]|0;z=At+4|0;Q=yA[z>>2]|0;fe=Q<<2;t=fe;be=RA;RA=RA+((1*t|0)+15&-16)|0;Ne=Qu(e,fe)|0;Ve=yA[z>>2]|0;$e=Ve<<2;ur=Qu(e,$e)|0;kr=yA[z>>2]|0;Dr=kr<<2;Gr=Qu(e,Dr)|0;ri=vu+4|0;hi=+MA[ri>>2];gi=yA[z>>2]|0;Bi=gi<<2;n=Bi;Wi=RA;RA=RA+((1*n|0)+15&-16)|0;it=vu+8|0;dt=yA[it>>2]|0;Ot=e+28|0;Ct=yA[Ot>>2]|0;Yt=(Ts+544|0)+(Ct<<2)|0;on=yA[Yt>>2]|0;wn=jf+56|0;Mn=yA[wn>>2]|0;xn=(Ct|0)!=0;Kn=xn?2:0;m=Kn+dt|0;ao=Mn+(m*52|0)|0;po=e+40|0;yA[po>>2]=Ct;Lo=(gi|0)>0;if(Lo){zo=+(L|0);Qo=4.0/zo;fa=(MA[Ku>>2]=Qo,yA[Ku>>2]|0);ba=(L|0)/2&-1;Na=ba<<2;Va=fa&2147483647;$a=+(Va>>>0);us=$a*7.1771142984289327E-7;Ss=us+-764.6162109375;Ds=Ss;Gs=Ds+0.34499999999999997;rl=Gs;hl=jf+4|0;gl=e+24|0;Bl=e+32|0;Wl=rl+-764.6162109375;tf=L+-1|0;vf=(tf|0)>1;Of=rl+-382.30810546875;Tu=hi;Bu=0;while(1){Cf=yA[e>>2]|0;If=Cf+(Bu<<2)|0;xf=yA[If>>2]|0;Hf=Qu(e,Na)|0;Uf=ur+(Bu<<2)|0;yA[Uf>>2]=Hf;zf=Qu(e,Na)|0;Vf=Ne+(Bu<<2)|0;yA[Vf>>2]=zf;qf=yA[gl>>2]|0;Gf=yA[Ot>>2]|0;Wf=yA[Bl>>2]|0;lc(xf,hl,Ts,qf,Gf,Wf);Yf=yA[Ot>>2]|0;Xf=(jf+12|0)+(Yf<<2)|0;Kf=yA[Xf>>2]|0;Zf=yA[Kf>>2]|0;Jf=yA[Vf>>2]|0;ic(Zf,xf,Jf);Qf=yA[Ot>>2]|0;$f=(jf+20|0)+(Qf*12|0)|0;sc($f,xf);eu=yA[xf>>2]|0;ru=eu&2147483647;iu=+(ru>>>0);nu=iu*7.1771142984289327E-7;ou=Wl+nu;au=ou;su=au+0.34499999999999997;lu=su;MA[xf>>2]=lu;fu=Wi+(Bu<<2)|0;MA[fu>>2]=lu;if(vf){O=lu;Hu=1;while(1){uu=xf+(Hu<<2)|0;cu=+MA[uu>>2];hu=cu*cu;du=Hu+1|0;mu=xf+(du<<2)|0;wu=+MA[mu>>2];Eu=wu*wu;pu=Eu+hu;_u=(MA[Ku>>2]=pu,yA[Ku>>2]|0);bu=_u&2147483647;Su=+(bu>>>0);ku=Su*3.5885571492144663E-7;gu=Of+ku;Au=gu;b=Au+0.34499999999999997;S=b;k=du>>1;g=xf+(k<<2)|0;MA[g>>2]=S;A=S>O;if(A){MA[fu>>2]=S;Df=S}else{Df=O}y=Hu+2|0;M=(y|0)<(tf|0);if(M){O=Df;Hu=y}else{R=Df;break}}}else{R=lu}F=R>0.0;if(F){MA[fu>>2]=0.0;T=0.0}else{T=R}N=T>Tu;Du=N?T:Tu;D=Bu+1|0;B=yA[z>>2]|0;P=(D|0)<(B|0);if(P){Tu=Du;Bu=D}else{f=Na;c=ba;Nu=Du;break}}}else{h=(L|0)/2&-1;d=h<<2;f=d;c=h;Nu=hi}C=Qu(e,f)|0;I=Qu(e,f)|0;x=yA[z>>2]|0;H=(x|0)>0;e:do{if(H){U=(L|0)>1;V=jf+48|0;if(U){Cu=0}else{Pu=0;while(1){qt=(on+4|0)+(Pu<<2)|0;Gt=yA[qt>>2]|0;Wt=Ne+(Pu<<2)|0;jt=yA[Wt>>2]|0;Xt=yA[e>>2]|0;Kt=Xt+(Pu<<2)|0;Zt=yA[Kt>>2]|0;Jt=Zt+(c<<2)|0;yA[po>>2]=Ct;Qt=Qu(e,60)|0;$t=Gr+(Pu<<2)|0;yA[$t>>2]=Qt;Wu=Qt;Xu=Wu+60|0;do{yA[Wu>>2]=0|0;Wu=Wu+4|0}while((Wu|0)<(Xu|0));tc(ao,Jt,C);en=Wi+(Pu<<2)|0;rn=+MA[en>>2];nc(ao,Zt,I,Nu,rn);oc(ao,C,I,1,Zt,jt,Jt);tn=(on+1028|0)+(Gt<<2)|0;nn=yA[tn>>2]|0;an=(Ts+800|0)+(nn<<2)|0;sn=yA[an>>2]|0;ln=(sn|0)==1;if(!ln){i=-1;break}fn=yA[V>>2]|0;un=fn+(nn<<2)|0;cn=yA[un>>2]|0;hn=$u(e,cn,Jt,Zt)|0;dn=yA[$t>>2]|0;vn=dn+28|0;yA[vn>>2]=hn;mn=Ju(e)|0;En=(mn|0)==0;if(!En){pn=yA[$t>>2]|0;_n=pn+28|0;bn=yA[_n>>2]|0;Sn=(bn|0)==(0|0);if(!Sn){oc(ao,C,I,2,Zt,jt,Jt);kn=yA[tn>>2]|0;gn=yA[V>>2]|0;An=gn+(kn<<2)|0;On=yA[An>>2]|0;yn=$u(e,On,Jt,Zt)|0;Fn=yA[$t>>2]|0;Rn=Fn+56|0;yA[Rn>>2]=yn;oc(ao,C,I,0,Zt,jt,Jt);Ln=yA[tn>>2]|0;Nn=yA[V>>2]|0;Tn=Nn+(Ln<<2)|0;Dn=yA[Tn>>2]|0;Bn=$u(e,Dn,Jt,Zt)|0;Pn=yA[$t>>2]|0;yA[Pn>>2]=Bn;Cn=yA[tn>>2]|0;In=yA[V>>2]|0;Hn=In+(Cn<<2)|0;Un=yA[Hn>>2]|0;zn=yA[$t>>2]|0;Vn=yA[zn>>2]|0;qn=zn+28|0;Gn=yA[qn>>2]|0;Wn=ec(e,Un,Vn,Gn,9362)|0;jn=yA[$t>>2]|0;Yn=jn+4|0;yA[Yn>>2]=Wn;Xn=yA[tn>>2]|0;Zn=yA[V>>2]|0;Jn=Zn+(Xn<<2)|0;Qn=yA[Jn>>2]|0;$n=yA[$t>>2]|0;eo=yA[$n>>2]|0;ro=$n+28|0;io=yA[ro>>2]|0;to=ec(e,Qn,eo,io,18724)|0;no=yA[$t>>2]|0;oo=no+8|0;yA[oo>>2]=to;so=yA[tn>>2]|0;lo=yA[V>>2]|0;fo=lo+(so<<2)|0;uo=yA[fo>>2]|0;co=yA[$t>>2]|0;ho=yA[co>>2]|0;vo=co+28|0;mo=yA[vo>>2]|0;wo=ec(e,uo,ho,mo,28086)|0;Eo=yA[$t>>2]|0;_o=Eo+12|0;yA[_o>>2]=wo;bo=yA[tn>>2]|0;So=yA[V>>2]|0;ko=So+(bo<<2)|0;go=yA[ko>>2]|0;Ao=yA[$t>>2]|0;Oo=yA[Ao>>2]|0;yo=Ao+28|0;Mo=yA[yo>>2]|0;Fo=ec(e,go,Oo,Mo,37449)|0;No=yA[$t>>2]|0;To=No+16|0;yA[To>>2]=Fo;Do=yA[tn>>2]|0;Bo=yA[V>>2]|0;Po=Bo+(Do<<2)|0;Co=yA[Po>>2]|0;Io=yA[$t>>2]|0;xo=yA[Io>>2]|0;Ho=Io+28|0;Uo=yA[Ho>>2]|0;Vo=ec(e,Co,xo,Uo,46811)|0;qo=yA[$t>>2]|0;Go=qo+20|0;yA[Go>>2]=Vo;Wo=yA[tn>>2]|0;jo=yA[V>>2]|0;Yo=jo+(Wo<<2)|0;Xo=yA[Yo>>2]|0;Ko=yA[$t>>2]|0;Zo=yA[Ko>>2]|0;Jo=Ko+28|0;$o=yA[Jo>>2]|0;ea=ec(e,Xo,Zo,$o,56173)|0;ra=yA[$t>>2]|0;ia=ra+24|0;yA[ia>>2]=ea;ta=yA[tn>>2]|0;na=yA[V>>2]|0;oa=na+(ta<<2)|0;aa=yA[oa>>2]|0;sa=yA[$t>>2]|0;la=sa+28|0;ua=yA[la>>2]|0;ca=sa+56|0;ha=yA[ca>>2]|0;da=ec(e,aa,ua,ha,9362)|0;va=yA[$t>>2]|0;ma=va+32|0;yA[ma>>2]=da;wa=yA[tn>>2]|0;Ea=yA[V>>2]|0;pa=Ea+(wa<<2)|0;_a=yA[pa>>2]|0;Sa=yA[$t>>2]|0;ka=Sa+28|0;ga=yA[ka>>2]|0;Aa=Sa+56|0;Oa=yA[Aa>>2]|0;ya=ec(e,_a,ga,Oa,18724)|0;Ma=yA[$t>>2]|0;Fa=Ma+36|0;yA[Fa>>2]=ya;Ra=yA[tn>>2]|0;La=yA[V>>2]|0;Ta=La+(Ra<<2)|0;Da=yA[Ta>>2]|0;Ba=yA[$t>>2]|0;Pa=Ba+28|0;Ca=yA[Pa>>2]|0;Ia=Ba+56|0;xa=yA[Ia>>2]|0;Ha=ec(e,Da,Ca,xa,28086)|0;Ua=yA[$t>>2]|0;za=Ua+40|0;yA[za>>2]=Ha;qa=yA[tn>>2]|0;Ga=yA[V>>2]|0;Wa=Ga+(qa<<2)|0;ja=yA[Wa>>2]|0;Ya=yA[$t>>2]|0;Xa=Ya+28|0;Ka=yA[Xa>>2]|0;Za=Ya+56|0;Ja=yA[Za>>2]|0;Qa=ec(e,ja,Ka,Ja,37449)|0;es=yA[$t>>2]|0;rs=es+44|0;yA[rs>>2]=Qa;is=yA[tn>>2]|0;ts=yA[V>>2]|0;ns=ts+(is<<2)|0;os=yA[ns>>2]|0;as=yA[$t>>2]|0;ss=as+28|0;ls=yA[ss>>2]|0;fs=as+56|0;cs=yA[fs>>2]|0;hs=ec(e,os,ls,cs,46811)|0;ds=yA[$t>>2]|0;vs=ds+48|0;yA[vs>>2]=hs;ms=yA[tn>>2]|0;ws=yA[V>>2]|0;Es=ws+(ms<<2)|0;ps=yA[Es>>2]|0;_s=yA[$t>>2]|0;bs=_s+28|0;ks=yA[bs>>2]|0;gs=_s+56|0;As=yA[gs>>2]|0;Os=ec(e,ps,ks,As,56173)|0;ys=yA[$t>>2]|0;Ms=ys+52|0;yA[Ms>>2]=Os}}Fs=Pu+1|0;Rs=yA[z>>2]|0;Ls=(Fs|0)<(Rs|0);if(Ls){Pu=Fs}else{u=V;Bs=Rs;break e}}RA=Yu;return i|0}while(1){xt=(on+4|0)+(Cu<<2)|0;K=yA[xt>>2]|0;Ht=Ne+(Cu<<2)|0;Y=yA[Ht>>2]|0;Ut=yA[e>>2]|0;zt=Ut+(Cu<<2)|0;j=yA[zt>>2]|0;q=j+(c<<2)|0;yA[po>>2]=Ct;Vt=Qu(e,60)|0;ae=Gr+(Cu<<2)|0;yA[ae>>2]=Vt;Wu=Vt;Xu=Wu+60|0;do{yA[Wu>>2]=0|0;Wu=Wu+4|0}while((Wu|0)<(Xu|0));Uu=0;while(1){gt=Y+(Uu<<2)|0;yt=yA[gt>>2]|0;Mt=yt&2147483647;Ft=+(Mt>>>0);Rt=Ft*7.1771142984289327E-7;Lt=Rt+-764.6162109375;Nt=Lt;Tt=Nt+0.34499999999999997;Dt=Tt;w=Uu+c|0;Bt=j+(w<<2)|0;MA[Bt>>2]=Dt;Pt=Uu+1|0;It=(Pt|0)<(c|0);if(It){Uu=Pt}else{break}}tc(ao,q,C);G=Wi+(Cu<<2)|0;W=+MA[G>>2];nc(ao,j,I,Nu,W);oc(ao,C,I,1,j,Y,q);X=(on+1028|0)+(K<<2)|0;Z=yA[X>>2]|0;J=(Ts+800|0)+(Z<<2)|0;$=yA[J>>2]|0;ee=($|0)==1;if(!ee){i=-1;break}re=yA[V>>2]|0;ie=re+(Z<<2)|0;te=yA[ie>>2]|0;ne=$u(e,te,q,j)|0;oe=yA[ae>>2]|0;se=oe+28|0;yA[se>>2]=ne;le=Ju(e)|0;ue=(le|0)==0;if(!ue){ce=yA[ae>>2]|0;he=ce+28|0;de=yA[he>>2]|0;ve=(de|0)==(0|0);if(!ve){oc(ao,C,I,2,j,Y,q);me=yA[X>>2]|0;we=yA[V>>2]|0;Ee=we+(me<<2)|0;pe=yA[Ee>>2]|0;_e=$u(e,pe,q,j)|0;Se=yA[ae>>2]|0;ke=Se+56|0;yA[ke>>2]=_e;oc(ao,C,I,0,j,Y,q);ge=yA[X>>2]|0;Ae=yA[V>>2]|0;Oe=Ae+(ge<<2)|0;ye=yA[Oe>>2]|0;Me=$u(e,ye,q,j)|0;Fe=yA[ae>>2]|0;yA[Fe>>2]=Me;Re=yA[X>>2]|0;Le=yA[V>>2]|0;Te=Le+(Re<<2)|0;De=yA[Te>>2]|0;Be=yA[ae>>2]|0;Pe=yA[Be>>2]|0;Ce=Be+28|0;Ie=yA[Ce>>2]|0;xe=ec(e,De,Pe,Ie,9362)|0;He=yA[ae>>2]|0;Ue=He+4|0;yA[Ue>>2]=xe;ze=yA[X>>2]|0;qe=yA[V>>2]|0;Ge=qe+(ze<<2)|0;We=yA[Ge>>2]|0;je=yA[ae>>2]|0;Ye=yA[je>>2]|0;Xe=je+28|0;Ke=yA[Xe>>2]|0;Ze=ec(e,We,Ye,Ke,18724)|0;Je=yA[ae>>2]|0;Qe=Je+8|0;yA[Qe>>2]=Ze;er=yA[X>>2]|0;rr=yA[V>>2]|0;ir=rr+(er<<2)|0;tr=yA[ir>>2]|0;nr=yA[ae>>2]|0;or=yA[nr>>2]|0;ar=nr+28|0;sr=yA[ar>>2]|0;lr=ec(e,tr,or,sr,28086)|0;fr=yA[ae>>2]|0;cr=fr+12|0;yA[cr>>2]=lr;hr=yA[X>>2]|0;dr=yA[V>>2]|0;vr=dr+(hr<<2)|0;mr=yA[vr>>2]|0;wr=yA[ae>>2]|0;Er=yA[wr>>2]|0;pr=wr+28|0;_r=yA[pr>>2]|0;br=ec(e,mr,Er,_r,37449)|0;gr=yA[ae>>2]|0;Ar=gr+16|0;yA[Ar>>2]=br;Or=yA[X>>2]|0;yr=yA[V>>2]|0;Mr=yr+(Or<<2)|0;Fr=yA[Mr>>2]|0;Rr=yA[ae>>2]|0;Lr=yA[Rr>>2]|0;Nr=Rr+28|0;Tr=yA[Nr>>2]|0;Br=ec(e,Fr,Lr,Tr,46811)|0;Pr=yA[ae>>2]|0;Cr=Pr+20|0;yA[Cr>>2]=Br;Ir=yA[X>>2]|0;xr=yA[V>>2]|0;Hr=xr+(Ir<<2)|0;Ur=yA[Hr>>2]|0;zr=yA[ae>>2]|0;Vr=yA[zr>>2]|0;qr=zr+28|0;Wr=yA[qr>>2]|0;jr=ec(e,Ur,Vr,Wr,56173)|0;Yr=yA[ae>>2]|0;Xr=Yr+24|0;yA[Xr>>2]=jr;Kr=yA[X>>2]|0;Zr=yA[V>>2]|0;Jr=Zr+(Kr<<2)|0;Qr=yA[Jr>>2]|0;$r=yA[ae>>2]|0;ei=$r+28|0;ii=yA[ei>>2]|0;ti=$r+56|0;ni=yA[ti>>2]|0;oi=ec(e,Qr,ii,ni,9362)|0;ai=yA[ae>>2]|0;si=ai+32|0;yA[si>>2]=oi;li=yA[X>>2]|0;fi=yA[V>>2]|0;ui=fi+(li<<2)|0;ci=yA[ui>>2]|0;di=yA[ae>>2]|0;vi=di+28|0;mi=yA[vi>>2]|0;wi=di+56|0;Ei=yA[wi>>2]|0;pi=ec(e,ci,mi,Ei,18724)|0;_i=yA[ae>>2]|0;bi=_i+36|0;yA[bi>>2]=pi;Si=yA[X>>2]|0;ki=yA[V>>2]|0;Ai=ki+(Si<<2)|0;Oi=yA[Ai>>2]|0;yi=yA[ae>>2]|0;Mi=yi+28|0;Fi=yA[Mi>>2]|0;Ri=yi+56|0;Li=yA[Ri>>2]|0;Ni=ec(e,Oi,Fi,Li,28086)|0;Ti=yA[ae>>2]|0;Di=Ti+40|0;yA[Di>>2]=Ni;Pi=yA[X>>2]|0;Ci=yA[V>>2]|0;Ii=Ci+(Pi<<2)|0;xi=yA[Ii>>2]|0;Hi=yA[ae>>2]|0;Ui=Hi+28|0;zi=yA[Ui>>2]|0;Vi=Hi+56|0;qi=yA[Vi>>2]|0;Gi=ec(e,xi,zi,qi,37449)|0;ji=yA[ae>>2]|0;Yi=ji+44|0;yA[Yi>>2]=Gi;Xi=yA[X>>2]|0;Ki=yA[V>>2]|0;Zi=Ki+(Xi<<2)|0;Ji=yA[Zi>>2]|0;Qi=yA[ae>>2]|0;$i=Qi+28|0;et=yA[$i>>2]|0;rt=Qi+56|0;tt=yA[rt>>2]|0;nt=ec(e,Ji,et,tt,46811)|0;ot=yA[ae>>2]|0;at=ot+48|0;yA[at>>2]=nt;st=yA[X>>2]|0;lt=yA[V>>2]|0;ft=lt+(st<<2)|0;ut=yA[ft>>2]|0;ct=yA[ae>>2]|0;ht=ct+28|0;vt=yA[ht>>2]|0;mt=ct+56|0;wt=yA[mt>>2]|0;Et=ec(e,ut,vt,wt,56173)|0;pt=yA[ae>>2]|0;_t=pt+52|0;yA[_t>>2]=Et}}bt=Cu+1|0;St=yA[z>>2]|0;kt=(bt|0)<(St|0);if(kt){Cu=bt}else{u=V;Bs=St;break e}}RA=Yu;return i|0}else{v=jf+48|0;u=v;Bs=x}}while(0);MA[ri>>2]=Nu;Ns=Bs<<2;o=Ns;Ps=RA;RA=RA+((1*o|0)+15&-16)|0;a=Ns;Cs=RA;RA=RA+((1*a|0)+15&-16)|0;Is=Ju(e)|0;xs=(Is|0)!=0;Hs=xs?0:7;Us=jf+44|0;zs=e+24|0;Vs=e+32|0;qs=Ts+2868|0;Ws=jf+52|0;qu=Hs;while(1){js=(vu+12|0)+(qu<<2)|0;Ys=yA[js>>2]|0;Zu(Ys,0,1);Xs=yA[Us>>2]|0;Zu(Ys,Ct,Xs);Ks=yA[Ot>>2]|0;Zs=(Ks|0)==0;if(!Zs){Js=yA[zs>>2]|0;Zu(Ys,Js,1);Qs=yA[Vs>>2]|0;Zu(Ys,Qs,1)}$s=yA[z>>2]|0;el=($s|0)>0;if(el){Iu=0;while(1){il=(on+4|0)+(Iu<<2)|0;tl=yA[il>>2]|0;nl=ur+(Iu<<2)|0;ol=yA[nl>>2]|0;al=(on+1028|0)+(tl<<2)|0;sl=yA[al>>2]|0;ll=yA[u>>2]|0;fl=ll+(sl<<2)|0;ul=yA[fl>>2]|0;cl=Gr+(Iu<<2)|0;dl=yA[cl>>2]|0;vl=dl+(qu<<2)|0;ml=yA[vl>>2]|0;wl=rc(Ys,e,ul,ml,ol)|0;El=be+(Iu<<2)|0;yA[El>>2]=wl;pl=Iu+1|0;_l=yA[z>>2]|0;bl=(pl|0)<(_l|0);if(bl){Iu=pl}else{s=_l;break}}}else{s=$s}Sl=yA[Ot>>2]|0;kl=((Ts+3240|0)+(Sl*60|0)|0)+(qu<<2)|0;Al=yA[kl>>2]|0;ac(qu,qs,ao,on,Ne,ur,be,Al,s);Ol=yA[on>>2]|0;yl=(Ol|0)>0;if(yl){xu=0;while(1){Ml=(on+1092|0)+(xu<<2)|0;Fl=yA[Ml>>2]|0;Rl=yA[z>>2]|0;Ll=(Rl|0)>0;if(Ll){Bf=Rl;yu=0;zu=0;while(1){Nl=(on+4|0)+(zu<<2)|0;Tl=yA[Nl>>2]|0;Dl=(Tl|0)==(xu|0);if(Dl){Pl=Cs+(yu<<2)|0;Cl=be+(zu<<2)|0;Il=yA[Cl>>2]|0;Gu=(Il|0)!=0;r=Gu&1;yA[Pl>>2]=r;xl=ur+(zu<<2)|0;Hl=yA[xl>>2]|0;Ul=yu+1|0;zl=Ps+(yu<<2)|0;yA[zl>>2]=Hl;l=yA[z>>2]|0;Gl=l;Mu=Ul}else{Gl=Bf;Mu=yu}Vl=zu+1|0;ql=(Vl|0)<(Gl|0);if(ql){Bf=Gl;yu=Mu;zu=Vl}else{Ou=Mu;break}}}else{Ou=0}jl=(Ts+1312|0)+(Fl<<2)|0;Yl=yA[jl>>2]|0;Xl=25648+(Yl<<2)|0;Kl=yA[Xl>>2]|0;Zl=Kl+20|0;Jl=yA[Zl>>2]|0;Ql=yA[Ws>>2]|0;$l=Ql+(Fl<<2)|0;ef=yA[$l>>2]|0;rf=uc[Jl&7](e,ef,Ps,Cs,Ou)|0;nf=yA[z>>2]|0;of=(nf|0)>0;if(of){Ru=0;Vu=0;while(1){af=(on+4|0)+(Vu<<2)|0;sf=yA[af>>2]|0;lf=(sf|0)==(xu|0);if(lf){ff=ur+(Vu<<2)|0;uf=yA[ff>>2]|0;cf=Ru+1|0;hf=Ps+(Ru<<2)|0;yA[hf>>2]=uf;Lu=cf}else{Lu=Ru}df=Vu+1|0;mf=(df|0)<(nf|0);if(mf){Ru=Lu;Vu=df}else{Fu=Lu;break}}}else{Fu=0}wf=yA[jl>>2]|0;Ef=25648+(wf<<2)|0;pf=yA[Ef>>2]|0;_f=pf+24|0;bf=yA[_f>>2]|0;Sf=yA[Ws>>2]|0;kf=Sf+(Fl<<2)|0;gf=yA[kf>>2]|0;fc[bf&3](Ys,e,gf,Ps,Cs,Fu,rf,xu)|0;Af=xu+1|0;yf=yA[on>>2]|0;Mf=(Af|0)<(yf|0);if(Mf){xu=Af}else{break}}}Ff=qu+1|0;Rf=Ju(e)|0;Lf=(Rf|0)!=0;Nf=Lf?14:7;Tf=(qu|0)<(Nf|0);if(Tf){qu=Ff}else{i=0;break}}RA=Yu;return i|0}function _r(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0.0;var V=0,q=0.0,G=0,W=0,j=0.0,Y=0,X=0.0,K=0.0,Z=0.0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0;var Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0;var vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0;var Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0;var ei=0,ri=0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0;var bi=0,Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0;Bi=RA;h=e+64|0;d=yA[h>>2]|0;He=d+4|0;Ze=yA[He>>2]|0;sr=Ze+28|0;pr=yA[sr>>2]|0;Rr=d+104|0;Ur=yA[Rr>>2]|0;Jr=e+28|0;li=yA[Jr>>2]|0;v=pr+(li<<2)|0;O=yA[v>>2]|0;C=e+36|0;yA[C>>2]=O;Y=Ze+4|0;ne=yA[Y>>2]|0;me=ne<<2;n=me;ye=RA;RA=RA+((1*n|0)+15&-16)|0;o=me;Ce=RA;RA=RA+((1*o|0)+15&-16)|0;a=me;Ie=RA;RA=RA+((1*a|0)+15&-16)|0;s=me;xe=RA;RA=RA+((1*s|0)+15&-16)|0;Ue=yA[Y>>2]|0;ze=(Ue|0)>0;if(ze){Ve=r+4|0;qe=r+1028|0;Ge=Ur+48|0;We=O<<1;je=We&2147483646;ki=0;while(1){$e=Ve+(ki<<2)|0;er=yA[$e>>2]|0;rr=qe+(er<<2)|0;ir=yA[rr>>2]|0;tr=(pr+800|0)+(ir<<2)|0;nr=yA[tr>>2]|0;or=25640+(nr<<2)|0;ar=yA[or>>2]|0;lr=ar+20|0;fr=yA[lr>>2]|0;ur=yA[Ge>>2]|0;cr=ur+(ir<<2)|0;hr=yA[cr>>2]|0;dr=_t[fr&15](e,hr)|0;vr=xe+(ki<<2)|0;yA[vr>>2]=dr;mr=Ie+(ki<<2)|0;Ti=(dr|0)!=(0|0);i=Ti&1;yA[mr>>2]=i;wr=yA[e>>2]|0;Er=wr+(ki<<2)|0;_r=yA[Er>>2]|0;tl(_r|0,0,je|0)|0;br=ki+1|0;Sr=yA[Y>>2]|0;kr=(br|0)<(Sr|0);if(kr){ki=br}else{Be=Sr;break}}}else{Be=Ue}Ye=r+1156|0;Xe=yA[Ye>>2]|0;Ke=(Xe|0)>0;if(Ke){Je=r+1160|0;Qe=r+2184|0;gi=0;while(1){Fr=Je+(gi<<2)|0;Lr=yA[Fr>>2]|0;Nr=Ie+(Lr<<2)|0;Tr=yA[Nr>>2]|0;Dr=(Tr|0)==0;Br=Qe+(gi<<2)|0;Pr=yA[Br>>2]|0;if(Dr){Cr=Ie+(Pr<<2)|0;Ir=yA[Cr>>2]|0;xr=(Ir|0)==0;if(!xr){Di=10}}else{Di=10}if((Di|0)==10){Di=0;yA[Nr>>2]=1;Hr=Ie+(Pr<<2)|0;yA[Hr>>2]=1}zr=gi+1|0;Vr=(zr|0)<(Xe|0);if(Vr){gi=zr}else{break}}}gr=yA[r>>2]|0;Ar=(gr|0)>0;if(Ar){Or=r+1092|0;yr=Ur+52|0;Mr=r+4|0;qr=Be;Ai=0;while(1){Gr=(qr|0)>0;if(Gr){Pe=qr;bi=0;Ri=0;while(1){Wr=Mr+(Ri<<2)|0;jr=yA[Wr>>2]|0;Yr=(jr|0)==(Ai|0);if(Yr){Xr=Ie+(Ri<<2)|0;Kr=yA[Xr>>2]|0;Zr=Ce+(bi<<2)|0;Ni=(Kr|0)!=0;t=Ni&1;yA[Zr>>2]=t;Qr=yA[e>>2]|0;$r=Qr+(Ri<<2)|0;ei=yA[$r>>2]|0;ri=bi+1|0;ii=ye+(bi<<2)|0;yA[ii>>2]=ei;u=yA[Y>>2]|0;oi=u;Si=ri}else{oi=Pe;Si=bi}ti=Ri+1|0;ni=(ti|0)<(oi|0);if(ni){Pe=oi;bi=Si;Ri=ti}else{_i=Si;break}}}else{_i=0}ai=Or+(Ai<<2)|0;si=yA[ai>>2]|0;fi=(pr+1312|0)+(si<<2)|0;ui=yA[fi>>2]|0;ci=25648+(ui<<2)|0;hi=yA[ci>>2]|0;di=hi+28|0;vi=yA[di>>2]|0;mi=yA[yr>>2]|0;wi=mi+(si<<2)|0;Ei=yA[wi>>2]|0;uc[vi&7](e,Ei,ye,Ce,_i)|0;pi=Ai+1|0;m=yA[r>>2]|0;w=(pi|0)<(m|0);if(!w){break}f=yA[Y>>2]|0;qr=f;Ai=pi}c=yA[Ye>>2]|0;E=c}else{E=Xe}p=(E|0)>0;if(p){_=r+1160|0;b=yA[e>>2]|0;S=r+2184|0;k=(O|0)/2&-1;g=(O|0)>1;yi=E;while(1){Oi=yi+-1|0;N=_+(Oi<<2)|0;T=yA[N>>2]|0;D=b+(T<<2)|0;B=yA[D>>2]|0;P=S+(Oi<<2)|0;I=yA[P>>2]|0;x=b+(I<<2)|0;H=yA[x>>2]|0;if(g){Li=0;while(1){U=B+(Li<<2)|0;z=+MA[U>>2];V=H+(Li<<2)|0;q=+MA[V>>2];G=z>0.0;W=q>0.0;do{if(G){if(W){MA[U>>2]=z;j=z-q;MA[V>>2]=j;break}else{MA[V>>2]=z;X=q+z;MA[U>>2]=X;break}}else{if(W){MA[U>>2]=z;K=q+z;MA[V>>2]=K;break}else{MA[V>>2]=z;Z=z-q;MA[U>>2]=Z;break}}}while(0);J=Li+1|0;Q=(J|0)<(k|0);if(Q){Li=J}else{break}}}A=(yi|0)>1;if(A){yi=Oi}else{break}}}y=yA[Y>>2]|0;M=(y|0)>0;if(!M){RA=Bi;return 0}F=r+4|0;R=r+1028|0;L=Ur+48|0;Mi=0;while(1){ee=yA[e>>2]|0;re=ee+(Mi<<2)|0;ie=yA[re>>2]|0;te=F+(Mi<<2)|0;oe=yA[te>>2]|0;ae=R+(oe<<2)|0;se=yA[ae>>2]|0;le=(pr+800|0)+(se<<2)|0;fe=yA[le>>2]|0;ue=25640+(fe<<2)|0;ce=yA[ue>>2]|0;he=ce+24|0;de=yA[he>>2]|0;ve=yA[L>>2]|0;we=ve+(se<<2)|0;Ee=yA[we>>2]|0;pe=xe+(Mi<<2)|0;_e=yA[pe>>2]|0;ft[de&3](e,Ee,_e,ie)|0;be=Mi+1|0;Se=yA[Y>>2]|0;ke=(be|0)<(Se|0);if(ke){Mi=be}else{l=Se;break}}$=(l|0)>0;if(!$){RA=Bi;return 0}Fi=0;while(1){ge=yA[e>>2]|0;Ae=ge+(Fi<<2)|0;Oe=yA[Ae>>2]|0;Me=yA[Jr>>2]|0;Fe=(Ur+12|0)+(Me<<2)|0;Re=yA[Fe>>2]|0;Le=yA[Re>>2]|0;Pi(Le,Oe,Oe);Ne=Fi+1|0;Te=yA[Y>>2]|0;De=(Ne|0)<(Te|0);if(De){Fi=Ne}else{break}}RA=Bi;return 0}function Di(e,r){e=e|0;r=r|0;var i=0,t=0,n=0.0,o=0.0,a=0,s=0,l=0,f=0,u=0,c=0.0,h=0.0,d=0,v=0,m=0.0,w=0.0,E=0,p=0,_=0.0,b=0.0,S=0;var k=0.0,g=0.0,A=0.0,O=0,y=0.0,M=0,F=0,R=0.0,L=0.0,N=0.0,T=0,D=0,B=0.0,P=0.0,C=0,I=0.0,x=0.0,H=0,U=0,z=0.0;var V=0.0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0.0,J=0.0,Q=0.0,$=0.0,ee=0.0,re=0,ie=0,te=0,ne=0,oe=0.0,ae=0.0,se=0.0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0.0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0.0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0.0,Ie=0.0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0;Ye=RA;i=(r|0)/4&-1;t=i<<2;v=DA(t)|0;O=i+r|0;C=O<<2;Y=DA(C)|0;ne=r>>1;me=+(r|0);ye=me;Ie=+zs(+ye);n=Ie*1.4426950408889634;o=+Hn(n);a=~~o;s=e+4|0;yA[s>>2]=a;yA[e>>2]=r;l=e+8|0;yA[l>>2]=Y;f=e+12|0;yA[f>>2]=v;u=(r|0)>3;if(!u){Ce=4.0/me;xe=e+16|0;MA[xe>>2]=Ce;return}c=+(r|0);h=3.1415926535897931/c;d=r<<1;m=+(d|0);w=3.1415926535897931/m;Ve=0;while(1){S=Ve<<2;k=+(S|0);g=h*k;A=+ef(+g);y=A;M=Ve<<1;F=Y+(M<<2)|0;MA[F>>2]=y;R=+rf(+g);L=R;N=-L;T=M|1;D=Y+(T<<2)|0;MA[D>>2]=N;B=+(T|0);P=w*B;I=+ef(+P);x=I;H=M+ne|0;U=Y+(H<<2)|0;MA[U>>2]=x;z=+rf(+P);V=z;q=H+1|0;G=Y+(q<<2)|0;MA[G>>2]=V;W=Ve+1|0;j=(W|0)<(i|0);if(j){Ve=W}else{break}}E=(r|0)/8&-1;p=(r|0)>7;if(!p){Ce=4.0/me;xe=e+16|0;MA[xe>>2]=Ce;return}_=+(r|0);b=3.1415926535897931/_;qe=0;while(1){X=qe<<2;K=X|2;Z=+(K|0);J=b*Z;Q=+ef(+J);$=Q*0.5;ee=$;re=qe<<1;ie=re+r|0;te=Y+(ie<<2)|0;MA[te>>2]=ee;oe=+rf(+J);ae=oe*-0.5;se=ae;le=ie+1|0;fe=Y+(le<<2)|0;MA[fe>>2]=se;ue=qe+1|0;ce=(ue|0)<(E|0);if(ce){qe=ue}else{break}}he=a+-1|0;de=1<>2]=Ce;return}while(1){_e=Ee;He=0;We=0;while(1){pe=_e&Ge;be=(pe|0)==0;Se=1<>ge;Oe=(Ae|0)==0;if(Oe){ze=Ue;break}else{_e=Ae;He=Ue;We=ge}}Me=ze^-1;Fe=ve&Me;Re=Fe+-1|0;Le=Ge<<1;Ne=v+(Le<<2)|0;yA[Ne>>2]=Re;Te=Le|1;De=v+(Te<<2)|0;yA[De>>2]=ze;Be=Ge+1|0;Pe=(Be|0)<(E|0);if(Pe){Ge=Be}else{break}}Ce=4.0/me;xe=e+16|0;MA[xe>>2]=Ce;return}function Vr(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0;f=RA;r=(e|0)==(0|0);if(r){return}i=e+8|0;t=yA[i>>2]|0;n=(t|0)==(0|0);if(!n){Wn(t)}o=e+12|0;a=yA[o>>2]|0;s=(a|0)==(0|0);if(!s){Wn(a)}yA[e>>2]=0|0;yA[e+4>>2]=0|0;yA[e+8>>2]=0|0;yA[e+12>>2]=0|0;yA[e+16>>2]=0|0;return}function Pi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,a=0,s=0,l=0.0,f=0.0,u=0,c=0.0,h=0.0,d=0.0,v=0.0,m=0,w=0.0,E=0.0,p=0.0,_=0,b=0.0,S=0.0,k=0.0;var g=0.0,A=0.0,O=0,y=0.0,M=0,F=0.0,R=0.0,L=0.0,N=0,T=0.0,D=0,B=0.0,P=0.0,C=0.0,I=0,x=0.0,H=0.0,U=0.0,z=0.0,V=0.0;var q=0.0,G=0.0,W=0.0,j=0.0,Y=0,X=0,K=0.0,Z=0,J=0.0,Q=0.0,$=0.0,ee=0,re=0.0,ie=0,te=0.0,ne=0.0,oe=0.0,ae=0,se=0.0,le=0.0;var fe=0.0,ue=0.0,ce=0.0,he=0.0,de=0.0,ve=0.0,me=0.0,we=0,Ee=0,pe=0.0,_e=0,be=0,Se=0.0,ke=0.0,ge=0,Ae=0.0,Oe=0,ye=0.0,Me=0.0,Fe=0.0;var Re=0.0,Le=0.0,Ne=0.0,Te=0.0,De=0.0,Be=0.0,Pe=0.0,Ce=0.0,Ie=0.0,xe=0,He=0,Ue=0,ze=0,Ve=0.0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0.0;var Ke=0,Ze=0.0,Je=0,Qe=0.0,$e=0.0,er=0,rr=0.0,ir=0,tr=0,nr=0.0,or=0,ar=0.0,sr=0,lr=0.0,fr=0.0,ur=0,cr=0.0,hr=0,dr=0,vr=0;var mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0.0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0.0,Lr=0.0,Nr=0.0,Tr=0.0,Dr=0.0,Br=0;var Pr=0,Cr=0.0,Ir=0,xr=0,Hr=0.0,Ur=0.0,zr=0.0,Vr=0,qr=0.0,Gr=0.0,Wr=0.0,jr=0.0,Yr=0,Xr=0,Kr=0.0,Zr=0.0,Jr=0.0,Qr=0.0,$r=0.0,ei=0.0;var ri=0.0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0.0,hi=0,di=0.0,vi=0.0,mi=0,wi=0,Ei=0.0,pi=0,_i=0.0,bi=0.0;var Si=0.0,ki=0.0,gi=0.0,Ai=0.0,Oi=0.0,yi=0.0,Mi=0,Fi=0.0,Ri=0.0,Li=0,Ni=0.0,Ti=0,Di=0.0,Bi=0.0,Pi=0,Ci=0.0,Ii=0.0,xi=0,Hi=0.0,Ui=0.0;var zi=0,Vi=0.0,qi=0.0,Gi=0.0,Wi=0.0,ji=0.0,Yi=0.0,Xi=0.0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0.0,nt=0,ot=0.0,at=0;var st=0,lt=0,ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0,Ot=0,yt=0;var Mt=0,Ft=0;Ft=RA;a=yA[e>>2]|0;s=a>>1;ur=a>>2;t=s+-7|0;Ir=r+(t<<2)|0;n=s+ur|0;Xr=i+(n<<2)|0;oi=e+8|0;wi=yA[oi>>2]|0;Mi=wi+(ur<<2)|0;at=Mi;ft=Ir;bt=Xr;while(1){xi=bt+-16|0;Ki=ft+8|0;l=+MA[Ki>>2];_=at+12|0;L=+MA[_>>2];z=l*L;Q=-z;fe=+MA[ft>>2];be=at+8|0;Ne=+MA[be>>2];Ve=Ne*fe;$e=Q-Ve;MA[xi>>2]=$e;cr=+MA[ft>>2];kr=+MA[_>>2];Rr=kr*cr;Lr=+MA[Ki>>2];Nr=+MA[be>>2];Tr=Nr*Lr;Dr=Rr-Tr;Br=bt+-12|0;MA[Br>>2]=Dr;Pr=ft+24|0;Cr=+MA[Pr>>2];xr=at+4|0;Hr=+MA[xr>>2];Ur=Cr*Hr;zr=-Ur;Vr=ft+16|0;qr=+MA[Vr>>2];Gr=+MA[at>>2];Wr=Gr*qr;jr=zr-Wr;Yr=bt+-8|0;MA[Yr>>2]=jr;Kr=+MA[Vr>>2];Zr=+MA[xr>>2];Jr=Zr*Kr;Qr=+MA[Pr>>2];$r=+MA[at>>2];ei=$r*Qr;ri=Jr-ei;ii=bt+-4|0;MA[ii>>2]=ri;ti=ft+-32|0;ni=at+16|0;ai=ti>>>0>>0;if(ai){break}else{at=ni;ft=ti;bt=xi}}si=i+(s<<2)|0;o=s+-8|0;li=r+(o<<2)|0;st=Mi;ut=li;St=Xr;while(1){fi=st+-16|0;ui=ut+16|0;ci=+MA[ui>>2];hi=st+-4|0;di=+MA[hi>>2];vi=di*ci;mi=ut+24|0;Ei=+MA[mi>>2];pi=st+-8|0;_i=+MA[pi>>2];bi=_i*Ei;Si=bi+vi;MA[St>>2]=Si;ki=+MA[ui>>2];gi=+MA[pi>>2];Ai=gi*ki;Oi=+MA[mi>>2];yi=+MA[hi>>2];Fi=yi*Oi;Ri=Ai-Fi;Li=St+4|0;MA[Li>>2]=Ri;Ni=+MA[ut>>2];Ti=st+-12|0;Di=+MA[Ti>>2];Bi=Di*Ni;Pi=ut+8|0;Ci=+MA[Pi>>2];Ii=+MA[fi>>2];Hi=Ii*Ci;Ui=Hi+Bi;zi=St+8|0;MA[zi>>2]=Ui;Vi=+MA[ut>>2];qi=+MA[fi>>2];Gi=qi*Vi;Wi=+MA[Pi>>2];ji=+MA[Ti>>2];Yi=ji*Wi;Xi=Gi-Yi;Zi=St+12|0;MA[Zi>>2]=Xi;Ji=ut+-32|0;Qi=St+16|0;$i=Ji>>>0>>0;if($i){break}else{st=fi;ut=Ji;St=Qi}}vt=e+4|0;mt=yA[vt>>2]|0;Rt(mt,wi,si,s);wt=yA[e>>2]|0;Et=yA[oi>>2]|0;pt=e+12|0;_t=yA[pt>>2]|0;Lt(wt,Et,_t,i);et=yA[oi>>2]|0;rt=et+(s<<2)|0;lt=rt;ct=i;kt=Xr;Ot=Xr;while(1){it=kt+-16|0;tt=+MA[ct>>2];nt=lt+4|0;ot=+MA[nt>>2];f=ot*tt;u=ct+4|0;c=+MA[u>>2];h=+MA[lt>>2];d=h*c;v=f-d;m=kt+-4|0;MA[m>>2]=v;w=+MA[ct>>2];E=+MA[lt>>2];p=E*w;b=+MA[u>>2];S=+MA[nt>>2];k=S*b;g=p+k;A=-g;MA[Ot>>2]=A;O=ct+8|0;y=+MA[O>>2];M=lt+12|0;F=+MA[M>>2];R=F*y;N=ct+12|0;T=+MA[N>>2];D=lt+8|0;B=+MA[D>>2];P=B*T;C=R-P;I=kt+-8|0;MA[I>>2]=C;x=+MA[O>>2];H=+MA[D>>2];U=H*x;V=+MA[N>>2];q=+MA[M>>2];G=q*V;W=U+G;j=-W;Y=Ot+4|0;MA[Y>>2]=j;X=ct+16|0;K=+MA[X>>2];Z=lt+20|0;J=+MA[Z>>2];$=J*K;ee=ct+20|0;re=+MA[ee>>2];ie=lt+16|0;te=+MA[ie>>2];ne=te*re;oe=$-ne;ae=kt+-12|0;MA[ae>>2]=oe;se=+MA[X>>2];le=+MA[ie>>2];ue=le*se;ce=+MA[ee>>2];he=+MA[Z>>2];de=he*ce;ve=ue+de;me=-ve;we=Ot+8|0;MA[we>>2]=me;Ee=ct+24|0;pe=+MA[Ee>>2];_e=lt+28|0;Se=+MA[_e>>2];ke=Se*pe;ge=ct+28|0;Ae=+MA[ge>>2];Oe=lt+24|0;ye=+MA[Oe>>2];Me=ye*Ae;Fe=ke-Me;MA[it>>2]=Fe;Re=+MA[Ee>>2];Le=+MA[Oe>>2];Te=Le*Re;De=+MA[ge>>2];Be=+MA[_e>>2];Pe=Be*De;Ce=Te+Pe;Ie=-Ce;xe=Ot+12|0;MA[xe>>2]=Ie;He=Ot+16|0;Ue=ct+32|0;ze=lt+32|0;qe=Ue>>>0>>0;if(qe){lt=ze;ct=Ue;kt=it;Ot=He}else{break}}Ge=i+(ur<<2)|0;ht=Xr;gt=Ge;yt=Ge;while(1){We=gt+-16|0;je=ht+-16|0;Ye=ht+-4|0;Xe=+MA[Ye>>2];Ke=gt+-4|0;MA[Ke>>2]=Xe;Ze=-Xe;MA[yt>>2]=Ze;Je=ht+-8|0;Qe=+MA[Je>>2];er=gt+-8|0;MA[er>>2]=Qe;rr=-Qe;ir=yt+4|0;MA[ir>>2]=rr;tr=ht+-12|0;nr=+MA[tr>>2];or=gt+-12|0;MA[or>>2]=nr;ar=-nr;sr=yt+8|0;MA[sr>>2]=ar;lr=+MA[je>>2];MA[We>>2]=lr;fr=-lr;hr=yt+12|0;MA[hr>>2]=fr;dr=yt+16|0;vr=dr>>>0>>0;if(vr){ht=je;gt=We;yt=dr}else{dt=Xr;At=Xr;break}}while(1){mr=At+-16|0;wr=dt+12|0;Er=yA[wr>>2]|0;yA[mr>>2]=Er;pr=dt+8|0;_r=yA[pr>>2]|0;br=At+-12|0;yA[br>>2]=_r;Sr=dt+4|0;gr=yA[Sr>>2]|0;Ar=At+-8|0;yA[Ar>>2]=gr;Or=yA[dt>>2]|0;yr=At+-4|0;yA[yr>>2]=Or;Mr=dt+16|0;Fr=mr>>>0>si>>>0;if(Fr){dt=Mr;At=mr}else{break}}return}function ic(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0.0,E=0,p=0.0,_=0.0,b=0,S=0.0,k=0.0;var g=0.0,A=0.0,O=0.0,y=0,M=0,F=0.0,R=0.0,L=0.0,N=0.0,T=0.0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0;var q=0,G=0,W=0.0,j=0.0,Y=0.0,X=0,K=0,Z=0.0,J=0,Q=0.0,$=0.0,ee=0.0,re=0.0,ie=0.0,te=0,ne=0.0,oe=0,ae=0.0,se=0.0,le=0.0;var fe=0.0,ue=0.0,ce=0.0,he=0.0,de=0.0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0.0,Fe=0.0;var Re=0.0,Le=0.0,Ne=0,Te=0.0,De=0,Be=0.0,Pe=0,Ce=0.0,Ie=0.0,xe=0.0,He=0.0,Ue=0.0,ze=0,Ve=0.0,qe=0.0,Ge=0,We=0.0,je=0.0,Ye=0.0,Xe=0;var Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0;var mr=0,wr=0,Er=0.0,pr=0.0,_r=0.0,br=0.0,Sr=0,kr=0.0,gr=0,Ar=0.0,Or=0,yr=0.0,Mr=0.0,Fr=0.0,Rr=0.0,Lr=0.0,Nr=0,Tr=0.0,Dr=0.0,Br=0;var Pr=0.0,Cr=0.0,Ir=0.0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0.0,Qr=0.0,$r=0.0,ei=0.0;var ri=0.0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0,bi=0;var Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0;Ci=RA;d=yA[e>>2]|0;v=d>>1;ke=d>>2;De=d>>3;Ge=d<<2;t=Ge;rr=RA;RA=RA+((1*t|0)+15&-16)|0;hr=rr+(v<<2)|0;n=v+ke|0;gr=r+(n<<2)|0;Br=e+8|0;Wr=yA[Br>>2]|0;m=Wr+(v<<2)|0;y=(De|0)>0;if(y){o=n+1|0;I=r+(o<<2)|0;X=De+-1|0;oe=X>>>1;we=oe<<1;pe=v+-2|0;_e=pe-we|0;be=n+-4|0;Se=oe<<2;ge=be-Se|0;ti=m;ui=0;Mi=gr;Ni=I;while(1){Ae=Mi+-16|0;Oe=ti+-8|0;ye=Mi+-8|0;Me=+MA[ye>>2];Fe=+MA[Ni>>2];Re=Fe+Me;Le=+MA[Ae>>2];Ne=Ni+8|0;Te=+MA[Ne>>2];Be=Te+Le;Pe=ti+-4|0;Ce=+MA[Pe>>2];Ie=Be*Ce;xe=+MA[Oe>>2];He=xe*Re;Ue=He+Ie;c=ui+v|0;ze=rr+(c<<2)|0;MA[ze>>2]=Ue;Ve=+MA[Oe>>2];qe=Ve*Be;We=+MA[Pe>>2];je=We*Re;Ye=qe-je;Xe=ui|1;h=Xe+v|0;Ke=rr+(h<<2)|0;MA[Ke>>2]=Ye;Ze=Ni+16|0;Je=ui+2|0;Qe=(Je|0)<(De|0);if(Qe){ti=Oe;ui=Je;Mi=Ae;Ni=Ze}else{break}}$e=we+2|0;gi=Wr+(_e<<2)|0;Ai=r+(ge<<2)|0;Gr=_e;ii=gi;fi=$e;yi=Ai}else{Gr=v;ii=m;fi=0;yi=gr}er=r+4|0;ir=v-De|0;tr=(fi|0)<(ir|0);if(tr){nr=v+-1|0;or=nr-fi|0;ar=or-De|0;sr=ar>>>1;lr=sr<<1;fr=fi+lr|0;ur=sr<<2;cr=ur+5|0;dr=-2-lr|0;oi=ii;hi=fi;Fi=yi;Di=er;while(1){vr=oi+-8|0;mr=Fi+-16|0;wr=Fi+-8|0;Er=+MA[wr>>2];pr=+MA[Di>>2];_r=Er-pr;br=+MA[mr>>2];Sr=Di+8|0;kr=+MA[Sr>>2];Ar=br-kr;Or=oi+-4|0;yr=+MA[Or>>2];Mr=Ar*yr;Fr=+MA[vr>>2];Rr=Fr*_r;Lr=Rr+Mr;l=hi+v|0;Nr=rr+(l<<2)|0;MA[Nr>>2]=Lr;Tr=+MA[vr>>2];Dr=Tr*Ar;Pr=+MA[Or>>2];Cr=Pr*_r;Ir=Dr-Cr;xr=hi|1;f=xr+v|0;Hr=rr+(f<<2)|0;MA[Hr>>2]=Ir;Ur=Di+16|0;zr=hi+2|0;Vr=(zr|0)<(ir|0);if(Vr){oi=vr;hi=zr;Fi=mr;Di=Ur}else{break}}qr=fr+2|0;Si=r+(cr<<2)|0;u=Gr+dr|0;ki=Wr+(u<<2)|0;ni=ki;ci=qr;Ti=Si}else{ni=ii;ci=fi;Ti=er}jr=(ci|0)<(v|0);if(jr){Yr=r+(d<<2)|0;ai=ni;di=ci;Ri=Yr;Bi=Ti;while(1){Xr=ai+-8|0;Kr=Ri+-16|0;Zr=Ri+-8|0;Jr=+MA[Zr>>2];Qr=-Jr;$r=+MA[Bi>>2];ei=Qr-$r;ri=+MA[Kr>>2];w=-ri;E=Bi+8|0;p=+MA[E>>2];_=w-p;b=ai+-4|0;S=+MA[b>>2];k=_*S;g=+MA[Xr>>2];A=g*ei;O=A+k;a=di+v|0;M=rr+(a<<2)|0;MA[M>>2]=O;F=+MA[Xr>>2];R=F*_;L=+MA[b>>2];N=L*ei;T=R-N;D=di|1;s=D+v|0;B=rr+(s<<2)|0;MA[B>>2]=T;P=Bi+16|0;C=di+2|0;x=(C|0)<(v|0);if(x){ai=Xr;di=C;Ri=Kr;Bi=P}else{break}}}mi=e+4|0;wi=yA[mi>>2]|0;Rt(wi,Wr,hr,v);bi=yA[e>>2]|0;Ei=yA[Br>>2]|0;pi=e+12|0;_i=yA[pi>>2]|0;Lt(bi,Ei,_i,rr);H=(ke|0)>0;if(!H){RA=Ci;return}U=i+(v<<2)|0;z=yA[Br>>2]|0;V=z+(v<<2)|0;q=e+16|0;si=V;vi=0;Oi=rr;Li=U;while(1){G=Li+-4|0;W=+MA[Oi>>2];j=+MA[si>>2];Y=j*W;K=Oi+4|0;Z=+MA[K>>2];J=si+4|0;Q=+MA[J>>2];$=Q*Z;ee=$+Y;re=+MA[q>>2];ie=ee*re;te=i+(vi<<2)|0;MA[te>>2]=ie;ne=+MA[Oi>>2];ae=+MA[J>>2];se=ae*ne;le=+MA[K>>2];fe=+MA[si>>2];ue=fe*le;ce=se-ue;he=+MA[q>>2];de=ce*he;MA[G>>2]=de;ve=Oi+8|0;me=si+8|0;Ee=vi+1|0;li=(Ee|0)==(ke|0);if(li){break}else{si=me;vi=Ee;Oi=ve;Li=G}}RA=Ci;return}function Rt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0;var A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0;var G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0.0,$=0.0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0.0,fe=0;var ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0.0,pe=0,_e=0,be=0.0,Se=0.0,ke=0,ge=0.0,Ae=0,Oe=0.0,ye=0.0,Me=0.0,Fe=0.0,Re=0.0;var Le=0.0,Ne=0,Te=0.0,De=0.0,Be=0.0,Pe=0.0,Ce=0.0,Ie=0.0,xe=0.0,He=0.0,Ue=0.0,ze=0.0,Ve=0.0,qe=0,Ge=0,We=0.0,je=0,Ye=0.0,Xe=0.0,Ke=0;var Ze=0.0,Je=0,Qe=0.0,$e=0.0,er=0.0,rr=0.0,ir=0.0,tr=0.0,nr=0,or=0.0,ar=0.0,sr=0.0,lr=0.0,fr=0.0,ur=0.0,cr=0.0,hr=0.0,dr=0.0,vr=0.0,mr=0.0;var wr=0,Er=0,pr=0.0,_r=0,br=0.0,Sr=0.0,kr=0.0,gr=0,Ar=0.0,Or=0,yr=0.0,Mr=0.0,Fr=0.0,Rr=0.0,Lr=0.0,Nr=0,Tr=0,Dr=0.0,Br=0.0,Pr=0.0;var Cr=0.0,Ir=0.0,xr=0.0,Hr=0.0,Ur=0.0,zr=0.0,Vr=0.0,qr=0.0,Gr=0,Wr=0.0,jr=0.0,Yr=0.0,Xr=0,Kr=0.0,Zr=0,Jr=0.0,Qr=0.0,$r=0,ei=0.0,ri=0.0;var ii=0.0,ti=0.0,ni=0,oi=0.0,ai=0.0,si=0.0,li=0.0,fi=0.0,ui=0.0,ci=0.0,hi=0.0,di=0.0,vi=0.0,mi=0.0,wi=0,Ei=0,pi=0,_i=0,bi=0,Si=0;var ki=0.0,gi=0,Ai=0,Oi=0,yi=0.0,Mi=0,Fi=0.0,Ri=0.0,Li=0,Ni=0.0,Ti=0,Di=0.0,Bi=0.0,Pi=0.0,Ci=0.0,Ii=0.0,xi=0,Hi=0.0,Ui=0,zi=0.0;var Vi=0.0,qi=0,Gi=0.0,Wi=0.0,ji=0,Yi=0.0,Xi=0.0,Ki=0.0,Zi=0.0,Ji=0.0,Qi=0.0,$i=0.0,et=0.0,rt=0.0,it=0.0,tt=0.0,nt=0,ot=0.0,at=0,st=0.0;var lt=0.0,ft=0,ut=0.0,ct=0,ht=0.0,dt=0.0,vt=0.0,mt=0.0,wt=0.0,Et=0.0,pt=0.0,_t=0.0,bt=0.0,St=0,kt=0.0,gt=0.0,At=0,Ot=0.0,yt=0.0,Mt=0;var Ft=0.0,Rt=0,Lt=0.0,Nt=0.0,Tt=0.0,Dt=0.0,Bt=0.0,Pt=0.0,Ct=0.0,It=0.0,xt=0.0,Ht=0.0,Ut=0.0,zt=0,Vt=0.0,qt=0,Gt=0.0,Wt=0,jt=0.0,Yt=0;var Xt=0.0,Kt=0,Zt=0.0,Jt=0.0,Qt=0.0,$t=0.0,en=0,rn=0.0,tn=0,nn=0.0,on=0,an=0.0,sn=0.0,ln=0,fn=0.0,un=0,cn=0.0,hn=0.0,dn=0.0,vn=0.0;var mn=0,wn=0.0,En=0.0,pn=0.0,_n=0.0,bn=0.0,Sn=0.0,kn=0,gn=0.0,An=0,On=0.0,yn=0.0,Mn=0.0,Fn=0,Rn=0.0,Ln=0,Nn=0.0,Tn=0.0,Dn=0.0,Bn=0.0;var Pn=0.0,Cn=0.0,In=0.0,xn=0.0,Hn=0.0,Un=0.0,zn=0,Vn=0.0,qn=0.0,Gn=0,Wn=0.0,jn=0,Yn=0.0,Xn=0,Kn=0.0,Zn=0.0,Jn=0.0,Qn=0.0,$n=0.0,eo=0.0;var ro=0.0,io=0.0,to=0.0,no=0.0,oo=0.0,ao=0.0,so=0.0,lo=0.0,fo=0.0,uo=0.0,co=0.0,ho=0.0,vo=0.0,mo=0.0,wo=0.0,Eo=0,po=0.0,_o=0.0,bo=0.0,So=0.0;var ko=0.0,go=0.0,Ao=0.0,Oo=0.0,yo=0.0,Mo=0.0,Fo=0.0,Ro=0.0,Lo=0.0,No=0.0,To=0.0,Do=0.0,Bo=0.0,Po=0.0,Co=0.0,Io=0.0,xo=0.0,Ho=0.0,Uo=0.0,zo=0.0;var Vo=0.0,qo=0.0,Go=0.0,Wo=0.0,jo=0.0,Yo=0.0,Xo=0.0,Ko=0.0,Zo=0.0,Jo=0.0,Qo=0.0,$o=0.0,ea=0.0,ra=0.0,ia=0.0,ta=0.0,na=0.0,oa=0.0,aa=0.0,sa=0;var la=0.0,fa=0.0,ua=0.0,ca=0.0,ha=0.0,da=0.0,va=0.0,ma=0.0,wa=0.0,Ea=0.0,pa=0.0,_a=0.0,ba=0.0,Sa=0.0,ka=0.0,ga=0.0,Aa=0.0,Oa=0.0,ya=0.0,Ma=0.0;var Fa=0.0,Ra=0.0,La=0,Na=0.0,Ta=0.0,Da=0.0,Ba=0.0,Pa=0.0,Ca=0.0,Ia=0.0,xa=0.0,Ha=0.0,Ua=0.0,za=0.0,Va=0.0,qa=0.0,Ga=0.0,Wa=0.0,ja=0.0,Ya=0.0;var Xa=0.0,Ka=0.0,Za=0.0,Ja=0.0,Qa=0.0,$a=0.0,es=0.0,rs=0.0,is=0.0,ts=0.0,ns=0.0,os=0.0,as=0.0,ss=0.0,ls=0.0,fs=0,us=0.0,cs=0.0,hs=0.0,ds=0.0;var vs=0.0,ms=0.0,ws=0.0,Es=0.0,ps=0.0,_s=0.0,bs=0.0,Ss=0.0,ks=0.0,gs=0.0,As=0.0,Os=0.0,ys=0.0,Ms=0.0,Fs=0.0,Rs=0.0,Ls=0.0,Ns=0.0,Ts=0.0,Ds=0.0;var Bs=0.0,Ps=0.0,Cs=0.0,Is=0.0,xs=0.0,Hs=0.0,Us=0.0,zs=0.0,Vs=0.0,qs=0.0,Gs=0,Ws=0,js=0.0,Ys=0,Xs=0.0,Ks=0.0,Zs=0.0,Js=0.0,Qs=0,$s=0.0;var el=0,rl=0.0,il=0.0,tl=0,nl=0.0,ol=0.0,al=0,sl=0.0,ll=0.0,fl=0.0,ul=0.0,cl=0.0,hl=0,dl=0.0,vl=0.0,ml=0,wl=0,El=0.0,pl=0.0,_l=0.0;var bl=0.0,Sl=0.0,kl=0.0,gl=0.0,Al=0.0,Ol=0.0,yl=0.0,Ml=0.0,Fl=0.0,Rl=0,Ll=0.0,Nl=0,Tl=0.0,Dl=0.0,Bl=0.0,Pl=0.0,Cl=0.0,Il=0.0,xl=0,Hl=0.0;var Ul=0.0,zl=0,Vl=0.0,ql=0.0,Gl=0.0,Wl=0.0,jl=0.0,Yl=0.0,Xl=0,Kl=0,Zl=0,Jl=0,Ql=0,$l=0,ef=0,rf=0,tf=0,nf=0;nf=RA;K=e+-6|0;Z=(e|0)>6;if(Z){s=t+-8|0;$r=i+(s<<2)|0;tn=t>>1;u=tn+-8|0;sa=i+(u<<2)|0;n=r;Ql=$r;ef=sa;while(1){Ys=Ql+24|0;nl=+MA[Ys>>2];ml=ef+24|0;yl=+MA[ml>>2];Il=nl-yl;J=Ql+28|0;le=+MA[J>>2];_e=ef+28|0;Le=+MA[_e>>2];ze=le-Le;Qe=yl+nl;MA[Ys>>2]=Qe;fr=+MA[_e>>2];br=fr+le;MA[J>>2]=br;Nr=n+4|0;Vr=+MA[Nr>>2];ei=Vr*ze;ci=+MA[n>>2];ki=ci*Il;Di=ki+ei;MA[ml>>2]=Di;Gi=+MA[n>>2];rt=Gi*ze;ht=+MA[Nr>>2];gt=ht*Il;Bt=rt-gt;MA[_e>>2]=Bt;Wt=Ql+16|0;nn=+MA[Wt>>2];mn=ef+16|0;yn=+MA[mn>>2];In=nn-yn;Xn=Ql+20|0;oo=+MA[Xn>>2];Eo=ef+20|0;Fo=+MA[Eo>>2];Ho=oo-Fo;Zo=yn+nn;MA[Wt>>2]=Zo;la=+MA[Eo>>2];_a=la+oo;MA[Xn>>2]=_a;La=n+20|0;za=+MA[La>>2];Qa=za*Ho;fs=n+16|0;bs=+MA[fs>>2];Ns=bs*In;Vs=Ns+Qa;MA[mn>>2]=Vs;js=+MA[fs>>2];Xs=js*Ho;Ks=+MA[La>>2];Zs=Ks*In;Js=Xs-Zs;MA[Eo>>2]=Js;Qs=Ql+8|0;$s=+MA[Qs>>2];el=ef+8|0;rl=+MA[el>>2];il=$s-rl;tl=Ql+12|0;ol=+MA[tl>>2];al=ef+12|0;sl=+MA[al>>2];ll=ol-sl;fl=rl+$s;MA[Qs>>2]=fl;ul=+MA[al>>2];cl=ul+ol;MA[tl>>2]=cl;hl=n+36|0;dl=+MA[hl>>2];vl=dl*ll;wl=n+32|0;El=+MA[wl>>2];pl=El*il;_l=pl+vl;MA[el>>2]=_l;bl=+MA[wl>>2];Sl=bl*ll;kl=+MA[hl>>2];gl=kl*il;Al=Sl-gl;MA[al>>2]=Al;Ol=+MA[Ql>>2];Ml=+MA[ef>>2];Fl=Ol-Ml;Rl=Ql+4|0;Ll=+MA[Rl>>2];Nl=ef+4|0;Tl=+MA[Nl>>2];Dl=Ll-Tl;Bl=Ml+Ol;MA[Ql>>2]=Bl;Pl=+MA[Nl>>2];Cl=Pl+Ll;MA[Rl>>2]=Cl;xl=n+52|0;Hl=+MA[xl>>2];Ul=Hl*Dl;zl=n+48|0;Vl=+MA[zl>>2];ql=Vl*Fl;Gl=ql+Ul;MA[ef>>2]=Gl;Wl=+MA[zl>>2];jl=Wl*Dl;Yl=+MA[xl>>2];Q=Yl*Fl;$=jl-Q;MA[Nl>>2]=$;ee=Ql+-32|0;re=ef+-32|0;ie=n+64|0;te=re>>>0>>0;if(te){break}else{n=ie;Ql=ee;ef=re}}}ne=(K|0)>1;if(ne){Kl=1;while(1){oe=1<>Kl;fe=4<>1;c=ue+-8|0;g=fe+1|0;P=fe<<1;U=P|1;q=fe*3|0;W=q+1|0;Y=fe<<2;Zl=0;while(1){he=LA(Zl,se)|0;de=i+(he<<2)|0;a=l+he|0;ve=i+(a<<2)|0;x=c+he|0;me=i+(x<<2)|0;o=r;$l=ve;rf=me;while(1){we=$l+24|0;Ee=+MA[we>>2];pe=rf+24|0;be=+MA[pe>>2];Se=Ee-be;ke=$l+28|0;ge=+MA[ke>>2];Ae=rf+28|0;Oe=+MA[Ae>>2];ye=ge-Oe;Me=be+Ee;MA[we>>2]=Me;Fe=+MA[Ae>>2];Re=Fe+ge;MA[ke>>2]=Re;Ne=o+4|0;Te=+MA[Ne>>2];De=Te*ye;Be=+MA[o>>2];Pe=Be*Se;Ce=Pe+De;MA[pe>>2]=Ce;Ie=+MA[o>>2];xe=Ie*ye;He=+MA[Ne>>2];Ue=He*Se;Ve=xe-Ue;MA[Ae>>2]=Ve;qe=o+(fe<<2)|0;Ge=$l+16|0;We=+MA[Ge>>2];je=rf+16|0;Ye=+MA[je>>2];Xe=We-Ye;Ke=$l+20|0;Ze=+MA[Ke>>2];Je=rf+20|0;$e=+MA[Je>>2];er=Ze-$e;rr=Ye+We;MA[Ge>>2]=rr;ir=+MA[Je>>2];tr=ir+Ze;MA[Ke>>2]=tr;nr=o+(g<<2)|0;or=+MA[nr>>2];ar=or*er;sr=+MA[qe>>2];lr=sr*Xe;ur=lr+ar;MA[je>>2]=ur;cr=+MA[qe>>2];hr=cr*er;dr=+MA[nr>>2];vr=dr*Xe;mr=hr-vr;MA[Je>>2]=mr;wr=o+(P<<2)|0;Er=$l+8|0;pr=+MA[Er>>2];_r=rf+8|0;Sr=+MA[_r>>2];kr=pr-Sr;gr=$l+12|0;Ar=+MA[gr>>2];Or=rf+12|0;yr=+MA[Or>>2];Mr=Ar-yr;Fr=Sr+pr;MA[Er>>2]=Fr;Rr=+MA[Or>>2];Lr=Rr+Ar;MA[gr>>2]=Lr;Tr=o+(U<<2)|0;Dr=+MA[Tr>>2];Br=Dr*Mr;Pr=+MA[wr>>2];Cr=Pr*kr;Ir=Cr+Br;MA[_r>>2]=Ir;xr=+MA[wr>>2];Hr=xr*Mr;Ur=+MA[Tr>>2];zr=Ur*kr;qr=Hr-zr;MA[Or>>2]=qr;Gr=o+(q<<2)|0;Wr=+MA[$l>>2];jr=+MA[rf>>2];Yr=Wr-jr;Xr=$l+4|0;Kr=+MA[Xr>>2];Zr=rf+4|0;Jr=+MA[Zr>>2];Qr=Kr-Jr;ri=jr+Wr;MA[$l>>2]=ri;ii=+MA[Zr>>2];ti=ii+Kr;MA[Xr>>2]=ti;ni=o+(W<<2)|0;oi=+MA[ni>>2];ai=oi*Qr;si=+MA[Gr>>2];li=si*Yr;fi=li+ai;MA[rf>>2]=fi;ui=+MA[Gr>>2];hi=ui*Qr;di=+MA[ni>>2];vi=di*Yr;mi=hi-vi;MA[Zr>>2]=mi;wi=o+(Y<<2)|0;Ei=$l+-32|0;pi=rf+-32|0;_i=pi>>>0>>0;if(_i){break}else{o=wi;$l=Ei;rf=pi}}bi=Zl+1|0;Si=(bi|0)<(oe|0);if(Si){Zl=bi}else{break}}}gi=Kl+1|0;Xl=(gi|0)==(K|0);if(Xl){break}else{Kl=gi}}}ce=(t|0)>0;if(ce){Jl=0}else{return}while(1){Ai=i+(Jl<<2)|0;f=Jl|30;Oi=i+(f<<2)|0;yi=+MA[Oi>>2];k=Jl|14;Mi=i+(k<<2)|0;Fi=+MA[Mi>>2];Ri=yi-Fi;B=Jl|31;Li=i+(B<<2)|0;Ni=+MA[Li>>2];H=Jl|15;Ti=i+(H<<2)|0;Bi=+MA[Ti>>2];Pi=Ni-Bi;Ci=Fi+yi;MA[Oi>>2]=Ci;Ii=Bi+Ni;MA[Li>>2]=Ii;MA[Mi>>2]=Ri;MA[Ti>>2]=Pi;z=Jl|28;xi=i+(z<<2)|0;Hi=+MA[xi>>2];V=Jl|12;Ui=i+(V<<2)|0;zi=+MA[Ui>>2];Vi=Hi-zi;G=Jl|29;qi=i+(G<<2)|0;Wi=+MA[qi>>2];j=Jl|13;ji=i+(j<<2)|0;Yi=+MA[ji>>2];Xi=Wi-Yi;Ki=zi+Hi;MA[xi>>2]=Ki;Zi=Yi+Wi;MA[qi>>2]=Zi;Ji=Vi*0.92387950420379638;Qi=Xi*0.38268342614173889;$i=Ji-Qi;MA[Ui>>2]=$i;et=Vi*0.38268342614173889;it=Xi*0.92387950420379638;tt=it+et;MA[ji>>2]=tt;X=Jl|26;nt=i+(X<<2)|0;ot=+MA[nt>>2];h=Jl|10;at=i+(h<<2)|0;st=+MA[at>>2];lt=ot-st;d=Jl|27;ft=i+(d<<2)|0;ut=+MA[ft>>2];v=Jl|11;ct=i+(v<<2)|0;dt=+MA[ct>>2];vt=ut-dt;mt=st+ot;MA[nt>>2]=mt;wt=dt+ut;MA[ft>>2]=wt;Et=lt-vt;pt=Et*0.70710676908493042;MA[at>>2]=pt;_t=vt+lt;bt=_t*0.70710676908493042;MA[ct>>2]=bt;m=Jl|24;St=i+(m<<2)|0;kt=+MA[St>>2];w=Jl|8;At=i+(w<<2)|0;Ot=+MA[At>>2];yt=kt-Ot;E=Jl|25;Mt=i+(E<<2)|0;Ft=+MA[Mt>>2];p=Jl|9;Rt=i+(p<<2)|0;Lt=+MA[Rt>>2];Nt=Ft-Lt;Tt=Ot+kt;MA[St>>2]=Tt;Dt=Lt+Ft;MA[Mt>>2]=Dt;Pt=yt*0.38268342614173889;Ct=Nt*0.92387950420379638;It=Pt-Ct;xt=Nt*0.38268342614173889;Ht=yt*0.92387950420379638;Ut=xt+Ht;_=Jl|22;zt=i+(_<<2)|0;Vt=+MA[zt>>2];b=Jl|6;qt=i+(b<<2)|0;Gt=+MA[qt>>2];jt=Vt-Gt;S=Jl|7;Yt=i+(S<<2)|0;Xt=+MA[Yt>>2];A=Jl|23;Kt=i+(A<<2)|0;Zt=+MA[Kt>>2];Jt=Xt-Zt;Qt=Gt+Vt;MA[zt>>2]=Qt;$t=Zt+Xt;MA[Kt>>2]=$t;MA[qt>>2]=Jt;MA[Yt>>2]=jt;O=Jl|4;en=i+(O<<2)|0;rn=+MA[en>>2];y=Jl|20;on=i+(y<<2)|0;an=+MA[on>>2];sn=rn-an;M=Jl|5;ln=i+(M<<2)|0;fn=+MA[ln>>2];F=Jl|21;un=i+(F<<2)|0;cn=+MA[un>>2];hn=fn-cn;dn=an+rn;MA[on>>2]=dn;vn=cn+fn;MA[un>>2]=vn;wn=hn*0.92387950420379638;En=sn*0.38268342614173889;pn=wn+En;_n=hn*0.38268342614173889;bn=sn*0.92387950420379638;Sn=_n-bn;R=Jl|2;kn=i+(R<<2)|0;gn=+MA[kn>>2];L=Jl|18;An=i+(L<<2)|0;On=+MA[An>>2];Mn=gn-On;N=Jl|3;Fn=i+(N<<2)|0;Rn=+MA[Fn>>2];T=Jl|19;Ln=i+(T<<2)|0;Nn=+MA[Ln>>2];Tn=Rn-Nn;Dn=On+gn;MA[An>>2]=Dn;Bn=Nn+Rn;MA[Ln>>2]=Bn;Pn=Tn+Mn;Cn=Pn*0.70710676908493042;xn=Tn-Mn;Hn=xn*0.70710676908493042;Un=+MA[Ai>>2];D=Jl|16;zn=i+(D<<2)|0;Vn=+MA[zn>>2];qn=Un-Vn;C=Jl|1;Gn=i+(C<<2)|0;Wn=+MA[Gn>>2];I=Jl|17;jn=i+(I<<2)|0;Yn=+MA[jn>>2];Kn=Wn-Yn;Zn=Vn+Un;MA[zn>>2]=Zn;Jn=Yn+Wn;MA[jn>>2]=Jn;Qn=Kn*0.38268342614173889;$n=qn*0.92387950420379638;eo=Qn+$n;ro=Kn*0.92387950420379638;io=qn*0.38268342614173889;to=ro-io;no=to-Ut;ao=eo-It;so=eo+It;lo=to+Ut;fo=ao+no;uo=no-ao;co=+MA[ct>>2];ho=Hn-co;vo=+MA[at>>2];mo=vo-Cn;wo=vo+Cn;po=co+Hn;_o=+MA[Ui>>2];bo=_o-pn;So=+MA[ji>>2];ko=So-Sn;go=_o+pn;Ao=So+Sn;Oo=bo-ko;yo=ko+bo;Mo=+MA[Mi>>2];Ro=Mo-Jt;Lo=+MA[Ti>>2];No=Lo-jt;To=Jt+Mo;Do=jt+Lo;Bo=Ro+ho;Po=Ro-ho;Co=Oo+fo;Io=Co*0.70710676908493042;xo=Oo-fo;Uo=xo*0.70710676908493042;zo=Io+Bo;MA[qt>>2]=zo;Vo=Bo-Io;MA[en>>2]=Vo;qo=yo-uo;Go=qo*0.70710676908493042;Wo=No-mo;jo=Go+Po;MA[Ai>>2]=jo;Yo=Po-Go;MA[kn>>2]=Yo;Xo=yo+uo;Ko=Xo*0.70710676908493042;Jo=No+mo;Qo=Wo+Uo;MA[Fn>>2]=Qo;$o=Wo-Uo;MA[Gn>>2]=$o;ea=Jo+Ko;MA[Yt>>2]=ea;ra=Jo-Ko;MA[ln>>2]=ra;ia=To+wo;ta=To-wo;na=so+go;oa=go-so;aa=ia+na;MA[Mi>>2]=aa;fa=ia-na;MA[Ui>>2]=fa;ua=Ao-lo;ca=Do-po;ha=ta+ua;MA[At>>2]=ha;da=ta-ua;MA[at>>2]=da;va=Ao+lo;ma=Do+po;wa=ca+oa;MA[ct>>2]=wa;Ea=ca-oa;MA[Rt>>2]=Ea;pa=ma+va;MA[Ti>>2]=pa;ba=ma-va;MA[ji>>2]=ba;Sa=+MA[Mt>>2];ka=Jn-Sa;ga=+MA[St>>2];Aa=Zn-ga;Oa=ga+Zn;ya=Sa+Jn;Ma=Aa+ka;Fa=ka-Aa;Ra=+MA[Ln>>2];Na=+MA[ft>>2];Ta=Ra-Na;Da=+MA[nt>>2];Ba=+MA[An>>2];Pa=Da-Ba;Ca=Ba+Da;Ia=Na+Ra;xa=+MA[xi>>2];Ha=+MA[on>>2];Ua=xa-Ha;Va=+MA[qi>>2];qa=+MA[un>>2];Ga=Va-qa;Wa=Ha+xa;ja=qa+Va;Ya=Ua-Ga;Xa=Ga+Ua;Ka=+MA[Oi>>2];Za=+MA[zt>>2];Ja=Ka-Za;$a=+MA[Li>>2];es=+MA[Kt>>2];rs=$a-es;is=Za+Ka;ts=es+$a;ns=Ja+Ta;os=Ja-Ta;as=Ya+Ma;ss=as*0.70710676908493042;ls=Ya-Ma;us=ls*0.70710676908493042;cs=ss+ns;MA[zt>>2]=cs;hs=ns-ss;MA[on>>2]=hs;ds=Xa-Fa;vs=ds*0.70710676908493042;ms=rs-Pa;ws=vs+os;MA[zn>>2]=ws;Es=os-vs;MA[An>>2]=Es;ps=Xa+Fa;_s=ps*0.70710676908493042;Ss=rs+Pa;ks=ms+us;MA[Ln>>2]=ks;gs=ms-us;MA[jn>>2]=gs;As=Ss+_s;MA[Kt>>2]=As;Os=Ss-_s;MA[un>>2]=Os;ys=is+Ca;Ms=is-Ca;Fs=Wa+Oa;Rs=Wa-Oa;Ls=ys+Fs;MA[Oi>>2]=Ls;Ts=ys-Fs;MA[xi>>2]=Ts;Ds=ja-ya;Bs=ts-Ia;Ps=Ms+Ds;MA[St>>2]=Ps;Cs=Ms-Ds;MA[nt>>2]=Cs;Is=ja+ya;xs=ts+Ia;Hs=Bs+Rs;MA[ft>>2]=Hs;Us=Bs-Rs;MA[Mt>>2]=Us;zs=xs+Is;MA[Li>>2]=zs;qs=xs-Is;MA[qi>>2]=qs;Gs=Jl+32|0;Ws=(Gs|0)<(t|0);if(Ws){Jl=Gs}else{break}}return}function Lt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0.0,w=0.0,E=0.0,p=0.0,_=0.0,b=0.0,S=0.0,k=0,g=0.0;var A=0,O=0.0,y=0.0,M=0.0,F=0.0,R=0.0,L=0,N=0.0,T=0.0,D=0.0,B=0.0,P=0,C=0.0,I=0.0,x=0,H=0.0,U=0,z=0.0,V=0,q=0;var G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0.0,Q=0,$=0.0,ee=0.0,re=0.0,ie=0.0,te=0,ne=0.0,oe=0,ae=0.0,se=0.0,le=0,fe=0.0;var ue=0.0,ce=0.0,he=0.0,de=0.0,ve=0,me=0.0,we=0.0,Ee=0.0,pe=0.0,_e=0.0,be=0.0,Se=0,ke=0.0,ge=0.0,Ae=0,Oe=0,ye=0.0,Me=0,Fe=0,Re=0;var Le=0,Ne=0,Te=0,De=0.0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0;He=RA;h=e>>1;d=t+(h<<2)|0;A=r+(e<<2)|0;Be=A;Pe=i;Ce=t;Ie=d;while(1){P=yA[Pe>>2]|0;n=P+h|0;j=t+(n<<2)|0;te=Pe+4|0;ve=yA[te>>2]|0;o=ve+h|0;Oe=t+(o<<2)|0;a=n+1|0;Te=t+(a<<2)|0;De=+MA[Te>>2];s=o+1|0;v=t+(s<<2)|0;m=+MA[v>>2];w=De-m;E=+MA[j>>2];p=+MA[Oe>>2];_=p+E;b=+MA[Be>>2];S=_*b;k=Be+4|0;g=+MA[k>>2];O=g*w;y=O+S;M=g*_;F=b*w;R=M-F;L=Ie+-16|0;N=m+De;T=N*0.5;D=E-p;B=D*0.5;C=y+T;MA[Ce>>2]=C;I=T-y;x=Ie+-8|0;MA[x>>2]=I;H=R+B;U=Ce+4|0;MA[U>>2]=H;z=R-B;V=Ie+-4|0;MA[V>>2]=z;q=Pe+8|0;G=yA[q>>2]|0;l=G+h|0;W=t+(l<<2)|0;Y=Pe+12|0;X=yA[Y>>2]|0;f=X+h|0;K=t+(f<<2)|0;u=l+1|0;Z=t+(u<<2)|0;J=+MA[Z>>2];c=f+1|0;Q=t+(c<<2)|0;$=+MA[Q>>2];ee=J-$;re=+MA[W>>2];ie=+MA[K>>2];ne=ie+re;oe=Be+8|0;ae=+MA[oe>>2];se=ne*ae;le=Be+12|0;fe=+MA[le>>2];ue=fe*ee;ce=ue+se;he=fe*ne;de=ae*ee;me=he-de;we=$+J;Ee=we*0.5;pe=re-ie;_e=pe*0.5;be=ce+Ee;Se=Ce+8|0;MA[Se>>2]=be;ke=Ee-ce;MA[L>>2]=ke;ge=me+_e;Ae=Ce+12|0;MA[Ae>>2]=ge;ye=me-_e;Me=Ie+-12|0;MA[Me>>2]=ye;Fe=Be+16|0;Re=Pe+16|0;Le=Ce+16|0;Ne=Le>>>0>>0;if(Ne){Be=Fe;Pe=Re;Ce=Le;Ie=L}else{break}}return}function br(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0;u=RA;r=e+28|0;i=yA[r>>2]|0;t=i+2868|0;n=BA(1,36)|0;o=e+4|0;a=yA[o>>2]|0;s=n+4|0;yA[s>>2]=a;MA[n>>2]=-9999.0;l=n+8|0;yA[l>>2]=t;return n|0}function qr(e){e=e|0;var r=0,i=0,t=0;t=RA;r=(e|0)==(0|0);if(r){return}Wn(e);return}function Sr(e){e=e|0;var r=0,i=0,t=0;t=RA;r=(e|0)==(0|0);if(!r){Wn(e)}return}function Bi(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0.0,v=0,m=0,w=0.0,E=0,p=0,_=0,b=0,S=0,k=0.0,g=0,A=0;var O=0,y=0.0,M=0,F=0.0,R=0.0,L=0.0,N=0.0,T=0.0,D=0.0,B=0,P=0.0,C=0.0,I=0.0,x=0.0,H=0.0,U=0.0,z=0.0,V=0.0,q=0.0,G=0.0;var W=0.0,j=0,Y=0,X=0.0,K=0.0,Z=0.0,J=0,Q=0.0,$=0.0,ee=0.0,re=0.0,ie=0.0,te=0.0,ne=0,oe=0.0,ae=0.0,se=0.0,le=0.0,fe=0.0,ue=0.0;var ce=0.0,he=0.0,de=0.0,ve=0.0,me=0,we=0,Ee=0,pe=0,_e=0,be=0.0,Se=0,ke=0,ge=0,Ae=0,Oe=0.0,ye=0.0,Me=0.0,Fe=0.0,Re=0.0,Le=0;var Ne=0.0,Te=0.0,De=0.0,Be=0.0,Pe=0.0,Ce=0.0,Ie=0.0,xe=0.0,He=0.0,Ue=0.0,ze=0.0,Ve=0.0,qe=0.0,Ge=0.0,We=0,je=0,Ye=0,Xe=0,Ke=0,Ze=0;var Je=0,Qe=0,$e=0.0,er=0.0,rr=0.0,ir=0.0,tr=0.0,nr=0.0,or=0.0,ar=0.0,sr=0.0,lr=0.0,fr=0.0,ur=0.0,cr=0,hr=0,dr=0,vr=0,mr=0.0,wr=0.0;var Er=0,pr=0.0,_r=0,br=0.0,Sr=0.0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0.0,Pr=0.0,Cr=0.0;var Ir=0.0,xr=0.0,Hr=0.0,Ur=0.0,zr=0.0,Vr=0,qr=0,Gr=0.0,Wr=0.0,jr=0.0,Yr=0.0,Xr=0.0,Kr=0,Zr=0,Jr=0.0,Qr=0.0,$r=0.0,ei=0,ri=0.0,ii=0.0;var ti=0.0,ni=0.0,oi=0.0,ai=0.0,si=0,li=0,fi=0.0,ui=0.0,ci=0.0,hi=0.0,di=0,vi=0.0,mi=0.0,wi=0.0,Ei=0.0,pi=0.0,_i=0,bi=0,Si=0.0,ki=0.0;var gi=0.0,Ai=0.0,Oi=0,yi=0.0,Mi=0.0,Fi=0.0,Ri=0.0,Li=0.0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0.0,Ci=0.0,Ii=0.0,xi=0.0,Hi=0.0,Ui=0.0,zi=0.0,Vi=0.0;var qi=0.0,Gi=0.0,Wi=0.0,ji=0.0,Yi=0,Xi=0.0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0.0,at=0,st=0,lt=0;var ft=0,ut=0,ct=0,ht=0.0,dt=0.0,vt=0,mt=0,wt=0.0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0.0,gt=0.0,At=0.0,Ot=0.0,yt=0.0,Mt=0.0,Ft=0.0;var Rt=0.0,Lt=0,Nt=0,Tt=0,Dt=0.0,Bt=0,Pt=0.0,Ct=0.0,It=0,xt=0.0,Ht=0.0,Ut=0.0,zt=0,Vt=0,qt=0,Gt=0.0,Wt=0,jt=0.0,Yt=0,Xt=0;var Kt=0,Zt=0,Jt=0,Qt=0,$t=0,en=0,rn=0,tn=0,nn=0,on=0,an=0,sn=0.0,ln=0,fn=0,un=0,cn=0,hn=0,dn=0,vn=0.0,mn=0.0;var wn=0,En=0,pn=0,_n=0,bn=0,Sn=0,kn=0,gn=0,An=0,On=0,yn=0,Mn=0,Fn=0,Rn=0,Ln=0,Nn=0,Tn=0,Dn=0,Bn=0,Pn=0;var Cn=0;Pn=RA;Dn=e;Cn=Dn+48|0;do{yA[Dn>>2]=0|0;Dn=Dn+4|0}while((Dn|0)<(Cn|0));E=yA[i>>2]|0;p=e+36|0;yA[p>>2]=E;Sr=+(E|0);Ii=Sr*8.0;Xi=Ii;ot=+zs(+Xi);wt=ot*1.4426950408889634;Mt=+Hn(wt);xt=Mt+-1.0;Kt=~~xt;_=e+32|0;yA[_>>2]=Kt;L=+(n|0);z=L*0.25;Q=z;fe=Q*0.5;be=+(t|0);Ne=fe/be;Ve=+zs(+Ne);$e=Ve*1.4426950216293335;ur=$e+-5.9657840728759766;kr=Kt+1|0;Dr=1<>2]=Di;Pi=+(t|0);Ci=Pi+0.25;xi=Ci*L;Hi=xi;Ui=Hi*0.5;zi=Ui/be;Vi=+zs(+zi);qi=Vi*1.4426950216293335;Gi=qi+-5.9657840728759766;Wi=Gr*Gi;ji=Wi+0.5;Yi=~~ji;Ki=1-Di|0;Zi=Ki+Yi|0;Ji=e+40|0;yA[Ji>>2]=Zi;Qi=t<<2;$i=DA(Qi)|0;et=e+16|0;yA[et>>2]=$i;rt=DA(Qi)|0;it=e+20|0;yA[it>>2]=rt;tt=DA(Qi)|0;nt=e+24|0;yA[nt>>2]=tt;at=e+4|0;yA[at>>2]=r;yA[e>>2]=t;st=e+44|0;yA[st>>2]=n;lt=e+48|0;MA[lt>>2]=1.0;ft=(n|0)<26e3;do{if(ft){MA[lt>>2]=0.0}else{ut=(n|0)<38e3;if(ut){MA[lt>>2]=0.93999999761581421;break}ct=(n|0)>46e3;if(ct){MA[lt>>2]=1.2749999761581421}}}while(0);ht=be*2.0;dt=+(n|0);vt=(t|0)>0;_t=vt;_n=0;yn=0;e:while(1){f=_t^1;bn=_n;while(1){St=bn+1|0;kt=+(St|0);gt=kt*0.08664337545633316;At=gt+2.7488713472395148;Ot=+Us(+At);yt=ht*Ot;Ft=yt/dt;Rt=+Hn(Ft);Lt=~~Rt;l=(Lt|0)<=(yn|0);ln=l|f;if(!ln){a=St;s=Lt;Sn=bn;break}Nt=(St|0)<87;if(Nt){bn=St}else{On=yn;break e}}Tt=1272+(Sn<<2)|0;Dt=+MA[Tt>>2];Bt=1272+(a<<2)|0;Pt=+MA[Bt>>2];Ct=Pt-Dt;It=s-yn|0;Ht=+(It|0);Ut=Ct/Ht;zt=yn-s|0;Vt=yn-t|0;qt=zt>>>0>Vt>>>0;Tn=qt?zt:Vt;mt=yn-Tn|0;sn=Dt;Mn=yn;while(1){Gt=sn+100.0;Wt=$i+(Mn<<2)|0;MA[Wt>>2]=Gt;jt=sn+Ut;Yt=Mn+1|0;dn=(Yt|0)==(mt|0);if(dn){break}else{sn=jt;Mn=Yt}}Et=(mt|0)<(t|0);pt=(a|0)<87;if(pt){_t=Et;_n=a;yn=mt}else{On=mt;break}}bt=(On|0)<(t|0);if(bt){Fn=On;while(1){nn=Fn+-1|0;on=$i+(nn<<2)|0;an=yA[on>>2]|0;b=$i+(Fn<<2)|0;yA[b>>2]=an;S=Fn+1|0;hn=(S|0)==(t|0);if(hn){break}else{Fn=S}}}Xt=(t|0)>0;if(Xt){Zt=t<<1;Jt=(n|0)/(Zt|0)&-1;Qt=r+120|0;$t=yA[Qt>>2]|0;en=r+124|0;rn=r+116|0;tn=r+112|0;wn=1;kn=0;Rn=-99;while(1){M=LA(Jt,kn)|0;F=+(M|0);R=F*7.3999998858198524E-4;N=R;T=+In(+N);D=T*13.100000381469727;B=LA(M,M)|0;P=+(B|0);C=P*1.8499999754340024E-8;I=C;x=+In(+I);H=x*2.2400000095367432;U=H+D;V=F*9.9999997473787516E-5;q=V;G=U+q;W=G;j=$t+Rn|0;Y=(j|0)<(kn|0);e:do{if(Y){X=+MA[tn>>2];K=W-X;Z=K;Nn=Rn;while(1){J=LA(Nn,Jt)|0;$=+(J|0);ee=$*7.3999998858198524E-4;re=ee;ie=+In(+re);te=ie*13.100000381469727;ne=LA(J,J)|0;oe=+(ne|0);ae=oe*1.8499999754340024E-8;se=ae;le=+In(+se);ue=le*2.2400000095367432;ce=$*9.9999997473787516E-5;he=ce;de=te+he;ve=de+ue;me=ve(t|0);e:do{if(we){En=wn}else{Ee=yA[en>>2]|0;pe=Ee+kn|0;pn=wn;while(1){ge=(pn|0)<(pe|0);if(!ge){Ae=LA(pn,Jt)|0;Oe=+(Ae|0);ye=Oe*7.3999998858198524E-4;Me=ye;Fe=+In(+Me);Re=Fe*13.100000381469727;Le=LA(Ae,Ae)|0;Te=+(Le|0);De=Te*1.8499999754340024E-8;Be=De;Pe=+In(+Be);Ce=Pe*2.2400000095367432;Ie=Oe*9.9999997473787516E-5;xe=Ie;He=Re+xe;Ue=He+Ce;ze=+MA[rn>>2];qe=ze+W;Ge=qe;We=Ue>2]=Ze;Qe=kn+1|0;cn=(Qe|0)==(t|0);if(cn){break}else{wn=En;kn=Qe;Rn=Ln}}if(Xt){k=dt*0.5;g=yA[_>>2]|0;A=g+1|0;O=1<>2]=cr;dr=gn+1|0;un=(dr|0)==(t|0);if(un){d=k;break}else{gn=dr}}}else{Bn=19}}else{Bn=19}if((Bn|0)==19){w=dt*0.5;d=w}vr=r+36|0;mr=d/be;wr=mr;Er=r+24|0;pr=+MA[Er>>2];_r=r+28|0;br=+MA[_r>>2];gr=xn(vr,wr,t,pr,br)|0;Ar=e+8|0;yA[Ar>>2]=gr;Or=DA(12)|0;yr=e+12|0;yA[yr>>2]=Or;Mr=DA(Qi)|0;yA[Or>>2]=Mr;Fr=DA(Qi)|0;Rr=Or+4|0;yA[Rr>>2]=Fr;Lr=DA(Qi)|0;Nr=Or+8|0;yA[Nr>>2]=Lr;if(!Xt){return}Tr=yA[at>>2]|0;h=yA[Or>>2]|0;u=Or+4|0;v=yA[u>>2]|0;c=Or+8|0;m=yA[c>>2]|0;An=0;while(1){Br=+(An|0);Pr=Br+0.5;Cr=Pr*dt;Ir=Cr/ht;xr=+zs(+Ir);Hr=xr*2.885390043258667;Ur=Hr+-11.931568145751953;zr=Ur;Vr=zr<0.0;vn=Vr?0.0:zr;o=vn>=16.0;mn=o?16.0:vn;qr=~~mn;Wr=+(qr|0);jr=mn-Wr;Yr=jr;Xr=1.0-Yr;Kr=qr+1|0;Zr=(Tr+132|0)+(qr<<2)|0;Jr=+MA[Zr>>2];Qr=Jr;$r=Qr*Xr;ei=(Tr+132|0)+(Kr<<2)|0;ii=+MA[ei>>2];ti=ii*jr;ni=ti;oi=ni+$r;ai=oi;si=h+(An<<2)|0;MA[si>>2]=ai;li=(Tr+200|0)+(qr<<2)|0;fi=+MA[li>>2];ui=fi;ci=ui*Xr;di=(Tr+200|0)+(Kr<<2)|0;vi=+MA[di>>2];mi=vi*jr;wi=mi;Ei=wi+ci;pi=Ei;_i=v+(An<<2)|0;MA[_i>>2]=pi;bi=(Tr+268|0)+(qr<<2)|0;Si=+MA[bi>>2];ki=Si;Ai=ki*Xr;Oi=(Tr+268|0)+(Kr<<2)|0;yi=+MA[Oi>>2];Mi=yi*jr;Fi=Mi;Ri=Fi+Ai;Li=Ri;Ni=m+(An<<2)|0;MA[Ni>>2]=Li;Ti=An+1|0;fn=(Ti|0)==(t|0);if(fn){break}else{An=Ti}}return}function Gr(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0;var se=0,le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0;be=RA;i=(e|0)==(0|0);if(i){return}t=e+16|0;v=yA[t>>2]|0;O=(v|0)==(0|0);if(!O){Wn(v)}C=e+20|0;Y=yA[C>>2]|0;ne=(Y|0)==(0|0);if(!ne){Wn(Y)}de=e+24|0;ve=yA[de>>2]|0;me=(ve|0)==(0|0);if(!me){Wn(ve)}n=e+8|0;o=yA[n>>2]|0;a=(o|0)==(0|0);if(!a){l=o;Ee=0;while(1){s=l+(Ee<<2)|0;f=yA[s>>2]|0;u=yA[f>>2]|0;Wn(u);c=yA[n>>2]|0;h=c+(Ee<<2)|0;d=yA[h>>2]|0;m=d+4|0;w=yA[m>>2]|0;Wn(w);E=yA[n>>2]|0;p=E+(Ee<<2)|0;_=yA[p>>2]|0;b=_+8|0;S=yA[b>>2]|0;Wn(S);k=yA[n>>2]|0;g=k+(Ee<<2)|0;A=yA[g>>2]|0;y=A+12|0;M=yA[y>>2]|0;Wn(M);F=yA[n>>2]|0;R=F+(Ee<<2)|0;L=yA[R>>2]|0;N=L+16|0;T=yA[N>>2]|0;Wn(T);D=yA[n>>2]|0;B=D+(Ee<<2)|0;P=yA[B>>2]|0;I=P+20|0;x=yA[I>>2]|0;Wn(x);H=yA[n>>2]|0;U=H+(Ee<<2)|0;z=yA[U>>2]|0;V=z+24|0;q=yA[V>>2]|0;Wn(q);G=yA[n>>2]|0;W=G+(Ee<<2)|0;j=yA[W>>2]|0;X=j+28|0;K=yA[X>>2]|0;Wn(K);Z=yA[n>>2]|0;J=Z+(Ee<<2)|0;Q=yA[J>>2]|0;Wn(Q);$=Ee+1|0;we=($|0)==17;if(we){break}r=yA[n>>2]|0;l=r;Ee=$}ee=yA[n>>2]|0;Wn(ee)}re=e+12|0;ie=yA[re>>2]|0;te=(ie|0)==(0|0);if(!te){oe=yA[ie>>2]|0;Wn(oe);ae=yA[re>>2]|0;se=ae+4|0;le=yA[se>>2]|0;Wn(le);fe=yA[re>>2]|0;ue=fe+8|0;ce=yA[ue>>2]|0;Wn(ce);he=yA[re>>2]|0;Wn(he)}pe=e;Se=pe+52|0;do{yA[pe>>2]=0|0;pe=pe+4|0}while((pe|0)<(Se|0));return}function tc(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,a=0,s=0,l=0.0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0.0,b=0,S=0.0,k=0.0;var g=0,A=0,O=0.0,y=0.0,M=0.0,F=0,R=0,L=0,N=0,T=0,D=0.0,B=0,P=0.0,C=0.0,I=0,x=0,H=0,U=0,z=0.0,V=0;var q=0.0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0;J=RA;a=yA[e>>2]|0;s=a<<2;o=s;p=RA;RA=RA+((1*o|0)+15&-16)|0;R=e+24|0;x=yA[R>>2]|0;kr(a,x,r,i,140.0,-1);H=(a|0)>0;if(H){Y=0;while(1){U=r+(Y<<2)|0;z=+MA[U>>2];V=i+(Y<<2)|0;q=+MA[V>>2];l=z-q;f=p+(Y<<2)|0;MA[f>>2]=l;u=Y+1|0;W=(u|0)==(a|0);if(W){break}else{Y=u}}}c=yA[R>>2]|0;h=e+4|0;d=yA[h>>2]|0;v=d+128|0;m=yA[v>>2]|0;kr(a,c,p,i,0.0,m);if(H){X=0}else{RA=J;return}while(1){E=r+(X<<2)|0;_=+MA[E>>2];b=p+(X<<2)|0;S=+MA[b>>2];k=_-S;MA[b>>2]=k;g=X+1|0;j=(g|0)==(a|0);if(j){break}else{X=g}}if(!H){RA=J;return}w=yA[h>>2]|0;K=0;while(1){A=i+(K<<2)|0;O=+MA[A>>2];y=O;M=y+0.5;F=~~M;L=(F|0)>39;t=L?39:F;N=(t|0)<0;n=N?0:t;T=p+(K<<2)|0;D=+MA[T>>2];B=(w+336|0)+(n<<2)|0;P=+MA[B>>2];C=P+D;MA[A>>2]=C;I=K+1|0;G=(I|0)==(a|0);if(G){break}else{K=I}}RA=J;return}function nc(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=+t;n=+n;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0.0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0;var O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0.0,z=0,V=0,q=0,G=0;var W=0,j=0,Y=0,X=0,K=0.0,Z=0,J=0,Q=0,$=0,ee=0,re=0.0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0;var ce=0.0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0.0,Se=0,ke=0,ge=0.0,Ae=0.0,Oe=0,ye=0,Me=0,Fe=0,Re=0,Le=0;var Ne=0,Te=0,De=0.0,Be=0.0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0.0,ze=0.0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0.0,Ze=0;var Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0.0,ar=0,sr=0.0,lr=0,fr=0.0,ur=0,cr=0,hr=0,dr=0,vr=0,mr=0,wr=0;var Er=0,pr=0,_r=0.0,br=0.0,Sr=0,kr=0.0,gr=0.0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0.0,Br=0,Pr=0.0,Cr=0;var Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0.0,qr=0.0,Gr=0,Wr=0.0,jr=0.0,Yr=0.0,Xr=0.0,Kr=0.0,Zr=0.0,Jr=0,Qr=0,$r=0,ei=0.0,ri=0.0,ii=0.0;var ti=0,ni=0.0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0.0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0,bi=0,Si=0,ki=0;var gi=0,Ai=0,Oi=0,yi=0.0,Mi=0.0,Fi=0.0,Ri=0.0,Li=0.0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0;xi=RA;S=yA[e>>2]|0;k=e+40|0;Ne=yA[k>>2]|0;Ve=Ne<<2;s=Ve;$e=RA;RA=RA+((1*s|0)+15&-16)|0;ur=e+4|0;Sr=yA[ur>>2]|0;Tr=Sr+4|0;qr=+MA[Tr>>2];ei=qr+n;g=(Ne|0)>0;if(g){mi=0;while(1){B=$e+(mi<<2)|0;MA[B>>2]=-9999.0;W=mi+1|0;ie=(W|0)<(Ne|0);if(ie){mi=W}else{break}}}de=Sr+8|0;Ae=+MA[de>>2];Me=ei0;if(Fe){Re=e+16|0;Le=yA[Re>>2]|0;bi=0;while(1){Te=Le+(bi<<2)|0;De=+MA[Te>>2];Be=De+ci;Pe=i+(bi<<2)|0;MA[Pe>>2]=Be;Ce=bi+1|0;di=(Ce|0)==(S|0);if(di){break}else{bi=Ce}}Ie=e+8|0;xe=yA[Ie>>2]|0;He=Sr+496|0;Ue=+MA[He>>2];ze=Ue-t;if(Fe){qe=e+20|0;Ge=yA[qe>>2]|0;We=e+32|0;je=e+36|0;Ye=e+28|0;wi=0;while(1){Xe=r+(wi<<2)|0;Ke=+MA[Xe>>2];Ze=Ge+(wi<<2)|0;Je=yA[Ze>>2]|0;_i=wi;yi=Ke;e:while(1){Ei=_i;while(1){Qe=Ei+1|0;er=(Qe|0)<(S|0);if(!er){c=0;d=Qe;pi=Ei;Mi=yi;break e}rr=Ge+(Qe<<2)|0;ir=yA[rr>>2]|0;tr=(ir|0)==(Je|0);if(!tr){c=1;d=Qe;pi=Ei;Mi=yi;break e}nr=r+(Qe<<2)|0;or=+MA[nr>>2];ar=or>yi;if(ar){_i=Qe;yi=or;continue e}else{Ei=Qe}}}sr=Mi+6.0;lr=i+(pi<<2)|0;fr=+MA[lr>>2];cr=sr>fr;if(cr){hr=yA[We>>2]|0;dr=Je>>hr;vr=(dr|0)>16;a=vr?16:dr;mr=(a|0)<0;o=mr?0:a;wr=xe+(o<<2)|0;Er=yA[wr>>2]|0;pr=yA[je>>2]|0;_r=ze+Mi;br=_r;kr=br+-30.0;gr=kr*0.10000000149011612;Ar=~~gr;Or=(Ar|0)<0;yr=Or?0:Ar;Mr=(yr|0)>7;Fr=Mr?7:yr;Rr=Er+(Fr<<2)|0;Lr=yA[Rr>>2]|0;Nr=Lr+4|0;Dr=+MA[Nr>>2];Br=~~Dr;Pr=+MA[Lr>>2];Cr=~~Pr;Ir=(Cr|0)<(Br|0);if(Ir){xr=Ge+(pi<<2)|0;Hr=yA[xr>>2]|0;Ur=yA[Ye>>2]|0;zr=Hr-Ur|0;Vr=+(zr|0);Gr=pr>>1;Wr=+(Gr|0);jr=Pr+-16.0;Yr=+(pr|0);Xr=jr*Yr;Kr=Xr-Wr;Zr=Kr+Vr;Jr=~~Zr;vi=Cr;Ci=Jr;while(1){Qr=(Ci|0)>0;if(Qr){b=vi+2|0;$r=Lr+(b<<2)|0;ri=+MA[$r>>2];ii=ri+Mi;ti=$e+(Ci<<2)|0;ni=+MA[ti>>2];oi=ni>2]=ii}}ai=Ci+pr|0;si=(ai|0)<(Ne|0);li=vi+1|0;fi=(li|0)<(Br|0);Di=fi&si;if(Di){vi=li;Ci=ai}else{break}}}}if(c){wi=d}else{p=je;break}}}else{Ii=7}}else{Ii=7}if((Ii|0)==7){w=e+36|0;p=w}ui=yA[p>>2]|0;Hi($e,ui,Ne);A=yA[e>>2]|0;O=(A|0)>1;e:do{if(O){y=e+20|0;M=e+28|0;F=yA[y>>2]|0;R=yA[F>>2]|0;L=ui>>1;N=R-L|0;T=yA[M>>2]|0;D=N-T|0;P=yA[ur>>2]|0;C=P+32|0;V=1;j=R;ki=0;Bi=D;while(1){H=$e+(Bi<<2)|0;U=+MA[H>>2];z=F+(V<<2)|0;q=yA[z>>2]|0;G=q+j|0;Y=G>>1;X=Y-T|0;K=+MA[C>>2];Z=U>K;Fi=Z?K:U;J=(Bi|0)<(X|0);r:do{if(J){l=Bi;Li=Fi;while(1){Q=Li==-9999.0;f=l;while(1){$=f+1|0;ee=$e+($<<2)|0;re=+MA[ee>>2];te=re>-9999.0;if(te){ne=re=(A|0);fe=(j|0)>(se|0);Ni=le|fe;r:do{if(Ni){gi=ki}else{Ai=ki;while(1){ue=i+(Ai<<2)|0;ce=+MA[ue>>2];he=ce>2]=Ri}ve=Ai+1|0;me=(ve|0)<(A|0);if(!me){gi=ve;break r}m=F+(ve<<2)|0;_=yA[m>>2]|0;we=(_|0)>(se|0);if(we){gi=ve;break}else{Ai=ve}}}}while(0);I=gi+1|0;x=(I|0)<(A|0);if(!x){Si=gi;break e}v=F+(gi<<2)|0;E=yA[v>>2]|0;V=I;j=E;ki=gi;Bi=Pi}}else{Si=0}}while(0);Ee=yA[k>>2]|0;pe=Ee+-1|0;_e=$e+(pe<<2)|0;be=+MA[_e>>2];Se=(Si|0)<(A|0);if(Se){Oi=Si}else{RA=xi;return}while(1){ke=i+(Oi<<2)|0;ge=+MA[ke>>2];Oe=ge>2]=be}ye=Oi+1|0;hi=(ye|0)==(A|0);if(hi){break}else{Oi=ye}}RA=xi;return}function oc(e,r,i,t,n,o,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;a=a|0;var s=0.0,l=0,f=0,u=0,c=0,h=0,d=0,v=0.0,m=0.0,w=0.0,E=0,p=0.0,_=0,b=0,S=0.0,k=0.0,g=0.0,A=0,O=0,y=0.0;var M=0.0,F=0,R=0,L=0,N=0,T=0.0,D=0.0,B=0,P=0.0,C=0.0,I=0.0,x=0.0,H=0.0,U=0,z=0.0,V=0.0,q=0.0,G=0.0,W=0,j=0.0;var Y=0.0,X=0,K=0,Z=0,J=0.0,Q=0,$=0,ee=0.0,re=0,ie=0,te=0.0,ne=0,oe=0;oe=RA;l=yA[e>>2]|0;f=e+4|0;b=yA[f>>2]|0;N=(b+12|0)+(t<<2)|0;V=+MA[N>>2];K=(l|0)>0;if(!K){return}Z=e+48|0;J=+MA[Z>>2];Q=e+12|0;$=yA[Q>>2]|0;u=$+(t<<2)|0;c=yA[u>>2]|0;h=b+108|0;d=(t|0)==1;v=J;m=v*0.0050000000000000001;w=v*2.9999999999999997E-4;ie=0;while(1){E=r+(ie<<2)|0;p=+MA[E>>2];_=c+(ie<<2)|0;S=+MA[_>>2];k=S+p;g=+MA[h>>2];A=k>g;te=A?g:k;O=i+(ie<<2)|0;y=+MA[O>>2];M=y+V;F=te>2]=s;if(d){L=a+(ie<<2)|0;T=+MA[L>>2];D=te-T;B=D>-17.200000762939453;P=D+17.200000762939453;C=P;if(B){I=m*C;x=1.0-I;H=x;U=H<0.0;if(U){ee=9.9999997473787516E-5}else{ee=H}}else{z=w*C;q=1.0-z;G=q;ee=G}W=o+(ie<<2)|0;j=+MA[W>>2];Y=j*ee;MA[W>>2]=Y}X=ie+1|0;re=(X|0)==(l|0);if(re){break}else{ie=X}}return}function Gn(e,r){e=+e;r=r|0;var i=0.0,t=0,n=0,o=0,a=0,s=0.0,l=0.0,f=0,u=0.0,c=0.0,h=0.0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0.0;var k=0,g=0;g=RA;t=r+4|0;n=yA[t>>2]|0;v=n+28|0;m=yA[v>>2]|0;w=r+40|0;E=yA[w>>2]|0;p=m+(E<<2)|0;_=yA[p>>2]|0;b=(_|0)/2&-1;S=+(b|0);o=n+8|0;a=yA[o>>2]|0;s=+(a|0);l=S/s;f=m+2936|0;u=+MA[f>>2];c=u*l;h=c+e;d=h<-9999.0;i=d?-9999.0:h;return+i}function ac(e,r,i,t,n,o,a,s,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;a=a|0;s=s|0;l=l|0;var f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0;var R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0.0,H=0,U=0,z=0,V=0,q=0.0,G=0.0,W=0,j=0,Y=0,X=0;var K=0,Z=0,J=0,Q=0,$=0,ee=0.0,re=0.0,ie=0,te=0,ne=0.0,oe=0,ae=0.0,se=0.0,le=0,fe=0,ue=0.0,ce=0.0,he=0,de=0,ve=0;var me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0,Le=0,Ne=0.0,Te=0,De=0,Be=0;var Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0;var rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0.0,dr=0,vr=0.0,mr=0.0,wr=0,Er=0.0,pr=0,_r=0.0,br=0.0;var Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0;var zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0.0,Jr=0,Qr=0.0,$r=0.0,ei=0,ri=0,ii=0,ti=0.0,ni=0,oi=0.0,ai=0.0;var si=0,li=0.0,fi=0,ui=0.0,ci=0,hi=0,di=0,vi=0,mi=0.0,wi=0,Ei=0.0,pi=0.0,_i=0,bi=0,Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0;var Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0,Ui=0,zi=0,Vi=0,qi=0,Gi=0,Wi=0,ji=0;var Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0,at=0,st=0,lt=0,ft=0,ut=0,ct=0,ht=0;var dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0,Ot=0,yt=0,Mt=0,Ft=0,Rt=0,Lt=0,Nt=0,Tt=0;var Dt=0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0,zt=0,Vt=0,qt=0,Gt=0,Wt=0,jt=0,Yt=0,Xt=0,Kt=0,Zt=0,Jt=0,Qt=0;var $t=0,en=0,rn=0,tn=0,nn=0,on=0,an=0,sn=0,ln=0,fn=0,un=0,cn=0,hn=0,dn=0,vn=0,mn=0,wn=0,En=0.0,pn=0,_n=0.0;var bn=0,Sn=0,kn=0,gn=0,An=0,On=0,yn=0,Mn=0,Fn=0.0,Rn=0.0,Ln=0.0,Nn=0.0,Tn=0.0,Dn=0.0,Bn=0,Pn=0,Cn=0,In=0,xn=0,Hn=0;var Un=0,zn=0,Vn=0,qn=0,Gn=0,Wn=0,jn=0,Yn=0,Xn=0,Kn=0,Zn=0,Jn=0,Qn=0,$n=0.0,eo=0,ro=0,io=0,to=0,no=0,oo=0;oo=RA;H=yA[i>>2]|0;U=i+4|0;qr=yA[U>>2]|0;Zi=qr+500|0;st=yA[Zi>>2]|0;pt=(st|0)==0;if(pt){ji=16}else{Rt=qr+508|0;Ut=yA[Rt>>2]|0;ji=Ut}Jt=yA[qr>>2]|0;fn=((r+132|0)+(Jt*60|0)|0)+(e<<2)|0;z=yA[fn>>2]|0;Q=(r+252|0)+(e<<2)|0;fe=yA[Q>>2]|0;be=1624+(fe<<3)|0;Ne=+FA[be>>3];Ve=(r+312|0)+(e<<2)|0;$e=yA[Ve>>2]|0;ur=l<<2;c=ur;Sr=RA;RA=RA+((1*c|0)+15&-16)|0;h=ur;Tr=RA;RA=RA+((1*h|0)+15&-16)|0;w=ur;Gr=RA;RA=RA+((1*w|0)+15&-16)|0;E=ur;ri=RA;RA=RA+((1*E|0)+15&-16)|0;p=ur;hi=RA;RA=RA+((1*p|0)+15&-16)|0;gi=t+1156|0;Bi=(H|0)>1e3;to=Bi?1696:1624;eo=to+($e<<3)|0;$n=+FA[eo>>3];Wi=LA(ur,ji)|0;_=Wi;Yi=RA;RA=RA+((1*_|0)+15&-16)|0;yA[Sr>>2]=Yi;d=Wi;Xi=RA;RA=RA+((1*d|0)+15&-16)|0;yA[Tr>>2]=Xi;v=Wi;Ki=RA;RA=RA+((1*v|0)+15&-16)|0;yA[Gr>>2]=Ki;m=Wi;Ji=RA;RA=RA+((1*m|0)+15&-16)|0;yA[ri>>2]=Ji;Qi=(l|0)>1;if(Qi){$i=Yi+(ji<<2)|0;et=Sr+4|0;yA[et>>2]=$i;rt=Xi+(ji<<2)|0;it=Tr+4|0;yA[it>>2]=rt;tt=Ki+(ji<<2)|0;nt=Gr+4|0;yA[nt>>2]=tt;ot=Ji+(ji<<2)|0;at=ri+4|0;yA[at>>2]=ot;Mn=(l|0)==2;if(!Mn){ct=2;while(1){S=yA[Sr>>2]|0;A=yA[Tr>>2]|0;O=yA[Gr>>2]|0;y=yA[ri>>2]|0;ut=LA(ct,ji)|0;ht=S+(ut<<2)|0;dt=Sr+(ct<<2)|0;yA[dt>>2]=ht;vt=A+(ut<<2)|0;mt=Tr+(ct<<2)|0;yA[mt>>2]=vt;wt=O+(ut<<2)|0;Et=Gr+(ct<<2)|0;yA[Et>>2]=wt;_t=y+(ut<<2)|0;bt=ri+(ct<<2)|0;yA[bt>>2]=_t;St=ct+1|0;yn=(St|0)==(l|0);if(yn){break}else{ct=St}}}}lt=yA[gi>>2]|0;ft=(H|0)>0;if(ft){kt=yA[ri>>2]|0;gt=(l|0)>0;At=H^-1;Ot=ji^-1;Bn=0;In=At;while(1){Ft=(In|0)>(Ot|0);ro=Ft?In:Ot;Lt=ro^-1;Nt=H-Bn|0;Tt=(ji|0)>(Nt|0);f=Tt?Nt:ji;PA(hi|0,a|0,ur|0)|0;tl(kt|0,0,Wi|0)|0;if(gt){Dt=(f|0)>0;Bt=z-Bn|0;jn=0;while(1){zt=o+(jn<<2)|0;Vt=yA[zt>>2]|0;qt=Vt+(Bn<<2)|0;Gt=hi+(jn<<2)|0;Wt=yA[Gt>>2]|0;jt=(Wt|0)==0;if(jt){if(Dt){Kt=Gr+(jn<<2)|0;Zt=yA[Kt>>2]|0;Qt=Sr+(jn<<2)|0;$t=yA[Qt>>2]|0;en=Tr+(jn<<2)|0;rn=yA[en>>2]|0;tn=ri+(jn<<2)|0;nn=yA[tn>>2]|0;Gn=0;while(1){me=Zt+(Gn<<2)|0;MA[me>>2]=1.000000013351432E-10;we=$t+(Gn<<2)|0;MA[we>>2]=0.0;Ee=rn+(Gn<<2)|0;MA[Ee>>2]=0.0;pe=nn+(Gn<<2)|0;yA[pe>>2]=0;B=Gn+Bn|0;_e=Vt+(B<<2)|0;yA[_e>>2]=0;Se=Gn+1|0;gn=(Se|0)==(Lt|0);if(gn){break}else{Gn=Se}}}}else{Yt=Gr+(jn<<2)|0;Xt=yA[Yt>>2]|0;if(Dt){Vn=0;while(1){P=Vn+Bn|0;on=Vt+(P<<2)|0;an=yA[on>>2]|0;sn=1768+(an<<2)|0;ln=yA[sn>>2]|0;un=Xt+(Vn<<2)|0;yA[un>>2]=ln;cn=Vn+1|0;bn=(cn|0)==(Lt|0);if(bn){break}else{Vn=cn}}hn=n+(jn<<2)|0;dn=yA[hn>>2]|0;vn=ri+(jn<<2)|0;mn=yA[vn>>2]|0;if(Dt){zn=0;while(1){wn=(zn|0)>=(Bt|0);x=wn?$n:Ne;En=x;C=zn+Bn|0;pn=dn+(C<<2)|0;_n=+MA[pn>>2];Rn=+ao(+_n);V=Xt+(zn<<2)|0;q=+MA[V>>2];G=Rn/q;W=mn+(zn<<2)|0;Zn=!(G>2]=u;j=zn+1|0;Sn=(j|0)==(f|0);if(Sn){break}else{zn=j}}if(Dt){Y=Sr+(jn<<2)|0;X=yA[Y>>2]|0;K=Tr+(jn<<2)|0;Z=yA[K>>2]|0;qn=0;while(1){J=qn+Bn|0;$=dn+(J<<2)|0;ee=+MA[$>>2];re=ee*ee;ie=X+(qn<<2)|0;MA[ie>>2]=re;te=Z+(qn<<2)|0;MA[te>>2]=re;ne=+MA[$>>2];oe=ne<0.0;if(oe){ae=+MA[ie>>2];se=-ae;MA[ie>>2]=se}le=Xt+(qn<<2)|0;ue=+MA[le>>2];ce=ue*ue;MA[le>>2]=ce;he=qn+1|0;kn=(he|0)==(Lt|0);if(kn){k=K;ve=X;break}else{qn=he}}}else{no=21}}else{no=21}}else{no=21}if((no|0)==21){no=0;b=Sr+(jn<<2)|0;M=yA[b>>2]|0;T=Tr+(jn<<2)|0;k=T;ve=M}de=yA[k>>2]|0;Jn=yA[U>>2]|0;+so(Jn,z,ve,de,Xt,0,Bn,f,qt)}ke=jn+1|0;An=(ke|0)==(l|0);if(An){break}else{jn=ke}}}Pt=yA[gi>>2]|0;Ct=(Pt|0)>0;if(Ct){It=(f|0)>0;xt=s-Bn|0;Ht=z-Bn|0;Gi=Pt;io=0;while(1){ge=(t+1160|0)+(io<<2)|0;Ae=yA[ge>>2]|0;Oe=(t+2184|0)+(io<<2)|0;ye=yA[Oe>>2]|0;Me=o+(Ae<<2)|0;Fe=yA[Me>>2]|0;Re=Fe+(Bn<<2)|0;Le=o+(ye<<2)|0;Te=yA[Le>>2]|0;De=Sr+(Ae<<2)|0;Be=yA[De>>2]|0;Pe=Sr+(ye<<2)|0;Ce=yA[Pe>>2]|0;Ie=Tr+(Ae<<2)|0;xe=yA[Ie>>2]|0;He=Tr+(ye<<2)|0;Ue=yA[He>>2]|0;ze=Gr+(Ae<<2)|0;qe=yA[ze>>2]|0;Ge=Gr+(ye<<2)|0;We=yA[Ge>>2]|0;je=ri+(Ae<<2)|0;Ye=yA[je>>2]|0;Xe=ri+(ye<<2)|0;Ke=yA[Xe>>2]|0;Ze=hi+(Ae<<2)|0;Je=yA[Ze>>2]|0;Qe=(Je|0)==0;er=hi+(ye<<2)|0;if(Qe){rr=yA[er>>2]|0;ir=(rr|0)==0;if(ir){ki=Gi}else{no=31}}else{no=31}if((no|0)==31){no=0;yA[er>>2]=1;yA[Ze>>2]=1;if(It){Wn=0;while(1){tr=(Wn|0)<(xt|0);do{if(tr){nr=Ye+(Wn<<2)|0;or=yA[nr>>2]|0;ar=(or|0)==0;sr=Ke+(Wn<<2)|0;if(ar){lr=yA[sr>>2]|0;fr=(lr|0)==0;if(fr){Xr=(Wn|0)<(Ht|0);do{if(Xr){Kr=Ce+(Wn<<2)|0;Zr=+MA[Kr>>2];Jr=Be+(Wn<<2)|0;Qr=+MA[Jr>>2];$r=Qr+Zr;MA[Jr>>2]=$r;Nn=+ao(+$r);ei=xe+(Wn<<2)|0;MA[ei>>2]=Nn;g=Kr}else{ii=Be+(Wn<<2)|0;ti=+MA[ii>>2];ni=Ce+(Wn<<2)|0;oi=+MA[ni>>2];ai=oi+ti;si=ai<0.0;Fn=+ao(+ti);Ln=+ao(+oi);li=Ln+Fn;fi=xe+(Wn<<2)|0;MA[fi>>2]=li;if(si){ui=-li;MA[ii>>2]=ui;g=ni;break}else{MA[ii>>2]=li;g=ni;break}}}while(0);ci=Ue+(Wn<<2)|0;MA[ci>>2]=0.0;MA[g>>2]=0.0;yA[sr>>2]=1;D=Wn+Bn|0;di=Te+(D<<2)|0;yA[di>>2]=0;break}}cr=Be+(Wn<<2)|0;hr=+MA[cr>>2];Tn=+ao(+hr);dr=Ce+(Wn<<2)|0;vr=+MA[dr>>2];Dn=+ao(+vr);mr=Dn+Tn;MA[cr>>2]=mr;wr=xe+(Wn<<2)|0;Er=+MA[wr>>2];pr=Ue+(Wn<<2)|0;_r=+MA[pr>>2];br=_r+Er;MA[wr>>2]=br;yA[sr>>2]=1;yA[nr>>2]=1;I=Wn+Bn|0;kr=Fe+(I<<2)|0;gr=yA[kr>>2]|0;Ar=Te+(I<<2)|0;Or=yA[Ar>>2]|0;xn=(gr|0)>-1;Yn=0-gr|0;yr=xn?gr:Yn;Hn=(Or|0)>-1;Kn=0-Or|0;Mr=Hn?Or:Kn;Fr=(yr|0)>(Mr|0);if(Fr){Rr=(gr|0)>0;Lr=gr-Or|0;Nr=Or-gr|0;Dr=Rr?Lr:Nr;yA[Ar>>2]=Dr;R=yA[kr>>2]|0;xr=R;zr=Dr}else{Br=(Or|0)>0;Pr=gr-Or|0;Cr=Or-gr|0;Ir=Br?Pr:Cr;yA[Ar>>2]=Ir;yA[kr>>2]=Or;F=yA[Ar>>2]|0;xr=Or;zr=F}Un=(xr|0)>-1;Xn=0-xr|0;Hr=Un?xr:Xn;Ur=Hr<<1;Vr=(zr|0)<(Ur|0);if(!Vr){Wr=0-zr|0;yA[Ar>>2]=Wr;jr=yA[kr>>2]|0;Yr=0-jr|0;yA[kr>>2]=Yr}}}while(0);vi=qe+(Wn<<2)|0;mi=+MA[vi>>2];wi=We+(Wn<<2)|0;Ei=+MA[wi>>2];pi=Ei+mi;MA[wi>>2]=pi;MA[vi>>2]=pi;_i=Wn+1|0;On=(_i|0)==(Lt|0);if(On){break}else{Wn=_i}}}Qn=yA[U>>2]|0;+so(Qn,z,Be,xe,qe,Ye,Bn,f,Re);L=yA[gi>>2]|0;ki=L}bi=io+1|0;Si=(bi|0)<(ki|0);if(Si){Gi=ki;io=bi}else{qi=ki;break}}}else{qi=Pt}Ai=Bn+ji|0;Oi=(H|0)>(Ai|0);Cn=In+ji|0;if(Oi){Bn=Ai;In=Cn}else{yt=qi;break}}}else{yt=lt}Mt=(yt|0)>0;if(Mt){Vi=yt;Pn=0}else{RA=oo;return}while(1){yi=(t+1160|0)+(Pn<<2)|0;Mi=yA[yi>>2]|0;Fi=a+(Mi<<2)|0;Ri=yA[Fi>>2]|0;Li=(Ri|0)==0;Ni=(t+2184|0)+(Pn<<2)|0;if(Li){Ti=yA[Ni>>2]|0;Di=a+(Ti<<2)|0;Pi=yA[Di>>2]|0;Ci=(Pi|0)==0;if(Ci){zi=Vi}else{no=52}}else{no=52}if((no|0)==52){no=0;yA[Fi>>2]=1;Ii=yA[Ni>>2]|0;xi=a+(Ii<<2)|0;yA[xi>>2]=1;N=yA[gi>>2]|0;zi=N}Hi=Pn+1|0;Ui=(Hi|0)<(zi|0);if(Ui){Vi=zi;Pn=Hi}else{break}}RA=oo;return}function xn(e,r,i,t,n){e=e|0;r=+r;i=i|0;t=+t;n=+n;var o=0.0,a=0.0,s=0.0,l=0.0,f=0,u=0,c=0,h=0,d=0.0,v=0.0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0.0,g=0,A=0.0;var O=0,y=0,M=0,F=0.0,R=0,L=0.0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0.0,H=0.0,U=0.0,z=0.0,V=0.0,q=0,G=0.0;var W=0.0,j=0,Y=0.0,X=0.0,K=0.0,Z=0.0,J=0.0,Q=0.0,$=0.0,ee=0,re=0.0,ie=0,te=0,ne=0.0,oe=0.0,ae=0.0,se=0.0,le=0.0,fe=0.0,ue=0.0;var ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0.0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0.0,ye=0.0,Me=0,Fe=0,Re=0.0,Le=0.0;var Ne=0.0,Te=0.0,De=0,Be=0.0,Pe=0.0,Ce=0.0,Ie=0.0,xe=0,He=0.0,Ue=0.0,ze=0.0,Ve=0.0,qe=0.0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0,Ze=0;var Je=0,Qe=0,$e=0,er=0.0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0,mr=0,wr=0;var Er=0,pr=0,_r=0.0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0.0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0,Pr=0,Cr=0;var Ir=0.0,xr=0.0,Hr=0.0,Ur=0.0,zr=0.0,Vr=0.0,qr=0.0,Gr=0.0,Wr=0,jr=0,Yr=0.0,Xr=0.0,Kr=0.0,Zr=0.0,Jr=0.0,Qr=0,$r=0,ei=0,ri=0,ii=0;var ti=0,ni=0,oi=0,ai=0,si=0,li=0.0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0,bi=0,Si=0,ki=0;var gi=0,Ai=0,Oi=0,yi=0,Mi=0.0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0.0,Di=0,Bi=0,Pi=0,Ci=0.0,Ii=0.0,xi=0,Hi=0.0,Ui=0.0,zi=0.0,Vi=0.0;var qi=0.0,Gi=0.0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0,at=0,st=0,lt=0;var ft=0.0,ut=0,ct=0,ht=0,dt=0.0,vt=0,mt=0,wt=0,Et=0,pt=0.0,_t=0,bt=0,St=0,kt=0.0,gt=0,At=0,Ot=0.0,yt=0,Mt=0,Ft=0;var Rt=0,Lt=0.0,Nt=0,Tt=0,Dt=0.0,Bt=0,Pt=0,Ct=0.0,It=0,xt=0,Ht=0,Ut=0.0,zt=0,Vt=0,qt=0.0,Gt=0,Wt=0,jt=0.0,Yt=0,Xt=0;var Kt=0.0,Zt=0.0,Jt=0,Qt=0,$t=0.0,en=0,rn=0,tn=0.0,nn=0,on=0,an=0.0,sn=0.0,ln=0,fn=0,un=0.0,cn=0,hn=0,dn=0.0,vn=0,mn=0;var wn=0,En=0.0,pn=0.0,_n=0,bn=0,Sn=0,kn=0,gn=0,An=0.0,On=0,yn=0,Mn=0,Fn=0,Rn=0,Ln=0,Nn=0.0,Tn=0,Dn=0,Bn=0,Pn=0;var Cn=0.0,In=0.0,xn=0,Hn=0,Un=0,zn=0,Vn=0.0,qn=0.0,Gn=0.0,Wn=0,jn=0,Yn=0,Xn=0.0,Kn=0.0,Zn=0.0,Jn=0,Qn=0,$n=0.0,eo=0.0,ro=0;var io=0,to=0.0,no=0.0,oo=0.0,ao=0,so=0,lo=0,fo=0.0,uo=0.0,co=0,ho=0,vo=0,mo=0.0,wo=0.0,Eo=0.0,po=0,_o=0,bo=0.0,So=0.0,ko=0;var go=0,Ao=0,Oo=0.0,yo=0.0,Mo=0.0,Fo=0.0,Ro=0,Lo=0,No=0.0,To=0.0,Do=0,Bo=0,Po=0.0,Co=0.0,Io=0.0,xo=0,Ho=0.0,Uo=0.0,zo=0,Vo=0;var qo=0,Go=0.0,Wo=0,jo=0.0,Yo=0,Xo=0,Ko=0,Zo=0,Jo=0,Qo=0,$o=0,ea=0,ra=0,ia=0,ta=0,na=0,oa=0,aa=0,sa=0,la=0;var fa=0,ua=0,ca=0,ha=0,da=0,va=0,ma=0,wa=0,Ea=0,pa=0,_a=0,ba=0,Sa=0,ka=0,ga=0,Aa=0,Oa=0,ya=0,Ma=0,Fa=0;var Ra=0,La=0,Na=0,Ta=0,Da=0,Ba=0,Pa=0,Ca=0,Ia=0,xa=0,Ha=0,Ua=0,za=0,Va=0,qa=0,Ga=0,Wa=0,ja=0,Ya=0,Xa=0;var Ka=0,Za=0.0,Ja=0,Qa=0,$a=0,es=0,rs=0,is=0,ts=0,ns=0,os=0,as=0,ss=0,ls=0,fs=0,us=0,cs=0,hs=0,ds=0,vs=0;var ms=0,ws=0,Es=0,ps=0.0,_s=0.0,bs=0.0,Ss=0.0,ks=0,gs=0,As=0,Os=0,ys=0,Ms=0,Fs=0,Rs=0,Ls=0,Ns=0,Ts=0,Ds=0,Bs=0;var Ps=0,Cs=0,Is=0,xs=0;xs=RA;RA=RA+32480|0;Qo=xs+32256|0;Cs=xs+1792|0;$o=xs;_=i<<2;h=_;b=RA;RA=RA+((1*h|0)+15&-16)|0;gr=DA(68)|0;tl(Cs|0,0,30464)|0;yt=t>0.0;Hn=t<0.0;Ta=0;while(1){Lo=Ta<<2;Ha=0;while(1){ti=Ha+Lo|0;vi=(ti|0)<88;if(vi){Oi=1272+(ti<<2)|0;Ci=+MA[Oi>>2];ps=Ci}else{ps=-30.0}Yi=ti+1|0;nt=(Yi|0)<88;if(nt){wn=1272+(Yi<<2)|0;En=+MA[wn>>2];_n=ps>En;if(_n){_s=En}else{_s=ps}}else{mn=ps>-30.0;if(mn){_s=-30.0}else{_s=ps}}bn=ti+2|0;Sn=(bn|0)<88;if(Sn){gn=1272+(bn<<2)|0;An=+MA[gn>>2];On=_s>An;if(On){bs=An}else{bs=_s}}else{kn=_s>-30.0;if(kn){bs=-30.0}else{bs=_s}}yn=ti+3|0;Mn=(yn|0)<88;if(Mn){Ln=1272+(yn<<2)|0;Nn=+MA[Ln>>2];Tn=bs>Nn;if(Tn){Ss=Nn}else{Ss=bs}}else{Fn=bs>-30.0;if(Fn){Ss=-30.0}else{Ss=bs}}Dn=Qo+(Ha<<2)|0;MA[Dn>>2]=Ss;Bn=Ha+1|0;ha=(Bn|0)==56;if(ha){break}else{Ha=Bn}}zo=(Cs+(Ta*1792|0)|0)+448|0;S=2792+(Ta*1344|0)|0;PA(zo|0,S|0,224)|0;T=(Cs+(Ta*1792|0)|0)+672|0;q=(2792+(Ta*1344|0)|0)+224|0;PA(T|0,q|0,224)|0;ee=(Cs+(Ta*1792|0)|0)+896|0;ce=(2792+(Ta*1344|0)|0)+448|0;PA(ee|0,ce|0,224)|0;ke=(Cs+(Ta*1792|0)|0)+1120|0;De=(2792+(Ta*1344|0)|0)+672|0;PA(ke|0,De|0,224)|0;Ge=(Cs+(Ta*1792|0)|0)+1344|0;rr=(2792+(Ta*1344|0)|0)+896|0;PA(Ge|0,rr|0,224)|0;hr=(Cs+(Ta*1792|0)|0)+1568|0;Ar=(2792+(Ta*1344|0)|0)+1120|0;PA(hr|0,Ar|0,224)|0;Pr=Cs+(Ta*1792|0)|0;PA(Pr|0,S|0,224)|0;jr=(Cs+(Ta*1792|0)|0)+224|0;PA(jr|0,S|0,224)|0;if(yt){qa=0;while(1){if(Hn){Qa=0;while(1){Un=16-Qa|0;Ca=(Un|0)>-1;Os=0-Un|0;zn=Ca?Un:Os;Vn=+(zn|0);qn=Vn*n;Gn=qn+t;Wn=Gn<0.0;s=Wn?0.0:Gn;jn=s>0.0;o=jn?0.0:s;Yn=((Cs+(Ta*1792|0)|0)+(qa*224|0)|0)+(Qa<<2)|0;Xn=+MA[Yn>>2];Kn=Xn+o;MA[Yn>>2]=Kn;Jn=Qa+1|0;_a=(Jn|0)==56;if(_a){break}else{Qa=Jn}}}else{$a=0;while(1){Mt=16-$a|0;Ia=(Mt|0)>-1;ys=0-Mt|0;xt=Ia?Mt:ys;Kt=+(xt|0);sn=Kt*n;pn=sn+t;Rn=pn<0.0;l=Rn?0.0:pn;Pn=((Cs+(Ta*1792|0)|0)+(qa*224|0)|0)+($a<<2)|0;Cn=+MA[Pn>>2];In=Cn+l;MA[Pn>>2]=In;xn=$a+1|0;pa=(xn|0)==56;if(pa){break}else{$a=xn}}}mt=qa+1|0;ba=(mt|0)==8;if(ba){break}else{qa=mt}}}else{Va=0;while(1){if(Hn){es=0;while(1){ro=16-es|0;xa=(ro|0)>-1;Ms=0-ro|0;io=xa?ro:Ms;to=+(io|0);no=to*n;oo=no+t;ao=oo>0.0;a=ao?0.0:oo;lo=((Cs+(Ta*1792|0)|0)+(Va*224|0)|0)+(es<<2)|0;fo=+MA[lo>>2];uo=fo+a;MA[lo>>2]=uo;co=es+1|0;va=(co|0)==56;if(va){break}else{es=co}}}else{Ja=0;while(1){ho=16-Ja|0;Pa=(ho|0)>-1;As=0-ho|0;vo=Pa?ho:As;mo=+(vo|0);wo=mo*n;Eo=wo+t;po=((Cs+(Ta*1792|0)|0)+(Va*224|0)|0)+(Ja<<2)|0;bo=+MA[po>>2];So=bo+Eo;MA[po>>2]=So;ko=Ja+1|0;da=(ko|0)==56;if(da){break}else{Ja=ko}}}go=Va+1|0;ma=(go|0)==8;if(ma){break}else{Va=go}}}Qn=e+(Ta<<2)|0;$n=+MA[Qn>>2];eo=$n;Ga=0;while(1){Ao=(Ga|0)<2;Oo=+(Ga|0);d=Oo*10.0;v=70.0-d;yo=Ao?50.0:v;Mo=yo+eo;Fo=Mo;Ma=0;while(1){Ro=((Cs+(Ta*1792|0)|0)+(Ga*224|0)|0)+(Ma<<2)|0;No=+MA[Ro>>2];To=No+Fo;MA[Ro>>2]=To;Do=Ma+1|0;ra=(Do|0)==56;if(ra){break}else{Ma=Do}}Bo=$o+(Ga*224|0)|0;PA(Bo|0,Qo|0,224)|0;Po=+(Ga|0);Co=Po*10.0;Io=70.0-Co;Na=0;while(1){xo=($o+(Ga*224|0)|0)+(Na<<2)|0;Ho=+MA[xo>>2];Uo=Io+Ho;MA[xo>>2]=Uo;Vo=Na+1|0;oa=(Vo|0)==56;if(oa){La=0;break}else{Na=Vo}}while(1){qo=((Cs+(Ta*1792|0)|0)+(Ga*224|0)|0)+(La<<2)|0;Go=+MA[qo>>2];Wo=($o+(Ga*224|0)|0)+(La<<2)|0;jo=+MA[Wo>>2];Yo=Go>jo;if(Yo){MA[Wo>>2]=Go}Xo=La+1|0;na=(Xo|0)==56;if(na){break}else{La=Xo}}Ko=Ga+1|0;wa=(Ko|0)==8;if(wa){Wa=1;break}else{Ga=Ko}}while(1){Zo=Wa+-1|0;Ra=0;while(1){Jo=($o+(Zo*224|0)|0)+(Ra<<2)|0;k=+MA[Jo>>2];g=($o+(Wa*224|0)|0)+(Ra<<2)|0;A=+MA[g>>2];O=k>2]=k}y=Ra+1|0;ta=(y|0)==56;if(ta){Fa=0;break}else{Ra=y}}while(1){M=($o+(Wa*224|0)|0)+(Fa<<2)|0;F=+MA[M>>2];R=((Cs+(Ta*1792|0)|0)+(Wa*224|0)|0)+(Fa<<2)|0;L=+MA[R>>2];N=F>2]=F}D=Fa+1|0;ia=(D|0)==56;if(ia){break}else{Fa=D}}B=Wa+1|0;Ea=(B|0)==8;if(Ea){break}else{Wa=B}}P=Ta+1|0;Sa=(P|0)==17;if(Sa){break}else{Ta=P}}Zn=r;so=(i|0)>0;_o=i^-1;Ba=0;while(1){C=DA(32)|0;I=gr+(Ba<<2)|0;yA[I>>2]=C;x=+(Ba|0);H=x*0.5;U=x*0.34657350182533264;z=U+4.1351653545408453;V=+Us(+z);G=V/Zn;W=+Hs(+G);j=~~W;Y=+(j|0);X=Y*r;K=X+1.0;Z=K;J=+zs(+Z);Q=J*2.885390043258667;$=Q+-11.931568145751953;re=+Vs(+$);ie=~~re;te=j+1|0;ne=+(te|0);oe=ne*r;ae=oe;se=+zs(+ae);le=se*2.885390043258667;fe=le+-11.931568145751953;ue=+Hs(+fe);he=~~ue;de=(ie|0)>(Ba|0);Da=de?Ba:ie;ve=(Da|0)<0;ws=ve?0:Da;me=(he|0)>16;f=me?16:he;we=(ws|0)>(f|0);Ee=Ba+1|0;pe=(Ee|0)<17;_e=H+3.9657840728759766;Es=0;while(1){be=DA(232)|0;Se=C+(Es<<2)|0;yA[Se>>2]=be;if(so){ja=0;while(1){ge=b+(ja<<2)|0;MA[ge>>2]=999.0;Ae=ja+1|0;ea=(Ae|0)==(i|0);if(ea){break}else{ja=Ae}}}if(!we){rs=ws;while(1){Oe=+(rs|0);ye=Oe*0.5;Ya=0;is=0;while(1){Le=+(Ya|0);Ne=Le*0.125;Te=Ne+ye;Be=Te+3.9032840728759766;Pe=Be*0.69314700365066528;Ce=+Us(+Pe);Ie=Ce/Zn;xe=~~Ie;He=Te+4.0282840728759766;Ue=He*0.69314700365066528;ze=+Us(+Ue);Ve=ze/Zn;qe=Ve+1.0;We=~~qe;je=(xe|0)<0;u=je?0:xe;Ye=(u|0)>(i|0);hs=Ye?i:u;Xe=(hs|0)<(is|0);ds=Xe?hs:is;Ke=(We|0)<0;Oa=Ke?0:We;Ze=(Oa|0)>(i|0);ks=Ze?i:Oa;Je=(ds|0)<(ks|0);Qe=(ds|0)<(i|0);Fs=Je&Qe;if(Fs){$e=((Cs+(rs*1792|0)|0)+(Es*224|0)|0)+(Ya<<2)|0;er=+MA[$e>>2];ir=(is|0)<(i|0);tr=ir?is:i;nr=tr^-1;or=(xe|0)>0;E=xe^-1;ar=or?E:-1;sr=(ar|0)<(nr|0);Ts=sr?nr:ar;lr=Ts^-1;fr=(We|0)>0;p=We^-1;ur=fr?p:-1;cr=(ur|0)<(_o|0);Ds=cr?_o:ur;dr=Ds-Ts|0;vr=Ts+i|0;mr=vr^-1;wr=dr>>>0>mr>>>0;Bs=wr?dr:mr;Er=lr-Bs|0;os=ds;while(1){pr=b+(os<<2)|0;_r=+MA[pr>>2];br=_r>er;if(br){MA[pr>>2]=er}Sr=os+1|0;ka=(Sr|0)==(Er|0);if(ka){ts=Er;break}else{os=Sr}}}else{ts=ds}kr=Ya+1|0;ga=(kr|0)==56;if(ga){ns=ts;break}else{Ya=kr;is=ts}}Me=(ns|0)<(i|0);if(Me){Fe=((Cs+(rs*1792|0)|0)+(Es*224|0)|0)+220|0;Re=+MA[Fe>>2];as=ns;while(1){Or=b+(as<<2)|0;yr=+MA[Or>>2];Mr=yr>Re;if(Mr){MA[Or>>2]=Re}Fr=as+1|0;Aa=(Fr|0)==(i|0);if(Aa){break}else{as=Fr}}}Rr=rs+1|0;Lr=(rs|0)<(f|0);if(Lr){rs=Rr}else{break}}}if(pe){Xa=0;ss=0;while(1){xr=+(Xa|0);Hr=xr*0.125;Ur=Hr+H;zr=Ur+3.9032840728759766;Vr=zr*0.69314700365066528;qr=+Us(+Vr);Gr=qr/Zn;Wr=~~Gr;Yr=Ur+4.0282840728759766;Xr=Yr*0.69314700365066528;Kr=+Us(+Xr);Zr=Kr/Zn;Jr=Zr+1.0;Qr=~~Jr;$r=(Wr|0)<0;c=$r?0:Wr;ei=(c|0)>(i|0);vs=ei?i:c;ri=(vs|0)<(ss|0);ms=ri?vs:ss;ii=(Qr|0)<0;ya=ii?0:Qr;ni=(ya|0)>(i|0);gs=ni?i:ya;oi=(ms|0)<(gs|0);ai=(ms|0)<(i|0);Rs=oi&ai;if(Rs){si=((Cs+(Ee*1792|0)|0)+(Es*224|0)|0)+(Xa<<2)|0;li=+MA[si>>2];fi=(ss|0)<(i|0);ui=fi?ss:i;ci=ui^-1;hi=(Wr|0)>0;m=Wr^-1;di=hi?m:-1;mi=(di|0)<(ci|0);Ls=mi?ci:di;wi=Ls^-1;Ei=(Qr|0)>0;w=Qr^-1;pi=Ei?w:-1;_i=(pi|0)<(_o|0);Ns=_i?_o:pi;bi=Ns-Ls|0;Si=Ls+i|0;ki=Si^-1;gi=bi>>>0>ki>>>0;Ps=gi?bi:ki;Ai=wi-Ps|0;us=ms;while(1){yi=b+(us<<2)|0;Mi=+MA[yi>>2];Fi=Mi>li;if(Fi){MA[yi>>2]=li}Ri=us+1|0;aa=(Ri|0)==(Ai|0);if(aa){ls=Ai;break}else{us=Ri}}}else{ls=ms}Li=Xa+1|0;sa=(Li|0)==56;if(sa){fs=ls;break}else{Xa=Li;ss=ls}}Br=(fs|0)<(i|0);if(Br){Cr=((Cs+(Ee*1792|0)|0)+(Es*224|0)|0)+220|0;Ir=+MA[Cr>>2];cs=fs;while(1){Ni=b+(cs<<2)|0;Ti=+MA[Ni>>2];Di=Ti>Ir;if(Di){MA[Ni>>2]=Ir}Bi=cs+1|0;la=(Bi|0)==(i|0);if(la){break}else{cs=Bi}}}}Nr=C+(Es<<2)|0;Tr=C+(Es<<2)|0;Dr=C+(Es<<2)|0;Ka=0;while(1){Hi=+(Ka|0);Ui=Hi*0.125;zi=_e+Ui;Vi=zi*0.69314700365066528;qi=+Us(+Vi);Gi=qi/Zn;Wi=~~Gi;ji=(Wi|0)<0;do{if(ji){Xi=Ka+2|0;Ki=yA[Nr>>2]|0;Zi=Ki+(Xi<<2)|0;MA[Zi>>2]=-999.0}else{Ji=(Wi|0)<(i|0);if(Ji){rt=b+(Wi<<2)|0;it=yA[rt>>2]|0;tt=Ka+2|0;ot=yA[Tr>>2]|0;at=ot+(tt<<2)|0;yA[at>>2]=it;break}else{Qi=Ka+2|0;$i=yA[Dr>>2]|0;et=$i+(Qi<<2)|0;MA[et>>2]=-999.0;break}}}while(0);st=Ka+1|0;fa=(st|0)==56;if(fa){break}else{Ka=st}}Pi=be+8|0;Ii=+MA[Pi>>2];xi=Ii>-200.0;do{if(xi){Za=0.0}else{lt=be+12|0;ft=+MA[lt>>2];ut=ft>-200.0;if(ut){Za=1.0}else{St=be+16|0;kt=+MA[St>>2];gt=kt>-200.0;if(gt){Za=2.0}else{At=be+20|0;Ot=+MA[At>>2];Ft=Ot>-200.0;if(Ft){Za=3.0}else{Rt=be+24|0;Lt=+MA[Rt>>2];Nt=Lt>-200.0;if(Nt){Za=4.0}else{Tt=be+28|0;Dt=+MA[Tt>>2];Bt=Dt>-200.0;if(Bt){Za=5.0}else{Pt=be+32|0;Ct=+MA[Pt>>2];It=Ct>-200.0;if(It){Za=6.0}else{Ht=be+36|0;Ut=+MA[Ht>>2];zt=Ut>-200.0;if(zt){Za=7.0}else{Vt=be+40|0;qt=+MA[Vt>>2];Gt=qt>-200.0;if(Gt){Za=8.0}else{Wt=be+44|0;jt=+MA[Wt>>2];Yt=jt>-200.0;if(Yt){Za=9.0}else{Xt=be+48|0;Zt=+MA[Xt>>2];Jt=Zt>-200.0;if(Jt){Za=10.0}else{Qt=be+52|0;$t=+MA[Qt>>2];en=$t>-200.0;if(en){Za=11.0}else{rn=be+56|0;tn=+MA[rn>>2];nn=tn>-200.0;if(nn){Za=12.0}else{on=be+60|0;an=+MA[on>>2];ln=an>-200.0;if(ln){Za=13.0}else{fn=be+64|0;un=+MA[fn>>2];cn=un>-200.0;if(cn){Za=14.0;break}hn=be+68|0;dn=+MA[hn>>2];vn=dn>-200.0;if(vn){Za=15.0;break}Za=16.0}}}}}}}}}}}}}}}while(0);MA[be>>2]=Za;za=55;while(1){ct=za+2|0;ht=be+(ct<<2)|0;dt=+MA[ht>>2];vt=dt>-200.0;if(vt){Ua=za;break}wt=za+-1|0;Et=(wt|0)>17;if(Et){za=wt}else{Ua=wt;break}}pt=+(Ua|0);_t=be+4|0;MA[_t>>2]=pt;bt=Es+1|0;ua=(bt|0)==8;if(ua){break}else{Es=bt}}ca=(Ee|0)==17;if(ca){break}else{Ba=Ee}}RA=xs;return gr|0}function kr(e,r,i,t,n,o){e=e|0;r=r|0;i=i|0;t=t|0;n=+n;o=o|0;var a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0.0,w=0,E=0.0,p=0.0,_=0,b=0.0,S=0,k=0.0,g=0.0,A=0,O=0.0;var y=0.0,M=0,F=0.0,R=0.0,L=0,N=0.0,T=0,D=0.0,B=0.0,P=0.0,C=0.0,I=0,x=0.0,H=0.0,U=0.0,z=0.0,V=0.0,q=0.0,G=0.0,W=0.0;var j=0.0,Y=0.0,X=0,K=0,Z=0.0,J=0,Q=0,$=0.0,ee=0,re=0,ie=0,te=0,ne=0.0,oe=0,ae=0.0,se=0.0,le=0,fe=0.0,ue=0,ce=0;var he=0.0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0.0,Oe=0,ye=0,Me=0,Fe=0,Re=0.0,Le=0.0,Ne=0;var Te=0.0,De=0,Be=0.0,Pe=0.0,Ce=0,Ie=0.0,xe=0.0,He=0,Ue=0.0,ze=0.0,Ve=0,qe=0.0,Ge=0,We=0.0,je=0.0,Ye=0,Xe=0.0,Ke=0.0,Ze=0,Je=0.0;var Qe=0.0,$e=0.0,er=0.0,rr=0.0,ir=0.0,tr=0.0,nr=0.0,or=0.0,ar=0,sr=0.0,lr=0.0,fr=0.0,ur=0.0,cr=0.0,hr=0.0,dr=0,vr=0.0,mr=0,wr=0,Er=0;var pr=0.0,_r=0.0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0.0,yr=0,Mr=0.0,Fr=0.0,Rr=0.0,Lr=0,Nr=0.0,Tr=0,Dr=0.0,Br=0.0,Pr=0,Cr=0.0,Ir=0;var xr=0.0,Hr=0.0,Ur=0.0,zr=0,Vr=0.0,qr=0,Gr=0.0,Wr=0.0,jr=0,Yr=0.0,Xr=0,Kr=0.0,Zr=0.0,Jr=0.0,Qr=0.0,$r=0.0,ei=0.0,ri=0.0,ii=0.0,ti=0.0;var ni=0.0,oi=0.0,ai=0.0,si=0.0,li=0.0,fi=0.0,ui=0.0,ci=0.0,hi=0,di=0.0,vi=0,mi=0,wi=0.0,Ei=0,pi=0.0,_i=0.0,bi=0.0,Si=0.0,ki=0.0,gi=0;var Ai=0.0,Oi=0,yi=0,Mi=0.0,Fi=0.0,Ri=0.0,Li=0.0,Ni=0.0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0.0,Ui=0,zi=0,Vi=0,qi=0;var Gi=0,Wi=0,ji=0,Yi=0.0,Xi=0,Ki=0,Zi=0,Ji=0.0,Qi=0.0,$i=0,et=0,rt=0.0,it=0,tt=0.0,nt=0.0,ot=0,at=0.0,st=0,lt=0.0,ft=0.0;var ut=0,ct=0.0,ht=0.0,dt=0,vt=0.0,mt=0.0,wt=0,Et=0.0,pt=0,_t=0.0,bt=0.0,St=0.0,kt=0.0,gt=0.0,At=0.0,Ot=0.0,yt=0.0,Mt=0.0,Ft=0.0,Rt=0.0;var Lt=0.0,Nt=0.0,Tt=0.0,Dt=0,Bt=0.0,Pt=0,Ct=0.0,It=0,xt=0,Ht=0.0,Ut=0,zt=0,Vt=0,qt=0,Gt=0.0,Wt=0,jt=0,Yt=0,Xt=0,Kt=0.0;var Zt=0,Jt=0.0,Qt=0.0,$t=0,en=0.0,rn=0.0,tn=0.0,nn=0.0,on=0.0,an=0.0,sn=0.0,ln=0.0,fn=0.0,un=0.0,cn=0.0,hn=0.0,dn=0.0,vn=0.0,mn=0.0,wn=0.0;var En=0,pn=0,_n=0,bn=0,Sn=0,kn=0,gn=0,An=0,On=0,yn=0,Mn=0,Fn=0,Rn=0,Ln=0,Nn=0,Tn=0,Dn=0.0,Bn=0.0,Pn=0.0,Cn=0.0;var In=0.0,xn=0.0,Hn=0.0,Un=0.0,zn=0.0,Vn=0.0,qn=0.0,Gn=0.0,Wn=0.0,jn=0.0,Yn=0.0,Xn=0.0,Kn=0.0,Zn=0.0,Jn=0,Qn=0;Qn=RA;d=e<<2;a=d;v=RA;RA=RA+((1*a|0)+15&-16)|0;s=d;Er=RA;RA=RA+((1*s|0)+15&-16)|0;l=d;Ti=RA;RA=RA+((1*l|0)+15&-16)|0;f=d;qi=RA;RA=RA+((1*f|0)+15&-16)|0;u=d;et=RA;RA=RA+((1*u|0)+15&-16)|0;ct=+MA[i>>2];kt=ct+n;Dt=kt<1.0;Kn=Dt?1.0:kt;Gt=Kn*Kn;m=Gt*0.5;y=m*Kn;MA[v>>2]=m;MA[Er>>2]=m;MA[Ti>>2]=0.0;MA[qi>>2]=y;MA[et>>2]=0.0;I=(e|0)>1;if(I){kn=1;Dn=m;Bn=m;Pn=0.0;Cn=0.0;In=y;xn=1.0;while(1){Me=i+(kn<<2)|0;xe=+MA[Me>>2];Ke=xe+n;ar=Ke<1.0;Zn=ar?1.0:Ke;pr=Zn*Zn;Rr=pr+Dn;Ur=pr*xn;Jr=Ur+Bn;li=Ur*xn;_i=li+Pn;Fi=pr*Zn;Ri=Fi+In;Li=Ur*Zn;Ni=Li+Cn;Di=v+(kn<<2)|0;MA[Di>>2]=Rr;Bi=Er+(kn<<2)|0;MA[Bi>>2]=Jr;Pi=Ti+(kn<<2)|0;MA[Pi>>2]=_i;Ci=qi+(kn<<2)|0;MA[Ci>>2]=Ri;Ii=et+(kn<<2)|0;MA[Ii>>2]=Ni;xi=kn+1|0;Hi=xn+1.0;Sn=(xi|0)==(e|0);if(Sn){break}else{kn=xi;Dn=Rr;Bn=Jr;Pn=_i;Cn=Ni;In=Ri;xn=Hi}}}X=yA[r>>2]|0;oe=X>>16;we=(oe|0)>-1;if(we){zi=X;rn=0.0;an=0.0;un=1.0;gn=0;Hn=0.0}else{Wi=X;Ki=oe;An=0;Un=0.0;while(1){Gi=Wi&65535;ji=v+(Gi<<2)|0;Yi=+MA[ji>>2];Xi=0-Ki|0;Zi=v+(Xi<<2)|0;Ji=+MA[Zi>>2];Qi=Ji+Yi;$i=Er+(Gi<<2)|0;rt=+MA[$i>>2];it=Er+(Xi<<2)|0;tt=+MA[it>>2];nt=rt-tt;ot=Ti+(Gi<<2)|0;at=+MA[ot>>2];st=Ti+(Xi<<2)|0;lt=+MA[st>>2];ft=lt+at;ut=qi+(Gi<<2)|0;ht=+MA[ut>>2];dt=qi+(Xi<<2)|0;vt=+MA[dt>>2];mt=vt+ht;wt=et+(Gi<<2)|0;Et=+MA[wt>>2];pt=et+(Xi<<2)|0;_t=+MA[pt>>2];bt=Et-_t;St=mt*ft;gt=bt*nt;At=St-gt;Ot=bt*Qi;yt=mt*nt;Mt=Ot-yt;Ft=ft*Qi;Rt=nt*nt;Lt=Ft-Rt;Nt=Mt*Un;Tt=Nt+At;Bt=Tt/Lt;Pt=Bt<0.0;vn=Pt?0.0:Bt;Ct=vn-n;It=t+(An<<2)|0;MA[It>>2]=Ct;xt=An+1|0;Ht=Un+1.0;Ut=r+(xt<<2)|0;zt=yA[Ut>>2]|0;Vt=zt>>16;qt=(Vt|0)>-1;if(qt){zi=zt;rn=At;an=Mt;un=Lt;gn=xt;Hn=Ht;break}else{Wi=zt;Ki=Vt;An=xt;Un=Ht}}}Ui=zi&65535;Vi=(Ui|0)<(e|0);if(Vi){c=zi;Xt=Ui;yn=gn;Vn=Hn;while(1){jt=c>>16;Yt=v+(Xt<<2)|0;Kt=+MA[Yt>>2];Zt=v+(jt<<2)|0;Jt=+MA[Zt>>2];Qt=Kt-Jt;$t=Er+(Xt<<2)|0;en=+MA[$t>>2];w=Er+(jt<<2)|0;E=+MA[w>>2];p=en-E;_=Ti+(Xt<<2)|0;b=+MA[_>>2];S=Ti+(jt<<2)|0;k=+MA[S>>2];g=b-k;A=qi+(Xt<<2)|0;O=+MA[A>>2];M=qi+(jt<<2)|0;F=+MA[M>>2];R=O-F;L=et+(Xt<<2)|0;N=+MA[L>>2];T=et+(jt<<2)|0;D=+MA[T>>2];B=N-D;P=R*g;C=B*p;x=P-C;H=B*Qt;U=R*p;z=H-U;V=g*Qt;q=p*p;G=V-q;W=z*Vn;j=W+x;Y=j/G;K=Y<0.0;mn=K?0.0:Y;Z=mn-n;J=t+(yn<<2)|0;MA[J>>2]=Z;Q=yn+1|0;$=Vn+1.0;ee=r+(Q<<2)|0;re=yA[ee>>2]|0;ie=re&65535;te=(ie|0)<(e|0);if(te){c=re;Xt=ie;yn=Q;Vn=$}else{tn=x;sn=z;cn=G;On=Q;zn=$;break}}}else{tn=rn;sn=an;cn=un;On=gn;zn=Hn}Wt=(On|0)<(e|0);if(Wt){Mn=On;qn=zn;while(1){ne=qn*sn;ae=ne+tn;se=ae/cn;le=se<0.0;wn=le?0.0:se;fe=wn-n;ue=t+(Mn<<2)|0;MA[ue>>2]=fe;ce=Mn+1|0;he=qn+1.0;bn=(ce|0)==(e|0);if(bn){break}else{Mn=ce;qn=he}}}de=(o|0)<1;if(de){RA=Qn;return}ve=(o|0)/2&-1;me=ve-o|0;Ee=(me|0)>-1;if(Ee){nn=tn;ln=sn;hn=cn;Fn=0;Gn=0.0}else{pe=o-ve|0;ge=ve;ye=me;Rn=0;Wn=0.0;while(1){ke=v+(ge<<2)|0;Ae=+MA[ke>>2];Oe=0-ye|0;Fe=v+(Oe<<2)|0;Re=+MA[Fe>>2];Le=Re+Ae;Ne=Er+(ge<<2)|0;Te=+MA[Ne>>2];De=Er+(Oe<<2)|0;Be=+MA[De>>2];Pe=Te-Be;Ce=Ti+(ge<<2)|0;Ie=+MA[Ce>>2];He=Ti+(Oe<<2)|0;Ue=+MA[He>>2];ze=Ue+Ie;Ve=qi+(ge<<2)|0;qe=+MA[Ve>>2];Ge=qi+(Oe<<2)|0;We=+MA[Ge>>2];je=We+qe;Ye=et+(ge<<2)|0;Xe=+MA[Ye>>2];Ze=et+(Oe<<2)|0;Je=+MA[Ze>>2];Qe=Xe-Je;$e=je*ze;er=Qe*Pe;rr=$e-er;ir=Qe*Le;tr=je*Pe;nr=ir-tr;or=ze*Le;sr=Pe*Pe;lr=or-sr;fr=nr*Wn;ur=fr+rr;cr=ur/lr;hr=cr-n;dr=t+(Rn<<2)|0;vr=+MA[dr>>2];mr=hr>2]=hr}wr=Rn+1|0;_r=Wn+1.0;br=ve+wr|0;Sr=br-o|0;_n=(wr|0)==(pe|0);if(_n){nn=rr;ln=nr;hn=lr;Fn=pe;Gn=_r;break}else{ge=br;ye=Sr;Rn=wr;Wn=_r}}}_e=Fn+ve|0;be=(_e|0)<(e|0);if(be){Se=e-ve|0;h=_e;Nn=Fn;Yn=Gn;while(1){gr=h-o|0;Ar=v+(h<<2)|0;Or=+MA[Ar>>2];yr=v+(gr<<2)|0;Mr=+MA[yr>>2];Fr=Or-Mr;Lr=Er+(h<<2)|0;Nr=+MA[Lr>>2];Tr=Er+(gr<<2)|0;Dr=+MA[Tr>>2];Br=Nr-Dr;Pr=Ti+(h<<2)|0;Cr=+MA[Pr>>2];Ir=Ti+(gr<<2)|0;xr=+MA[Ir>>2];Hr=Cr-xr;zr=qi+(h<<2)|0;Vr=+MA[zr>>2];qr=qi+(gr<<2)|0;Gr=+MA[qr>>2];Wr=Vr-Gr;jr=et+(h<<2)|0;Yr=+MA[jr>>2];Xr=et+(gr<<2)|0;Kr=+MA[Xr>>2];Zr=Yr-Kr;Qr=Wr*Hr;$r=Zr*Br;ei=Qr-$r;ri=Zr*Fr;ii=Wr*Br;ti=ri-ii;ni=Hr*Fr;oi=Br*Br;ai=ni-oi;si=ti*Yn;fi=si+ei;ui=fi/ai;ci=ui-n;hi=t+(Nn<<2)|0;di=+MA[hi>>2];vi=ci>2]=ci}mi=Nn+1|0;wi=Yn+1.0;Ei=mi+ve|0;pn=(mi|0)==(Se|0);if(pn){on=ei;fn=ti;dn=ai;Ln=Se;jn=wi;break}else{h=Ei;Nn=mi;Yn=wi}}}else{on=nn;fn=ln;dn=hn;Ln=Fn;jn=Gn}kr=(Ln|0)<(e|0);if(kr){Tn=Ln;Xn=jn}else{RA=Qn;return}while(1){pi=Xn*fn;bi=pi+on;Si=bi/dn;ki=Si-n;gi=t+(Tn<<2)|0;Ai=+MA[gi>>2];Oi=ki>2]=ki}yi=Tn+1|0;Mi=Xn+1.0;En=(yi|0)==(e|0);if(En){break}else{Tn=yi;Xn=Mi}}RA=Qn;return}function Hi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0.0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0;var g=0,A=0.0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0.0,x=0,H=0,U=0.0,z=0,V=0;var q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0.0,ae=0,se=0,le=0;var fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;Me=RA;o=i<<2;t=o;a=RA;RA=RA+((1*t|0)+15&-16)|0;n=o;E=RA;RA=RA+((1*n|0)+15&-16)|0;F=(i|0)>0;if(F){ce=0;pe=0}else{RA=Me;return}while(1){te=(pe|0)<2;do{if(te){ae=a+(pe<<2)|0;yA[ae>>2]=ce;s=e+(ce<<2)|0;l=yA[s>>2]|0;f=E+(pe<<2)|0;yA[f>>2]=l;ge=pe}else{ne=e+(ce<<2)|0;oe=+MA[ne>>2];_e=pe;while(1){u=_e+-1|0;c=E+(u<<2)|0;h=+MA[c>>2];d=oe>2]|0;_=p+r|0;b=(ce|0)<(_|0);S=(_e|0)>1;ve=S&b;if(!ve){Se=_e;ye=12;break}k=_e+-2|0;g=E+(k<<2)|0;A=+MA[g>>2];O=!(h<=A);if(O){Se=_e;ye=12;break}y=a+(k<<2)|0;M=yA[y>>2]|0;R=M+r|0;L=(ce|0)<(R|0);if(L){_e=u}else{Se=_e;ye=12;break}}if((ye|0)==8){ye=0;v=a+(be<<2)|0;yA[v>>2]=ce;m=E+(be<<2)|0;MA[m>>2]=oe;ge=be;break}else if((ye|0)==12){ye=0;N=a+(Se<<2)|0;yA[N>>2]=ce;T=E+(Se<<2)|0;MA[T>>2]=oe;ge=Se;break}}}while(0);ke=ge+1|0;D=ce+1|0;ue=(D|0)==(i|0);if(ue){Ae=ge;Oe=ke;break}else{ce=D;pe=ke}}H=(Ae|0)>-1;if(!H){RA=Me;return}Z=r+1|0;he=0;me=0;while(1){B=(he|0)<(Ae|0);if(B){P=he+1|0;C=E+(P<<2)|0;I=+MA[C>>2];x=E+(he<<2)|0;U=+MA[x>>2];z=I>U;if(z){V=a+(P<<2)|0;q=yA[V>>2]|0;se=q}else{ye=17}}else{ye=17}if((ye|0)==17){ye=0;G=a+(he<<2)|0;W=yA[G>>2]|0;j=Z+W|0;se=j}Y=(se|0)>(i|0);de=Y?i:se;X=(me|0)<(de|0);if(X){K=E+(he<<2)|0;J=yA[K>>2]|0;Q=(se|0)<(i|0);$=Q?se:i;Ee=me;while(1){ee=e+(Ee<<2)|0;yA[ee>>2]=J;re=Ee+1|0;le=(re|0)==($|0);if(le){we=$;break}else{Ee=re}}}else{we=me}ie=he+1|0;fe=(ie|0)==(Oe|0);if(fe){break}else{he=ie;me=we}}RA=Me;return}function so(e,r,i,t,n,o,a,s,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;a=a|0;s=s|0;l=l|0;var f=0.0,u=0.0,c=0.0,h=0.0,d=0.0,v=0.0,m=0,w=0,E=0.0,p=0,_=0,b=0,S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0;var R=0,L=0,N=0,T=0,D=0.0,B=0,P=0.0,C=0.0,I=0,x=0.0,H=0,U=0.0,z=0.0,V=0,q=0.0,G=0.0,W=0,j=0,Y=0,X=0;var K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0.0,ie=0,te=0.0,ne=0.0,oe=0,ae=0,se=0.0,le=0,fe=0,ue=0,ce=0,he=0.0,de=0,ve=0.0;var me=0.0,we=0.0,Ee=0.0,pe=0,_e=0,be=0.0,Se=0,ke=0.0,ge=0.0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0.0,Le=0,Ne=0,Te=0,De=0,Be=0;var Pe=0,Ce=0.0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0.0,qe=0,Ge=0,We=0.0,je=0,Ye=0.0,Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0;var rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0.0,cr=0,hr=0;hr=RA;_=s<<2;m=_;b=RA;RA=RA+((1*m|0)+15&-16)|0;N=e+500|0;V=yA[N>>2]|0;$=(V|0)==0;if($){qe=s}else{ue=e+504|0;Se=yA[ue>>2]|0;Te=Se-a|0;qe=Te}Ze=(qe|0)>(s|0);sr=Ze?s:qe;S=(sr|0)>0;if(S){k=(o|0)==(0|0);g=(qe|0)<(s|0);A=g?qe:s;nr=0;while(1){if(k){cr=9}else{F=o+(nr<<2)|0;R=yA[F>>2]|0;L=(R|0)==0;if(L){cr=9}}do{if((cr|0)==9){cr=0;T=t+(nr<<2)|0;D=+MA[T>>2];B=n+(nr<<2)|0;P=+MA[B>>2];C=D/P;I=i+(nr<<2)|0;x=+MA[I>>2];H=x<0.0;U=C;z=+dr(+U);q=+Hn(z);if(H){G=-q;W=~~G;j=l+(nr<<2)|0;yA[j>>2]=W;break}else{Y=~~q;X=l+(nr<<2)|0;yA[X>>2]=Y;break}}}while(0);K=nr+1|0;ir=(K|0)==(A|0);if(ir){tr=A;break}else{nr=K}}}else{tr=0}O=(tr|0)<(s|0);if(!O){v=0.0;RA=hr;return+v}y=(o|0)!=(0|0);M=r-a|0;f=0.0;Je=0;or=tr;while(1){if(y){Z=o+(or<<2)|0;J=yA[Z>>2]|0;Q=(J|0)==0;if(Q){cr=15}else{u=f;Qe=Je}}else{cr=15}do{if((cr|0)==15){cr=0;ee=t+(or<<2)|0;re=+MA[ee>>2];ie=n+(or<<2)|0;te=+MA[ie>>2];ne=re/te;oe=!(ne<0.25);ae=(or|0)<(M|0);lr=y&ae;fr=oe|lr;if(fr){ce=i+(or<<2)|0;he=+MA[ce>>2];de=he<0.0;ve=ne;me=+dr(+ve);we=+Hn(me);Ee=-we;E=de?Ee:we;w=~~E;pe=l+(or<<2)|0;yA[pe>>2]=w;_e=LA(w,w)|0;be=+(_e|0);ke=+MA[ie>>2];ge=be*ke;MA[ee>>2]=ge;u=f;Qe=Je;break}else{se=ne+f;le=Je+1|0;fe=b+(Je<<2)|0;yA[fe>>2]=ee;u=se;Qe=le;break}}}while(0);Ae=or+1|0;rr=(Ae|0)==(s|0);if(rr){c=u;$e=Qe;break}else{f=u;Je=Qe;or=Ae}}Oe=($e|0)==0;if(Oe){v=c;RA=hr;return+v}Rn(b,$e,4,9);ye=($e|0)>0;if(!ye){v=c;RA=hr;return+v}Me=t;Fe=e+512|0;Re=+FA[Fe>>3];h=c;ar=0;while(1){Le=b+(ar<<2)|0;Ne=yA[Le>>2]|0;De=Ne;Be=De-Me|0;Pe=Be>>2;Ce=h;Ie=!(Ce>=Re);if(Ie){d=h;p=0;ur=0.0}else{xe=i+(Pe<<2)|0;He=yA[xe>>2]|0;Ue=He&-2147483648;ze=Ue|1065353216;Ve=(yA[Ku>>2]=ze,+MA[Ku>>2]);Ge=~~Ve;We=h+-1.0;je=n+(Pe<<2)|0;Ye=+MA[je>>2];d=We;p=Ge;ur=Ye}Xe=l+(Pe<<2)|0;yA[Xe>>2]=p;MA[Ne>>2]=ur;Ke=ar+1|0;er=(Ke|0)==($e|0);if(er){v=d;break}else{h=d;ar=Ke}}RA=hr;return+v}function gr(e,r){e=e|0;r=r|0;var i=0,t=0.0,n=0,o=0.0,a=0,s=0,l=0,f=0,u=0,c=0,h=0;h=RA;i=yA[e>>2]|0;t=+MA[i>>2];n=yA[r>>2]|0;o=+MA[n>>2];a=to;f=l&1;u=s-f|0;return u|0}function Ar(e){e=e|0;var r=0,i=0,t=0;t=RA;r=(e|0)==(0|0);if(!r){Wn(e)}return}function Or(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0;L=RA;i=(e|0)==(0|0);if(i){return}t=e+4|0;v=yA[t>>2]|0;b=(v|0)>0;S=e+20|0;if(b){_=v;M=0;while(1){k=yA[S>>2]|0;g=k+(M<<2)|0;A=yA[g>>2]|0;O=(A|0)==(0|0);if(O){o=_}else{Wn(A);r=yA[t>>2]|0;o=r}y=M+1|0;n=(y|0)<(o|0);if(n){_=o;M=y}else{break}}}a=yA[S>>2]|0;Wn(a);s=e+24|0;l=yA[s>>2]|0;f=(l|0)>0;u=e+28|0;if(f){F=0;while(1){c=yA[u>>2]|0;h=c+(F<<2)|0;d=yA[h>>2]|0;Wn(d);m=F+1|0;w=yA[s>>2]|0;E=(m|0)<(w|0);if(E){F=m}else{break}}}p=yA[u>>2]|0;Wn(p);Wn(e);return}function yr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0;Y=RA;n=yA[e>>2]|0;Zu(r,n,24);o=e+4|0;w=yA[o>>2]|0;Zu(r,w,24);M=e+8|0;B=yA[M>>2]|0;P=B+-1|0;Zu(r,P,24);C=e+12|0;I=yA[C>>2]|0;x=I+-1|0;Zu(r,x,6);H=e+20|0;a=yA[H>>2]|0;Zu(r,a,8);s=yA[C>>2]|0;l=(s|0)>0;if(!l){return}f=e+24|0;U=0;V=0;while(1){h=f+(V<<2)|0;d=yA[h>>2]|0;v=yn(d)|0;m=(v|0)>3;E=yA[h>>2]|0;if(m){Zu(r,E,3);Zu(r,1,1);p=yA[h>>2]|0;_=p>>3;Zu(r,_,5)}else{Zu(r,E,4)}b=yA[h>>2]|0;S=(b|0)==0;if(S){G=0}else{i=b;W=0;while(1){k=i&1;g=k+W|0;A=i>>>1;O=(A|0)==0;if(O){G=g;break}else{i=A;W=g}}}y=G+U|0;F=V+1|0;R=yA[C>>2]|0;L=(F|0)<(R|0);if(L){U=y;V=F}else{t=y;break}}u=(t|0)>0;if(!u){return}c=e+280|0;q=0;while(1){N=c+(q<<2)|0;T=yA[N>>2]|0;Zu(r,T,8);D=q+1|0;z=(D|0)==(t|0);if(z){break}else{q=D}}return}function Mr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0;Be=RA;a=BA(1,2840)|0;s=e+28|0;p=yA[s>>2]|0;R=Tr(r,24)|0;yA[a>>2]=R;U=Tr(r,24)|0;J=a+4|0;yA[J>>2]=U;le=Tr(r,24)|0;_e=le+1|0;Se=a+8|0;yA[Se>>2]=_e;ke=Tr(r,6)|0;l=ke+1|0;f=a+12|0;yA[f>>2]=l;u=Tr(r,8)|0;c=a+20|0;yA[c>>2]=u;h=(u|0)<0;e:do{if(h){De=26}else{d=(ke|0)>-1;if(d){v=a+24|0;Ae=0;Me=0;while(1){E=Tr(r,3)|0;_=Tr(r,1)|0;b=(_|0)<0;if(b){De=26;break e}S=(_|0)==0;if(S){Oe=E}else{k=Tr(r,5)|0;g=(k|0)<0;if(g){De=26;break e}A=k<<3;O=A|E;Oe=O}y=v+(Me<<2)|0;yA[y>>2]=Oe;M=(Oe|0)==0;if(M){Ne=0}else{t=Oe;Te=0;while(1){F=t&1;L=F+Te|0;N=t>>>1;T=(N|0)==0;if(T){Ne=L;break}else{t=N;Te=L}}}D=Ne+Ae|0;B=Me+1|0;P=yA[f>>2]|0;C=(B|0)<(P|0);if(C){Ae=D;Me=B}else{o=D;break}}m=(o|0)>0;if(m){w=a+280|0;Fe=0;while(1){I=Tr(r,8)|0;x=(I|0)<0;if(x){break e}H=w+(Fe<<2)|0;yA[H>>2]=I;z=Fe+1|0;V=(z|0)<(o|0);if(V){Fe=z}else{be=m;ge=o;break}}}else{be=0;ge=o}}else{be=0;ge=0}q=yA[c>>2]|0;G=p+24|0;W=yA[G>>2]|0;j=(q|0)<(W|0);if(j){if(be){Y=a+280|0;Re=0;while(1){Z=Y+(Re<<2)|0;Q=yA[Z>>2]|0;$=(Q|0)<(W|0);if(!$){break e}ee=(p+1824|0)+(Q<<2)|0;re=yA[ee>>2]|0;ie=re+12|0;te=yA[ie>>2]|0;ne=(te|0)==0;X=Re+1|0;if(ne){break e}K=(X|0)<(ge|0);if(K){Re=X}else{break}}}oe=(p+1824|0)+(q<<2)|0;ae=yA[oe>>2]|0;se=ae+4|0;fe=yA[se>>2]|0;ue=yA[ae>>2]|0;ce=(ue|0)<1;if(!ce){he=yA[f>>2]|0;ye=ue;Le=1;while(1){me=LA(he,Le)|0;we=(me|0)>(fe|0);if(we){break e}de=ye+-1|0;ve=(ye|0)>1;if(ve){ye=de;Le=me}else{n=me;break}}Ee=a+16|0;yA[Ee>>2]=n;i=a;return i|0}}}}while(0);if((De|0)==26){pe=(a|0)==(0|0);if(pe){i=0;return i|0}}Wn(a);i=0;return i|0}function Fr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0;qe=RA;o=BA(1,44)|0;a=e+4|0;E=yA[a>>2]|0;F=E+28|0;H=yA[F>>2]|0;yA[o>>2]=r;Z=r+12|0;se=yA[Z>>2]|0;pe=o+4|0;yA[pe>>2]=se;ke=H+2848|0;ge=yA[ke>>2]|0;s=o+12|0;yA[s>>2]=ge;l=ge;f=r+20|0;u=yA[f>>2]|0;c=l+(u*56|0)|0;h=o+16|0;yA[h>>2]=c;d=yA[c>>2]|0;v=BA(se,4)|0;m=o+20|0;yA[m>>2]=v;w=(se|0)>0;if(w){p=r+24|0;_=r+280|0;Ae=0;Ne=0;xe=0;while(1){b=p+(Ne<<2)|0;S=yA[b>>2]|0;k=yn(S)|0;g=(k|0)==0;if(g){Me=Ae;He=xe}else{A=(k|0)>(xe|0);t=A?k:xe;O=BA(k,4)|0;y=v+(Ne<<2)|0;yA[y>>2]=O;M=(k|0)>0;if(M){R=yA[b>>2]|0;L=v+(Ne<<2)|0;Oe=Ae;Pe=0;while(1){N=1<>2]|0;P=Oe+1|0;C=_+(Oe<<2)|0;I=yA[C>>2]|0;x=B+(I*56|0)|0;U=yA[L>>2]|0;z=U+(Pe<<2)|0;yA[z>>2]=x;ye=P}V=Pe+1|0;Re=(V|0)==(k|0);if(Re){Me=ye;He=t;break}else{Oe=ye;Pe=V}}}else{Me=Ae;He=t}}q=Ne+1|0;G=(q|0)<(se|0);if(G){Ae=Me;Ne=q;xe=He}else{Ie=He;break}}}else{Ie=0}W=o+24|0;yA[W>>2]=1;j=(d|0)>0;if(j){X=1;Te=0;while(1){Y=LA(X,se)|0;K=Te+1|0;Fe=(K|0)==(d|0);if(Fe){i=Y;break}else{X=Y;Te=K}}yA[W>>2]=i;$=i}else{$=1}J=o+8|0;yA[J>>2]=Ie;Q=$<<2;ee=DA(Q)|0;re=o+28|0;yA[re>>2]=ee;ie=($|0)>0;if(!ie){return o|0}te=d<<2;if(!j){De=0;while(1){Ee=DA(te)|0;_e=ee+(De<<2)|0;yA[_e>>2]=Ee;be=De+1|0;Se=(be|0)<($|0);if(Se){De=be}else{break}}return o|0}ne=yA[re>>2]|0;Be=0;while(1){ve=DA(te)|0;me=ee+(Be<<2)|0;yA[me>>2]=ve;we=ne+(Be<<2)|0;he=yA[we>>2]|0;n=$;Ce=0;ze=Be;while(1){Ue=(n|0)/(se|0)&-1;le=(ze|0)/(Ue|0)&-1;fe=LA(le,Ue)|0;ue=ze-fe|0;ce=he+(Ce<<2)|0;yA[ce>>2]=le;de=Ce+1|0;Le=(de|0)==(d|0);if(Le){break}else{n=Ue;Ce=de;ze=ue}}oe=Be+1|0;ae=(oe|0)<($|0);if(ae){Be=oe}else{break}}return o|0}function Rr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;S=RA;o=(n|0)>0;if(o){w=0;E=0}else{return 0}while(1){a=t+(w<<2)|0;s=yA[a>>2]|0;l=(s|0)==0;if(l){p=E}else{f=i+(w<<2)|0;u=yA[f>>2]|0;c=E+1|0;h=i+(E<<2)|0;yA[h>>2]=u;p=c}d=w+1|0;m=(d|0)==(n|0);if(m){_=p;break}else{w=d;E=p}}v=(_|0)==0;if(v){return 0}Hr(e,r,i,_,2);return 0}function Lr(e,r,i,t,n,o,a,s){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;a=a|0;s=s|0;var l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0;A=RA;l=(o|0)>0;if(l){_=0;b=0}else{return 0}while(1){f=n+(_<<2)|0;u=yA[f>>2]|0;c=(u|0)==0;if(c){S=b}else{h=t+(_<<2)|0;d=yA[h>>2]|0;v=b+1|0;m=t+(b<<2)|0;yA[m>>2]=d;S=v}w=_+1|0;p=(w|0)==(o|0);if(p){k=S;break}else{_=w;b=S}}E=(k|0)==0;if(E){return 0}Wr(e,i,t,k,a);return 0}function Nr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0.0,g=0.0,A=0.0;var O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0;var W=0,j=0,Y=0,X=0.0,K=0.0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0;var ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0,Le=0;var Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0;Ve=RA;s=(n|0)>0;if(s){ye=0;xe=0}else{o=0;return o|0}while(1){l=t+(ye<<2)|0;_=yA[l>>2]|0;L=(_|0)==0;if(L){He=xe}else{z=i+(ye<<2)|0;Q=yA[z>>2]|0;fe=xe+1|0;we=i+(xe<<2)|0;yA[we>>2]=Q;He=fe}Ee=ye+1|0;Se=(Ee|0)==(n|0);if(Se){Ue=He;break}else{ye=Ee;xe=He}}pe=(Ue|0)==0;if(pe){o=0;return o|0}f=yA[r>>2]|0;u=f+8|0;c=yA[u>>2]|0;h=f+12|0;d=yA[h>>2]|0;v=f+4|0;m=yA[v>>2]|0;w=yA[f>>2]|0;E=m-w|0;p=(E|0)/(c|0)&-1;b=Ue<<2;S=Qu(e,b)|0;k=+(c|0);g=100.0/k;A=g;O=(Ue|0)>0;if(O){y=p<<2;Me=0;while(1){T=Qu(e,y)|0;D=S+(Me<<2)|0;yA[D>>2]=T;tl(T|0,0,y|0)|0;B=Me+1|0;Oe=(B|0)==(Ue|0);if(Oe){break}else{Me=B}}}M=(p|0)>0;if(M){F=(c|0)>0;R=d+-1|0;N=(d|0)>1;Fe=0;while(1){P=LA(Fe,c)|0;C=yA[f>>2]|0;I=C+P|0;if(O){Le=0;while(1){if(F){x=i+(Le<<2)|0;H=yA[x>>2]|0;be=0;Ne=0;Pe=0;while(1){U=I+Ne|0;V=H+(U<<2)|0;q=yA[V>>2]|0;Re=(q|0)>-1;Ce=0-q|0;G=Re?q:Ce;W=(G|0)>(Pe|0);a=W?G:Pe;j=G+be|0;Y=Ne+1|0;ke=(Y|0)==(c|0);if(ke){_e=j;Be=a;break}else{be=j;Ne=Y;Pe=a}}}else{_e=0;Be=0}X=+(_e|0);K=X*A;Z=~~K;e:do{if(N){De=0;while(1){J=(f+2328|0)+(De<<2)|0;$=yA[J>>2]|0;ee=(Be|0)>($|0);if(!ee){re=(f+2584|0)+(De<<2)|0;ie=yA[re>>2]|0;te=(ie|0)<0;ne=(Z|0)<(ie|0);Ie=te|ne;if(Ie){Te=De;break e}}oe=De+1|0;ae=(oe|0)<(R|0);if(ae){De=oe}else{Te=oe;break}}}else{Te=0}}while(0);se=S+(Le<<2)|0;le=yA[se>>2]|0;ue=le+(Fe<<2)|0;yA[ue>>2]=Te;ce=Le+1|0;ge=(ce|0)==(Ue|0);if(ge){break}else{Le=ce}}}he=Fe+1|0;Ae=(he|0)==(p|0);if(Ae){break}else{Fe=he}}}de=r+40|0;ve=yA[de>>2]|0;me=ve+1|0;yA[de>>2]=me;o=S;return o|0}function Br(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;S=RA;o=(n|0)>0;if(o){w=0;E=0}else{return 0}while(1){a=t+(w<<2)|0;s=yA[a>>2]|0;l=(s|0)==0;if(l){p=E}else{f=i+(w<<2)|0;u=yA[f>>2]|0;c=E+1|0;h=i+(E<<2)|0;yA[h>>2]=u;p=c}d=w+1|0;m=(d|0)==(n|0);if(m){_=p;break}else{w=d;E=p}}v=(_|0)==0;if(v){return 0}Hr(e,r,i,_,3);return 0}function Pr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0;var O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0;var W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0;var ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0,Le=0;var Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0;Ce=RA;l=(n|0)>0;if(l){me=0;Be=0}else{o=0;return o|0}while(1){f=t+(me<<2)|0;b=yA[f>>2]|0;Le=(b|0)!=0;N=Le&1;Te=N+Be|0;V=me+1|0;he=(V|0)==(n|0);if(he){De=Te;break}else{me=V;Be=Te}}Ne=(De|0)==0;if(Ne){o=0;return o|0}$=yA[r>>2]|0;ne=$+8|0;oe=yA[ne>>2]|0;ae=$+12|0;se=yA[ae>>2]|0;u=$+4|0;c=yA[u>>2]|0;h=yA[$>>2]|0;d=c-h|0;v=(d|0)/(oe|0)&-1;m=Qu(e,4)|0;w=v<<2;E=Qu(e,w)|0;yA[m>>2]=E;tl(E|0,0,w|0)|0;p=(v|0)>0;if(p){_=yA[$>>2]|0;S=(_|0)/(n|0)&-1;k=(oe|0)>0;g=se+-1|0;A=(se|0)>1;O=yA[m>>2]|0;y=(n|0)>1;we=0;ge=S;while(1){if(k){M=yA[i>>2]|0;fe=0;_e=0;Oe=ge;Me=0;while(1){F=M+(Oe<<2)|0;R=yA[F>>2]|0;Ee=(R|0)>-1;Fe=0-R|0;L=Ee?R:Fe;T=(L|0)>(Me|0);s=T?L:Me;if(y){ce=fe;ke=1;while(1){D=i+(ke<<2)|0;B=yA[D>>2]|0;P=B+(Oe<<2)|0;C=yA[P>>2]|0;pe=(C|0)>-1;Re=0-C|0;I=pe?C:Re;x=(I|0)>(ce|0);a=x?I:ce;H=ke+1|0;de=(H|0)==(n|0);if(de){ue=a;break}else{ce=a;ke=H}}}else{ue=fe}U=Oe+1|0;z=_e+n|0;q=(z|0)<(oe|0);if(q){fe=ue;_e=z;Oe=U;Me=s}else{le=ue;Ae=U;ye=s;break}}}else{le=0;Ae=ge;ye=0}e:do{if(A){Se=0;while(1){G=($+2328|0)+(Se<<2)|0;W=yA[G>>2]|0;j=(ye|0)>(W|0);if(!j){Y=($+2584|0)+(Se<<2)|0;X=yA[Y>>2]|0;K=(le|0)>(X|0);if(!K){be=Se;break e}}Z=Se+1|0;J=(Z|0)<(g|0);if(J){Se=Z}else{be=Z;break}}}else{be=0}}while(0);Q=O+(we<<2)|0;yA[Q>>2]=be;ee=we+1|0;ve=(ee|0)==(v|0);if(ve){break}else{we=ee;ge=Ae}}}re=r+40|0;ie=yA[re>>2]|0;te=ie+1|0;yA[re>>2]=te;o=m;return o|0}function Cr(e,r,i,t,n,o,a,s){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;a=a|0;s=s|0;var l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0,O=0,y=0,M=0;var F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0;H=RA;RA=RA+16|0;I=H;l=r+36|0;f=yA[l>>2]|0;b=(f|0)/2&-1;S=o<<2;k=LA(S,b)|0;g=Qu(r,k)|0;yA[I>>2]=g;A=(o|0)>0;if(!A){RA=H;return 0}O=(f|0)>1;R=0;C=0;while(1){y=t+(R<<2)|0;M=yA[y>>2]|0;u=n+(R<<2)|0;c=yA[u>>2]|0;T=(c|0)!=0;h=T&1;B=h+C|0;if(O){L=0;N=R;while(1){d=M+(L<<2)|0;v=yA[d>>2]|0;m=g+(N<<2)|0;yA[m>>2]=v;w=L+1|0;E=N+o|0;p=(w|0)<(b|0);if(p){L=w;N=E}else{break}}}_=R+1|0;F=(_|0)==(o|0);if(F){P=B;break}else{R=_;C=B}}D=(P|0)==0;if(D){RA=H;return 0}Wr(e,i,I,1,a);RA=H;return 0}function xr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0;var O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0;var W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0;var ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0,Le=0;var Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0;Ge=RA;s=yA[r>>2]|0;l=s+8|0;_=yA[l>>2]|0;L=r+16|0;z=yA[L>>2]|0;Q=yA[z>>2]|0;fe=e+36|0;be=yA[fe>>2]|0;Ne=LA(be,n)|0;Te=Ne>>1;f=s+4|0;u=yA[f>>2]|0;c=(u|0)<(Te|0);o=c?u:Te;h=yA[s>>2]|0;d=o-h|0;v=(d|0)>0;if(!v){return 0}m=(d|0)/(_|0)&-1;w=Q+-1|0;E=w+m|0;p=(E|0)/(Q|0)&-1;b=p<<2;S=Qu(e,b)|0;k=(n|0)>0;e:do{if(k){Be=0;while(1){g=t+(Be<<2)|0;A=yA[g>>2]|0;O=(A|0)==0;if(!O){De=Be;break e}y=Be+1|0;M=(y|0)<(n|0);if(M){Be=y}else{De=y;break}}}else{De=0}}while(0);F=(De|0)==(n|0);if(F){return 0}R=r+8|0;N=yA[R>>2]|0;T=(N|0)>0;if(!T){return 0}D=(m|0)>0;B=e+4|0;P=s+16|0;C=r+28|0;I=(Q|0)>0;x=r+20|0;Le=N;Ve=0;e:while(1){if(D){H=(Ve|0)==0;U=1<>2]|0;q=Dr(V,B)|0;G=(q|0)==-1;if(G){qe=23;break e}W=yA[P>>2]|0;j=(q|0)<(W|0);if(!j){qe=23;break e}Y=yA[C>>2]|0;X=Y+(q<<2)|0;K=yA[X>>2]|0;Z=S+(He<<2)|0;yA[Z>>2]=K;J=(K|0)==(0|0);if(J){qe=23;break e}}$=(Pe|0)<(m|0);ze=I&$;if(ze){ee=S+(He<<2)|0;Ie=Pe;xe=0;while(1){re=yA[ee>>2]|0;ie=re+(xe<<2)|0;te=yA[ie>>2]|0;ne=(s+24|0)+(te<<2)|0;oe=yA[ne>>2]|0;ae=oe&U;se=(ae|0)==0;if(!se){le=yA[x>>2]|0;ue=le+(te<<2)|0;ce=yA[ue>>2]|0;he=ce+(Ve<<2)|0;de=yA[he>>2]|0;ve=(de|0)==(0|0);if(!ve){me=LA(Ie,_)|0;we=yA[s>>2]|0;Ee=we+me|0;pe=Ke(de,i,Ee,n,B,_)|0;_e=(pe|0)==-1;if(_e){qe=23;break e}}}Se=xe+1|0;ke=Ie+1|0;ge=(Se|0)<(Q|0);Ae=(ke|0)<(m|0);Ue=ge&Ae;if(Ue){Ie=ke;xe=Se}else{Ce=ke;break}}}else{Ce=Pe}Oe=He+1|0;ye=(Ce|0)<(m|0);if(ye){Pe=Ce;He=Oe}else{break}}a=yA[R>>2]|0;Re=a}else{Re=Le}Me=Ve+1|0;Fe=(Me|0)<(Re|0);if(Fe){Le=Re;Ve=Me}else{qe=23;break}}if((qe|0)==23){return 0}return 0|0}function Hr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0;var O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0;var W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0;var ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0,Le=0;var Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0,Ze=0;var Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0;lr=RA;f=yA[r>>2]|0;u=f+8|0;S=yA[u>>2]|0;T=r+16|0;q=yA[T>>2]|0;ee=yA[q>>2]|0;ce=e+36|0;ke=yA[ce>>2]|0;De=ke>>1;Ge=f+4|0;c=yA[Ge>>2]|0;h=(c|0)<(De|0);o=h?c:De;d=yA[f>>2]|0;v=o-d|0;m=(v|0)>0;if(!m){RA=lr;return}w=(v|0)/(S|0)&-1;E=t<<2;a=E;p=RA;RA=RA+((1*a|0)+15&-16)|0;_=(t|0)>0;if(_){b=ee+-1|0;k=b+w|0;g=(k|0)/(ee|0)&-1;A=g<<2;Je=0;while(1){P=Qu(e,A)|0;C=p+(Je<<2)|0;yA[C>>2]=P;I=Je+1|0;je=(I|0)==(t|0);if(je){break}else{Je=I}}}O=r+8|0;y=yA[O>>2]|0;M=(y|0)>0;if(!M){RA=lr;return}F=(w|0)>0;R=e+4|0;L=f+16|0;N=r+28|0;D=(ee|0)>0;B=r+20|0;l=_^1;ar=0;e:while(1){if(F){x=1<>2]|0;ge=Dr(Se,R)|0;Ae=(ge|0)==-1;if(Ae){sr=25;break e}Oe=yA[L>>2]|0;ye=(ge|0)<(Oe|0);if(!ye){sr=25;break e}Me=yA[N>>2]|0;Fe=Me+(ge<<2)|0;Re=yA[Fe>>2]|0;Le=p+(Qe<<2)|0;Ne=yA[Le>>2]|0;Te=Ne+(ir<<2)|0;yA[Te>>2]=Re;Be=(Re|0)==0;_e=Qe+1|0;if(Be){sr=25;break e}be=(_e|0)<(t|0);if(be){Qe=_e}else{break}}}H=(Ye|0)<(w|0);or=D&H;r:do{if(or){if(_){Ze=Ye;rr=0}else{Ke=Ye;er=0;while(1){Pe=er+1|0;Ce=Ke+1|0;Ie=(Pe|0)<(ee|0);xe=(Ce|0)<(w|0);tr=Ie&xe;if(tr){Ke=Ce;er=Pe}else{Xe=Ce;break r}}}while(1){Y=LA(Ze,S)|0;$e=0;while(1){W=yA[f>>2]|0;j=W+Y|0;X=p+($e<<2)|0;K=yA[X>>2]|0;Z=K+(ir<<2)|0;J=yA[Z>>2]|0;Q=J+(rr<<2)|0;$=yA[Q>>2]|0;re=(f+24|0)+($<<2)|0;ie=yA[re>>2]|0;te=ie&x;ne=(te|0)==0;if(!ne){oe=yA[B>>2]|0;ae=oe+($<<2)|0;se=yA[ae>>2]|0;le=se+(ar<<2)|0;fe=yA[le>>2]|0;ue=(fe|0)==(0|0);if(!ue){he=i+($e<<2)|0;de=yA[he>>2]|0;ve=de+(j<<2)|0;me=ft[n&3](fe,ve,R,S)|0;we=(me|0)==-1;if(we){sr=25;break e}}}Ee=$e+1|0;pe=(Ee|0)<(t|0);if(pe){$e=Ee}else{break}}U=rr+1|0;z=Ze+1|0;V=(U|0)<(ee|0);G=(z|0)<(w|0);nr=V&G;if(nr){Ze=z;rr=U}else{Xe=z;break}}}else{Xe=Ye}}while(0);He=ir+1|0;Ue=(Xe|0)<(w|0);if(Ue){Ye=Xe;ir=He}else{break}}}ze=ar+1|0;Ve=yA[O>>2]|0;qe=(ze|0)<(Ve|0);if(qe){ar=ze}else{sr=25;break}}if((sr|0)==25){RA=lr;return}}function Wr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0;var O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0;var W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0;var ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0,Le=0;var Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0,Ze=0;var Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0,mr=0,wr=0;var Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0,Pr=0,Cr=0;var Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0,ei=0,ri=0,ii=0;var ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0,bi=0,Si=0,ki=0;var gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0,Ui=0,zi=0,Vi=0;var qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0,at=0,st=0,lt=0;var ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0,Ot=0,yt=0,Mt=0,Ft=0;var Rt=0,Lt=0,Nt=0,Tt=0,Dt=0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0,zt=0,Vt=0,qt=0,Gt=0,Wt=0,jt=0,Yt=0,Xt=0;var Kt=0,Zt=0,Jt=0,Qt=0,$t=0,en=0,rn=0,tn=0,nn=0,on=0,an=0,sn=0,ln=0,fn=0;fn=RA;RA=RA+1088|0;Jt=fn+1056|0;dt=fn+1024|0;Qt=fn+512|0;$t=fn;w=yA[r>>2]|0;E=w+8|0;br=yA[E>>2]|0;Hr=w+12|0;Zr=yA[Hr>>2]|0;si=r+16|0;pi=yA[si>>2]|0;Ri=yA[pi>>2]|0;Ui=w+4|0;Ji=yA[Ui>>2]|0;p=yA[w>>2]|0;R=Ji-p|0;U=(R|0)/(br|0)&-1;tl(Qt|0,0,512)|0;tl($t|0,0,512)|0;J=r+8|0;le=yA[J>>2]|0;_e=(le|0)>0;if(!_e){RA=fn;return}Le=(U|0)>0;ze=(t|0)>0;Qe=(Ri|0)>1;fr=r+36|0;Sr=(Ri|0)>0;Lr=r+20|0;Nr=r+32|0;Tr=0-Ri|0;Rr=le;en=0;while(1){if(Le){Dr=(en|0)==0;Br=1<>2]|0;ci=ui+(Ot<<2)|0;hi=yA[ci>>2]|0;di=yA[si>>2]|0;vi=di+4|0;mi=yA[vi>>2]|0;wi=(hi|0)<(mi|0);if(wi){Ei=On(di,hi,e)|0;_i=yA[fr>>2]|0;bi=_i+Ei|0;yA[fr>>2]=bi}Si=Ut+1|0;vt=(Si|0)==(t|0);if(vt){break e}else{Ut=Si}}}while(1){ri=n+(zt<<2)|0;Jr=yA[ri>>2]|0;ii=Jr+(Ot<<2)|0;ti=yA[ii>>2]|0;Gt=1;on=ti;while(1){jr=LA(on,Zr)|0;Yr=Gt+Ot|0;Xr=(Yr|0)<(U|0);if(Xr){Kr=Jr+(Yr<<2)|0;Qr=yA[Kr>>2]|0;$r=Qr+jr|0;an=$r}else{an=jr}ei=Gt+1|0;bt=(ei|0)==(Ri|0);if(bt){sn=an;break}else{Gt=ei;on=an}}Ir=yA[si>>2]|0;xr=Ir+4|0;Ur=yA[xr>>2]|0;zr=(sn|0)<(Ur|0);if(zr){Vr=On(Ir,sn,e)|0;qr=yA[fr>>2]|0;Gr=qr+Vr|0;yA[fr>>2]=Gr}Wr=zt+1|0;St=(Wr|0)==(t|0);if(St){break}else{zt=Wr}}}}while(0);ni=(Ot|0)<(U|0);Kt=Sr∋if(Kt){oi=Ot-U|0;ai=oi>>>0>>0;nn=ai?Tr:oi;li=0-nn|0;Rt=Ot;Wt=0;while(1){ki=LA(Rt,br)|0;gi=yA[w>>2]|0;Ai=gi+ki|0;if(ze){qt=0;while(1){Oi=n+(qt<<2)|0;yi=yA[Oi>>2]|0;Mi=yi+(Rt<<2)|0;Fi=yA[Mi>>2]|0;if(Dr){Li=$t+(Fi<<2)|0;Ni=yA[Li>>2]|0;Ti=Ni+br|0;yA[Li>>2]=Ti}Di=(w+24|0)+(Fi<<2)|0;Bi=yA[Di>>2]|0;Pi=Bi&Br;Ci=(Pi|0)==0;if(!Ci){Ii=yA[Lr>>2]|0;xi=Ii+(Fi<<2)|0;Hi=yA[xi>>2]|0;zi=Hi+(en<<2)|0;Vi=yA[zi>>2]|0;qi=(Vi|0)==(0|0);if(!qi){Gi=i+(qt<<2)|0;Wi=yA[Gi>>2]|0;ji=yA[Vi>>2]|0;Yi=(br|0)/(ji|0)&-1;Xi=(Yi|0)>0;if(Xi){Ki=Vi+48|0;Zi=Vi+52|0;Qi=Vi+44|0;$i=Vi+12|0;et=Vi+4|0;_=ji;ct=0;Mt=0;while(1){rt=LA(Mt,ji)|0;h=rt+Ai|0;it=Wi+(h<<2)|0;tt=yA[Ki>>2]|0;nt=yA[Zi>>2]|0;ot=yA[Qi>>2]|0;at=ot>>1;yA[Jt>>2]=0|0;yA[Jt+4>>2]=0|0;yA[Jt+8>>2]=0|0;yA[Jt+12>>2]=0|0;yA[Jt+16>>2]=0|0;yA[Jt+20>>2]=0|0;yA[Jt+24>>2]=0|0;yA[Jt+28>>2]=0|0;st=(nt|0)==1;b=(_|0)>0;do{if(st){if(!b){Pt=0;break}A=ot+-1|0;Lt=0;Bt=0;Yt=_;while(1){K=Yt+-1|0;m=h+K|0;Z=Wi+(m<<2)|0;Q=yA[Z>>2]|0;$=Q-tt|0;ee=($|0)<(at|0);if(ee){re=at-$|0;ie=re<<1;te=ie+-1|0;se=te}else{ne=$-at|0;oe=ne<<1;se=oe}ae=LA(Bt,ot)|0;fe=(se|0)<0;ue=(se|0)>=(ot|0);ce=ue?A:se;he=fe?0:ce;de=he+ae|0;ve=Jt+(K<<2)|0;yA[ve>>2]=Q;me=Lt+1|0;gt=(me|0)==(_|0);if(gt){Pt=de;break}else{Lt=me;Bt=de;Yt=K}}}else{if(!b){Pt=0;break}S=nt>>1;k=S-tt|0;g=ot+-1|0;yt=0;Dt=0;jt=_;while(1){O=jt+-1|0;v=h+O|0;y=Wi+(v<<2)|0;M=yA[y>>2]|0;F=k+M|0;L=(F|0)/(nt|0)&-1;N=(L|0)<(at|0);if(N){T=at-L|0;D=T<<1;B=D+-1|0;x=B}else{P=L-at|0;C=P<<1;x=C}I=LA(Dt,ot)|0;H=(x|0)<0;z=(x|0)>=(ot|0);V=z?g:x;q=H?0:V;G=q+I|0;W=LA(L,nt)|0;j=W+tt|0;Y=Jt+(O<<2)|0;yA[Y>>2]=j;X=yt+1|0;At=(X|0)==(_|0);if(At){Pt=G;break}else{yt=X;Dt=G;jt=O}}}}while(0);we=yA[$i>>2]|0;Ee=we+8|0;pe=yA[Ee>>2]|0;be=pe+Pt|0;Se=An[be>>0]|0;ke=Se<<24>>24<1;do{if(ke){yA[dt>>2]=0|0;yA[dt+4>>2]=0|0;yA[dt+8>>2]=0|0;yA[dt+12>>2]=0|0;yA[dt+16>>2]=0|0;yA[dt+20>>2]=0|0;yA[dt+24>>2]=0|0;yA[dt+28>>2]=0|0;ge=ot+-1|0;Ae=LA(ge,nt)|0;Oe=Ae+tt|0;ye=yA[et>>2]|0;Me=(ye|0)>0;if(Me){lt=-1;Nt=0;Ct=Pt}else{xt=Pt;break}while(1){Fe=pe+Nt|0;Re=An[Fe>>0]|0;Ne=Re<<24>>24>0;do{if(Ne){if(b){Ht=0;tn=0;while(1){Te=dt+(Ht<<2)|0;De=yA[Te>>2]|0;d=h+Ht|0;Be=Wi+(d<<2)|0;Pe=yA[Be>>2]|0;Ce=De-Pe|0;Ie=LA(Ce,Ce)|0;xe=Ie+tn|0;He=Ht+1|0;kt=(He|0)==(_|0);if(kt){rn=xe;break}else{Ht=He;tn=xe}}}else{rn=0}Ue=(lt|0)==-1;Ve=(rn|0)<(lt|0);Xt=Ue|Ve;if(!Xt){ft=lt;It=Ct;break}yA[Jt>>2]=yA[dt>>2]|0;yA[Jt+4>>2]=yA[dt+4>>2]|0;yA[Jt+8>>2]=yA[dt+8>>2]|0;yA[Jt+12>>2]=yA[dt+12>>2]|0;yA[Jt+16>>2]=yA[dt+16>>2]|0;yA[Jt+20>>2]=yA[dt+20>>2]|0;yA[Jt+24>>2]=yA[dt+24>>2]|0;yA[Jt+28>>2]=yA[dt+28>>2]|0;ft=rn;It=Nt}else{ft=lt;It=Ct}}while(0);qe=yA[dt>>2]|0;Ge=(qe|0)<(Oe|0);if(Ge){a=dt;s=qe}else{je=dt;Vt=0;while(1){We=Vt+1|0;yA[je>>2]=0;Ye=dt+(We<<2)|0;Xe=yA[Ye>>2]|0;Ke=(Xe|0)<(Oe|0);if(Ke){a=Ye;s=Xe;break}else{je=Ye;Vt=We}}}Ze=(s|0)>-1;if(Ze){Je=s+nt|0;yA[a>>2]=Je;er=Je}else{er=s}$e=0-er|0;yA[a>>2]=$e;rr=Nt+1|0;mt=(rr|0)==(ye|0);if(mt){xt=It;break}else{lt=ft;Nt=rr;Ct=It}}}else{xt=Pt}}while(0);ir=(xt|0)>-1;Zt=b&ir;if(Zt){o=it;Tt=0;while(1){tr=Jt+(Tt<<2)|0;nr=yA[tr>>2]|0;or=o+4|0;ar=yA[o>>2]|0;sr=ar-nr|0;yA[o>>2]=sr;lr=Tt+1|0;wt=(lr|0)==(_|0);if(wt){break}else{o=or;Tt=lr}}}ur=On(Vi,xt,e)|0;cr=ur+ct|0;hr=Mt+1|0;Et=(hr|0)==(Yi|0);if(Et){l=cr;break}f=yA[Vi>>2]|0;_=f;ct=cr;Mt=hr}u=yA[Oi>>2]|0;wr=u;ut=l}else{wr=yi;ut=0}dr=yA[Nr>>2]|0;vr=dr+ut|0;yA[Nr>>2]=vr;mr=wr+(Rt<<2)|0;Er=yA[mr>>2]|0;pr=Qt+(Er<<2)|0;_r=yA[pr>>2]|0;kr=_r+ut|0;yA[pr>>2]=kr}}gr=qt+1|0;pt=(gr|0)==(t|0);if(pt){break}else{qt=gr}}}Ar=Wt+1|0;Or=Rt+1|0;_t=(Ar|0)==(li|0);if(_t){break}else{Rt=Or;Wt=Ar}}Pr=Ot-nn|0;Ft=Pr}else{Ft=Ot}Cr=(Ft|0)<(U|0);if(Cr){Ot=Ft}else{break}}c=yA[J>>2]|0;Fr=c}else{Fr=Rr}yr=en+1|0;Mr=(yr|0)<(Fr|0);if(Mr){Rr=Fr;en=yr}else{break}}RA=fn;return}function yn(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0;f=RA;i=(e|0)==0;if(i){a=0}else{r=e;s=0;while(1){t=r>>>1;n=s+1|0;o=(t|0)==0;if(o){a=n;break}else{r=t;s=n}}}return a|0}function Mn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0;var g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0;var q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0;var fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0;var Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0;var Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0;var mr=0,wr=0,Er=0,pr=0,_r=0;_r=RA;RA=RA+144|0;cr=_r;l=(i|0)!=0;f=l?i:r;b=f<<2;N=DA(b)|0;tl(cr|0,0,132)|0;V=(r|0)>0;do{if(V){$=cr+4|0;ue=(i|0)==0;Se=ue&1;qe=0;Qe=0;e:while(1){Te=e+Qe|0;Ve=An[Te>>0]|0;u=Ve<<24>>24;c=Ve<<24>>24>0;r:do{if(c){h=cr+(u<<2)|0;d=yA[h>>2]|0;v=Ve<<24>>24>31;m=d>>>u;w=(m|0)==0;hr=v|w;if(!hr){pr=5;break e}E=N+(qe<<2)|0;yA[E>>2]=d;p=cr+(u<<2)|0;_=d&1;S=(_|0)==0;i:do{if(S){T=d;D=p;tr=u;while(1){L=T+1|0;yA[D>>2]=L;B=tr+-1|0;P=(tr|0)>1;if(!P){break i}o=cr+(B<<2)|0;s=yA[o>>2]|0;C=cr+(B<<2)|0;I=s&1;x=(I|0)==0;if(x){T=s;D=C;tr=B}else{n=C;ir=B;pr=8;break}}}else{n=p;ir=u;pr=8}}while(0);do{if((pr|0)==8){pr=0;g=(ir|0)==1;if(g){A=yA[$>>2]|0;O=A+1|0;yA[$>>2]=O;break}else{y=ir+-1|0;M=cr+(y<<2)|0;F=yA[M>>2]|0;R=F<<1;yA[n>>2]=R;break}}}while(0);sr=u+1|0;k=(sr|0)<33;if(k){Ke=d;or=u;lr=sr;while(1){H=cr+(lr<<2)|0;U=yA[H>>2]|0;z=U>>>1;q=(z|0)==(Ke|0);if(!q){a=1;break r}G=cr+(or<<2)|0;W=yA[G>>2]|0;j=W<<1;yA[H>>2]=j;nr=lr+1|0;Y=(nr|0)<33;if(Y){ar=lr;Ke=U;lr=nr;or=ar}else{a=1;break}}}else{a=1}}else{a=Se}}while(0);Ge=qe+a|0;X=Qe+1|0;K=(X|0)<(r|0);if(K){qe=Ge;Qe=X}else{We=Ge;pr=16;break}}if((pr|0)==5){Wn(N);t=0;RA=_r;return t|0}else if((pr|0)==16){dr=(We|0)==1;if(!dr){$e=1;pr=27;break}Z=cr+8|0;J=yA[Z>>2]|0;Q=(J|0)==2;if(Q){break}else{$e=1;pr=27;break}}}else{$e=1;pr=27}}while(0);e:do{if((pr|0)==27){while(1){pr=0;_e=cr+($e<<2)|0;be=yA[_e>>2]|0;ke=32-$e|0;ge=-1>>>ke;Ae=be≥Oe=(Ae|0)==0;Ee=$e+1|0;if(!Oe){break}pe=(Ee|0)<33;if(pe){$e=Ee;pr=27}else{break e}}Wn(N);t=0;RA=_r;return t|0}}while(0);if(!V){t=N;RA=_r;return t|0}if(l){Ye=0;rr=0}else{je=0;er=0;while(1){ye=e+er|0;Me=An[ye>>0]|0;Fe=Me<<24>>24>0;if(Fe){Re=N+(je<<2)|0;Le=yA[Re>>2]|0;Ne=Me<<24>>24;fr=0;wr=0;while(1){De=wr<<1;Be=Le>>>fr;Pe=Be&1;Ce=Pe|De;Ie=fr+1|0;xe=(Ie|0)<(Ne|0);if(xe){fr=Ie;wr=Ce}else{vr=Ce;break}}}else{vr=0}He=je+1|0;Ue=N+(je<<2)|0;yA[Ue>>2]=vr;ze=er+1|0;Ze=(ze|0)==(r|0);if(Ze){t=N;break}else{je=He;er=ze}}RA=_r;return t|0}while(1){ee=e+rr|0;re=An[ee>>0]|0;ie=re<<24>>24>0;if(ie){we=N+(Ye<<2)|0;fe=yA[we>>2]|0;me=re<<24>>24;ur=0;Er=0;while(1){se=Er<<1;le=fe>>>ur;ce=le&1;he=ce|se;de=ur+1|0;ve=(de|0)<(me|0);if(ve){ur=de;Er=he}else{mr=he;break}}}else{mr=0}te=re<<24>>24==0;if(te){Xe=Ye}else{ne=Ye+1|0;oe=N+(Ye<<2)|0;yA[oe>>2]=mr;Xe=ne}ae=rr+1|0;Je=(ae|0)==(r|0);if(Je){t=N;break}else{Ye=Xe;rr=ae}}RA=_r;return t|0}function jr(e){e=e|0;var r=0,i=0,t=0,n=0,o=0.0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0.0,p=0.0,_=0.0,b=0.0;var S=0.0,k=0.0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0;T=RA;t=e+4|0;n=yA[t>>2]|0;m=yA[e>>2]|0;w=(m|0)>0;if(!w){while(1){}}E=+(n|0);p=E;_=+(m|0);b=1.0/_;S=b;k=+Ii(+p,+S);o=+Hs(+k);a=~~o;M=a;while(1){h=M+1|0;g=1;A=1;O=0;while(1){u=LA(g,M)|0;c=LA(A,h)|0;d=O+1|0;v=(d|0)<(m|0);if(v){g=u;A=c;O=d}else{r=u;i=c;break}}s=(r|0)<=(n|0);l=(i|0)>(n|0);y=s&l;if(y){L=M;break}f=(r|0)>(n|0);R=f?-1:1;F=M+R|0;M=F}return L|0}function Fn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0.0,n=0.0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0.0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0.0;var g=0.0,A=0.0,O=0.0,y=0.0,M=0.0,F=0.0,R=0.0,L=0,N=0,T=0,D=0.0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0;var q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0.0,ee=0.0,re=0,ie=0.0,te=0.0,ne=0.0,oe=0.0,ae=0.0,se=0,le=0;var fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0.0,be=0,Se=0,ke=0,ge=0,Ae=0.0,Oe=0,ye=0.0,Me=0.0,Fe=0;var Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0.0,He=0.0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0.0,Ye=0.0,Xe=0.0;var Ke=0.0,Ze=0.0,Je=0.0,Qe=0.0,$e=0,er=0,rr=0,ir=0.0,tr=0,nr=0,or=0,ar=0,sr=0.0,lr=0.0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0;var mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0;var Pr=0,Cr=0.0,Ir=0.0,xr=0.0,Hr=0.0,Ur=0.0,zr=0.0,Vr=0.0,qr=0,Gr=0,Wr=0,jr=0.0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0.0,ei=0.0;var ri=0.0,ii=0.0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0.0,ci=0.0,hi=0.0,di=0.0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0,bi=0;var Si=0,ki=0,gi=0,Ai=0.0,Oi=0.0,yi=0.0,Mi=0.0,Fi=0.0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0;Ci=RA;f=e+12|0;u=yA[f>>2]|0;l=u+-1|0;Li=l>>>0<2;if(!Li){o=0;return o|0}ge=e+16|0;Be=yA[ge>>2]|0;We=Be&2097151;ir=+(We|0);dr=Be>>>21;Ar=dr&1023;Pr=(Be|0)<0;jr=-ir;t=Pr?jr:ir;c=Ar+-788|0;k=+Vi(t,c);D=k;G=e+20|0;re=yA[G>>2]|0;he=re&2097151;_e=+(he|0);be=re>>>21;Se=be&1023;ke=(re|0)<0;Ae=-_e;n=ke?Ae:_e;Oe=Se+-788|0;ye=+Vi(n,Oe);Me=ye;Fe=yA[e>>2]|0;Re=LA(Fe,r)|0;Le=BA(Re,4)|0;if((u|0)==1){Ve=e+4|0;qe=yA[Ve>>2]|0;Ge=(Fe|0)>0;if(!Ge){while(1){}}je=+(qe|0);Ye=je;Xe=+(Fe|0);Ke=1.0/Xe;Ze=Ke;Je=+Ii(+Ye,+Ze);Qe=+Hs(+Je);$e=~~Qe;Di=$e;while(1){vr=Di+1|0;ti=1;ni=1;vi=0;while(1){cr=LA(ti,Di)|0;hr=LA(ni,vr)|0;mr=vi+1|0;fi=(mr|0)==(Fe|0);if(fi){a=cr;s=hr;break}else{ti=cr;ni=hr;vi=mr}}er=(a|0)<=(qe|0);rr=(s|0)>(qe|0);Ri=rr&er;if(Ri){Bi=Di;break}ur=(a|0)>(qe|0);Ti=ur?-1:1;Ni=Ti+Di|0;Di=Ni}tr=(qe|0)>0;if(!tr){o=Le;return o|0}nr=(i|0)==(0|0);or=e+8|0;ar=e+32|0;sr=Me;lr=D;fr=e+28|0;oi=0;pi=0;while(1){if(nr){br=yA[ar>>2]|0;Sr=yA[fr>>2]|0;kr=(Sr|0)==0;gr=LA(Fe,oi)|0;if(kr){Ei=1;ki=0;while(1){Kr=(pi|0)/(Ei|0)&-1;Zr=(Kr|0)%(Bi|0)&-1;Jr=br+(Zr<<2)|0;Qr=yA[Jr>>2]|0;$r=+(Qr|0);di=+ao(+$r);ei=di;ri=ei*sr;ii=lr+ri;h=ii;d=gr+ki|0;v=Le+(d<<2)|0;MA[v>>2]=h;m=LA(Ei,Bi)|0;w=ki+1|0;E=(w|0)<(Fe|0);if(E){Ei=m;ki=w}else{Pi=21;break}}}else{mi=1;bi=0;Oi=0.0;while(1){p=(pi|0)/(mi|0)&-1;_=(p|0)%(Bi|0)&-1;b=br+(_<<2)|0;S=yA[b>>2]|0;g=+(S|0);ci=+ao(+g);A=ci;O=A*sr;y=Oi;M=y+lr;F=M+O;R=F;L=gr+bi|0;N=Le+(L<<2)|0;MA[N>>2]=R;T=LA(mi,Bi)|0;B=bi+1|0;P=(B|0)<(Fe|0);if(P){mi=T;bi=B;Oi=R}else{Pi=21;break}}}}else{wr=yA[or>>2]|0;Er=wr+pi|0;pr=An[Er>>0]|0;_r=pr<<24>>24==0;if(_r){ai=oi}else{Or=yA[ar>>2]|0;yr=yA[fr>>2]|0;Mr=(yr|0)==0;Fr=i+(oi<<2)|0;Rr=yA[Fr>>2]|0;Lr=LA(Rr,Fe)|0;wi=1;Si=0;yi=0.0;while(1){Nr=(pi|0)/(wi|0)&-1;Tr=(Nr|0)%(Bi|0)&-1;Dr=Or+(Tr<<2)|0;Br=yA[Dr>>2]|0;Cr=+(Br|0);hi=+ao(+Cr);Ir=hi;xr=Ir*sr;Hr=yi;Ur=Hr+lr;zr=Ur+xr;Vr=zr;Ai=Mr?yi:Vr;qr=Lr+Si|0;Gr=Le+(qr<<2)|0;MA[Gr>>2]=Vr;Wr=LA(wi,Bi)|0;Yr=Si+1|0;Xr=(Yr|0)<(Fe|0);if(Xr){wi=Wr;Si=Yr;yi=Ai}else{Pi=21;break}}}}if((Pi|0)==21){Pi=0;C=oi+1|0;ai=C}I=pi+1|0;x=(I|0)<(qe|0);if(x){oi=ai;pi=I}else{o=Le;break}}return o|0}else if((u|0)==2){Ne=e+4|0;Te=yA[Ne>>2]|0;De=(Te|0)>0;if(!De){o=Le;return o|0}Pe=(i|0)!=(0|0);Ce=e+8|0;Ie=e+32|0;xe=Me;He=D;Ue=e+28|0;ze=(Fe|0)>0;si=0;_i=0;while(1){if(Pe){H=yA[Ce>>2]|0;U=H+_i|0;z=An[U>>0]|0;V=z<<24>>24==0;if(V){li=si}else{Pi=25}}else{Pi=25}if((Pi|0)==25){Pi=0;if(ze){q=yA[Ie>>2]|0;W=yA[Ue>>2]|0;j=(W|0)==0;Y=i+(si<<2)|0;X=LA(Fe,_i)|0;K=LA(Fe,si)|0;gi=0;Fi=0.0;while(1){Z=X+gi|0;J=q+(Z<<2)|0;Q=yA[J>>2]|0;$=+(Q|0);ui=+ao(+$);ee=ui;ie=ee*xe;te=Fi;ne=te+He;oe=ne+ie;ae=oe;Mi=j?Fi:ae;if(Pe){se=yA[Y>>2]|0;le=LA(se,Fe)|0;fe=le+gi|0;ue=Le+(fe<<2)|0;MA[ue>>2]=ae}else{ce=K+gi|0;de=Le+(ce<<2)|0;MA[de>>2]=ae}ve=gi+1|0;me=(ve|0)<(Fe|0);if(me){gi=ve;Fi=Mi}else{break}}}we=si+1|0;li=we}Ee=_i+1|0;pe=(Ee|0)<(Te|0);if(pe){si=li;_i=Ee}else{o=Le;break}}return o|0}else{o=Le;return o|0}return 0|0}function Ci(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0;c=RA;r=e+36|0;i=yA[r>>2]|0;t=(i|0)==0;if(t){return}n=e+32|0;o=yA[n>>2]|0;a=(o|0)==(0|0);if(!a){Wn(o)}s=e+8|0;l=yA[s>>2]|0;f=(l|0)==(0|0);if(!f){Wn(l)}Wn(e);return}function Xr(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0;p=RA;r=e+16|0;i=yA[r>>2]|0;l=(i|0)==(0|0);if(!l){Wn(i)}f=e+20|0;u=yA[f>>2]|0;c=(u|0)==(0|0);if(!c){Wn(u)}h=e+24|0;d=yA[h>>2]|0;v=(d|0)==(0|0);if(!v){Wn(d)}m=e+28|0;t=yA[m>>2]|0;n=(t|0)==(0|0);if(!n){Wn(t)}o=e+32|0;a=yA[o>>2]|0;s=(a|0)==(0|0);if(!s){Wn(a)}w=e;_=w+56|0;do{yA[w>>2]=0|0;w=w+4|0}while((w|0)<(_|0));return}function xi(e,r){e=e|0;r=r|0;var i=0.0,t=0.0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0.0,h=0.0,d=0.0,v=0.0,m=0.0,w=0.0,E=0.0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0.0,D=0,B=0,P=0,C=0.0,I=0,x=0.0,H=0.0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0.0,Y=0,X=0,K=0,Z=0.0,J=0,Q=0,$=0.0,ee=0.0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0.0,de=0.0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0;be=RA;pe=e;Se=pe+56|0;do{yA[pe>>2]=0|0;pe=pe+4|0}while((pe|0)<(Se|0));a=e+12|0;yA[a>>2]=r;s=r+4|0;p=yA[s>>2]|0;R=e+4|0;yA[R>>2]=p;U=e+8|0;yA[U>>2]=p;J=yA[r>>2]|0;yA[e>>2]=J;te=r+8|0;ne=yA[te>>2]|0;oe=Mn(ne,p,0)|0;ae=e+20|0;yA[ae>>2]=oe;l=yA[s>>2]|0;f=yA[r>>2]|0;u=(f|0)>0;if(!u){while(1){}}c=+(l|0);h=c;d=+(f|0);v=1.0/d;m=v;w=+Ii(+h,+m);E=+Hs(+w);_=~~E;we=_;while(1){O=we+1|0;se=1;le=1;ue=0;while(1){g=LA(se,we)|0;A=LA(le,O)|0;y=ue+1|0;fe=(y|0)==(f|0);if(fe){n=g;o=A;break}else{se=g;le=A;ue=y}}b=(n|0)<=(l|0);S=(o|0)>(l|0);ce=S&b;if(ce){Ee=we;break}k=(n|0)>(l|0);me=k?-1:1;ve=me+we|0;we=ve}M=e+44|0;yA[M>>2]=Ee;F=r+16|0;L=yA[F>>2]|0;N=L&2097151;T=+(N|0);D=L>>>21;B=D&1023;P=(L|0)<0;C=-T;i=P?C:T;I=B+-788|0;x=+Vi(i,I);H=x;he=+ui(H);z=~~he;V=e+48|0;yA[V>>2]=z;q=r+20|0;G=yA[q>>2]|0;W=G&2097151;j=+(W|0);Y=G>>>21;X=Y&1023;K=(G|0)<0;Z=-j;t=K?Z:j;Q=X+-788|0;$=+Vi(t,Q);ee=$;de=+ui(ee);re=~~de;ie=e+52|0;yA[ie>>2]=re;return 0}function Ui(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0;var Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0;var vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0;var Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0;var ei=0,ri=0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0;var bi=0,Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0;var Ui=0,zi=0,Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0;var at=0,st=0,lt=0,ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0,Ot=0;var yt=0,Mt=0,Ft=0,Rt=0,Lt=0,Nt=0,Tt=0,Dt=0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0,zt=0,Vt=0,qt=0,Gt=0,Wt=0;var jt=0,Yt=0,Xt=0,Kt=0,Zt=0,Jt=0,Qt=0,$t=0,en=0,rn=0,tn=0,nn=0,on=0,an=0,sn=0,ln=0,fn=0,un=0,cn=0,hn=0;var dn=0,vn=0,mn=0,wn=0,En=0,pn=0,_n=0,bn=0,Sn=0,kn=0,gn=0;kn=RA;bn=e;gn=bn+56|0;do{yA[bn>>2]=0|0;bn=bn+4|0}while((bn|0)<(gn|0));h=r+4|0;d=yA[h>>2]|0;wr=(d|0)>0;if(wr){di=r+8|0;Ai=yA[di>>2]|0;Wt=0;sn=0;while(1){Pi=Ai+Wt|0;ji=An[Pi>>0]|0;tt=ji<<24>>24>0;vt=tt&1;l=vt+sn|0;Ot=Wt+1|0;v=(Ot|0)<(d|0);if(v){Wt=Ot;sn=l}else{Y=l;break}}}else{Y=0}O=e+4|0;yA[O>>2]=d;C=e+8|0;yA[C>>2]=Y;ne=yA[r>>2]|0;yA[e>>2]=ne;me=(Y|0)>0;if(!me){t=0;RA=kn;return t|0}ye=r+8|0;Ie=yA[ye>>2]|0;Xe=Mn(Ie,d,Y)|0;or=Y<<2;o=or;Er=RA;RA=RA+((1*o|0)+15&-16)|0;Fr=(Xe|0)==(0|0);if(Fr){zr=e+16|0;Vr=yA[zr>>2]|0;qr=(Vr|0)==(0|0);if(!qr){Wn(Vr)}Gr=e+20|0;Wr=yA[Gr>>2]|0;jr=(Wr|0)==(0|0);if(!jr){Wn(Wr)}Yr=e+24|0;Xr=yA[Yr>>2]|0;Kr=(Xr|0)==(0|0);if(!Kr){Wn(Xr)}Jr=e+28|0;Qr=yA[Jr>>2]|0;$r=(Qr|0)==(0|0);if(!$r){Wn(Qr)}ei=e+32|0;ri=yA[ei>>2]|0;ii=(ri|0)==(0|0);if(!ii){Wn(ri)}bn=e;gn=bn+56|0;do{yA[bn>>2]=0|0;bn=bn+4|0}while((bn|0)<(gn|0));t=-1;RA=kn;return t|0}else{jt=0}while(1){Hr=Xe+(jt<<2)|0;Zr=yA[Hr>>2]|0;si=Zr>>>16;li=Zr<<16;fi=si|li;ui=fi>>>8;ci=ui&16711935;hi=fi<<8;vi=hi&-16711936;mi=ci|vi;wi=mi>>>4;Ei=wi&252645135;pi=mi<<4;_i=pi&-252645136;bi=Ei|_i;Si=bi>>>2;ki=Si&858993459;gi=bi<<2;Oi=gi&-858993460;yi=ki|Oi;Mi=yi>>>1;Fi=Mi&1431655765;Ri=yi<<1;Li=Ri&-1431655766;Ni=Fi|Li;yA[Hr>>2]=Ni;Ti=Er+(jt<<2)|0;yA[Ti>>2]=Hr;Di=jt+1|0;Ht=(Di|0)==(Y|0);if(Ht){break}else{jt=Di}}Rn(Er,Y,4,10);a=or;Bi=RA;RA=RA+((1*a|0)+15&-16)|0;Ci=DA(or)|0;Ii=e+20|0;yA[Ii>>2]=Ci;xi=Xe;Yt=0;while(1){Hi=Er+(Yt<<2)|0;Ui=yA[Hi>>2]|0;zi=Ui;Vi=zi-xi|0;qi=Vi>>2;Gi=Bi+(qi<<2)|0;yA[Gi>>2]=Yt;Wi=Yt+1|0;xt=(Wi|0)==(Y|0);if(xt){Xt=0;break}else{Yt=Wi}}while(1){Yi=Xe+(Xt<<2)|0;Xi=yA[Yi>>2]|0;Ki=Bi+(Xt<<2)|0;Zi=yA[Ki>>2]|0;Ji=Ci+(Zi<<2)|0;yA[Ji>>2]=Xi;Qi=Xt+1|0;It=(Qi|0)==(Y|0);if(It){break}else{Xt=Qi}}Wn(Xe);$i=Fn(r,Y,Bi)|0;et=e+16|0;yA[et>>2]=$i;rt=DA(or)|0;it=e+24|0;yA[it>>2]=rt;nt=yA[h>>2]|0;ot=(nt|0)>0;if(ot){f=yA[ye>>2]|0;Kt=0;fn=0;while(1){at=f+Kt|0;st=An[at>>0]|0;lt=st<<24>>24>0;if(lt){ft=fn+1|0;ut=Bi+(fn<<2)|0;ct=yA[ut>>2]|0;ht=rt+(ct<<2)|0;yA[ht>>2]=Kt;un=ft}else{un=fn}dt=Kt+1|0;mt=(dt|0)<(nt|0);if(mt){Kt=dt;fn=un}else{ln=un;break}}}else{ln=0}wt=DA(ln)|0;Et=e+28|0;yA[Et>>2]=wt;pt=e+40|0;yA[pt>>2]=0;if(ot){u=yA[ye>>2]|0;ti=0;bt=u;Zt=0;hn=0;while(1){_t=bt+Zt|0;St=An[_t>>0]|0;kt=St<<24>>24>0;if(kt){gt=hn+1|0;At=Bi+(hn<<2)|0;yt=yA[At>>2]|0;Mt=yA[Et>>2]|0;Ft=Mt+yt|0;An[Ft>>0]=St;Rt=yA[ye>>2]|0;Lt=Rt+Zt|0;Nt=An[Lt>>0]|0;Tt=Nt<<24>>24;Dt=yA[pt>>2]|0;Bt=(Tt|0)>(Dt|0);if(Bt){yA[pt>>2]=Tt;ni=Tt;oi=Rt;dn=gt}else{ni=Dt;oi=Rt;dn=gt}}else{ni=ti;oi=bt;dn=hn}Pt=Zt+1|0;m=yA[h>>2]|0;w=(Pt|0)<(m|0);if(w){ti=ni;bt=oi;Zt=Pt;hn=dn}else{s=ni;vn=dn;break}}E=(vn|0)==1;if(E){p=(s|0)==1;if(p){_=e+36|0;yA[_>>2]=1;b=BA(2,4)|0;S=e+32|0;yA[S>>2]=b;k=b+4|0;yA[k>>2]=1;yA[b>>2]=1;t=0;RA=kn;return t|0}else{cn=1}}else{cn=vn}}else{cn=0}g=yA[C>>2]|0;A=(g|0)==0;if(A){wn=-4}else{n=g;En=0;while(1){y=n>>>1;M=En+1|0;F=(y|0)==0;if(F){pn=En;break}else{n=y;En=M}}mn=pn+-3|0;wn=mn}R=e+36|0;L=(wn|0)<5;i=L?5:wn;N=(i|0)>8;_n=N?8:i;yA[R>>2]=_n;T=1<<_n;D=BA(T,4)|0;B=e+32|0;yA[B>>2]=D;P=(cn|0)>0;if(P){z=_n;Jt=0;while(1){I=yA[Et>>2]|0;x=I+Jt|0;H=An[x>>0]|0;U=H<<24>>24;V=(z|0)<(U|0);if(V){ai=z}else{q=yA[Ii>>2]|0;G=q+(Jt<<2)|0;W=yA[G>>2]|0;j=W>>>16;X=W<<16;K=j|X;Z=K>>>8;J=Z&16711935;Q=K<<8;$=Q&-16711936;ee=J|$;re=ee>>>4;ie=re&252645135;te=ee<<4;oe=te&-252645136;ae=ie|oe;se=ae>>>2;le=se&858993459;fe=ae<<2;ue=fe&-858993460;ce=le|ue;he=ce>>>1;de=he&1431655765;ve=ce<<1;we=ve&-1431655766;Ee=de|we;pe=z-U|0;_e=(pe|0)==31;if(_e){ai=z}else{be=Jt+1|0;ke=U;$t=0;while(1){Se=$t<>2]=be;Oe=$t+1|0;Me=yA[R>>2]|0;Fe=An[x>>0]|0;Re=Fe<<24>>24;Le=Me-Re|0;Ne=1<>>16;qe=ze<<16;Ge=Ve|qe;We=Ge>>>8;je=We&16711935;Ye=Ge<<8;Ke=Ye&-16711936;Ze=je|Ke;Je=Ze>>>4;Qe=Je&252645135;$e=Ze<<4;er=$e&-252645136;rr=Qe|er;ir=rr>>>2;tr=ir&858993459;nr=rr<<2;ar=nr&-858993460;sr=tr|ar;lr=sr>>>1;fr=lr&1431655765;ur=sr<<1;cr=ur&-1431655766;hr=fr|cr;dr=D+(hr<<2)|0;vr=yA[dr>>2]|0;mr=(vr|0)==0;if(mr){rn=en;while(1){pr=rn+1|0;_r=(pr|0)<(cn|0);if(!_r){tn=rn;break}br=yA[Ii>>2]|0;Sr=br+(pr<<2)|0;kr=yA[Sr>>2]|0;gr=kr>>>0>ze>>>0;if(gr){tn=rn;break}else{rn=pr}}Ar=(cn|0)>(Ut|0);e:do{if(Ar){Or=yA[Ii>>2]|0;Vt=Ut;while(1){yr=Or+(Vt<<2)|0;Mr=yA[yr>>2]|0;Rr=Mr&Ce;Lr=ze>>>0>>0;if(Lr){zt=Vt;break e}Nr=Vt+1|0;Tr=(cn|0)>(Nr|0);if(Tr){Vt=Nr}else{zt=Nr;break}}}else{zt=Ut}}while(0);Dr=cn-zt|0;Br=tn>>>0>32767;Pr=Dr>>>0>32767;Gt=Pr?32767:Dr;nn=tn<<15;on=nn|-2147483648;Cr=Br?-1073774592:on;Ir=Cr|Gt;yA[dr>>2]=Ir;qt=zt;an=tn}else{qt=Ut;an=en}xr=Qt+1|0;Ur=(xr|0)<(T|0);if(!Ur){t=0;break}c=yA[R>>2]|0;Ue=c;Ut=qt;Qt=xr;en=an}RA=kn;return t|0}function Kr(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0;h=RA;i=yA[e>>2]|0;t=yA[i>>2]|0;n=yA[r>>2]|0;o=yA[n>>2]|0;a=t>>>0>o>>>0;s=a&1;l=t>>>0>>0;f=l&1;u=s-f|0;return u|0}function sc(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0;ne=RA;f=yA[e>>2]|0;u=(f|0)==1;if(u){return}S=e+4|0;T=yA[S>>2]|0;U=e+8|0;z=yA[U>>2]|0;V=z+4|0;q=yA[V>>2]|0;G=(q|0)>0;if(!G){return}W=q+1|0;l=f+-1|0;K=f;Z=0;J=f;$=1;while(1){c=W-Z|0;h=z+(c<<2)|0;d=yA[h>>2]|0;v=(J|0)/(d|0)&-1;m=(f|0)/(J|0)&-1;w=LA(m,v)|0;E=d+-1|0;p=LA(m,E)|0;_=K-p|0;b=1-$|0;do{if((d|0)==2){M=(b|0)==0;i=l+_|0;F=T+(i<<2)|0;if(M){Qr(m,v,r,T,F);ee=0;break}else{Qr(m,v,T,r,F);ee=b;break}}else if((d|0)==4){k=_+m|0;g=(b|0)==0;t=l+_|0;A=T+(t<<2)|0;n=l+k|0;O=T+(n<<2)|0;o=l+m|0;a=o+k|0;y=T+(a<<2)|0;if(g){Jr(m,v,r,T,A,O,y);ee=0;break}else{Jr(m,v,T,r,A,O,y);ee=b;break}}else{R=(m|0)==1;Q=R?$:b;L=(Q|0)==0;s=l+_|0;N=T+(s<<2)|0;if(L){$r(m,d,v,w,r,r,r,T,T,N);ee=1;break}else{$r(m,d,v,w,T,T,T,r,r,N);ee=0;break}}}while(0);D=Z+1|0;Y=(D|0)==(q|0);if(Y){re=ee;break}else{K=_;Z=D;J=v;$=ee}}B=(re|0)!=1;P=(f|0)>0;ie=P&B;if(ie){X=0}else{return}while(1){C=T+(X<<2)|0;I=yA[C>>2]|0;x=r+(X<<2)|0;yA[x>>2]=I;H=X+1|0;j=(H|0)==(f|0);if(j){break}else{X=H}}return}function zi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0.0,R=0,L=0.0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0.0,G=0.0,W=0.0,j=0.0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0.0,fe=0,ue=0,ce=0,he=0.0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0.0,Ce=0,Ie=0;Ie=RA;yA[e>>2]=r;a=r*3|0;s=BA(a,4)|0;p=e+4|0;yA[p>>2]=s;R=BA(32,4)|0;U=e+8|0;yA[U>>2]=R;J=(r|0)==1;if(J){return}ne=R+8|0;ge=-1;Fe=0;Re=r;Ne=0;e:while(1){oe=ge+1|0;ae=(oe|0)<4;if(ae){se=25768+(oe<<2)|0;l=yA[se>>2]|0;Te=l}else{f=Ne+2|0;Te=f}u=(Te|0)!=2;pe=Fe;Le=Re;while(1){we=pe+1|0;c=(Le|0)/(Te|0)&-1;h=LA(c,Te)|0;d=(Le|0)==(h|0);if(!d){ge=oe;Fe=pe;Re=Le;Ne=Te;continue e}v=pe+2|0;m=R+(v<<2)|0;yA[m>>2]=Te;w=(pe|0)==0;De=u|w;if(!De){E=(pe|0)<1;if(!E){de=1;while(1){_=we-de|0;b=_+1|0;S=R+(b<<2)|0;k=yA[S>>2]|0;g=_+2|0;A=R+(g<<2)|0;yA[A>>2]=k;O=de+1|0;ce=(O|0)==(we|0);if(ce){break}else{de=O}}}yA[ne>>2]=2}y=(c|0)==1;if(y){i=w;Ee=we;_e=pe;break e}else{pe=we;Le=c}}}yA[R>>2]=r;M=R+4|0;yA[M>>2]=Ee;F=+(r|0);L=6.2831854820251465/F;t=i^1;N=(_e|0)>0;Be=N&t;if(!Be){return}T=r+1|0;be=0;Oe=0;ye=1;while(1){D=Oe+2|0;B=R+(D<<2)|0;P=yA[B>>2]|0;C=LA(P,ye)|0;I=(r|0)/(C|0)&-1;x=(P|0)>1;if(x){H=(I|0)>2;z=P+-1|0;ke=be;Ae=0;Me=0;while(1){V=Me+ye|0;q=+(V|0);G=q*L;if(H){he=0.0;ve=ke;me=2;while(1){W=he+1.0;j=G*W;le=+ef(+j);n=ve+r|0;Y=s+(n<<2)|0;MA[Y>>2]=le;Pe=+rf(+j);X=ve+2|0;o=T+ve|0;K=s+(o<<2)|0;MA[K>>2]=Pe;Z=me+2|0;Q=(Z|0)<(I|0);if(Q){he=W;ve=X;me=Z}else{break}}}$=ke+I|0;ee=Ae+1|0;fe=(ee|0)==(z|0);if(fe){break}else{ke=$;Ae=ee;Me=V}}re=LA(I,z)|0;ie=re+be|0;Se=ie}else{Se=be}te=Oe+1|0;ue=(te|0)==(_e|0);if(ue){break}else{be=Se;Oe=te;ye=C}}return}function Zr(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0;f=RA;r=(e|0)==(0|0);if(r){return}i=e+4|0;t=yA[i>>2]|0;n=(t|0)==(0|0);if(!n){Wn(t)}o=e+8|0;a=yA[o>>2]|0;s=(a|0)==(0|0);if(!s){Wn(a)}yA[e>>2]=0|0;yA[e+4>>2]=0|0;yA[e+8>>2]=0|0;return}function Jr(e,r,i,t,n,o,a){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;a=a|0;var s=0,l=0,f=0.0,u=0,c=0.0,h=0.0,d=0.0,v=0,m=0,w=0.0,E=0.0,p=0.0,_=0.0,b=0.0,S=0,k=0,g=0.0,A=0,O=0.0,y=0;var M=0,F=0.0,R=0,L=0.0,N=0,T=0,D=0,B=0,P=0.0,C=0,I=0.0,x=0,H=0,U=0,z=0.0,V=0.0,q=0,G=0,W=0,j=0;var Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0.0,ne=0,oe=0.0,ae=0.0,se=0.0,le=0.0,fe=0.0,ue=0.0,ce=0,he=0;var de=0.0,ve=0.0,me=0,we=0,Ee=0.0,pe=0.0,_e=0,be=0,Se=0.0,ke=0,ge=0,Ae=0,Oe=0.0,ye=0.0,Me=0,Fe=0.0,Re=0.0,Le=0,Ne=0,Te=0.0;var De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0.0,ze=0,Ve=0,qe=0.0,Ge=0.0,We=0.0,je=0,Ye=0,Xe=0,Ke=0.0,Ze=0,Je=0.0,Qe=0.0;var $e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0,mr=0,wr=0,Er=0.0,pr=0;var _r=0,br=0,Sr=0.0,kr=0.0,gr=0,Ar=0,Or=0.0,yr=0,Mr=0.0,Fr=0.0,Rr=0,Lr=0.0,Nr=0.0,Tr=0.0,Dr=0.0,Br=0,Pr=0,Cr=0.0,Ir=0,xr=0;var Hr=0.0,Ur=0,zr=0.0,Vr=0,qr=0.0,Gr=0,Wr=0.0,jr=0.0,Yr=0.0,Xr=0.0,Kr=0.0,Zr=0.0,Jr=0.0,Qr=0,$r=0,ei=0.0,ri=0,ii=0,ti=0.0,ni=0.0;var oi=0,ai=0.0,si=0,li=0,fi=0.0,ui=0.0,ci=0.0,hi=0.0,di=0.0,vi=0.0,mi=0.0,wi=0.0,Ei=0.0,pi=0.0,_i=0,bi=0,Si=0,ki=0,gi=0,Ai=0;var Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0;Hi=RA;s=LA(r,e)|0;l=s<<1;He=(r|0)>0;if(He){Ze=s*3|0;sr=e<<2;pr=sr+-1|0;Rr=e<<1;gi=0;yi=s;Ri=Ze;Ti=0;Di=l;while(1){Ur=i+(yi<<2)|0;Jr=+MA[Ur>>2];li=i+(Ri<<2)|0;f=+MA[li>>2];b=f+Jr;N=i+(Ti<<2)|0;V=+MA[N>>2];$=i+(Di<<2)|0;ue=+MA[$>>2];Se=ue+V;Te=Se+b;Ie=Ti<<2;xe=t+(Ie<<2)|0;MA[xe>>2]=Te;Ue=Se-b;ze=pr+Ie|0;Ve=t+(ze<<2)|0;MA[Ve>>2]=Ue;qe=+MA[N>>2];Ge=+MA[$>>2];We=qe-Ge;je=Ie+Rr|0;Ye=je+-1|0;Xe=t+(Ye<<2)|0;MA[Xe>>2]=We;Ke=+MA[li>>2];Je=+MA[Ur>>2];Qe=Ke-Je;$e=t+(je<<2)|0;MA[$e>>2]=Qe;er=yi+e|0;rr=Ri+e|0;ir=Ti+e|0;tr=Di+e|0;nr=gi+1|0;bi=(nr|0)==(r|0);if(bi){break}else{gi=nr;yi=er;Ri=rr;Ti=ir;Di=tr}}}or=(e|0)<2;if(or){return}ar=(e|0)==2;if(!ar){if(He){lr=e<<1;Ai=0;Mi=0;while(1){j=Mi<<2;Y=j+lr|0;ki=2;Li=Mi;Bi=j;Ci=Y;while(1){cr=Li+2|0;hr=Bi+2|0;dr=Ci+-2|0;vr=cr+s|0;mr=ki+-2|0;wr=n+(mr<<2)|0;Er=+MA[wr>>2];_r=vr+-1|0;br=i+(_r<<2)|0;Sr=+MA[br>>2];kr=Sr*Er;gr=ki+-1|0;Ar=n+(gr<<2)|0;Or=+MA[Ar>>2];yr=i+(vr<<2)|0;Mr=+MA[yr>>2];Fr=Mr*Or;Lr=Fr+kr;Nr=Mr*Er;Tr=Or*Sr;Dr=Nr-Tr;Br=vr+s|0;Pr=o+(mr<<2)|0;Cr=+MA[Pr>>2];Ir=Br+-1|0;xr=i+(Ir<<2)|0;Hr=+MA[xr>>2];zr=Hr*Cr;Vr=o+(gr<<2)|0;qr=+MA[Vr>>2];Gr=i+(Br<<2)|0;Wr=+MA[Gr>>2];jr=Wr*qr;Yr=jr+zr;Xr=Wr*Cr;Kr=qr*Hr;Zr=Xr-Kr;Qr=Br+s|0;$r=a+(mr<<2)|0;ei=+MA[$r>>2];ri=Qr+-1|0;ii=i+(ri<<2)|0;ti=+MA[ii>>2];ni=ti*ei;oi=a+(gr<<2)|0;ai=+MA[oi>>2];si=i+(Qr<<2)|0;fi=+MA[si>>2];ui=fi*ai;ci=ui+ni;hi=fi*ei;di=ai*ti;vi=hi-di;mi=ci+Lr;wi=ci-Lr;Ei=vi+Dr;pi=Dr-vi;u=i+(cr<<2)|0;c=+MA[u>>2];h=c+Zr;d=c-Zr;v=Li+1|0;m=i+(v<<2)|0;w=+MA[m>>2];E=w+Yr;p=w-Yr;_=mi+E;S=Bi|1;k=t+(S<<2)|0;MA[k>>2]=_;g=Ei+h;A=t+(hr<<2)|0;MA[A>>2]=g;O=p-pi;y=Ci+-3|0;M=t+(y<<2)|0;MA[M>>2]=O;F=wi-d;R=t+(dr<<2)|0;MA[R>>2]=F;L=pi+p;T=hr+lr|0;D=T+-1|0;B=t+(D<<2)|0;MA[B>>2]=L;P=wi+d;C=t+(T<<2)|0;MA[C>>2]=P;I=E-mi;x=dr+lr|0;H=x+-1|0;U=t+(H<<2)|0;MA[U>>2]=I;z=Ei-h;q=t+(x<<2)|0;MA[q>>2]=z;G=ki+2|0;W=(G|0)<(e|0);if(W){ki=G;Li=cr;Bi=hr;Ci=dr}else{break}}fr=Mi+e|0;ur=Ai+1|0;Si=(ur|0)==(r|0);if(Si){break}else{Ai=ur;Mi=fr}}}X=e&1;K=(X|0)==0;if(!K){return}}Z=e+-1|0;J=Z+s|0;Q=e<<2;ee=e<<1;if(!He){return}re=J+l|0;Oi=0;Fi=J;Ni=re;Pi=e;Ii=e;while(1){ie=i+(Fi<<2)|0;te=+MA[ie>>2];ne=i+(Ni<<2)|0;oe=+MA[ne>>2];ae=oe+te;se=ae*-0.70710676908493042;le=te-oe;fe=le*0.70710676908493042;ce=Ii+-1|0;he=i+(ce<<2)|0;de=+MA[he>>2];ve=fe+de;me=Pi+-1|0;we=t+(me<<2)|0;MA[we>>2]=ve;Ee=+MA[he>>2];pe=Ee-fe;_e=Pi+ee|0;be=_e+-1|0;ke=t+(be<<2)|0;MA[ke>>2]=pe;ge=Fi+s|0;Ae=i+(ge<<2)|0;Oe=+MA[Ae>>2];ye=se-Oe;Me=t+(Pi<<2)|0;MA[Me>>2]=ye;Fe=+MA[Ae>>2];Re=Fe+se;Le=t+(_e<<2)|0;MA[Le>>2]=Re;Ne=Fi+e|0;De=Ni+e|0;Be=Pi+Q|0;Pe=Ii+e|0;Ce=Oi+1|0;_i=(Ce|0)==(r|0);if(_i){break}else{Oi=Ce;Fi=Ne;Ni=De;Pi=Be;Ii=Pe}}return}function Qr(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0.0,f=0.0,u=0.0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0;var O=0,y=0,M=0,F=0,R=0.0,L=0,N=0,T=0.0,D=0.0,B=0,P=0,C=0.0,I=0,x=0.0,H=0,U=0.0,z=0.0,V=0.0,q=0.0,G=0.0;var W=0,j=0.0,Y=0.0,X=0,K=0.0,Z=0.0,J=0.0,Q=0,$=0,ee=0,re=0.0,ie=0.0,te=0,ne=0,oe=0.0,ae=0.0,se=0,le=0,fe=0,ue=0;var ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0.0,_e=0,be=0.0,Se=0.0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0.0,Le=0;var Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0,Ze=0;var Je=0,Qe=0;Qe=RA;o=LA(r,e)|0;a=e<<1;E=(r|0)>0;if(E){F=a+-1|0;Ie=0;Ue=0;qe=o;while(1){H=i+(Ue<<2)|0;Z=+MA[H>>2];se=i+(qe<<2)|0;pe=+MA[se>>2];Re=pe+Z;Te=Ue<<1;s=t+(Te<<2)|0;MA[s>>2]=Re;l=+MA[H>>2];f=+MA[se>>2];u=l-f;c=F+Te|0;h=t+(c<<2)|0;MA[h>>2]=u;d=Ue+e|0;v=qe+e|0;m=Ie+1|0;Be=(m|0)==(r|0);if(Be){break}else{Ie=m;Ue=d;qe=v}}}w=(e|0)<2;if(w){return}p=(e|0)==2;if(!p){if(E){xe=0;ze=0;Ge=o;while(1){he=ze<<1;de=he+a|0;Ce=2;je=Ge;Xe=de;Ke=ze;Ze=he;while(1){k=je+2|0;g=Xe+-2|0;A=Ke+2|0;O=Ze+2|0;y=Ce+-2|0;M=n+(y<<2)|0;R=+MA[M>>2];L=je+1|0;N=i+(L<<2)|0;T=+MA[N>>2];D=T*R;B=Ce+-1|0;P=n+(B<<2)|0;C=+MA[P>>2];I=i+(k<<2)|0;x=+MA[I>>2];U=x*C;z=U+D;V=x*R;q=C*T;G=V-q;W=i+(A<<2)|0;j=+MA[W>>2];Y=G+j;X=t+(O<<2)|0;MA[X>>2]=Y;K=+MA[W>>2];J=G-K;Q=t+(g<<2)|0;MA[Q>>2]=J;$=Ke+1|0;ee=i+($<<2)|0;re=+MA[ee>>2];ie=re+z;te=Ze|1;ne=t+(te<<2)|0;MA[ne>>2]=ie;oe=+MA[ee>>2];ae=oe-z;le=Xe+-3|0;fe=t+(le<<2)|0;MA[fe>>2]=ae;ue=Ce+2|0;ce=(ue|0)<(e|0);if(ce){Ce=ue;je=k;Xe=g;Ke=A;Ze=O}else{break}}_=ze+e|0;b=Ge+e|0;S=xe+1|0;Pe=(S|0)==(r|0);if(Pe){break}else{xe=S;ze=_;Ge=b}}}ve=(e|0)%2&-1;me=(ve|0)==1;if(me){return}}we=e+-1|0;if(!E){return}Ee=o+we|0;He=0;Ve=e;We=Ee;Ye=we;while(1){_e=i+(We<<2)|0;be=+MA[_e>>2];Se=-be;ke=t+(Ve<<2)|0;MA[ke>>2]=Se;ge=i+(Ye<<2)|0;Ae=yA[ge>>2]|0;Oe=Ve+-1|0;ye=t+(Oe<<2)|0;yA[ye>>2]=Ae;Me=Ve+a|0;Fe=We+e|0;Le=Ye+e|0;Ne=He+1|0;De=(Ne|0)==(r|0);if(De){break}else{He=Ne;Ve=Me;We=Fe;Ye=Le}}return}function $r(e,r,i,t,n,o,a,s,l,f){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;a=a|0;s=s|0;l=l|0;f=f|0;var u=0,c=0,h=0.0,d=0.0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0.0,R=0;var L=0,N=0.0,T=0.0,D=0,B=0,P=0.0,C=0,I=0,x=0.0,H=0.0,U=0,z=0.0,V=0.0,q=0.0,G=0,W=0.0,j=0.0,Y=0,X=0.0,K=0;var Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0.0,le=0,fe=0,ue=0.0,ce=0.0,he=0,de=0,ve=0.0,me=0;var we=0,Ee=0.0,pe=0.0,_e=0,be=0.0,Se=0.0,ke=0.0,ge=0,Ae=0.0,Oe=0.0,ye=0,Me=0.0,Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0;var Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0,Ze=0,Je=0.0,Qe=0,$e=0.0,er=0.0,rr=0;var ir=0.0,tr=0.0,nr=0.0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0.0,mr=0.0,wr=0,Er=0,pr=0.0,_r=0.0,br=0.0,Sr=0.0;var kr=0,gr=0.0,Ar=0,Or=0,yr=0.0,Mr=0.0,Fr=0,Rr=0.0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0.0,Pr=0.0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0;var Vr=0.0,qr=0.0,Gr=0.0,Wr=0.0,jr=0.0,Yr=0.0,Xr=0,Kr=0,Zr=0,Jr=0.0,Qr=0.0,$r=0,ei=0,ri=0.0,ii=0.0,ti=0,ni=0,oi=0.0,ai=0.0,si=0;var li=0,fi=0,ui=0.0,ci=0.0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0.0,bi=0,Si=0.0,ki=0.0,gi=0,Ai=0,Oi=0,yi=0,Mi=0;var Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0,Ui=0,zi=0,Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0;var Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0,at=0,st=0,lt=0,ft=0,ut=0,ct=0,ht=0,dt=0;var vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0,Ot=0,yt=0,Mt=0,Ft=0,Rt=0,Lt=0,Nt=0,Tt=0,Dt=0;var Bt=0.0,Pt=0,Ct=0,It=0,xt=0.0,Ht=0.0,Ut=0,zt=0,Vt=0,qt=0,Gt=0.0,Wt=0.0,jt=0.0,Yt=0,Xt=0,Kt=0,Zt=0,Jt=0.0,Qt=0,$t=0;var en=0.0,rn=0.0,tn=0,nn=0.0,on=0.0,an=0.0,sn=0,ln=0,fn=0,un=0,cn=0,hn=0,dn=0,vn=0,mn=0,wn=0,En=0,pn=0,_n=0,bn=0;var Sn=0.0,kn=0,gn=0,An=0,On=0.0,yn=0.0,Mn=0,Fn=0,Rn=0.0,Ln=0.0,Nn=0.0,Tn=0,Dn=0,Bn=0,Pn=0,Cn=0.0,In=0,xn=0.0,Hn=0.0,Un=0;var zn=0.0,Vn=0.0,qn=0.0,Gn=0,Wn=0,jn=0,Yn=0,Xn=0,Kn=0,Zn=0,Jn=0,Qn=0,$n=0,eo=0,ro=0,io=0,to=0.0,no=0,oo=0,ao=0;var so=0.0,lo=0.0,fo=0,uo=0.0,co=0,ho=0.0,vo=0.0,mo=0.0,wo=0,Eo=0,po=0.0,_o=0.0,bo=0.0,So=0.0,ko=0.0,go=0.0,Ao=0.0,Oo=0,yo=0,Mo=0;var Fo=0,Ro=0,Lo=0,No=0,To=0,Do=0,Bo=0,Po=0,Co=0,Io=0,xo=0,Ho=0,Uo=0.0,zo=0,Vo=0,qo=0.0,Go=0.0,Wo=0.0,jo=0,Yo=0.0;var Xo=0.0,Ko=0,Zo=0.0,Jo=0,Qo=0.0,$o=0.0,ea=0.0,ra=0.0,ia=0.0,ta=0.0,na=0.0,oa=0,aa=0,sa=0,la=0,fa=0,ua=0,ca=0,ha=0,da=0;var va=0,ma=0,wa=0,Ea=0.0,pa=0.0,_a=0.0,ba=0.0,Sa=0,ka=0.0,ga=0,Aa=0,Oa=0,ya=0,Ma=0,Fa=0,Ra=0,La=0,Na=0,Ta=0,Da=0;var Ba=0,Pa=0,Ca=0,Ia=0,xa=0,Ha=0,Ua=0,za=0,Va=0,qa=0,Ga=0,Wa=0,ja=0,Ya=0,Xa=0,Ka=0,Za=0,Ja=0,Qa=0,$a=0;var es=0,rs=0,is=0,ts=0,ns=0,os=0,as=0,ss=0,ls=0,fs=0,us=0,cs=0,hs=0,ds=0,vs=0,ms=0,ws=0,Es=0,ps=0,_s=0;var bs=0,Ss=0,ks=0,gs=0,As=0,Os=0,ys=0,Ms=0,Fs=0,Rs=0,Ls=0,Ns=0,Ts=0,Ds=0,Bs=0,Ps=0,Cs=0,Is=0,xs=0,Hs=0.0;var Us=0,zs=0,Vs=0,qs=0,Gs=0,Ws=0,js=0,Ys=0,Xs=0,Ks=0,Zs=0,Js=0,Qs=0,$s=0,el=0,rl=0,il=0,tl=0,nl=0,ol=0;var al=0,sl=0,ll=0,fl=0,ul=0,cl=0,hl=0,dl=0,vl=0,ml=0,wl=0,El=0,pl=0,_l=0,bl=0,Sl=0,kl=0,gl=0,Al=0,Ol=0;var yl=0,Ml=0,Fl=0,Rl=0,Ll=0,Nl=0,Tl=0,Dl=0,Bl=0,Pl=0,Cl=0,Il=0,xl=0,Hl=0,Ul=0,zl=0,Vl=0,ql=0,Gl=0,Wl=0;var jl=0,Yl=0,Xl=0,Kl=0,Zl=0,Jl=0,Ql=0,$l=0;$l=RA;h=+(r|0);d=6.2831854820251465/h;ka=+ef(+d);Hs=+rf(+d);wr=r+1|0;_t=wr>>1;no=e+-1|0;wo=no>>1;Mo=LA(i,e)|0;xo=LA(r,e)|0;Ko=(e|0)==1;e:do{if(!Ko){aa=(t|0)>0;if(aa){fs=0;while(1){Y=a+(fs<<2)|0;ne=yA[Y>>2]|0;me=l+(fs<<2)|0;yA[me>>2]=ne;ye=fs+1|0;Qa=(ye|0)==(t|0);if(Qa){break}else{fs=ye}}}O=(r|0)>1;if(O){C=(i|0)>0;ws=1;Us=0;while(1){Ie=Us+Mo|0;if(C){Ms=0;$s=Ie;while(1){Xe=o+($s<<2)|0;or=yA[Xe>>2]|0;Er=s+($s<<2)|0;yA[Er>>2]=or;Fr=$s+e|0;Hr=Ms+1|0;Za=(Hr|0)==(i|0);if(Za){break}else{Ms=Hr;$s=Fr}}}Zr=ws+1|0;Ja=(Zr|0)==(r|0);if(Ja){break}else{ws=Zr;Us=Ie}}}si=0-e|0;pi=(wo|0)>(i|0);if(pi){if(O){Ji=(i|0)>0;lt=(e|0)>2;vs=si;ps=1;qs=0;while(1){bt=qs+Mo|0;Nt=vs+e|0;if(Ji){Vt=bt-e|0;$t=Nt+-1|0;Rs=0;el=Vt;while(1){cn=el+e|0;if(lt){$a=2;ss=$t;fl=cn;while(1){kn=ss+2|0;Dn=fl+2|0;Gn=ss+1|0;ro=f+(Gn<<2)|0;to=+MA[ro>>2];oo=fl+1|0;ao=o+(oo<<2)|0;so=+MA[ao>>2];lo=so*to;fo=f+(kn<<2)|0;uo=+MA[fo>>2];co=o+(Dn<<2)|0;ho=+MA[co>>2];vo=ho*uo;mo=vo+lo;Eo=s+(oo<<2)|0;MA[Eo>>2]=mo;po=+MA[ro>>2];_o=+MA[co>>2];bo=_o*po;So=+MA[fo>>2];ko=+MA[ao>>2];go=ko*So;Ao=bo-go;Oo=s+(Dn<<2)|0;MA[Oo>>2]=Ao;yo=$a+2|0;Fo=(yo|0)<(e|0);if(Fo){$a=yo;ss=kn;fl=Dn}else{break}}}Ro=Rs+1|0;ja=(Ro|0)==(i|0);if(ja){break}else{Rs=Ro;el=cn}}}Lo=ps+1|0;Ya=(Lo|0)==(r|0);if(Ya){break}else{vs=Nt;ps=Lo;qs=bt}}}}else{if(O){Ri=(e|0)>2;Ui=(i|0)>0;ms=si;_s=1;Ws=0;while(1){No=ms+e|0;To=Ws+Mo|0;if(Ri){Do=No+-1|0;es=2;ls=Do;rl=To;while(1){Bo=ls+2|0;Po=rl+2|0;if(Ui){Co=ls+1|0;Io=f+(Co<<2)|0;Ho=f+(Bo<<2)|0;Ls=0;ul=Po;while(1){Uo=+MA[Io>>2];zo=ul+-1|0;Vo=o+(zo<<2)|0;qo=+MA[Vo>>2];Go=qo*Uo;Wo=+MA[Ho>>2];jo=o+(ul<<2)|0;Yo=+MA[jo>>2];Xo=Yo*Wo;Zo=Xo+Go;Jo=s+(zo<<2)|0;MA[Jo>>2]=Zo;Qo=+MA[Io>>2];$o=+MA[jo>>2];ea=$o*Qo;ra=+MA[Ho>>2];ia=+MA[Vo>>2];ta=ia*ra;na=ea-ta;oa=s+(ul<<2)|0;MA[oa>>2]=na;sa=ul+e|0;la=Ls+1|0;Xa=(la|0)==(i|0);if(Xa){break}else{Ls=la;ul=sa}}}fa=es+2|0;ua=(fa|0)<(e|0);if(ua){es=fa;ls=Bo;rl=Po}else{break}}}ca=_s+1|0;Ka=(ca|0)==(r|0);if(Ka){break}else{ms=No;_s=ca;Ws=To}}}}ha=LA(Mo,r)|0;da=(wo|0)<(i|0);va=(_t|0)>1;if(!da){if(!va){break}ma=(i|0)>0;wa=(e|0)>2;Ss=1;Ys=0;tl=ha;while(1){ee=Ys+Mo|0;re=tl-Mo|0;if(ma){Ts=0;hl=ee;_l=re;while(1){if(wa){is=2;Fl=hl;Pl=_l;while(1){ie=Fl+2|0;te=Pl+2|0;oe=Fl+1|0;ae=s+(oe<<2)|0;se=+MA[ae>>2];le=Pl+1|0;fe=s+(le<<2)|0;ue=+MA[fe>>2];ce=ue+se;he=o+(oe<<2)|0;MA[he>>2]=ce;de=s+(ie<<2)|0;ve=+MA[de>>2];we=s+(te<<2)|0;Ee=+MA[we>>2];pe=ve-Ee;_e=o+(le<<2)|0;MA[_e>>2]=pe;be=+MA[de>>2];Se=+MA[we>>2];ke=Se+be;ge=o+(ie<<2)|0;MA[ge>>2]=ke;Ae=+MA[fe>>2];Oe=+MA[ae>>2];Me=Ae-Oe;Fe=o+(te<<2)|0;MA[Fe>>2]=Me;Re=is+2|0;Le=(Re|0)<(e|0);if(Le){is=Re;Fl=ie;Pl=te}else{break}}}Ne=hl+e|0;Te=_l+e|0;De=Ts+1|0;Ga=(De|0)==(i|0);if(Ga){break}else{Ts=De;hl=Ne;_l=Te}}}Be=Ss+1|0;Wa=(Be|0)==(_t|0);if(Wa){break e}else{Ss=Be;Ys=ee;tl=re}}}if(va){m=(e|0)>2;w=(i|0)>0;bs=1;js=0;il=ha;while(1){E=js+Mo|0;p=il-Mo|0;if(m){rs=2;cl=E;pl=p;while(1){_=cl+2|0;b=pl+2|0;if(w){S=b-e|0;k=_-e|0;Ns=0;Ml=k;Bl=S;while(1){g=Ml+e|0;A=Bl+e|0;y=g+-1|0;M=s+(y<<2)|0;F=+MA[M>>2];R=A+-1|0;L=s+(R<<2)|0;N=+MA[L>>2];T=N+F;D=o+(y<<2)|0;MA[D>>2]=T;B=s+(g<<2)|0;P=+MA[B>>2];I=s+(A<<2)|0;x=+MA[I>>2];H=P-x;U=o+(R<<2)|0;MA[U>>2]=H;z=+MA[B>>2];V=+MA[I>>2];q=V+z;G=o+(g<<2)|0;MA[G>>2]=q;W=+MA[L>>2];j=+MA[M>>2];X=W-j;K=o+(A<<2)|0;MA[K>>2]=X;Z=Ns+1|0;Va=(Z|0)==(i|0);if(Va){break}else{Ns=Z;Ml=g;Bl=A}}}J=rs+2|0;Q=(J|0)<(e|0);if(Q){rs=J;cl=_;pl=b}else{break}}}$=bs+1|0;qa=($|0)==(_t|0);if(qa){break}else{bs=$;js=E;il=p}}}}}while(0);v=(t|0)>0;if(v){us=0;while(1){Pe=l+(us<<2)|0;Ce=yA[Pe>>2]|0;xe=a+(us<<2)|0;yA[xe>>2]=Ce;He=us+1|0;za=(He|0)==(t|0);if(za){break}else{us=He}}}Ue=LA(t,r)|0;ze=(_t|0)>1;if(ze){Ve=(i|0)>0;ks=1;Xs=0;nl=Ue;while(1){qe=Xs+Mo|0;Ge=nl-Mo|0;if(Ve){We=Ge-e|0;je=qe-e|0;Ds=0;dl=je;bl=We;while(1){Ye=dl+e|0;Ke=bl+e|0;Ze=s+(Ye<<2)|0;Je=+MA[Ze>>2];Qe=s+(Ke<<2)|0;$e=+MA[Qe>>2];er=$e+Je;rr=o+(Ye<<2)|0;MA[rr>>2]=er;ir=+MA[Qe>>2];tr=+MA[Ze>>2];nr=ir-tr;ar=o+(Ke<<2)|0;MA[ar>>2]=nr;sr=Ds+1|0;Ha=(sr|0)==(i|0);if(Ha){break}else{Ds=sr;dl=Ye;bl=Ke}}}lr=ks+1|0;Ua=(lr|0)==(_t|0);if(Ua){break}else{ks=lr;Xs=qe;nl=Ge}}fr=r+-1|0;ur=LA(fr,t)|0;if(ze){cr=(_t|0)>2;Ea=0.0;_a=1.0;xs=1;Ks=0;ol=Ue;while(1){hr=Ks+t|0;dr=ol-t|0;vr=_a*ka;mr=Ea*Hs;pr=vr-mr;_r=Ea*ka;br=_a*Hs;Sr=br+_r;if(v){cs=0;Sl=hr;Rl=dr;Cl=ur;zl=t;while(1){kr=a+(cs<<2)|0;gr=+MA[kr>>2];Ar=zl+1|0;Or=a+(zl<<2)|0;yr=+MA[Or>>2];Mr=yr*pr;Rr=Mr+gr;Lr=Sl+1|0;Nr=l+(Sl<<2)|0;MA[Nr>>2]=Rr;Tr=Cl+1|0;Dr=a+(Cl<<2)|0;Br=+MA[Dr>>2];Pr=Br*Sr;Cr=Rl+1|0;Ir=l+(Rl<<2)|0;MA[Ir>>2]=Pr;xr=cs+1|0;Pa=(xr|0)==(t|0);if(Pa){break}else{cs=xr;Sl=Lr;Rl=Cr;Cl=Tr;zl=Ar}}}if(cr){pa=Sr;ba=pr;gs=2;kl=t;Ll=ur;while(1){Ur=kl+t|0;zr=Ll-t|0;Vr=ba*pr;qr=pa*Sr;Gr=Vr-qr;Wr=pa*pr;jr=ba*Sr;Yr=jr+Wr;if(v){hs=0;Il=hr;Vl=dr;jl=Ur;Kl=zr;while(1){Xr=jl+1|0;Kr=a+(jl<<2)|0;Jr=+MA[Kr>>2];Qr=Jr*Gr;$r=Il+1|0;ei=l+(Il<<2)|0;ri=+MA[ei>>2];ii=ri+Qr;MA[ei>>2]=ii;ti=Kl+1|0;ni=a+(Kl<<2)|0;oi=+MA[ni>>2];ai=oi*Yr;li=Vl+1|0;fi=l+(Vl<<2)|0;ui=+MA[fi>>2];ci=ui+ai;MA[fi>>2]=ci;hi=hs+1|0;Ca=(hi|0)==(t|0);if(Ca){break}else{hs=hi;Il=$r;Vl=li;jl=Xr;Kl=ti}}}di=gs+1|0;Ia=(di|0)==(_t|0);if(Ia){break}else{pa=Yr;ba=Gr;gs=di;kl=Ur;Ll=zr}}}vi=xs+1|0;xa=(vi|0)==(_t|0);if(xa){break}else{Ea=Sr;_a=pr;xs=vi;Ks=hr;ol=dr}}if(ze){As=1;Zs=0;while(1){mi=Zs+t|0;if(v){ds=0;al=mi;while(1){wi=al+1|0;Ei=a+(al<<2)|0;_i=+MA[Ei>>2];bi=l+(ds<<2)|0;Si=+MA[bi>>2];ki=Si+_i;MA[bi>>2]=ki;gi=ds+1|0;Da=(gi|0)==(t|0);if(Da){break}else{ds=gi;al=wi}}}Ai=As+1|0;Ba=(Ai|0)==(_t|0);if(Ba){break}else{As=Ai;Zs=mi}}}}}Oi=(e|0)<(i|0);if(Oi){Fi=(e|0)>0;if(Fi){Li=(i|0)>0;ns=0;while(1){if(Li){Ps=0;Qs=ns;ll=ns;while(1){zi=s+(Qs<<2)|0;Vi=yA[zi>>2]|0;qi=n+(ll<<2)|0;yA[qi>>2]=Vi;Gi=Qs+e|0;Wi=ll+xo|0;ji=Ps+1|0;Ra=(ji|0)==(i|0);if(Ra){break}else{Ps=ji;Qs=Gi;ll=Wi}}}Yi=ns+1|0;La=(Yi|0)==(e|0);if(La){break}else{ns=Yi}}}}else{yi=(i|0)>0;if(yi){Mi=(e|0)>0;Bs=0;Js=0;sl=0;while(1){if(Mi){ts=0;vl=Js;gl=sl;while(1){Ni=vl+1|0;Ti=s+(vl<<2)|0;Di=yA[Ti>>2]|0;Bi=gl+1|0;Pi=n+(gl<<2)|0;yA[Pi>>2]=Di;Ci=ts+1|0;Na=(Ci|0)==(e|0);if(Na){break}else{ts=Ci;vl=Ni;gl=Bi}}}Ii=Js+e|0;xi=sl+xo|0;Hi=Bs+1|0;Ta=(Hi|0)==(i|0);if(Ta){break}else{Bs=Hi;Js=Ii;sl=xi}}}}Xi=e<<1;Ki=LA(Mo,r)|0;if(ze){Zi=(i|0)>0;Os=1;zs=0;ml=0;Al=Ki;while(1){Qi=zs+Xi|0;$i=ml+Mo|0;et=Al-Mo|0;if(Zi){Cs=0;Nl=Qi;xl=$i;ql=et;while(1){rt=s+(xl<<2)|0;it=yA[rt>>2]|0;tt=Nl+-1|0;nt=n+(tt<<2)|0;yA[nt>>2]=it;ot=s+(ql<<2)|0;at=yA[ot>>2]|0;st=n+(Nl<<2)|0;yA[st>>2]=at;ft=Nl+xo|0;ut=xl+e|0;ct=ql+e|0;ht=Cs+1|0;Ma=(ht|0)==(i|0);if(Ma){break}else{Cs=ht;Nl=ft;xl=ut;ql=ct}}}dt=Os+1|0;Fa=(dt|0)==(_t|0);if(Fa){break}else{Os=dt;zs=Qi;ml=$i;Al=et}}}if(Ko){return}vt=(wo|0)<(i|0);mt=0-e|0;if(!vt){if(!ze){return}u=(i|0)<1;c=(e|0)<3;Sa=u|c;ys=1;Vs=mt;wl=0;Ol=0;Tl=Ki;while(1){pt=Vs+Xi|0;St=wl+Xi|0;kt=Ol+Mo|0;gt=Tl-Mo|0;if(!Sa){Is=0;Hl=pt;Gl=St;Yl=kt;Zl=gt;while(1){os=2;while(1){Rt=e-os|0;Lt=os+Yl|0;Tt=Lt+-1|0;Dt=s+(Tt<<2)|0;Bt=+MA[Dt>>2];Pt=os+Zl|0;Ct=Pt+-1|0;It=s+(Ct<<2)|0;xt=+MA[It>>2];Ht=xt+Bt;Ut=os+Gl|0;zt=Ut+-1|0;qt=n+(zt<<2)|0;MA[qt>>2]=Ht;Gt=+MA[Dt>>2];Wt=+MA[It>>2];jt=Gt-Wt;Yt=Rt+Hl|0;Xt=Yt+-1|0;Kt=n+(Xt<<2)|0;MA[Kt>>2]=jt;Zt=s+(Lt<<2)|0;Jt=+MA[Zt>>2];Qt=s+(Pt<<2)|0;en=+MA[Qt>>2];rn=en+Jt;tn=n+(Ut<<2)|0;MA[tn>>2]=rn;nn=+MA[Qt>>2];on=+MA[Zt>>2];an=nn-on;sn=n+(Yt<<2)|0;MA[sn>>2]=an;ln=os+2|0;fn=(ln|0)<(e|0);if(fn){os=ln}else{break}}At=Hl+xo|0;Ot=Gl+xo|0;yt=Yl+e|0;Mt=Zl+e|0;Ft=Is+1|0;Oa=(Ft|0)==(i|0);if(Oa){break}else{Is=Ft;Hl=At;Gl=Ot;Yl=yt;Zl=Mt}}}un=ys+1|0;ya=(un|0)==(_t|0);if(ya){break}else{ys=un;Vs=pt;wl=St;Ol=kt;Tl=gt}}return}if(!ze){return}wt=(e|0)>2;Et=(i|0)>0;Es=1;Gs=mt;El=0;yl=0;Dl=Ki;while(1){hn=Gs+Xi|0;dn=El+Xi|0;vn=yl+Mo|0;mn=Dl-Mo|0;if(wt){wn=hn+e|0;if(Et){as=2;while(1){Jn=as+mn|0;Qn=as+vn|0;$n=as+dn|0;eo=wn-as|0;Fs=0;Ul=eo;Wl=$n;Xl=Qn;Jl=Jn;while(1){_n=Xl+-1|0;bn=s+(_n<<2)|0;Sn=+MA[bn>>2];gn=Jl+-1|0;An=s+(gn<<2)|0;On=+MA[An>>2];yn=On+Sn;Mn=Wl+-1|0;Fn=n+(Mn<<2)|0;MA[Fn>>2]=yn;Rn=+MA[bn>>2];Ln=+MA[An>>2];Nn=Rn-Ln;Tn=Ul+-1|0;Bn=n+(Tn<<2)|0;MA[Bn>>2]=Nn;Pn=s+(Xl<<2)|0;Cn=+MA[Pn>>2];In=s+(Jl<<2)|0;xn=+MA[In>>2];Hn=xn+Cn;Un=n+(Wl<<2)|0;MA[Un>>2]=Hn;zn=+MA[In>>2];Vn=+MA[Pn>>2];qn=zn-Vn;Wn=n+(Ul<<2)|0;MA[Wn>>2]=qn;jn=Ul+xo|0;Yn=Wl+xo|0;Xn=Xl+e|0;Kn=Jl+e|0;Zn=Fs+1|0;ga=(Zn|0)==(i|0);if(ga){break}else{Fs=Zn;Ul=jn;Wl=Yn;Xl=Xn;Jl=Kn}}En=as+2|0;pn=(En|0)<(e|0);if(pn){as=En}else{break}}}}io=Es+1|0;Aa=(io|0)==(_t|0);if(Aa){break}else{Es=io;Gs=hn;El=dn;yl=vn;Dl=mn}}return}function ei(e){e=e|0;var r=0,i=0,t=0.0,n=0.0,o=0.0,a=0.0,s=0.0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0.0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0;var se=0,le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0.0,Oe=0.0,ye=0.0;var Me=0,Fe=0.0,Re=0,Le=0.0,Ne=0.0,Te=0.0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0.0,Ve=0.0,qe=0,Ge=0.0,We=0.0,je=0.0;var Ye=0,Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0.0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0;var dr=0,vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0;var Dr=0,Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0.0,Jr=0,Qr=0;var $r=0,ei=0,ri=0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0;var _i=0.0,bi=0,Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0.0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0;var Hi=0,Ui=0,zi=0,Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0;var ot=0,at=0,st=0,lt=0,ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0.0,St=0,kt=0,gt=0,At=0;var Ot=0,yt=0,Mt=0,Ft=0,Rt=0,Lt=0,Nt=0,Tt=0,Dt=0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0,zt=0,Vt=0,qt=0,Gt=0;var Wt=0.0,jt=0,Yt=0.0,Xt=0.0,Kt=0,Zt=0,Jt=0,Qt=0,$t=0,en=0.0,rn=0,tn=0.0,nn=0.0,on=0.0,an=0,sn=0,ln=0.0,fn=0.0,un=0.0,cn=0.0;var hn=0.0,dn=0.0,vn=0,mn=0,wn=0,En=0,pn=0,_n=0,bn=0,Sn=0,kn=0,gn=0.0,An=0,On=0.0,yn=0.0,Mn=0.0,Fn=0,Rn=0,Ln=0,Nn=0;var Tn=0,Dn=0,Bn=0,Pn=0,Cn=0,In=0,xn=0,Hn=0,Un=0,zn=0,Vn=0,qn=0,Gn=0.0,Wn=0,jn=0,Yn=0,Xn=0.0,Kn=0,Zn=0,Jn=0.0;var Qn=0.0,$n=0.0,eo=0,ro=0.0,io=0,to=0.0,no=0,oo=0,ao=0,so=0.0,lo=0,fo=0,uo=0.0,co=0.0,ho=0.0,vo=0,mo=0,wo=0.0,Eo=0.0,po=0.0;var _o=0.0,bo=0.0,So=0,ko=0,go=0.0,Ao=0.0,Oo=0,yo=0.0,Mo=0,Fo=0.0,Ro=0.0,Lo=0.0,No=0.0,To=0.0,Do=0,Bo=0,Po=0.0,Co=0,Io=0.0,xo=0.0;var Ho=0,Uo=0.0,zo=0.0,Vo=0.0,qo=0.0,Go=0.0,Wo=0,jo=0,Yo=0,Xo=0.0,Ko=0.0,Zo=0.0,Jo=0,Qo=0.0,$o=0.0,ea=0.0,ra=0.0,ia=0.0,ta=0,na=0;var oa=0,aa=0.0,sa=0.0,la=0.0,fa=0,ua=0.0,ca=0.0,ha=0.0,da=0.0,va=0.0,ma=0.0,wa=0,Ea=0,pa=0.0,_a=0.0,ba=0.0,Sa=0,ka=0.0,ga=0.0,Aa=0.0;var Oa=0.0,ya=0,Ma=0,Fa=0.0,Ra=0,La=0,Na=0.0,Ta=0.0,Da=0.0,Ba=0,Pa=0.0,Ca=0.0,Ia=0.0,xa=0,Ha=0.0,Ua=0.0,za=0,Va=0,qa=0.0,Ga=0.0;var Wa=0.0,ja=0,Ya=0.0,Xa=0.0,Ka=0,Za=0.0,Ja=0.0,Qa=0.0,$a=0,es=0,rs=0.0,is=0.0,ts=0,ns=0,os=0,as=0,ss=0,ls=0.0,fs=0.0,us=0;var cs=0.0,hs=0.0,ds=0.0,vs=0,ms=0,ws=0,Es=0,ps=0,_s=0,bs=0,Ss=0,ks=0,gs=0,As=0,Os=0,ys=0,Ms=0,Fs=0,Rs=0,Ls=0;var Ns=0,Ts=0,Ds=0,Bs=0,Ps=0,Cs=0,Is=0,xs=0,Hs=0,Us=0,zs=0,Vs=0,qs=0,Gs=0,Ws=0,js=0,Ys=0,Xs=0,Ks=0,Zs=0;var Js=0,Qs=0,$s=0,el=0,rl=0,il=0,tl=0,nl=0,ol=0,al=0.0,sl=0,ll=0,fl=0,ul=0,cl=0.0,hl=0,dl=0.0,vl=0.0,ml=0.0,wl=0;var El=0.0,pl=0,_l=0.0,bl=0.0,Sl=0.0,kl=0.0,gl=0.0,Al=0.0,Ol=0.0,yl=0,Ml=0.0,Fl=0.0,Rl=0,Ll=0,Nl=0,Tl=0,Dl=0,Bl=0.0,Pl=0.0,Cl=0;var Il=0,xl=0,Hl=0,Ul=0,zl=0,Vl=0.0,ql=0.0,Gl=0.0,Wl=0,jl=0.0,Yl=0.0,Xl=0.0,Kl=0.0,Zl=0.0,Jl=0.0,Ql=0,$l=0.0,ef=0.0,rf=0,tf=0.0;var nf=0.0,of=0,af=0,sf=0,lf=0.0,ff=0.0,uf=0,cf=0,hf=0,df=0,vf=0,mf=0.0,wf=0.0,Ef=0.0,pf=0.0,_f=0,bf=0,Sf=0,kf=0.0,gf=0.0;var Af=0.0,Of=0.0,yf=0.0,Mf=0.0,Ff=0.0,Rf=0,Lf=0,Nf=0,Tf=0,Df=0.0,Bf=0.0,Pf=0,Cf=0.0,If=0.0,xf=0,Hf=0,Uf=0,zf=0.0,Vf=0.0,qf=0;var Gf=0,Wf=0,jf=0,Yf=0,Xf=0,Kf=0.0,Zf=0.0,Jf=0.0,Qf=0,$f=0.0,eu=0,ru=0.0,iu=0.0,tu=0.0,nu=0.0,ou=0.0,au=0.0,su=0.0,lu=0,fu=0.0;var uu=0.0,cu=0.0,hu=0,du=0,vu=0,mu=0.0,wu=0.0,Eu=0,pu=0,_u=0,bu=0.0,Su=0,ku=0,gu=0,Au=0,Ou=0,yu=0,Mu=0,Fu=0,Ru=0;var Lu=0,Nu=0,Tu=0,Du=0,Bu=0,Pu=0,Cu=0,Iu=0,xu=0,Hu=0,Uu=0,zu=0,Vu=0,qu=0,Gu=0,Wu=0,ju=0,Yu=0,Xu=0,Ku=0;var Zu=0,Ju=0.0,Qu=0,$u=0.0,ec=0,rc=0,ic=0,tc=0,nc=0,oc=0,ac=0,sc=0,lc=0,fc=0,uc=0,cc=0,hc=0,dc=0,vc=0,mc=0;var wc=0,Ec=0,pc=0,_c=0,bc=0,Sc=0,kc=0,gc=0,Ac=0,Oc=0,yc=0.0,Mc=0,Fc=0.0,Rc=0,Lc=0,Nc=0,Tc=0,Dc=0,Bc=0,Pc=0;var Cc=0,Ic=0,xc=0,Hc=0,Uc=0,zc=0,Vc=0,qc=0,Gc=0,Wc=0,jc=0,Yc=0,Xc=0,Kc=0,Zc=0,Jc=0,Qc=0,$c=0,eh=0,rh=0;var ih=0.0,th=0,nh=0,oh=0.0,ah=0,sh=0,lh=0,fh=0,uh=0,ch=0,hh=0,dh=0,vh=0,mh=0,wh=0,Eh=0,ph=0,_h=0,bh=0,Sh=0;var kh=0,gh=0,Ah=0,Oh=0,yh=0,Mh=0,Fh=0,Rh=0,Lh=0,Nh=0.0,Th=0,Dh=0,Bh=0.0,Ph=0,Ch=0,Ih=0,xh=0,Hh=0,Uh=0,zh=0;var Vh=0,qh=0,Gh=0.0,Wh=0,jh=0,Yh=0,Xh=0,Kh=0,Zh=0,Jh=0.0,Qh=0,$h=0,ed=0,rd=0,id=0.0,td=0,nd=0,od=0,ad=0,sd=0;var ld=0,fd=0.0,ud=0,cd=0,hd=0,dd=0,vd=0,md=0.0,wd=0,Ed=0.0,pd=0,_d=0,bd=0,Sd=0,kd=0.0,gd=0.0,Ad=0.0,Od=0,yd=0,Md=0;var Fd=0.0,Rd=0.0,Ld=0.0,Nd=0,Td=0.0,Dd=0.0,Bd=0,Pd=0,Cd=0,Id=0.0,xd=0,Hd=0,Ud=0,zd=0,Vd=0.0,qd=0.0,Gd=0,Wd=0,jd=0.0,Yd=0.0;var Xd=0.0,Kd=0,Zd=0.0,Jd=0,Qd=0,$d=0,ev=0.0,rv=0,iv=0.0,tv=0.0,nv=0,ov=0,av=0,sv=0,lv=0.0,fv=0.0,uv=0.0,cv=0,hv=0,dv=0.0;var vv=0.0,mv=0.0,wv=0,Ev=0,pv=0.0,_v=0.0,bv=0,Sv=0,kv=0,gv=0.0,Av=0,Ov=0,yv=0,Mv=0.0,Fv=0,Rv=0.0,Lv=0,Nv=0,Tv=0.0,Dv=0.0;var Bv=0.0,Pv=0.0,Cv=0,Iv=0,xv=0,Hv=0,Uv=0,zv=0.0,Vv=0,qv=0,Gv=0,Wv=0.0,jv=0.0,Yv=0,Xv=0,Kv=0,Zv=0.0,Jv=0,Qv=0.0,$v=0.0;var em=0,rm=0,im=0.0,tm=0.0,nm=0.0,om=0,am=0.0,sm=0.0,lm=0,fm=0,um=0,cm=0,hm=0.0,dm=0,vm=0,mm=0,wm=0.0,Em=0.0,pm=0,_m=0;var bm=0,Sm=0.0,km=0.0,gm=0.0,Am=0.0,Om=0,ym=0,Mm=0,Fm=0.0,Rm=0,Lm=0,Nm=0.0,Tm=0.0,Dm=0,Bm=0,Pm=0,Cm=0.0,Im=0.0,xm=0.0,Hm=0;var Um=0,zm=0,Vm=0.0,qm=0.0,Gm=0.0,Wm=0,jm=0.0,Ym=0.0,Xm=0,Km=0,Zm=0,Jm=0.0,Qm=0,$m=0,ew=0,rw=0,iw=0.0,tw=0.0,nw=0,ow=0;var aw=0.0,sw=0.0,lw=0.0,fw=0,uw=0.0,cw=0,hw=0,dw=0,vw=0.0,mw=0,ww=0,Ew=0,pw=0.0,_w=0.0,bw=0,Sw=0,kw=0,gw=0.0,Aw=0.0,Ow=0.0;var yw=0,Mw=0,Fw=0,Rw=0.0,Lw=0.0,Nw=0,Tw=0.0,Dw=0.0,Bw=0,Pw=0,Cw=0.0,Iw=0,xw=0.0,Hw=0.0,Uw=0,zw=0,Vw=0.0,qw=0,Gw=0.0,Ww=0.0;var jw=0.0,Yw=0,Xw=0,Kw=0,Zw=0.0,Jw=0.0,Qw=0.0,$w=0.0,eE=0,rE=0,iE=0,tE=0.0,nE=0,oE=0.0,aE=0.0,sE=0,lE=0,fE=0,uE=0,cE=0;var hE=0.0,dE=0.0,vE=0.0,mE=0,wE=0,EE=0,pE=0.0,_E=0.0,bE=0.0,SE=0.0,kE=0,gE=0,AE=0,OE=0.0,yE=0,ME=0.0,FE=0.0,RE=0,LE=0,NE=0;var TE=0,DE=0,BE=0.0,PE=0.0,CE=0.0,IE=0,xE=0,HE=0,UE=0.0,zE=0.0,VE=0.0,qE=0.0,GE=0,WE=0,jE=0,YE=0.0,XE=0,KE=0,ZE=0,JE=0;var QE=0,$E=0,ep=0,rp=0,ip=0.0,tp=0.0,np=0,op=0.0,ap=0,sp=0,lp=0,fp=0,up=0,cp=0.0,hp=0,dp=0,vp=0,mp=0,wp=0,Ep=0;var pp=0.0,_p=0,bp=0,Sp=0,kp=0,gp=0,Ap=0,Op=0,yp=0,Mp=0,Fp=0.0,Rp=0.0,Lp=0,Np=0,Tp=0.0,Dp=0.0,Bp=0,Pp=0,Cp=0,Ip=0;var xp=0,Hp=0,Up=0,zp=0,Vp=0,qp=0,Gp=0,Wp=0,jp=0,Yp=0,Xp=0,Kp=0,Zp=0,Jp=0,Qp=0,$p=0,e_=0.0,r_=0.0,i_=0,t_=0;var n_=0,o_=0.0,a_=0.0,s_=0,l_=0,f_=0,u_=0,c_=0,h_=0.0,d_=0,v_=0,m_=0,w_=0,E_=0,p_=0,__=0,b_=0,S_=0,k_=0,g_=0;var A_=0,O_=0,y_=0,M_=0,F_=0,R_=0,L_=0,N_=0,T_=0,D_=0,B_=0,P_=0,C_=0,I_=0,x_=0,H_=0,U_=0,z_=0,V_=0,q_=0;var G_=0,W_=0,j_=0,Y_=0,X_=0,K_=0,Z_=0,J_=0,Q_=0,$_=0,eb=0,rb=0,ib=0,tb=0,nb=0,ob=0,ab=0,sb=0,lb=0,fb=0;var ub=0,cb=0,hb=0,db=0,vb=0,mb=0,wb=0,Eb=0,pb=0,_b=0,bb=0,Sb=0,kb=0,gb=0,Ab=0,Ob=0,yb=0,Mb=0,Fb=0,Rb=0;var Lb=0,Nb=0,Tb=0,Db=0,Bb=0,Pb=0,Cb=0,Ib=0,xb=0,Hb=0,Ub=0,zb=0,Vb=0,qb=0,Gb=0,Wb=0,jb=0,Yb=0,Xb=0,Kb=0;var Zb=0,Jb=0,Qb=0,$b=0,eS=0,rS=0,iS=0,tS=0,nS=0,oS=0,aS=0,sS=0,lS=0,fS=0,uS=0,cS=0,hS=0,dS=0,vS=0,mS=0;var wS=0,ES=0,pS=0,_S=0,bS=0,SS=0,kS=0,gS=0,AS=0,OS=0,yS=0,MS=0,FS=0,RS=0,LS=0,NS=0,TS=0,DS=0,BS=0,PS=0;var CS=0,IS=0,xS=0,HS=0,US=0,zS=0,VS=0,qS=0,GS=0,WS=0,jS=0,YS=0,XS=0,KS=0,ZS=0,JS=0,QS=0,$S=0,ek=0,rk=0;var ik=0,tk=0,nk=0,ok=0,ak=0,sk=0,lk=0,fk=0,uk=0,ck=0,hk=0,dk=0,vk=0,mk=0,wk=0,Ek=0,pk=0,_k=0,bk=0,Sk=0;var kk=0,gk=0,Ak=0,Ok=0,yk=0.0,Mk=0.0,Fk=0,Rk=0,Lk=0,Nk=0,Tk=0.0,Dk=0.0,Bk=0,Pk=0,Ck=0,Ik=0,xk=0.0,Hk=0.0,Uk=0,zk=0.0;var Vk=0,qk=0,Gk=0,Wk=0,jk=0,Yk=0,Xk=0,Kk=0,Zk=0,Jk=0,Qk=0,$k=0,eg=0,rg=0,ig=0,tg=0,ng=0,og=0,ag=0,sg=0;var lg=0,fg=0,ug=0,cg=0,hg=0,dg=0,vg=0,mg=0,wg=0,Eg=0,pg=0,_g=0,bg=0,Sg=0,kg=0,gg=0.0,Ag=0.0,Og=0.0,yg=0,Mg=0;var Fg=0.0,Rg=0,Lg=0,Ng=0,Tg=0,Dg=0,Bg=0,Pg=0,Cg=0,Ig=0,xg=0,Hg=0,Ug=0,zg=0,Vg=0,qg=0,Gg=0,Wg=0,jg=0,Yg=0;var Xg=0,Kg=0,Zg=0,Jg=0,Qg=0,$g=0,eA=0,rA=0,iA=0,tA=0,nA=0,oA=0,aA=0,sA=0,lA=0,fA=0,uA=0,cA=0,hA=0,dA=0;var vA=0,mA=0,wA=0,EA=0,pA=0,_A=0,bA=0,SA=0,kA=0,gA=0,AA=0,OA=0;gA=RA;W=e+28|0;j=yA[W>>2]|0;ya=(j|0)==(0|0);if(ya){l=-131;return l|0}Rl=j+3456|0;Du=yA[Rl>>2]|0;Ch=(Du|0)==0;r=Ch&1;Hv=j+3496|0;Vw=+FA[Hv>>3];Wp=Vw>-80.0;if(Wp){FA[Hv>>3]=-80.0}else{Xb=Vw<-200.0;if(Xb){FA[Hv>>3]=-200.0}}Y=j+3512|0;Zr=+FA[Y>>3];$t=Zr>0.0;if($t){FA[Y>>3]=0.0}else{io=Zr<-99999.0;if(io){FA[Y>>3]=-99999.0}}vo=j+3396|0;Oo=yA[vo>>2]|0;Co=(Oo|0)==(0|0);if(Co){l=-131;return l|0}Yo=j+3392|0;yA[Yo>>2]=1;na=j+3400|0;ma=+FA[na>>3];Ma=Oo+24|0;xa=yA[Ma>>2]|0;Ka=Oo+28|0;as=yA[Ka>>2]|0;Es=~~ma;Fs=xa+(Es<<2)|0;Hs=yA[Fs>>2]|0;Zs=as+(Es<<2)|0;sl=yA[Zs>>2]|0;yA[j>>2]=Hs;pl=j+4|0;yA[pl>>2]=sl;Ll=(Hs|0)==(sl|0);zl=Oo+144|0;Ql=yA[zl>>2]|0;uf=(Ql|0)>0;if(uf){Sf=Oo+136|0;Tf=Oo+140|0;qf=Oo+148|0;cu=ma;Md=j;Wg=0;while(1){eu=~~cu;ku=yA[Sf>>2]|0;Bu=yA[Tf>>2]|0;Wu=yA[qf>>2]|0;ic=Wu+(Wg<<2)|0;dc=yA[ic>>2]|0;Ac=BA(1,1120)|0;Pc=dc+(eu<<2)|0;jc=yA[Pc>>2]|0;th=Bu+(jc*1120|0)|0;PA(Ac|0,th|0,1120)|0;vh=yA[Ac>>2]|0;Oh=(vh|0)>0;if(Oh){Ih=Ac+4|0;Rg=0;uA=-1;while(1){av=Ih+(Rg<<2)|0;Ev=yA[av>>2]|0;Fv=(Ev|0)>(uA|0);F=Fv?Ev:uA;Uv=Rg+1|0;Sg=(Uv|0)==(vh|0);if(Sg){R=F;break}else{Rg=Uv;uA=F}}Xh=(R|0)<0;if(!Xh){od=Ac+256|0;wd=Md+24|0;xd=Ac+192|0;Kd=Ac+320|0;Zg=0;aA=-1;while(1){bw=od+(Zg<<2)|0;Nw=yA[bw>>2]|0;qw=(Nw|0)>(aA|0);y=qw?Nw:aA;eE=yA[wd>>2]|0;cE=eE+Nw|0;yA[bw>>2]=cE;kE=xd+(Zg<<2)|0;DE=yA[kE>>2]|0;GE=(DE|0)==31;if(GE){sA=y}else{Zn=DE;nA=0;fA=y;while(1){rp=(Kd+(Zg<<5)|0)+(nA<<2)|0;hp=yA[rp>>2]|0;gp=(hp|0)>(fA|0);M=gp?hp:fA;Bp=(hp|0)>-1;if(Bp){jp=yA[wd>>2]|0;t_=jp+hp|0;yA[rp>>2]=t_;N=yA[kE>>2]|0;C_=N}else{C_=Zn}v_=nA+1|0;O_=1<>2]|0;Lm=yA[_m>>2]|0;zm=yA[wd>>2]|0;Qm=zm+1|0;yA[wd>>2]=Qm;fw=(Md+1824|0)+(zm<<2)|0;yA[fw>>2]=Lm;Eg=(lA|0)==0;if(!Eg){Jg=0;while(1){mb=Jg+1|0;C=yA[Pc>>2]|0;yb=ku+(C<<2)|0;Ib=yA[yb>>2]|0;Kb=Ib+(mb<<2)|0;aS=yA[Kb>>2]|0;ES=yA[wd>>2]|0;FS=ES+1|0;yA[wd>>2]=FS;HS=(Md+1824|0)+(ES<<2)|0;yA[HS>>2]=aS;wg=(mb|0)==(lA|0);if(wg){break}else{Jg=mb}}}}}}ZS=Md+16|0;sk=yA[ZS>>2]|0;pk=(Md+800|0)+(sk<<2)|0;yA[pk>>2]=1;Rk=yA[ZS>>2]|0;Uk=(Md+1056|0)+(Rk<<2)|0;yA[Uk>>2]=Ac;X=yA[ZS>>2]|0;oe=X+1|0;yA[ZS>>2]=oe;we=Wg+1|0;Me=yA[zl>>2]|0;xe=(we|0)<(Me|0);if(!xe){break}L=+FA[na>>3];z=yA[W>>2]|0;cu=L;Md=z;Wg=we}q=yA[W>>2]|0;Qi=q}else{Qi=j}Ke=j+3520|0;ar=+FA[Ke>>3];Er=Oo+124|0;Fr=yA[Er>>2]|0;Hr=Oo+128|0;Jr=yA[Hr>>2]|0;li=~~ar;_i=+(li|0);Li=ar-_i;zi=Qi+2868|0;ft=Jr+(li<<3)|0;bt=+FA[ft>>3];Nt=~~bt;Vt=Fr+(Nt*492|0)|0;PA(zi|0,Vt|0,492)|0;en=+FA[ft>>3];hn=1.0-Li;gn=en*hn;Bn=li+1|0;Wn=Jr+(Bn<<3)|0;Jn=+FA[Wn>>3];Qn=Jn*Li;$n=Qn+gn;eo=~~$n;ro=+(eo|0);to=$n-ro;no=to==0.0;oo=(eo|0)>0;cA=oo&no;s=cA?1.0:to;ao=cA<<31>>31;b=ao+eo|0;so=1.0-s;lo=b+1|0;fo=(Fr+(b*492|0)|0)+4|0;uo=+MA[fo>>2];co=uo;ho=so*co;mo=(Fr+(lo*492|0)|0)+4|0;wo=+MA[mo>>2];Eo=wo;po=s*Eo;_o=ho+po;bo=_o;So=Qi+2872|0;MA[So>>2]=bo;ko=(Fr+(b*492|0)|0)+32|0;go=+MA[ko>>2];Ao=go;yo=so*Ao;Mo=(Fr+(lo*492|0)|0)+32|0;Fo=+MA[Mo>>2];Ro=Fo;Lo=s*Ro;No=yo+Lo;To=No;Do=Qi+2900|0;MA[Do>>2]=To;Bo=(Fr+(b*492|0)|0)+8|0;Po=+MA[Bo>>2];Io=Po;xo=so*Io;Ho=(Fr+(lo*492|0)|0)+8|0;Uo=+MA[Ho>>2];zo=Uo;Vo=s*zo;qo=xo+Vo;Go=qo;Wo=Qi+2876|0;MA[Wo>>2]=Go;jo=(Fr+(b*492|0)|0)+36|0;Xo=+MA[jo>>2];Ko=Xo;Zo=so*Ko;Jo=(Fr+(lo*492|0)|0)+36|0;Qo=+MA[Jo>>2];$o=Qo;ea=$o*s;ra=ea+Zo;ia=ra;ta=Qi+2904|0;MA[ta>>2]=ia;oa=(Fr+(b*492|0)|0)+12|0;aa=+MA[oa>>2];sa=aa;la=sa*so;fa=(Fr+(lo*492|0)|0)+12|0;ua=+MA[fa>>2];ca=ua;ha=ca*s;da=ha+la;va=da;wa=Qi+2880|0;MA[wa>>2]=va;Ea=(Fr+(b*492|0)|0)+40|0;pa=+MA[Ea>>2];_a=pa;ba=_a*so;Sa=(Fr+(lo*492|0)|0)+40|0;ka=+MA[Sa>>2];ga=ka;Aa=ga*s;Oa=Aa+ba;Fa=Oa;Ra=Qi+2908|0;MA[Ra>>2]=Fa;La=(Fr+(b*492|0)|0)+16|0;Na=+MA[La>>2];Ta=Na;Da=Ta*so;Ba=(Fr+(lo*492|0)|0)+16|0;Pa=+MA[Ba>>2];Ca=Pa;Ia=Ca*s;Ha=Ia+Da;Ua=Ha;za=Qi+2884|0;MA[za>>2]=Ua;Va=(Fr+(b*492|0)|0)+44|0;qa=+MA[Va>>2];Ga=qa;Wa=Ga*so;ja=(Fr+(lo*492|0)|0)+44|0;Ya=+MA[ja>>2];Xa=Ya;Za=Xa*s;Ja=Za+Wa;Qa=Ja;$a=Qi+2912|0;MA[$a>>2]=Qa;es=Qi+3512|0;rs=+FA[es>>3];is=rs;ts=Qi+2936|0;MA[ts>>2]=is;ns=Oo+132|0;os=yA[ns>>2]|0;ss=j+3472|0;ls=+FA[ss>>3];fs=ls;us=~~fs;cs=+(us|0);hs=fs-cs;ds=hs;vs=yA[W>>2]|0;ms=(os|0)==(0|0);e:do{if(ms){ws=vs+4|0;ps=yA[vs>>2]|0;_s=vs+3240|0;yA[_s>>2]=ps;bs=yA[ws>>2]|0;Ss=vs+3300|0;yA[Ss>>2]=bs;ks=vs+3244|0;yA[ks>>2]=ps;gs=vs+3304|0;yA[gs>>2]=bs;As=vs+3248|0;yA[As>>2]=ps;Os=vs+3308|0;yA[Os>>2]=bs;ys=vs+3252|0;yA[ys>>2]=ps;Ms=vs+3312|0;yA[Ms>>2]=bs;Rs=vs+3256|0;yA[Rs>>2]=ps;Ls=vs+3316|0;yA[Ls>>2]=bs;Ns=vs+3260|0;yA[Ns>>2]=ps;Ts=vs+3320|0;yA[Ts>>2]=bs;Ds=vs+3264|0;yA[Ds>>2]=ps;Bs=vs+3324|0;yA[Bs>>2]=bs;Ps=vs+3268|0;yA[Ps>>2]=ps;Cs=vs+3328|0;yA[Cs>>2]=bs;Is=vs+3272|0;yA[Is>>2]=ps;xs=vs+3332|0;yA[xs>>2]=bs;Us=vs+3276|0;yA[Us>>2]=ps;zs=vs+3336|0;yA[zs>>2]=bs;Vs=vs+3280|0;yA[Vs>>2]=ps;qs=vs+3340|0;yA[qs>>2]=bs;Gs=vs+3284|0;yA[Gs>>2]=ps;Ws=vs+3344|0;yA[Ws>>2]=bs;js=vs+3288|0;yA[js>>2]=ps;Ys=vs+3348|0;yA[Ys>>2]=bs;Xs=vs+3292|0;yA[Xs>>2]=ps;Ks=vs+3352|0;yA[Ks>>2]=bs;Js=vs+3296|0;yA[Js>>2]=ps;Qs=vs+3356|0;yA[Qs>>2]=bs}else{$s=vs+3120|0;el=os+(us*240|0)|0;SA=$s;AA=el;OA=SA+60|0;do{yA[SA>>2]=yA[AA>>2]|0;SA=SA+4|0;AA=AA+4|0}while((SA|0)<(OA|0));rl=vs+3180|0;il=(os+(us*240|0)|0)+60|0;SA=rl;AA=il;OA=SA+60|0;do{yA[SA>>2]=yA[AA>>2]|0;SA=SA+4|0;AA=AA+4|0}while((SA|0)<(OA|0));tl=j+3420|0;nl=yA[tl>>2]|0;ol=(nl|0)==0;if(!ol){al=1.0-ds;ll=us+1|0;fl=e+8|0;ul=vs+4|0;D=yA[fl>>2]|0;cl=+(D|0);Yg=0;while(1){hl=((os+(us*240|0)|0)+120|0)+(Yg<<2)|0;dl=+MA[hl>>2];vl=dl;ml=vl*al;wl=((os+(ll*240|0)|0)+120|0)+(Yg<<2)|0;El=+MA[wl>>2];_l=El;bl=_l*ds;Sl=bl+ml;kl=Sl;gl=kl;Al=gl*1000.0;Ol=Al/cl;yl=yA[vs>>2]|0;Ml=+(yl|0);Fl=Ml*Ol;Nl=~~Fl;Tl=(vs+3000|0)+(Yg<<2)|0;yA[Tl>>2]=Nl;Dl=yA[ul>>2]|0;Bl=+(Dl|0);Pl=Bl*Ol;Cl=~~Pl;Il=(vs+3060|0)+(Yg<<2)|0;yA[Il>>2]=Cl;xl=~~kl;Hl=(vs+2940|0)+(Yg<<2)|0;yA[Hl>>2]=xl;Ul=((os+(us*240|0)|0)+180|0)+(Yg<<2)|0;Vl=+MA[Ul>>2];ql=Vl;Gl=ql*al;Wl=((os+(ll*240|0)|0)+180|0)+(Yg<<2)|0;jl=+MA[Wl>>2];Yl=jl;Xl=Yl*ds;Kl=Xl+Gl;Zl=Kl;Jl=Zl;$l=Jl*1000.0;ef=$l/cl;rf=yA[vs>>2]|0;tf=+(rf|0);nf=tf*ef;of=~~nf;af=(vs+3240|0)+(Yg<<2)|0;yA[af>>2]=of;sf=yA[ul>>2]|0;lf=+(sf|0);ff=lf*ef;cf=~~ff;hf=(vs+3300|0)+(Yg<<2)|0;yA[hf>>2]=cf;df=Yg+1|0;_g=(df|0)==15;if(_g){break e}else{Yg=df}}}vf=(os+(us*240|0)|0)+148|0;mf=+MA[vf>>2];wf=mf;Ef=1.0-ds;pf=wf*Ef;_f=us+1|0;bf=(os+(_f*240|0)|0)+148|0;kf=+MA[bf>>2];gf=kf;Af=gf*ds;Of=Af+pf;yf=Of;Mf=yf;Ff=Mf*1000.0;Rf=e+8|0;Lf=vs+4|0;Nf=~~yf;P=yA[Rf>>2]|0;Df=+(P|0);Bf=Ff/Df;Kg=0;while(1){Pf=yA[vs>>2]|0;Cf=+(Pf|0);If=Cf*Bf;xf=~~If;Hf=(vs+3000|0)+(Kg<<2)|0;yA[Hf>>2]=xf;Uf=yA[Lf>>2]|0;zf=+(Uf|0);Vf=zf*Bf;Gf=~~Vf;Wf=(vs+3060|0)+(Kg<<2)|0;yA[Wf>>2]=Gf;jf=(vs+2940|0)+(Kg<<2)|0;yA[jf>>2]=Nf;Yf=Kg+1|0;kg=(Yf|0)==15;if(kg){break}else{Kg=Yf}}Xf=(os+(us*240|0)|0)+208|0;Kf=+MA[Xf>>2];Zf=Kf;Jf=Zf*Ef;Qf=(os+(_f*240|0)|0)+208|0;$f=+MA[Qf>>2];ru=$f;iu=ru*ds;tu=iu+Jf;nu=tu;ou=nu;au=ou*1000.0;su=au/Df;$g=0;while(1){lu=yA[vs>>2]|0;fu=+(lu|0);uu=fu*su;hu=~~uu;du=(vs+3240|0)+($g<<2)|0;yA[du>>2]=hu;vu=yA[Lf>>2]|0;mu=+(vu|0);wu=mu*su;Eu=~~wu;pu=(vs+3300|0)+($g<<2)|0;yA[pu>>2]=Eu;_u=$g+1|0;pg=(_u|0)==15;if(pg){break}else{$g=_u}}}}while(0);bu=+FA[na>>3];Su=Oo+92|0;gu=yA[Su>>2]|0;Au=Oo+100|0;Ou=yA[Au>>2]|0;yu=Oo+108|0;Mu=yA[yu>>2]|0;Fu=yA[W>>2]|0;Ru=Fu+2852|0;Lu=yA[Ru>>2]|0;Nu=~~bu;Tu=Fu+28|0;Pu=yA[Tu>>2]|0;Cu=(Pu|0)>0;if(!Cu){yA[Tu>>2]=1}Iu=(Lu|0)==(0|0);if(Iu){xu=BA(1,520)|0;yA[Ru>>2]=xu;wA=xu}else{wA=Lu}PA(wA|0,25784|0,520)|0;yA[wA>>2]=0;Hu=Fu+3460|0;Uu=yA[Hu>>2]|0;zu=(Uu|0)==0;if(!zu){Vu=wA+500|0;yA[Vu>>2]=1;qu=gu+(Nu<<2)|0;Gu=yA[qu>>2]|0;ju=wA+504|0;yA[ju>>2]=Gu;Yu=Ou+(Nu<<2)|0;Xu=yA[Yu>>2]|0;Ku=wA+508|0;yA[Ku>>2]=Xu;Zu=Mu+(Nu<<3)|0;Ju=+FA[Zu>>3];Qu=wA+512|0;FA[Qu>>3]=Ju}$u=+FA[na>>3];ec=yA[Su>>2]|0;rc=yA[Au>>2]|0;tc=yA[yu>>2]|0;nc=yA[W>>2]|0;oc=nc+2856|0;ac=yA[oc>>2]|0;sc=~~$u;lc=nc+28|0;fc=yA[lc>>2]|0;uc=(fc|0)>1;if(!uc){yA[lc>>2]=2}cc=(ac|0)==(0|0);if(cc){hc=BA(1,520)|0;yA[oc>>2]=hc;EA=hc}else{EA=ac}PA(EA|0,25784|0,520)|0;yA[EA>>2]=0;vc=nc+3460|0;mc=yA[vc>>2]|0;wc=(mc|0)==0;if(!wc){Ec=EA+500|0;yA[Ec>>2]=1;pc=ec+(sc<<2)|0;_c=yA[pc>>2]|0;bc=EA+504|0;yA[bc>>2]=_c;Sc=rc+(sc<<2)|0;kc=yA[Sc>>2]|0;gc=EA+508|0;yA[gc>>2]=kc;Oc=tc+(sc<<3)|0;yc=+FA[Oc>>3];Mc=EA+512|0;FA[Mc>>3]=yc}if(!Ll){Fc=+FA[na>>3];Rc=Oo+96|0;Lc=yA[Rc>>2]|0;Nc=Oo+104|0;Tc=yA[Nc>>2]|0;Dc=yA[yu>>2]|0;Bc=yA[W>>2]|0;Cc=Bc+2860|0;Ic=yA[Cc>>2]|0;xc=~~Fc;Hc=Bc+28|0;Uc=yA[Hc>>2]|0;zc=(Uc|0)>2;if(!zc){yA[Hc>>2]=3}Vc=(Ic|0)==(0|0);if(Vc){qc=BA(1,520)|0;yA[Cc>>2]=qc;pA=qc}else{pA=Ic}PA(pA|0,25784|0,520)|0;yA[pA>>2]=1;Gc=Bc+3460|0;Wc=yA[Gc>>2]|0;Yc=(Wc|0)==0;if(!Yc){Xc=pA+500|0;yA[Xc>>2]=1;Kc=Lc+(xc<<2)|0;Zc=yA[Kc>>2]|0;Jc=pA+504|0;yA[Jc>>2]=Zc;Qc=Tc+(xc<<2)|0;$c=yA[Qc>>2]|0;eh=pA+508|0;yA[eh>>2]=$c;rh=Dc+(xc<<3)|0;ih=+FA[rh>>3];nh=pA+512|0;FA[nh>>3]=ih}oh=+FA[na>>3];ah=yA[Rc>>2]|0;sh=yA[Nc>>2]|0;lh=yA[yu>>2]|0;fh=yA[W>>2]|0;uh=fh+2864|0;ch=yA[uh>>2]|0;hh=~~oh;dh=fh+28|0;mh=yA[dh>>2]|0;wh=(mh|0)>3;if(!wh){yA[dh>>2]=4}Eh=(ch|0)==(0|0);if(Eh){ph=BA(1,520)|0;yA[uh>>2]=ph;_A=ph}else{_A=ch}PA(_A|0,25784|0,520)|0;yA[_A>>2]=1;_h=fh+3460|0;bh=yA[_h>>2]|0;Sh=(bh|0)==0;if(!Sh){kh=_A+500|0;yA[kh>>2]=1;gh=ah+(hh<<2)|0;Ah=yA[gh>>2]|0;yh=_A+504|0;yA[yh>>2]=Ah;Mh=sh+(hh<<2)|0;Fh=yA[Mh>>2]|0;Rh=_A+508|0;yA[Rh>>2]=Fh;Lh=lh+(hh<<3)|0;Nh=+FA[Lh>>3];Th=_A+512|0;FA[Th>>3]=Nh}}Dh=(j+3528|0)+(r<<5)|0;Bh=+FA[Dh>>3];Ph=Oo+32|0;xh=yA[Ph>>2]|0;Hh=Oo+36|0;Uh=yA[Hh>>2]|0;zh=Oo+44|0;Vh=yA[zh>>2]|0;NA(e,Bh,0,xh,Uh,Vh);qh=j+3560|0;Gh=+FA[qh>>3];Wh=yA[Ph>>2]|0;jh=yA[Hh>>2]|0;Yh=Oo+52|0;Kh=yA[Yh>>2]|0;NA(e,Gh,1,Wh,jh,Kh);if(!Ll){Zh=j+3592|0;Jh=+FA[Zh>>3];Qh=yA[Ph>>2]|0;$h=yA[Hh>>2]|0;ed=yA[Yh>>2]|0;NA(e,Jh,2,Qh,$h,ed);rd=j+3624|0;id=+FA[rd>>3];td=yA[Ph>>2]|0;nd=yA[Hh>>2]|0;ad=Oo+48|0;sd=yA[ad>>2]|0;NA(e,id,3,td,nd,sd)}ld=((j+3528|0)+(r<<5)|0)+24|0;fd=+FA[ld>>3];ud=Oo+80|0;cd=yA[ud>>2]|0;hd=Oo+84|0;dd=yA[hd>>2]|0;vd=~~fd;md=+(vd|0);Ed=fd-md;pd=yA[W>>2]|0;_d=pd+2852|0;bd=yA[_d>>2]|0;Sd=dd+(vd<<3)|0;kd=+FA[Sd>>3];gd=1.0-Ed;Ad=kd*gd;Od=vd+1|0;yd=dd+(Od<<3)|0;Fd=+FA[yd>>3];Rd=Fd*Ed;Ld=Rd+Ad;Nd=~~Ld;Td=+(Nd|0);Dd=Ld-Td;Bd=Dd==0.0;Pd=(Nd|0)>0;hA=Pd&Bd;t=hA?1.0:Dd;Cd=hA<<31>>31;S=Cd+Nd|0;Id=1.0-t;Hd=S+1|0;Ng=0;while(1){Ud=(cd+(S*160|0)|0)+(Ng<<2)|0;zd=yA[Ud>>2]|0;Vd=+(zd|0);qd=Vd*Id;Gd=(cd+(Hd*160|0)|0)+(Ng<<2)|0;Wd=yA[Gd>>2]|0;jd=+(Wd|0);Yd=jd*t;Xd=Yd+qd;Zd=Xd;Jd=(bd+336|0)+(Ng<<2)|0;MA[Jd>>2]=Zd;Qd=Ng+1|0;hg=(Qd|0)==40;if(hg){break}else{Ng=Qd}}$d=j+3584|0;ev=+FA[$d>>3];rv=~~ev;iv=+(rv|0);tv=ev-iv;nv=pd+2856|0;ov=yA[nv>>2]|0;sv=dd+(rv<<3)|0;lv=+FA[sv>>3];fv=1.0-tv;uv=lv*fv;cv=rv+1|0;hv=dd+(cv<<3)|0;dv=+FA[hv>>3];vv=dv*tv;mv=vv+uv;wv=~~mv;pv=+(wv|0);_v=mv-pv;bv=_v==0.0;Sv=(wv|0)>0;dA=Sv&bv;n=dA?1.0:_v;kv=dA<<31>>31;k=kv+wv|0;gv=1.0-n;Av=k+1|0;Tg=0;while(1){Ov=(cd+(k*160|0)|0)+(Tg<<2)|0;yv=yA[Ov>>2]|0;Mv=+(yv|0);Rv=Mv*gv;Lv=(cd+(Av*160|0)|0)+(Tg<<2)|0;Nv=yA[Lv>>2]|0;Tv=+(Nv|0);Dv=Tv*n;Bv=Dv+Rv;Pv=Bv;Cv=(ov+336|0)+(Tg<<2)|0;MA[Cv>>2]=Pv;Iv=Tg+1|0;dg=(Iv|0)==40;if(dg){break}else{Tg=Iv}}if(!Ll){xv=j+3616|0;zv=+FA[xv>>3];Vv=Oo+88|0;qv=yA[Vv>>2]|0;Gv=~~zv;Wv=+(Gv|0);jv=zv-Wv;Yv=pd+2860|0;Xv=yA[Yv>>2]|0;Kv=qv+(Gv<<3)|0;Zv=+FA[Kv>>3];Qv=1.0-jv;$v=Zv*Qv;em=Gv+1|0;rm=qv+(em<<3)|0;im=+FA[rm>>3];tm=im*jv;nm=tm+$v;om=~~nm;am=+(om|0);sm=nm-am;fm=sm==0.0;um=(om|0)>0;vA=um&fm;o=vA?1.0:sm;cm=vA<<31>>31;g=cm+om|0;hm=1.0-o;dm=g+1|0;Dg=0;while(1){vm=(cd+(g*160|0)|0)+(Dg<<2)|0;mm=yA[vm>>2]|0;wm=+(mm|0);Em=wm*hm;pm=(cd+(dm*160|0)|0)+(Dg<<2)|0;bm=yA[pm>>2]|0;Sm=+(bm|0);km=Sm*o;gm=km+Em;Am=gm;Om=(Xv+336|0)+(Dg<<2)|0;MA[Om>>2]=Am;ym=Dg+1|0;vg=(ym|0)==40;if(vg){break}else{Dg=ym}}Mm=j+3648|0;Fm=+FA[Mm>>3];Rm=~~Fm;Nm=+(Rm|0);Tm=Fm-Nm;Dm=pd+2864|0;Bm=yA[Dm>>2]|0;Pm=qv+(Rm<<3)|0;Cm=+FA[Pm>>3];Im=1.0-Tm;xm=Cm*Im;Hm=Rm+1|0;Um=qv+(Hm<<3)|0;Vm=+FA[Um>>3];qm=Vm*Tm;Gm=qm+xm;Wm=~~Gm;jm=+(Wm|0);Ym=Gm-jm;Xm=Ym==0.0;Km=(Wm|0)>0;mA=Km&Xm;a=mA?1.0:Ym;Zm=mA<<31>>31;A=Zm+Wm|0;Jm=1.0-a;$m=A+1|0;Bg=0;while(1){ew=(cd+(A*160|0)|0)+(Bg<<2)|0;rw=yA[ew>>2]|0;iw=+(rw|0);tw=iw*Jm;nw=(cd+($m*160|0)|0)+(Bg<<2)|0;ow=yA[nw>>2]|0;aw=+(ow|0);sw=aw*a;lw=sw+tw;uw=lw;cw=(Bm+336|0)+(Bg<<2)|0;MA[cw>>2]=uw;hw=Bg+1|0;mg=(hw|0)==40;if(mg){break}else{Bg=hw}}}dw=((j+3528|0)+(r<<5)|0)+8|0;vw=+FA[dw>>3];mw=Oo+40|0;ww=yA[mw>>2]|0;Ew=~~vw;pw=+(Ew|0);_w=vw-pw;Sw=ww+(Ew<<2)|0;kw=yA[Sw>>2]|0;gw=+(kw|0);Aw=1.0-_w;Ow=gw*Aw;yw=Ew+1|0;Mw=ww+(yw<<2)|0;Fw=yA[Mw>>2]|0;Rw=+(Fw|0);Lw=Rw*_w;Tw=Lw+Ow;Dw=Tw;Bw=bd+32|0;MA[Bw>>2]=Dw;Pw=j+3568|0;Cw=+FA[Pw>>3];Iw=~~Cw;xw=+(Iw|0);Hw=Cw-xw;Uw=ww+(Iw<<2)|0;zw=yA[Uw>>2]|0;Gw=+(zw|0);Ww=1.0-Hw;jw=Gw*Ww;Yw=Iw+1|0;Xw=ww+(Yw<<2)|0;Kw=yA[Xw>>2]|0;Zw=+(Kw|0);Jw=Zw*Hw;Qw=Jw+jw;$w=Qw;rE=ov+32|0;MA[rE>>2]=$w;if(!Ll){iE=j+3600|0;tE=+FA[iE>>3];nE=~~tE;oE=+(nE|0);aE=tE-oE;sE=pd+2860|0;lE=yA[sE>>2]|0;fE=ww+(nE<<2)|0;uE=yA[fE>>2]|0;hE=+(uE|0);dE=1.0-aE;vE=hE*dE;mE=nE+1|0;wE=ww+(mE<<2)|0;EE=yA[wE>>2]|0;pE=+(EE|0);_E=pE*aE;bE=_E+vE;SE=bE;gE=lE+32|0;MA[gE>>2]=SE;AE=j+3632|0;OE=+FA[AE>>3];yE=~~OE;ME=+(yE|0);FE=OE-ME;RE=pd+2864|0;LE=yA[RE>>2]|0;NE=ww+(yE<<2)|0;TE=yA[NE>>2]|0;BE=+(TE|0);PE=1.0-FE;CE=BE*PE;IE=yE+1|0;xE=ww+(IE<<2)|0;HE=yA[xE>>2]|0;UE=+(HE|0);zE=UE*FE;VE=zE+CE;qE=VE;WE=LE+32|0;MA[WE>>2]=qE}jE=((j+3528|0)+(r<<5)|0)+16|0;YE=+FA[jE>>3];XE=Oo+76|0;KE=yA[XE>>2]|0;ZE=Oo+60|0;JE=yA[ZE>>2]|0;QE=Oo+56|0;$E=yA[QE>>2]|0;if(Ch){tp=0.0}else{ep=j+3408|0;ip=+FA[ep>>3];tp=ip}TA(e,YE,0,KE,JE,$E,tp);np=j+3576|0;op=+FA[np>>3];ap=yA[XE>>2]|0;sp=Oo+64|0;lp=yA[sp>>2]|0;fp=yA[QE>>2]|0;TA(e,op,1,ap,lp,fp,0.0);if(Ll){Zp=yA[W>>2]|0;Jp=Zp+2852|0;Qp=yA[Jp>>2]|0;$p=Zp+3496|0;e_=+FA[$p>>3];r_=e_;i_=Qp+4|0;MA[i_>>2]=r_;n_=Zp+3504|0;o_=+FA[n_>>3];a_=o_;s_=Qp+8|0;MA[s_>>2]=a_;l_=Zp+2856|0;f_=yA[l_>>2]|0;u_=f_+4|0;MA[u_>>2]=r_;c_=f_+8|0;MA[c_>>2]=a_;k_=Zp}else{up=j+3608|0;cp=+FA[up>>3];dp=yA[XE>>2]|0;vp=Oo+68|0;mp=yA[vp>>2]|0;wp=yA[QE>>2]|0;TA(e,cp,2,dp,mp,wp,0.0);Ep=j+3640|0;pp=+FA[Ep>>3];_p=yA[XE>>2]|0;bp=Oo+72|0;Sp=yA[bp>>2]|0;kp=yA[QE>>2]|0;TA(e,pp,3,_p,Sp,kp,0.0);Ap=yA[W>>2]|0;Op=Ap+2852|0;yp=yA[Op>>2]|0;Mp=Ap+3496|0;Fp=+FA[Mp>>3];Rp=Fp;Lp=yp+4|0;MA[Lp>>2]=Rp;Np=Ap+3504|0;Tp=+FA[Np>>3];Dp=Tp;Pp=yp+8|0;MA[Pp>>2]=Dp;Cp=Ap+2856|0;Ip=yA[Cp>>2]|0;xp=Ip+4|0;MA[xp>>2]=Rp;Hp=Ip+8|0;MA[Hp>>2]=Dp;Up=Ap+2860|0;zp=yA[Up>>2]|0;Vp=zp+4|0;MA[Vp>>2]=Rp;qp=zp+8|0;MA[qp>>2]=Dp;Gp=Ap+2864|0;Yp=yA[Gp>>2]|0;Xp=Yp+4|0;MA[Xp>>2]=Rp;Kp=Yp+8|0;MA[Kp>>2]=Dp;k_=Ap}h_=+FA[na>>3];d_=Oo+152|0;m_=yA[d_>>2]|0;w_=~~h_;E_=m_+(w_<<3)|0;p_=yA[E_>>2]|0;__=(m_+(w_<<3)|0)+4|0;b_=yA[__>>2]|0;S_=yA[k_>>2]|0;g_=k_+4|0;A_=yA[g_>>2]|0;y_=(S_|0)==(A_|0);i=y_?1:2;M_=k_+8|0;F_=k_+12|0;R_=e+8|0;L_=e+4|0;Lg=0;while(1){N_=BA(1,3208)|0;T_=(k_+544|0)+(Lg<<2)|0;yA[T_>>2]=N_;D_=BA(1,16)|0;B_=(k_+32|0)+(Lg<<2)|0;yA[B_>>2]=D_;P_=26304+(Lg<<4)|0;yA[D_>>2]=yA[P_>>2]|0;yA[D_+4>>2]=yA[P_+4>>2]|0;yA[D_+8>>2]=yA[P_+8>>2]|0;yA[D_+12>>2]=yA[P_+12>>2]|0;I_=yA[M_>>2]|0;x_=(Lg|0)<(I_|0);if(!x_){H_=Lg+1|0;yA[M_>>2]=H_}U_=(k_+288|0)+(Lg<<2)|0;yA[U_>>2]=0;z_=yA[T_>>2]|0;V_=p_+(Lg*3208|0)|0;PA(z_|0,V_|0,3208)|0;q_=yA[F_>>2]|0;G_=(Lg|0)<(q_|0);if(!G_){W_=Lg+1|0;yA[F_>>2]=W_}j_=yA[V_>>2]|0;X_=(j_|0)>0;if(X_){iA=0;while(1){K_=((p_+(Lg*3208|0)|0)+1092|0)+(iA<<2)|0;Z_=yA[K_>>2]|0;J_=yA[W>>2]|0;Q_=DA(2840)|0;$_=(J_+1568|0)+(Z_<<2)|0;yA[$_>>2]=Q_;eb=(b_+(Z_<<5)|0)+12|0;rb=yA[eb>>2]|0;PA(Q_|0,rb|0,2840)|0;ib=J_+20|0;tb=yA[ib>>2]|0;ob=(tb|0)>(Z_|0);if(!ob){ab=Z_+1|0;yA[ib>>2]=ab}sb=(b_+(Z_<<5)|0)+8|0;lb=yA[sb>>2]|0;fb=Q_+8|0;yA[fb>>2]=lb;ub=b_+(Z_<<5)|0;cb=yA[ub>>2]|0;hb=(J_+1312|0)+(Z_<<2)|0;yA[hb>>2]=cb;db=J_+3420|0;vb=yA[db>>2]|0;wb=(vb|0)==0;Eb=Q_+12|0;pb=yA[Eb>>2]|0;_b=(pb|0)>0;do{if(wb){if(_b){gb=(b_+(Z_<<5)|0)+24|0;Ab=yA[gb>>2]|0;Ob=Q_+24|0;Qg=0;while(1){yS=Ob+(Qg<<2)|0;MS=Ab+(Qg<<4)|0;RS=yA[MS>>2]|0;LS=(RS|0)==(0|0);if(!LS){NS=yA[yS>>2]|0;TS=NS|1;yA[yS>>2]=TS}DS=(Ab+(Qg<<4)|0)+4|0;BS=yA[DS>>2]|0;PS=(BS|0)==(0|0);if(!PS){ri=yA[yS>>2]|0;ii=ri|2;yA[yS>>2]=ii}ti=(Ab+(Qg<<4)|0)+8|0;ni=yA[ti>>2]|0;oi=(ni|0)==(0|0);if(!oi){ai=yA[yS>>2]|0;si=ai|4;yA[yS>>2]=si}fi=(Ab+(Qg<<4)|0)+12|0;ui=yA[fi>>2]|0;ci=(ui|0)==(0|0);if(!ci){hi=yA[yS>>2]|0;di=hi|8;yA[yS>>2]=di}vi=Qg+1|0;mi=yA[Eb>>2]|0;wi=(vi|0)<(mi|0);if(wi){Qg=vi}else{QS=mi;break}}}else{QS=pb}CS=(b_+(Z_<<5)|0)+16|0;IS=yA[CS>>2]|0;xS=J_+24|0;US=yA[xS>>2]|0;zS=(US|0)>0;VS=IS;e:do{if(zS){Gg=0;while(1){qS=(J_+1824|0)+(Gg<<2)|0;GS=yA[qS>>2]|0;WS=(GS|0)==(IS|0);if(WS){_=Gg;break e}jS=Gg+1|0;YS=(jS|0)<(US|0);if(YS){Gg=jS}else{kA=116;break}}}else{kA=116}}while(0);if((kA|0)==116){kA=0;XS=US+1|0;yA[xS>>2]=XS;_=US}KS=Q_+20|0;yA[KS>>2]=_;JS=(J_+1824|0)+(_<<2)|0;yA[JS>>2]=VS;$S=(QS|0)>0;if(!$S){break}ek=(b_+(Z_<<5)|0)+24|0;rk=Q_+280|0;ig=0;eA=0;while(1){ik=yA[ek>>2]|0;tk=ik+(eA<<4)|0;nk=yA[tk>>2]|0;ok=(nk|0)==(0|0);ak=nk;if(ok){Sk=ik;ag=ig}else{lk=yA[xS>>2]|0;fk=(lk|0)>0;e:do{if(fk){Hg=0;while(1){uk=(J_+1824|0)+(Hg<<2)|0;ck=yA[uk>>2]|0;hk=(ck|0)==(nk|0);if(hk){p=Hg;break e}dk=Hg+1|0;vk=(dk|0)<(lk|0);if(vk){Hg=dk}else{kA=123;break}}}else{kA=123}}while(0);if((kA|0)==123){kA=0;mk=lk+1|0;yA[xS>>2]=mk;p=lk}wk=ig+1|0;Ek=rk+(ig<<2)|0;yA[Ek>>2]=p;_k=(J_+1824|0)+(p<<2)|0;yA[_k>>2]=ak;H=yA[ek>>2]|0;Sk=H;ag=wk}bk=(Sk+(eA<<4)|0)+4|0;kk=yA[bk>>2]|0;gk=(kk|0)==(0|0);Ak=kk;if(gk){wr=Sk;tg=ag}else{tr=yA[xS>>2]|0;nr=(tr|0)>0;e:do{if(nr){Cg=0;while(1){or=(J_+1824|0)+(Cg<<2)|0;sr=yA[or>>2]|0;lr=(sr|0)==(kk|0);if(lr){m=Cg;break e}fr=Cg+1|0;ur=(fr|0)<(tr|0);if(ur){Cg=fr}else{kA=147;break}}}else{kA=147}}while(0);if((kA|0)==147){kA=0;cr=tr+1|0;yA[xS>>2]=cr;m=tr}hr=ag+1|0;dr=rk+(ag<<2)|0;yA[dr>>2]=m;vr=(J_+1824|0)+(m<<2)|0;yA[vr>>2]=Ak;U=yA[ek>>2]|0;wr=U;tg=hr}mr=(wr+(eA<<4)|0)+8|0;pr=yA[mr>>2]|0;_r=(pr|0)==(0|0);br=pr;if(_r){Br=wr;ng=tg}else{Sr=yA[xS>>2]|0;kr=(Sr|0)>0;e:do{if(kr){Ig=0;while(1){gr=(J_+1824|0)+(Ig<<2)|0;Ar=yA[gr>>2]|0;Or=(Ar|0)==(pr|0);if(Or){w=Ig;break e}yr=Ig+1|0;Mr=(yr|0)<(Sr|0);if(Mr){Ig=yr}else{kA=153;break}}}else{kA=153}}while(0);if((kA|0)==153){kA=0;Rr=Sr+1|0;yA[xS>>2]=Rr;w=Sr}Lr=tg+1|0;Nr=rk+(tg<<2)|0;yA[Nr>>2]=w;Tr=(J_+1824|0)+(w<<2)|0;yA[Tr>>2]=br;V=yA[ek>>2]|0;Br=V;ng=Lr}Dr=(Br+(eA<<4)|0)+12|0;Pr=yA[Dr>>2]|0;Cr=(Pr|0)==(0|0);Ir=Pr;if(Cr){og=ng}else{xr=yA[xS>>2]|0;Ur=(xr|0)>0;e:do{if(Ur){xg=0;while(1){zr=(J_+1824|0)+(xg<<2)|0;Vr=yA[zr>>2]|0;qr=(Vr|0)==(Pr|0);if(qr){E=xg;break e}Gr=xg+1|0;Wr=(Gr|0)<(xr|0);if(Wr){xg=Gr}else{kA=159;break}}}else{kA=159}}while(0);if((kA|0)==159){kA=0;jr=xr+1|0;yA[xS>>2]=jr;E=xr}Yr=ng+1|0;Xr=rk+(ng<<2)|0;yA[Xr>>2]=E;Kr=(J_+1824|0)+(E<<2)|0;yA[Kr>>2]=Ir;og=Yr}Qr=eA+1|0;$r=yA[Eb>>2]|0;ei=(Qr|0)<($r|0);if(ei){ig=og;eA=Qr}else{break}}}else{if(_b){bb=(b_+(Z_<<5)|0)+28|0;Sb=yA[bb>>2]|0;kb=Q_+24|0;jg=0;while(1){Mb=kb+(jg<<2)|0;Fb=Sb+(jg<<4)|0;Rb=yA[Fb>>2]|0;Lb=(Rb|0)==(0|0);if(!Lb){Nb=yA[Mb>>2]|0;Tb=Nb|1;yA[Mb>>2]=Tb}Db=(Sb+(jg<<4)|0)+4|0;Bb=yA[Db>>2]|0;Pb=(Bb|0)==(0|0);if(!Pb){vt=yA[Mb>>2]|0;mt=vt|2;yA[Mb>>2]=mt}wt=(Sb+(jg<<4)|0)+8|0;Et=yA[wt>>2]|0;pt=(Et|0)==(0|0);if(!pt){_t=yA[Mb>>2]|0;St=_t|4;yA[Mb>>2]=St}kt=(Sb+(jg<<4)|0)+12|0;gt=yA[kt>>2]|0;At=(gt|0)==(0|0);if(!At){Ot=yA[Mb>>2]|0;yt=Ot|8;yA[Mb>>2]=yt}Mt=jg+1|0;Ft=yA[Eb>>2]|0;Rt=(Mt|0)<(Ft|0);if(Rt){jg=Mt}else{$b=Ft;break}}}else{$b=pb}Cb=(b_+(Z_<<5)|0)+20|0;xb=yA[Cb>>2]|0;Hb=J_+24|0;Ub=yA[Hb>>2]|0;zb=(Ub|0)>0;Vb=xb;e:do{if(zb){Pg=0;while(1){qb=(J_+1824|0)+(Pg<<2)|0;Gb=yA[qb>>2]|0;Wb=(Gb|0)==(xb|0);if(Wb){u=Pg;break e}jb=Pg+1|0;Yb=(jb|0)<(Ub|0);if(Yb){Pg=jb}else{kA=100;break}}}else{kA=100}}while(0);if((kA|0)==100){kA=0;Zb=Ub+1|0;yA[Hb>>2]=Zb;u=Ub}Jb=Q_+20|0;yA[Jb>>2]=u;Qb=(J_+1824|0)+(u<<2)|0;yA[Qb>>2]=Vb;eS=($b|0)>0;if(!eS){break}rS=(b_+(Z_<<5)|0)+28|0;iS=Q_+280|0;Jk=0;Xg=0;while(1){tS=yA[rS>>2]|0;nS=tS+(Xg<<4)|0;oS=yA[nS>>2]|0;sS=(oS|0)==(0|0);lS=oS;if(sS){kS=tS;rg=Jk}else{fS=yA[Hb>>2]|0;uS=(fS|0)>0;e:do{if(uS){qg=0;while(1){cS=(J_+1824|0)+(qg<<2)|0;hS=yA[cS>>2]|0;dS=(hS|0)==(oS|0);if(dS){v=qg;break e}vS=qg+1|0;mS=(vS|0)<(fS|0);if(mS){qg=vS}else{kA=107;break}}}else{kA=107}}while(0);if((kA|0)==107){kA=0;wS=fS+1|0;yA[Hb>>2]=wS;v=fS}pS=Jk+1|0;_S=iS+(Jk<<2)|0;yA[_S>>2]=v;bS=(J_+1824|0)+(v<<2)|0;yA[bS>>2]=lS;T=yA[rS>>2]|0;kS=T;rg=pS}SS=(kS+(Xg<<4)|0)+4|0;gS=yA[SS>>2]|0;AS=(gS|0)==(0|0);OS=gS;if(AS){Ni=kS;Qk=rg}else{Ei=yA[Hb>>2]|0;pi=(Ei|0)>0;e:do{if(pi){Ug=0;while(1){bi=(J_+1824|0)+(Ug<<2)|0;Si=yA[bi>>2]|0;ki=(Si|0)==(gS|0);if(ki){c=Ug;break e}gi=Ug+1|0;Ai=(gi|0)<(Ei|0);if(Ai){Ug=gi}else{kA=171;break}}}else{kA=171}}while(0);if((kA|0)==171){kA=0;Oi=Ei+1|0;yA[Hb>>2]=Oi;c=Ei}yi=rg+1|0;Mi=iS+(rg<<2)|0;yA[Mi>>2]=c;Fi=(J_+1824|0)+(c<<2)|0;yA[Fi>>2]=OS;I=yA[rS>>2]|0;Ni=I;Qk=yi}Ri=(Ni+(Xg<<4)|0)+8|0;Ti=yA[Ri>>2]|0;Di=(Ti|0)==(0|0);Bi=Ti;if(Di){Xi=Ni;$k=Qk}else{Pi=yA[Hb>>2]|0;Ci=(Pi|0)>0;e:do{if(Ci){zg=0;while(1){Ii=(J_+1824|0)+(zg<<2)|0;xi=yA[Ii>>2]|0;Hi=(xi|0)==(Ti|0);if(Hi){h=zg;break e}Ui=zg+1|0;Vi=(Ui|0)<(Pi|0);if(Vi){zg=Ui}else{kA=177;break}}}else{kA=177}}while(0);if((kA|0)==177){kA=0;qi=Pi+1|0;yA[Hb>>2]=qi;h=Pi}Gi=Qk+1|0;Wi=iS+(Qk<<2)|0;yA[Wi>>2]=h;ji=(J_+1824|0)+(h<<2)|0;yA[ji>>2]=Bi;x=yA[rS>>2]|0;Xi=x;$k=Gi}Yi=(Xi+(Xg<<4)|0)+12|0;Ki=yA[Yi>>2]|0;Zi=(Ki|0)==(0|0);Ji=Ki;if(Zi){eg=$k}else{$i=yA[Hb>>2]|0;et=($i|0)>0;e:do{if(et){Vg=0;while(1){rt=(J_+1824|0)+(Vg<<2)|0;it=yA[rt>>2]|0;tt=(it|0)==(Ki|0);if(tt){d=Vg;break e}nt=Vg+1|0;ot=(nt|0)<($i|0);if(ot){Vg=nt}else{kA=183;break}}}else{kA=183}}while(0);if((kA|0)==183){kA=0;at=$i+1|0;yA[Hb>>2]=at;d=$i}st=$k+1|0;lt=iS+($k<<2)|0;yA[lt>>2]=d;ut=(J_+1824|0)+(d<<2)|0;yA[ut>>2]=Ji;eg=st}ct=Xg+1|0;ht=yA[Eb>>2]|0;dt=(ct|0)<(ht|0);if(dt){Jk=eg;Xg=ct}else{break}}}}while(0);Ok=J_+3480|0;yk=+FA[Ok>>3];Mk=yk*1000.0;Fk=(J_+1056|0)+(Lg<<2)|0;Lk=yA[Fk>>2]|0;Nk=yA[R_>>2]|0;Tk=+(Nk|0);Dk=Tk*0.5;Bk=J_+(Lg<<2)|0;Pk=yA[Bk>>2]|0;Ck=Pk>>1;Ik=Mk>Dk;gg=Ik?Dk:Mk;xk=gg/Dk;Hk=+(Ck|0);zk=Hk*xk;Vk=~~zk;qk=Lk+1116|0;yA[qk>>2]=Vk;Gk=(b_+(Z_<<5)|0)+4|0;Wk=yA[Gk>>2]|0;do{if((Wk|0)==2){Fg=250.0}else if((Wk|0)==1){jk=yA[db>>2]|0;Yk=(jk|0)==0;Xk=J_+2996|0;Kk=J_+2968|0;Mg=Yk?Kk:Xk;yg=yA[Mg>>2]|0;Og=+(yg|0);Ag=Og*1000.0;Zk=Ag>Dk;if(!Zk){Fg=Ag;break}Fg=Dk}else{Fg=gg}}while(0);K=yA[hb>>2]|0;Z=(K|0)==2;do{if(Z){J=J_+12|0;Q=yA[J>>2]|0;$=(Q|0)>0;if($){rA=0;while(1){ee=(J_+544|0)+(rA<<2)|0;re=yA[ee>>2]|0;ie=yA[re>>2]|0;te=(ie|0)>0;if(te){tA=0;while(1){ne=(re+1092|0)+(tA<<2)|0;ae=yA[ne>>2]|0;se=(ae|0)==(Z_|0);do{if(se){le=yA[L_>>2]|0;fe=(le|0)>0;if(fe){fg=0;oA=0}else{ug=0;break}while(1){ue=(re+4|0)+(oA<<2)|0;ce=yA[ue>>2]|0;he=(ce|0)==(tA|0);de=he&1;O=de+fg|0;ve=oA+1|0;cg=(ve|0)==(le|0);if(cg){ug=O;break}else{fg=O;oA=ve}}}else{ug=0}}while(0);me=tA+1|0;Ee=(me|0)<(ie|0);pe=(ug|0)==0;_e=Ee&pe;if(_e){tA=me}else{lg=ug;break}}}else{lg=0}be=rA+1|0;Se=(be|0)<(Q|0);ke=(lg|0)==0;ge=Se&ke;if(ge){rA=be}else{sg=lg;break}}}else{sg=0}Ae=Fg/Dk;Oe=+(sg|0);ye=Oe*Hk;Fe=ye*Ae;Re=yA[fb>>2]|0;Le=+(Re|0);Ne=Fe/Le;Te=Ne+0.90000000000000002;De=~~Te;Be=LA(De,Re)|0;Pe=Q_+4|0;yA[Pe>>2]=Be;Ce=LA(sg,Ck)|0;Ie=(Be|0)>(Ce|0);if(!Ie){B=Pe;er=Be;ir=Re;break}He=(Ce|0)%(Re|0)&-1;Ue=Ce-He|0;yA[Pe>>2]=Ue;B=Pe;er=Ue;ir=Re}else{ze=Fg/Dk;Ve=ze*Hk;qe=yA[fb>>2]|0;Ge=+(qe|0);We=Ve/Ge;je=We+0.90000000000000002;Ye=~~je;Xe=LA(Ye,qe)|0;Ze=Q_+4|0;yA[Ze>>2]=Xe;Je=(Xe|0)>(Ck|0);if(!Je){B=Ze;er=Xe;ir=qe;break}Qe=(Ck|0)%(qe|0)&-1;$e=Ck-Qe|0;yA[Ze>>2]=$e;B=Ze;er=$e;ir=qe}}while(0);rr=(er|0)==0;if(rr){yA[B>>2]=ir}Lt=iA+1|0;Tt=yA[V_>>2]|0;Dt=(Lt|0)<(Tt|0);if(Dt){iA=Lt}else{break}}}Bt=Lg+1|0;Pt=(Bt|0)<(i|0);if(Pt){Lg=Bt}else{break}}Ct=j+3428|0;It=yA[Ct>>2]|0;xt=(It|0)>0;if(xt){Ht=e+16|0;yA[Ht>>2]=It}else{Ut=yA[W>>2]|0;zt=Ut+3396|0;qt=yA[zt>>2]|0;Gt=Ut+3400|0;Wt=+FA[Gt>>3];jt=~~Wt;Yt=+(jt|0);Xt=Wt-Yt;Kt=qt+4|0;Zt=yA[Kt>>2]|0;Jt=(Zt|0)==(0|0);if(Jt){f=-1}else{Qt=yA[L_>>2]|0;rn=Zt+(jt<<3)|0;tn=+FA[rn>>3];nn=1.0-Xt;on=tn*nn;an=jt+1|0;sn=Zt+(an<<3)|0;ln=+FA[sn>>3];fn=ln*Xt;un=fn+on;cn=+(Qt|0);dn=un*cn;bA=~~dn;f=bA}vn=e+16|0;yA[vn>>2]=f}mn=j+3424|0;wn=yA[mn>>2]|0;En=e+20|0;yA[En>>2]=wn;pn=j+3440|0;_n=yA[pn>>2]|0;bn=e+12|0;yA[bn>>2]=_n;Sn=(It|0)==0;if(Sn){G=0}else{kn=j+3444|0;An=yA[kn>>2]|0;On=+(An|0);yn=+(It|0);Mn=On/yn;Fn=~~Mn;G=Fn}Rn=e+24|0;yA[Rn>>2]=G;Ln=j+3420|0;Nn=yA[Ln>>2]|0;Tn=(Nn|0)==0;if(Tn){l=0;return l|0}Dn=yA[Ct>>2]|0;Pn=j+3360|0;yA[Pn>>2]=Dn;Cn=yA[mn>>2]|0;In=j+3364|0;yA[In>>2]=Cn;xn=yA[pn>>2]|0;Hn=j+3368|0;yA[Hn>>2]=xn;Un=j+3444|0;zn=yA[Un>>2]|0;Vn=j+3372|0;yA[Vn>>2]=zn;qn=j+3448|0;Gn=+FA[qn>>3];jn=j+3376|0;FA[jn>>3]=Gn;Yn=j+3432|0;Xn=+FA[Yn>>3];Kn=j+3384|0;FA[Kn>>3]=Xn;l=0;return l|0}function ri(e,r,i,t){e=e|0;r=r|0;i=i|0;t=+t;var n=0,o=0,a=0.0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0.0,p=0.0,_=0.0,b=0,S=0,k=0.0,g=0;var A=0,O=0;O=RA;s=(i|0)<1;if(s){o=-131}else{l=e+28|0;w=yA[l>>2]|0;E=t;p=E+9.9999999999999995E-8;_=p;b=!(_>=1.0);a=b?_:0.99989998340606689;S=w+3416|0;MA[S>>2]=a;k=a;g=w+3400|0;f=ii(r,i,k,0,g)|0;u=w+3396|0;yA[u>>2]=f;c=(f|0)==(0|0);if(c){o=-130}else{ti(e,r,i);h=w+3420|0;yA[h>>2]=0;d=w+3464|0;yA[d>>2]=1;v=ei(e)|0;m=(v|0)==0;if(m){n=0;return n|0}ur(e);n=v;return n|0}}ur(e);n=o;return n|0}function NA(e,r,i,t,n,o){e=e|0;r=+r;i=i|0;t=t|0;n=n|0;o=o|0;var a=0,s=0.0,l=0.0,f=0.0,u=0,c=0,h=0,d=0.0,v=0.0,m=0.0,w=0.0,E=0,p=0.0,_=0,b=0,S=0.0,k=0.0,g=0,A=0,O=0.0;var y=0.0,M=0.0,F=0.0,R=0,L=0,N=0,T=0,D=0.0,B=0.0,P=0,C=0,I=0.0,x=0.0,H=0.0,U=0,z=0.0,V=0,q=0,G=0.0,W=0.0;var j=0.0,Y=0,X=0.0,K=0.0,Z=0.0,J=0,Q=0.0,$=0.0,ee=0,re=0,ie=0.0,te=0.0,ne=0.0,oe=0,ae=0.0,se=0.0,le=0,fe=0.0,ue=0.0,ce=0.0;var he=0,de=0,ve=0,me=0.0,we=0.0,Ee=0,pe=0,_e=0,be=0.0,Se=0.0,ke=0.0,ge=0.0,Ae=0,Oe=0,ye=0,Me=0.0,Fe=0.0,Re=0,Le=0,Ne=0;var Te=0.0,De=0.0,Be=0.0,Pe=0.0,Ce=0,Ie=0,xe=0.0,He=0,Ue=0,ze=0,Ve=0;Ve=RA;a=~~r;s=+(a|0);p=r-s;R=e+28|0;U=yA[R>>2]|0;J=(U+2852|0)+(i<<2)|0;le=yA[J>>2]|0;_e=t+(a*20|0)|0;Le=yA[_e>>2]|0;xe=+(Le|0);l=1.0-p;f=xe*l;u=a+1|0;c=t+(u*20|0)|0;h=yA[c>>2]|0;d=+(h|0);v=d*p;m=v+f;w=m;E=le+12|0;MA[E>>2]=w;_=(t+(a*20|0)|0)+4|0;b=yA[_>>2]|0;S=+(b|0);k=S*l;g=(t+(u*20|0)|0)+4|0;A=yA[g>>2]|0;O=+(A|0);y=O*p;M=y+k;F=M;L=le+16|0;MA[L>>2]=F;N=(t+(a*20|0)|0)+8|0;T=yA[N>>2]|0;D=+(T|0);B=D*l;P=(t+(u*20|0)|0)+8|0;C=yA[P>>2]|0;I=+(C|0);x=I*p;H=x+B;z=H;V=le+20|0;MA[V>>2]=z;q=(t+(a*20|0)|0)+12|0;G=+MA[q>>2];W=G;j=W*l;Y=(t+(u*20|0)|0)+12|0;X=+MA[Y>>2];K=X;Z=K*p;Q=Z+j;$=Q;ee=le+24|0;MA[ee>>2]=$;re=(t+(a*20|0)|0)+16|0;ie=+MA[re>>2];te=ie;ne=te*l;oe=(t+(u*20|0)|0)+16|0;ae=+MA[oe>>2];se=ae;fe=se*p;ue=fe+ne;ce=ue;he=le+28|0;MA[he>>2]=ce;de=n+(a<<2)|0;ve=yA[de>>2]|0;me=+(ve|0);we=me*l;Ee=n+(u<<2)|0;pe=yA[Ee>>2]|0;be=+(pe|0);Se=be*p;ke=Se+we;ge=ke;Ae=le+496|0;MA[Ae>>2]=ge;Ue=0;while(1){Oe=(o+(a*68|0)|0)+(Ue<<2)|0;ye=yA[Oe>>2]|0;Me=+(ye|0);Fe=Me*l;Re=(o+(u*68|0)|0)+(Ue<<2)|0;Ne=yA[Re>>2]|0;Te=+(Ne|0);De=Te*p;Be=De+Fe;Pe=Be;Ce=(le+36|0)+(Ue<<2)|0;MA[Ce>>2]=Pe;Ie=Ue+1|0;He=(Ie|0)==17;if(He){break}else{Ue=Ie}}return}function TA(e,r,i,t,n,o,a){e=e|0;r=+r;i=i|0;t=t|0;n=n|0;o=o|0;a=+a;var s=0,l=0,f=0,u=0.0,c=0.0,h=0.0,d=0,v=0.0,m=0.0,w=0.0,E=0,p=0,_=0,b=0.0,S=0,k=0.0,g=0.0,A=0.0,O=0,y=0.0;var M=0,F=0,R=0,L=0.0,N=0.0,T=0.0,D=0.0,B=0,P=0.0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0,W=0,j=0;var Y=0,X=0.0,K=0.0,Z=0,J=0,Q=0.0,$=0.0,ee=0.0,re=0.0,ie=0,te=0,ne=0,oe=0,ae=0,se=0.0,le=0.0,fe=0.0,ue=0,ce=0.0,he=0;var de=0,ve=0,me=0.0,we=0.0,Ee=0,pe=0.0,_e=0.0,be=0.0,Se=0,ke=0,ge=0,Ae=0.0,Oe=0,ye=0.0,Me=0.0,Fe=0,Re=0,Le=0,Ne=0.0,Te=0.0;var De=0,Be=0.0,Pe=0.0,Ce=0,Ie=0.0,xe=0,He=0,Ue=0,ze=0.0,Ve=0.0,qe=0.0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0.0,Ze=0.0,Je=0,Qe=0;var $e=0.0,er=0.0,rr=0.0,ir=0.0,tr=0,nr=0.0,or=0,ar=0,sr=0,lr=0.0,fr=0.0,ur=0,cr=0,hr=0.0,dr=0.0,vr=0.0,mr=0,wr=0,Er=0,pr=0;var _r=0,br=0,Sr=0,kr=0,gr=0,Ar=0.0,Or=0.0,yr=0.0,Mr=0.0,Fr=0.0,Rr=0.0,Lr=0,Nr=0;Nr=RA;d=~~r;v=+(d|0);P=r-v;j=e+28|0;te=yA[j>>2]|0;ve=(te+2852|0)+(i<<2)|0;Oe=yA[ve>>2]|0;Ce=t+(d<<2)|0;Ye=yA[Ce>>2]|0;nr=+(Ye|0);m=1.0-P;y=nr*m;M=d+1|0;F=t+(M<<2)|0;R=yA[F>>2]|0;L=+(R|0);N=L*P;T=N+y;D=T;B=Oe+108|0;MA[B>>2]=D;C=o+(i*12|0)|0;I=yA[C>>2]|0;x=Oe+120|0;yA[x>>2]=I;H=(o+(i*12|0)|0)+4|0;U=yA[H>>2]|0;z=Oe+124|0;yA[z>>2]=U;V=(o+(i*12|0)|0)+8|0;q=yA[V>>2]|0;G=Oe+128|0;yA[G>>2]=q;Sr=0;while(1){W=(n+(d*204|0)|0)+(Sr<<2)|0;Y=yA[W>>2]|0;X=+(Y|0);K=X*m;Z=(n+(M*204|0)|0)+(Sr<<2)|0;J=yA[Z>>2]|0;Q=+(J|0);$=Q*P;ee=$+K;re=ee;ie=(Oe+132|0)+(Sr<<2)|0;MA[ie>>2]=re;ne=Sr+1|0;pr=(ne|0)==17;if(pr){kr=0;break}else{Sr=ne}}while(1){je=((n+(d*204|0)|0)+68|0)+(kr<<2)|0;Xe=yA[je>>2]|0;Ke=+(Xe|0);Ze=Ke*m;Je=((n+(M*204|0)|0)+68|0)+(kr<<2)|0;Qe=yA[Je>>2]|0;$e=+(Qe|0);er=$e*P;rr=er+Ze;ir=rr;tr=(Oe+200|0)+(kr<<2)|0;MA[tr>>2]=ir;or=kr+1|0;_r=(or|0)==17;if(_r){gr=0;break}else{kr=or}}while(1){ar=((n+(d*204|0)|0)+136|0)+(gr<<2)|0;sr=yA[ar>>2]|0;lr=+(sr|0);fr=lr*m;ur=((n+(M*204|0)|0)+136|0)+(gr<<2)|0;cr=yA[ur>>2]|0;hr=+(cr|0);dr=hr*P;vr=dr+fr;w=vr;E=(Oe+268|0)+(gr<<2)|0;MA[E>>2]=w;p=gr+1|0;br=(p|0)==17;if(br){break}else{gr=p}}_=Oe+132|0;b=+MA[_>>2];ce=b+6.0;S=Oe+132|0;k=b;g=k+a;A=g;O=A>2]=Rr;oe=1;while(1){s=(Oe+132|0)+(oe<<2)|0;u=+MA[s>>2];ae=(Oe+132|0)+(oe<<2)|0;se=u;le=se+a;fe=le;ue=fe>2]=Ar;he=oe+1|0;mr=(he|0)==17;if(mr){break}else{oe=he}}de=Oe+200|0;me=+MA[de>>2];we=me+6.0;Ee=Oe+200|0;pe=me;_e=pe+a;be=_e;Se=be>2]=yr;ke=1;while(1){l=(Oe+200|0)+(ke<<2)|0;c=+MA[l>>2];ge=(Oe+200|0)+(ke<<2)|0;Ae=c;ye=Ae+a;Me=ye;Fe=Me>2]=Or;Re=ke+1|0;wr=(Re|0)==17;if(wr){break}else{ke=Re}}Le=Oe+268|0;Ne=+MA[Le>>2];Te=Ne+6.0;De=Oe+268|0;Be=Ne;Pe=Be+a;Ie=Pe;xe=Ie>2]=Fr;He=1;while(1){f=(Oe+268|0)+(He<<2)|0;h=+MA[f>>2];Ue=(Oe+268|0)+(He<<2)|0;ze=h;Ve=ze+a;qe=Ve;Ge=qe>2]=Mr;We=He+1|0;Er=(We|0)==17;if(Er){break}else{He=We}}return}function ii(e,r,i,t,n){e=e|0;r=r|0;i=+i;t=t|0;n=n|0;var o=0,a=0.0,s=0,l=0,f=0,u=0,c=0.0,h=0,d=0,v=0.0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0.0,A=0;var O=0.0,y=0,M=0.0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0;var W=0,j=0,Y=0,X=0.0,K=0,Z=0,J=0,Q=0,$=0.0,ee=0,re=0,ie=0,te=0.0,ne=0,oe=0,ae=0.0,se=0,le=0,fe=0,ue=0.0;var ce=0.0,he=0,de=0.0,ve=0.0,me=0,we=0,Ee=0,pe=0.0,_e=0.0,be=0.0,Se=0.0,ke=0.0,ge=0.0,Ae=0.0,Oe=0.0,ye=0,Me=0.0,Fe=0.0,Re=0.0,Le=0;var Ne=0.0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0.0,qe=0,Ge=0;Ge=RA;d=(t|0)==0;e:do{if(d){T=26336;Ce=0;while(1){N=yA[T>>2]|0;D=N+12|0;B=yA[D>>2]|0;P=(B|0)==-1;I=(B|0)==(e|0);Ue=P|I;if(Ue){x=N+16|0;H=yA[x>>2]|0;U=(H|0)>(r|0);if(!U){z=N+20|0;V=yA[z>>2]|0;q=(V|0)<(r|0);if(!q){G=yA[N>>2]|0;W=N+8|0;j=yA[W>>2]|0;X=+FA[j>>3];K=X>i;if(!K){Q=j+(G<<3)|0;$=+FA[Q>>3];ee=$>2]|0;ne=C+12|0;me=yA[ne>>2]|0;ye=(me|0)==-1;Te=(me|0)==(e|0);ze=ye|Te;if(ze){De=C+16|0;m=yA[De>>2]|0;w=(m|0)>(r|0);if(!w){E=C+20|0;p=yA[E>>2]|0;_=(p|0)<(r|0);if(!_){b=yA[C>>2]|0;S=C+4|0;k=yA[S>>2]|0;g=+FA[k>>3];A=O>3];F=O>M;if(!F){a=O;s=b;l=Y;f=k;Ne=g;break e}}}}}Pe=Ie+1|0;R=26336+(Pe<<2)|0;L=(Pe|0)==17;if(L){o=0;break}else{Y=R;Ie=Pe}}return o|0}}while(0);re=(s|0)>0;e:do{if(re){te=Ne;He=0;while(1){ie=!(a>=te);h=He+1|0;if(!ie){oe=f+(h<<3)|0;ae=+FA[oe>>3];se=a>3];te=c;He=h}}else{xe=0}}while(0);fe=(xe|0)==(s|0);if(fe){ue=+(s|0);ce=ue+-0.001;Ve=ce}else{he=f+(xe<<3)|0;de=+FA[he>>3];ve=de;we=xe+1|0;Ee=f+(we<<3)|0;pe=+FA[Ee>>3];_e=pe;be=ve;Se=a-be;ke=_e-ve;ge=ke;Ae=Se/ge;Oe=Ae;Me=+(xe|0);Fe=Oe+Me;Re=Fe;Ve=Re}FA[n>>3]=Ve;Le=yA[l>>2]|0;o=Le;return o|0}function ti(e,r,i){e=e|0;r=r|0;i=i|0;var t=0.0,n=0,o=0.0,a=0,s=0,l=0,f=0,u=0.0,c=0.0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0.0,S=0.0,k=0.0;var g=0,A=0,O=0.0,y=0.0,M=0.0,F=0,R=0,L=0,N=0,T=0,D=0,B=0.0,P=0.0,C=0,I=0,x=0.0,H=0.0,U=0.0,z=0,V=0;var q=0,G=0,W=0,j=0,Y=0.0,X=0.0,K=0,Z=0,J=0.0,Q=0,$=0.0,ee=0.0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0;var fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0.0,Ae=0,Oe=0;Oe=RA;s=e+28|0;l=yA[s>>2]|0;_=l+3396|0;L=yA[_>>2]|0;yA[e>>2]=0;z=e+4|0;yA[z>>2]=r;Q=e+8|0;yA[Q>>2]=i;fe=l+3456|0;yA[fe>>2]=1;be=l+3460|0;yA[be>>2]=1;ke=l+3400|0;ge=+FA[ke>>3];f=~~ge;u=+(f|0);c=ge-u;h=l+3472|0;FA[h>>3]=ge;d=l+3488|0;v=yA[d>>2]|0;m=(v|0)==0;if(m){w=L+120|0;E=yA[w>>2]|0;p=E+(f<<3)|0;b=+FA[p>>3];S=1.0-c;k=b*S;g=f+1|0;A=E+(g<<3)|0;O=+FA[A>>3];y=O*c;M=y+k;F=l+3480|0;FA[F>>3]=M;n=g;o=S}else{t=1.0-c;a=f+1|0;n=a;o=t}R=L+112|0;N=yA[R>>2]|0;T=N+(f<<2)|0;D=yA[T>>2]|0;B=+(D|0);P=B*o;C=N+(n<<2)|0;I=yA[C>>2]|0;x=+(I|0);H=x*c;U=H+P;V=l+3496|0;FA[V>>3]=U;q=L+116|0;G=yA[q>>2]|0;W=G+(f<<2)|0;j=yA[W>>2]|0;Y=+(j|0);X=Y*o;K=G+(n<<2)|0;Z=yA[K>>2]|0;J=+(Z|0);$=J*c;ee=$+X;re=l+3504|0;FA[re>>3]=ee;ie=l+3512|0;FA[ie>>3]=-6.0;te=l+3520|0;FA[te>>3]=ge;ne=l+3528|0;FA[ne>>3]=ge;oe=l+3536|0;FA[oe>>3]=ge;ae=l+3544|0;FA[ae>>3]=ge;se=l+3552|0;FA[se>>3]=ge;le=l+3560|0;FA[le>>3]=ge;ue=l+3568|0;FA[ue>>3]=ge;ce=l+3576|0;FA[ce>>3]=ge;he=l+3584|0;FA[he>>3]=ge;de=l+3592|0;FA[de>>3]=ge;ve=l+3600|0;FA[ve>>3]=ge;me=l+3608|0;FA[me>>3]=ge;we=l+3616|0;FA[we>>3]=ge;Ee=l+3624|0;FA[Ee>>3]=ge;pe=l+3632|0;FA[pe>>3]=ge;_e=l+3640|0;FA[_e>>3]=ge;Se=l+3648|0;FA[Se>>3]=ge;return}function lc(e,r,i,t,n,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;var a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0,O=0;var y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0.0,U=0,z=0,V=0.0,q=0.0,G=0,W=0;var j=0,Y=0,X=0,K=0,Z=0.0,J=0,Q=0,$=0.0,ee=0.0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0,ce=0;var he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0;pe=RA;s=(n|0)!=0;l=s?t:0;_=s?o:0;L=r+(l<<2)|0;z=yA[L>>2]|0;Q=520336+(z<<2)|0;te=yA[Q>>2]|0;ne=r+(_<<2)|0;oe=yA[ne>>2]|0;ae=520336+(oe<<2)|0;f=yA[ae>>2]|0;u=i+(n<<2)|0;c=yA[u>>2]|0;h=i+(l<<2)|0;d=yA[h>>2]|0;v=i+(_<<2)|0;m=yA[v>>2]|0;w=(c|0)/4&-1;E=(d|0)/4&-1;p=w-E|0;b=(d|0)/2&-1;S=p+b|0;k=(c|0)/2&-1;g=k+w|0;a=(m|0)/-4&-1;A=g+a|0;O=(m|0)/2&-1;y=A+O|0;M=(p|0)>0;if(M){F=w-E|0;R=F<<2;tl(e|0,0,R|0)|0;le=p}else{le=0}N=(le|0)<(S|0);if(N){T=w+b|0;D=T-le|0;B=D-E|0;fe=le;he=0;while(1){x=te+(he<<2)|0;H=+MA[x>>2];U=e+(fe<<2)|0;V=+MA[U>>2];q=V*H;MA[U>>2]=q;G=fe+1|0;W=he+1|0;se=(W|0)==(B|0);if(se){break}else{fe=G;he=W}}}P=(m|0)>1;if(P){C=A+1|0;I=(y|0)>(C|0);ce=A;ve=O;while(1){de=ve+-1|0;K=f+(de<<2)|0;Z=+MA[K>>2];J=e+(ce<<2)|0;$=+MA[J>>2];ee=$*Z;MA[J>>2]=ee;re=ce+1|0;ie=(re|0)<(y|0);if(ie){ce=re;ve=de}else{break}}we=I?y:C;ue=we}else{ue=A}j=(c|0)>(ue|0);if(!j){return}me=e+(ue<<2)|0;Y=c-ue|0;X=Y<<2;tl(me|0,0,X|0)|0;return}function ni(e,r,i){e=e|0;r=+r;i=+i;var t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0;var g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0;V=RA;RA=RA+64|0;U=V+32|0;H=V;t=DA(688)|0;n=t+408|0;lr(n);m=~~r;ri(n,e,m,i)|0;y=t+440|0;or(y);ar(y,553008,553016);D=t+456|0;ze(D,n)|0;B=t+568|0;Ie(D,B)|0;P=fg(0|0)|0;hi(P);C=di()|0;ye(t,C)|0;I=t+680|0;yA[I>>2]=0;x=t+684|0;yA[x>>2]=0;o=t+360|0;cr(D,y,o,U,H)|0;Re(t,o)|0;Re(t,U)|0;Re(t,H)|0;a=t+392|0;s=Le(t,a)|0;l=(s|0)==0;if(l){RA=V;return t|0}f=t+396|0;u=t+404|0;c=t+400|0;while(1){h=yA[x>>2]|0;d=yA[f>>2]|0;v=d+h|0;w=yA[u>>2]|0;E=v+w|0;p=(E|0)==0;if(!p){S=yA[I>>2]|0;k=jn(S,E)|0;yA[I>>2]=k;g=yA[x>>2]|0;A=k+g|0;O=yA[a>>2]|0;M=yA[f>>2]|0;PA(A|0,O|0,M|0)|0;F=M+g|0;yA[x>>2]=F;R=k+F|0;L=yA[c>>2]|0;N=yA[u>>2]|0;PA(R|0,L|0,N|0)|0;T=N+F|0;yA[x>>2]=T}_=Le(t,a)|0;b=(_|0)==0;if(b){break}}RA=V;return t|0}function oi(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0;l=RA;Me(e)|0;r=e+568|0;xe(r)|0;i=e+456|0;Ti(i);t=e+440|0;sr(t);n=e+408|0;ur(n);o=e+680|0;a=yA[o>>2]|0;Wn(a);Wn(e);return}function ai(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0;o=RA;i=e+456|0;t=Ve(i,r)|0;return t|0}function si(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0;V=RA;i=e+456|0;qe(i,r)|0;t=e+568|0;v=Ge(i,t)|0;O=(v|0)==1;if(!O){return}P=e+360|0;C=e+392|0;I=e+684|0;x=e+396|0;H=e+404|0;U=e+680|0;n=e+392|0;o=e+400|0;while(1){De(t,0)|0;Pe(t)|0;l=Ce(i,P)|0;f=(l|0)==0;if(!f){while(1){Re(e,P)|0;h=Ne(e,C)|0;d=(h|0)==0;if(!d){while(1){m=yA[I>>2]|0;w=yA[x>>2]|0;E=w+m|0;p=yA[H>>2]|0;_=E+p|0;b=(_|0)==0;if(!b){g=yA[U>>2]|0;A=jn(g,_)|0;yA[U>>2]=A;y=yA[I>>2]|0;M=A+y|0;F=yA[n>>2]|0;R=yA[x>>2]|0;PA(M|0,F|0,R|0)|0;L=R+y|0;yA[I>>2]=L;N=A+L|0;T=yA[o>>2]|0;D=yA[H>>2]|0;PA(N|0,T|0,D|0)|0;B=D+L|0;yA[I>>2]=B}S=Ne(e,C)|0;k=(S|0)==0;if(k){break}}}u=Ce(i,P)|0;c=(u|0)==0;if(c){break}}}a=Ge(i,t)|0;s=(a|0)==1;if(!s){break}}return}function li(e){e=e|0;var r=0,i=0,t=0,n=0;n=RA;r=e+684|0;i=yA[r>>2]|0;return i|0}function fi(e){e=e|0;var r=0,i=0,t=0,n=0,o=0;o=RA;r=e+684|0;yA[r>>2]=0;i=e+680|0;t=yA[i>>2]|0;return t|0}function Vi(e,r){e=+e;r=r|0;var i=0.0,t=0,n=0;n=RA;i=+ci(e,r);return+i}function Rn(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0;var A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0;var G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0;var ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0;var Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0;var Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0,mr=0;var wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0,Pr=0;var Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0,ei=0,ri=0;var ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0,bi=0,Si=0;var ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0,Ui=0,zi=0;var Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0,at=0,st=0;var lt=0,ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0;Et=RA;RA=RA+688|0;mt=Et+424|0;zi=Et+192|0;et=Et;D=LA(i,r)|0;B=(D|0)==0;if(B){RA=Et;return}R=D-i|0;ar=et+4|0;yA[ar>>2]=i;yA[et>>2]=i;Fr=i;Jr=i;Yi=2;while(1){Er=Fr+i|0;Ur=Er+Jr|0;li=et+(Yi<<2)|0;yA[li>>2]=Ur;_i=Ur>>>0>>0;Li=Yi+1|0;if(_i){Rr=Jr;Jr=Ur;Yi=Li;Fr=Rr}else{break}}P=0-i|0;j=e+R|0;te=(R|0)>0;if(te){ve=(i|0)==0;Oe=j;Ye=1;Vr=0;Wi=e;ft=1;while(1){Ce=Ye&3;tr=(Ce|0)==3;do{if(tr){yA[zi>>2]=Wi;nr=(ft|0)>1;e:do{if(nr){u=ft;w=Wi;cr=Wi;Qi=1;while(1){or=w+P|0;sr=u+-2|0;lr=et+(sr<<2)|0;fr=yA[lr>>2]|0;dt=fr+i|0;L=0-dt|0;ur=w+L|0;hr=_t[t&15](cr,ur)|0;dr=(hr|0)>-1;if(dr){vr=_t[t&15](cr,or)|0;mr=(vr|0)>-1;if(mr){Xi=Qi;break}}wr=_t[t&15](ur,or)|0;pr=(wr|0)>-1;_r=Qi+1|0;br=zi+(Qi<<2)|0;if(pr){yA[br>>2]=ur;Sr=u+-1|0;o=ur;l=Sr}else{yA[br>>2]=or;o=or;l=sr}kr=(l|0)>1;if(!kr){Xi=_r;break}O=yA[zi>>2]|0;u=l;w=o;cr=O;Qi=_r}gr=(Xi|0)<2;if(!gr){Ar=zi+(Xi<<2)|0;yA[Ar>>2]=mt;if(!ve){v=i;xr=mt;while(1){Cr=v>>>0>256;yr=Cr?256:v;Ir=yA[zi>>2]|0;PA(xr|0,Ir|0,yr|0)|0;Br=Ir;Zi=0;while(1){Lr=zi+(Zi<<2)|0;Nr=Zi+1|0;Tr=zi+(Nr<<2)|0;Dr=yA[Tr>>2]|0;PA(Br|0,Dr|0,yr|0)|0;Pr=Br+yr|0;yA[Lr>>2]=Pr;Vi=(Nr|0)==(Xi|0);if(Vi){break}else{Br=Dr;Zi=Nr}}Or=(v|0)==(yr|0);if(Or){break e}Mr=v-yr|0;M=yA[Ar>>2]|0;v=Mr;xr=M}}}}else{}}while(0);Hr=Ye>>>2;zr=Vr<<30;qr=Hr|zr;Gr=Vr>>>2;Wr=ft+2|0;z=qr;ir=Gr;ut=Wr}else{jr=ft+-1|0;Yr=et+(jr<<2)|0;Xr=yA[Yr>>2]|0;Kr=Wi;Zr=Oe-Kr|0;Qr=Xr>>>0>>0;if(Qr){yA[zi>>2]=Wi;$r=(ft|0)>1;e:do{if($r){c=ft;E=Wi;oi=Wi;$i=1;while(1){ei=E+P|0;ri=c+-2|0;ii=et+(ri<<2)|0;ti=yA[ii>>2]|0;vt=ti+i|0;N=0-vt|0;ni=E+N|0;ai=_t[t&15](oi,ni)|0;si=(ai|0)>-1;if(si){fi=_t[t&15](oi,ei)|0;ui=(fi|0)>-1;if(ui){Ki=$i;break}}ci=_t[t&15](ni,ei)|0;hi=(ci|0)>-1;di=$i+1|0;vi=zi+($i<<2)|0;if(hi){yA[vi>>2]=ni;mi=c+-1|0;a=ni;f=mi}else{yA[vi>>2]=ei;a=ei;f=ri}wi=(f|0)>1;if(!wi){Ki=di;break}y=yA[zi>>2]|0;c=f;E=a;oi=y;$i=di}Ei=(Ki|0)<2;if(!Ei){pi=zi+(Ki<<2)|0;yA[pi>>2]=mt;if(!ve){m=i;Ti=mt;while(1){Ri=m>>>0>256;Si=Ri?256:m;Ni=yA[zi>>2]|0;PA(Ti|0,Ni|0,Si|0)|0;Mi=Ni;Ji=0;while(1){gi=zi+(Ji<<2)|0;Ai=Ji+1|0;Oi=zi+(Ai<<2)|0;yi=yA[Oi>>2]|0;PA(Mi|0,yi|0,Si|0)|0;Fi=Mi+Si|0;yA[gi>>2]=Fi;qi=(Ai|0)==(Ki|0);if(qi){break}else{Mi=yi;Ji=Ai}}bi=(m|0)==(Si|0);if(bi){break e}ki=m-Si|0;F=yA[pi>>2]|0;m=ki;Ti=F}}}}else{}}while(0)}else{pt(Wi,i,t,Ye,Vr,ft,0,et)}Di=(ft|0)==1;if(Di){Bi=Vr<<1;Pi=Ye>>>31;Ci=Pi|Bi;Ii=Ye<<1;z=Ii;ir=Ci;ut=0;break}else{xi=jr>>>0>31;Hi=ft+-33|0;n=xi?0:Ye;p=xi?Ye:Vr;_=xi?Hi:jr;Ui=p<<_;C=32-_|0;I=n>>>C;x=I|Ui;H=n<<_;z=H;ir=x;ut=1;break}}}while(0);U=z|1;V=Wi+i|0;q=V>>>0>>0;if(q){Ye=U;Vr=ir;Wi=V;ft=ut}else{k=ir;g=U;Gi=V;lt=ut;break}}}else{k=0;g=1;Gi=e;lt=1}pt(Gi,i,t,g,k,lt,0,et);G=(lt|0)==1;W=(g|0)==1;st=W&G;Y=(k|0)==0;at=Y&st;if(at){RA=Et;return}else{Z=g;ae=k;ji=Gi;ct=lt}while(1){X=(ct|0)<2;if(!X){Se=ae<<2;ke=Z>>>30;ge=ke|Se;Ae=ct+-2|0;ye=Z<<1;Me=ye&2147483646;Fe=ke<<31;Re=Me|Fe;Le=Re^3;Ne=ge>>>1;Te=et+(Ae<<2)|0;De=yA[Te>>2]|0;ht=De+i|0;T=0-ht|0;Be=ji+T|0;Pe=ct+-1|0;pt(Be,i,t,Le,Ne,Pe,1,et);Ie=Ne<<1;xe=ke&1;He=Ie|xe;Ue=Le<<1;ze=Ue|1;Ve=ji+P|0;pt(Ve,i,t,ze,He,Ae,1,et);Z=ze;ae=He;ji=Ve;ct=Ae;continue}K=Z+-1|0;J=(K|0)==0;do{if(J){be=32;wt=56}else{Q=K&1;$=(Q|0)==0;if($){h=K;rt=0;while(1){ee=rt+1|0;re=h>>>1;ie=re&1;ne=(ie|0)==0;if(ne){h=re;rt=ee}else{b=ee;break}}oe=(b|0)==0;if(oe){wt=51}else{Ee=b}}else{wt=51}if((wt|0)==51){wt=0;se=(ae|0)==0;if(se){be=64;wt=56;break}le=ae&1;fe=(le|0)==0;if(fe){d=ae;it=0}else{s=0;Ge=Z;Xe=ae;Qe=0;break}while(1){ue=it+1|0;ce=d>>>1;he=ce&1;de=(he|0)==0;if(de){d=ce;it=ue}else{S=ue;tt=it;break}}me=tt+33|0;we=(S|0)==0;if(we){s=0;Ge=Z;Xe=ae;Qe=0;break}else{Ee=me}}pe=Ee>>>0>31;if(pe){be=Ee;wt=56}else{s=Ee;Ge=Z;Xe=ae;Qe=Ee}}}while(0);if((wt|0)==56){wt=0;_e=be+-32|0;s=_e;Ge=ae;Xe=0;Qe=be}qe=Ge>>>s;We=32-s|0;je=Xe<>>s;Je=Qe+ct|0;A=ji+P|0;$e=(Je|0)==1;er=(Ke|0)==1;nt=er&$e;rr=(Ze|0)==0;ot=rr&nt;if(ot){break}else{Z=Ke;ae=Ze;ji=A;ct=Je}}RA=Et;return}function pt(e,r,i,t,n,o,a,s){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;a=a|0;s=s|0;var l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0,O=0,y=0,M=0;var F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0,W=0,j=0,Y=0;var X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0,ce=0,he=0,de=0;var ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0,Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0;var Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0,Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0;var er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0,vr=0,mr=0,wr=0,Er=0,pr=0,_r=0;var br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0,Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0;var Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0,ei=0,ri=0,ii=0,ti=0,ni=0,oi=0;var ai=0;ai=RA;RA=RA+720|0;ni=ai+456|0;zr=ai+228|0;Ur=ai;yA[Ur>>2]=e;B=0-r|0;P=(t|0)!=1;ae=(n|0)!=0;Ee=ae|P;e:do{if(Ee){Fe=s+(o<<2)|0;He=yA[Fe>>2]|0;Ze=0-He|0;sr=e+Ze|0;pr=_t[i&15](sr,e)|0;Rr=(pr|0)<1;if(Rr){u=e;p=o;A=a;Gr=1;oi=18}else{d=e;k=o;O=a;ie=sr;Se=n;Kr=1;ri=t;while(1){C=(O|0)==0;Y=(k|0)>1;ei=C&Y;if(ei){Q=d+B|0;$=k+-2|0;ee=s+($<<2)|0;re=yA[ee>>2]|0;te=_t[i&15](Q,ie)|0;ne=(te|0)>-1;if(ne){c=d;_=k;jr=Kr;break e}ii=re+r|0;T=0-ii|0;oe=d+T|0;se=_t[i&15](oe,ie)|0;le=(se|0)>-1;if(le){c=d;_=k;jr=Kr;break e}}fe=Kr+1|0;ue=Ur+(Kr<<2)|0;yA[ue>>2]=ie;ce=ri+-1|0;he=(ce|0)==0;do{if(he){Pe=32;oi=15}else{de=ce&1;ve=(de|0)==0;if(ve){w=ce;Jr=0;while(1){me=Jr+1|0;we=w>>>1;pe=we&1;_e=(pe|0)==0;if(_e){w=we;Jr=me}else{y=me;break}}be=(y|0)==0;if(be){oi=10}else{Te=y}}else{oi=10}if((oi|0)==10){oi=0;ke=(Se|0)==0;if(ke){Pe=64;oi=15;break}ge=Se&1;Ae=(ge|0)==0;if(Ae){E=Se;Qr=0}else{f=0;Ie=ri;ze=Se;We=0;break}while(1){Oe=Qr+1|0;ye=E>>>1;Me=ye&1;Re=(Me|0)==0;if(Re){E=ye;Qr=Oe}else{M=Oe;$r=Qr;break}}Le=$r+33|0;Ne=(M|0)==0;if(Ne){f=0;Ie=ri;ze=Se;We=0;break}else{Te=Le}}De=Te>>>0>31;if(De){Pe=Te;oi=15}else{f=Te;Ie=ri;ze=Se;We=Te}}}while(0);if((oi|0)==15){oi=0;Be=Pe+-32|0;f=Be;Ie=Se;ze=0;We=Pe}Ce=Ie>>>f;xe=32-f|0;Ue=ze<>>f;Ge=We+k|0;je=(Ve|0)!=1;Ye=(qe|0)!=0;Xe=Ye|je;if(!Xe){c=ie;_=Ge;jr=fe;break e}F=yA[Ur>>2]|0;Ke=s+(Ge<<2)|0;Je=yA[Ke>>2]|0;Qe=0-Je|0;$e=ie+Qe|0;er=_t[i&15]($e,F)|0;rr=(er|0)<1;if(rr){u=ie;p=Ge;A=0;Gr=fe;oi=18;break}else{v=ie;k=Ge;O=0;ie=$e;Se=qe;Kr=fe;ri=Ve;d=v}}}}else{u=e;p=o;A=a;Gr=1;oi=18}}while(0);if((oi|0)==18){ir=(A|0)==0;if(ir){c=u;_=p;jr=Gr}else{RA=ai;return}}tr=(jr|0)<2;e:do{if(!tr){nr=Ur+(jr<<2)|0;yA[nr>>2]=ni;or=(r|0)==0;if(!or){S=r;_r=ni;while(1){wr=S>>>0>256;lr=wr?256:S;Er=yA[Ur>>2]|0;PA(_r|0,Er|0,lr|0)|0;vr=Er;Xr=0;while(1){ur=Ur+(Xr<<2)|0;cr=Xr+1|0;hr=Ur+(cr<<2)|0;dr=yA[hr>>2]|0;PA(vr|0,dr|0,lr|0)|0;mr=vr+lr|0;yA[ur>>2]=mr;qr=(cr|0)==(jr|0);if(qr){break}else{vr=dr;Xr=cr}}ar=(S|0)==(lr|0);if(ar){break e}fr=S-lr|0;N=yA[nr>>2]|0;S=fr;_r=N}}}}while(0);yA[zr>>2]=c;br=(_|0)>1;e:do{if(br){m=_;g=c;yr=c;Zr=1;while(1){Sr=g+B|0;kr=m+-2|0;gr=s+(kr<<2)|0;Ar=yA[gr>>2]|0;ti=Ar+r|0;D=0-ti|0;Or=g+D|0;Mr=_t[i&15](yr,Or)|0;Fr=(Mr|0)>-1;if(Fr){Lr=_t[i&15](yr,Sr)|0;Nr=(Lr|0)>-1;if(Nr){Wr=Zr;break}}Tr=_t[i&15](Or,Sr)|0;Dr=(Tr|0)>-1;Br=Zr+1|0;Pr=zr+(Zr<<2)|0;if(Dr){yA[Pr>>2]=Or;Cr=m+-1|0;l=Or;h=Cr}else{yA[Pr>>2]=Sr;l=Sr;h=kr}Ir=(h|0)>1;if(!Ir){Wr=Br;break}R=yA[zr>>2]|0;m=h;g=l;yr=R;Zr=Br}xr=(Wr|0)<2;if(xr){J=ni}else{Hr=zr+(Wr<<2)|0;yA[Hr>>2]=ni;I=(r|0)==0;if(I){J=ni}else{b=r;Z=ni;while(1){X=b>>>0>256;H=X?256:b;K=yA[zr>>2]|0;PA(Z|0,K|0,H|0)|0;W=K;Yr=0;while(1){z=zr+(Yr<<2)|0;V=Yr+1|0;q=zr+(V<<2)|0;G=yA[q>>2]|0;PA(W|0,G|0,H|0)|0;j=W+H|0;yA[z>>2]=j;Vr=(V|0)==(Wr|0);if(Vr){break}else{W=G;Yr=V}}x=(b|0)==(H|0);if(x){J=ni;break e}U=b-H|0;L=yA[Hr>>2]|0;b=U;Z=L}}}}else{J=ni}}while(0);RA=ai;return}function Hn(e){e=+e;var r=0.0,i=0,t=0,n=0.0,o=0.0,a=0.0,s=0,l=0.0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0.0,E=0.0,p=0,_=0;_=RA;FA[Ku>>3]=e;i=yA[Ku>>2]|0;t=yA[Ku+4>>2]|0;f=t&2146435072;u=f>>>0>1126170624;c=0>0;h=(f|0)==1126170624;d=h&c;v=u|d;if(v){r=e;return+r}m=(t|0)<0;w=e+-4503599627370496.0;n=w+4503599627370496.0;o=e+4503599627370496.0;a=o+-4503599627370496.0;E=m?n:a;s=E==0.0;if(!s){r=E;return+r}l=m?-0.0:0.0;r=l;return+r}function ui(e){e=+e;var r=0.0,i=0,t=0,n=0,o=0,a=0.0,s=0.0,l=0.0,f=0.0,u=0,c=0.0,h=0.0,d=0,v=0;v=RA;i=(MA[Ku>>2]=e,yA[Ku>>2]|0);t=i&2130706432;n=t>>>0>1249902592;if(n){r=e;return+r}o=(i|0)<0;a=e+-8388608.0;s=a+8388608.0;l=e+8388608.0;f=l+-8388608.0;h=o?s:f;u=h==0.0;if(!u){r=h;return+r}c=o?-0.0:0.0;r=c;return+r}function ci(e,r){e=+e;r=r|0;var i=0,t=0,n=0,o=0,a=0.0,s=0,l=0.0,f=0,u=0,c=0,h=0,d=0,v=0.0,m=0.0,w=0,E=0,p=0.0,_=0,b=0,S=0;var k=0.0,g=0,A=0.0,O=0,y=0;y=RA;o=(r|0)>1023;if(o){a=e*8.9884656743115795E+307;w=r+-1023|0;E=(w|0)>1023;if(E){p=a*8.9884656743115795E+307;_=r+-2046|0;b=(_|0)>1023;i=b?1023:_;t=i;A=p}else{t=w;A=a}}else{S=(r|0)<-1022;if(S){k=e*2.2250738585072014E-308;g=r+1022|0;s=(g|0)<-1022;if(s){l=k*2.2250738585072014E-308;f=r+2044|0;u=(f|0)<-1022;n=u?-1022:f;t=n;A=l}else{t=g;A=k}}else{t=r;A=e}}c=t+1023|0;h=pi(c|0,0,52)|0;d=Un;yA[Ku>>2]=h;yA[Ku+4>>2]=d;v=+FA[Ku>>3];m=A*v;return+m}function hi(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0;s=RA;r=e+-1|0;i=553040;t=i;yA[t>>2]=r;n=i+4|0;o=n;yA[o>>2]=0;return}function di(){var e=0,r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0;E=RA;e=553040;r=e;l=yA[r>>2]|0;f=e+4|0;u=f;c=yA[u>>2]|0;h=Ni(l|0,c|0,1284865837,1481765933)|0;d=Un;v=Yn(h|0,d|0,1,0)|0;m=Un;i=553040;t=i;yA[t>>2]=v;n=i+4|0;o=n;yA[o>>2]=m;a=dt(v|0,m|0,33)|0;s=Un;return a|0}function DA(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0;var se=0,le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0;var Me=0,Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0;var Ye=0,Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0;var dr=0,vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0;var Dr=0,Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0;var $r=0,ei=0,ri=0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0;var _i=0,bi=0,Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0;var Hi=0,Ui=0,zi=0,Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0;var ot=0,at=0,st=0,lt=0,ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0;var Ot=0,yt=0,Mt=0,Ft=0,Rt=0,Lt=0,Nt=0,Tt=0,Dt=0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0,zt=0,Vt=0,qt=0,Gt=0;var Wt=0,jt=0,Yt=0,Xt=0,Kt=0,Zt=0,Jt=0,Qt=0,$t=0,en=0,rn=0,tn=0,nn=0,on=0,an=0,sn=0,ln=0,fn=0,un=0,cn=0;var hn=0,dn=0,vn=0,mn=0,wn=0,En=0,pn=0,_n=0,bn=0,Sn=0,kn=0,gn=0,An=0,On=0,yn=0,Mn=0,Fn=0,Rn=0,Ln=0,Nn=0;var Tn=0,Dn=0,Bn=0,Pn=0,Cn=0,In=0,xn=0,Hn=0,Un=0,zn=0,Vn=0,qn=0,Gn=0,Wn=0,jn=0,Yn=0,Xn=0,Kn=0,Zn=0,Jn=0;var Qn=0,$n=0,eo=0,ro=0,io=0,to=0,no=0,oo=0,ao=0,so=0,lo=0,fo=0,uo=0,co=0,ho=0,vo=0,mo=0,wo=0,Eo=0,po=0;var _o=0,bo=0,So=0,ko=0,go=0,Ao=0,Oo=0,yo=0,Mo=0,Fo=0,Ro=0,Lo=0,No=0,To=0,Do=0,Bo=0,Po=0,Co=0,Io=0,xo=0;var Ho=0,Uo=0,zo=0,Vo=0,qo=0,Go=0,Wo=0,jo=0,Yo=0,Xo=0,Ko=0,Zo=0,Jo=0,Qo=0,$o=0,ea=0,ra=0,ia=0,ta=0,na=0;var oa=0,aa=0,sa=0,la=0,fa=0,ua=0,ca=0,ha=0,da=0,va=0,ma=0,wa=0,Ea=0,pa=0,_a=0,ba=0,Sa=0,ka=0,ga=0,Aa=0;var Oa=0,ya=0,Ma=0,Fa=0,Ra=0,La=0,Na=0,Ta=0,Da=0,Ba=0,Pa=0,Ca=0,Ia=0,xa=0,Ha=0,Ua=0,za=0,Va=0,qa=0,Ga=0;var Wa=0,ja=0,Ya=0,Xa=0,Ka=0,Za=0,Ja=0,Qa=0,$a=0,es=0,rs=0,is=0,ts=0,ns=0,os=0,as=0,ss=0,ls=0,fs=0,us=0;var cs=0,hs=0,ds=0,vs=0,ms=0,ws=0,Es=0,ps=0,_s=0,bs=0,Ss=0,ks=0,gs=0,As=0,Os=0,ys=0,Ms=0,Fs=0,Rs=0,Ls=0;var Ns=0,Ts=0,Ds=0,Bs=0,Ps=0,Cs=0,Is=0,xs=0,Hs=0,Us=0,zs=0,Vs=0,qs=0,Gs=0,Ws=0,js=0,Ys=0,Xs=0,Ks=0,Zs=0;var Js=0,Qs=0,$s=0,el=0,rl=0,il=0,tl=0,nl=0,ol=0,al=0,sl=0,ll=0,fl=0,ul=0,cl=0,hl=0,dl=0,vl=0,ml=0,wl=0;var El=0,pl=0,_l=0,bl=0,Sl=0,kl=0,gl=0,Al=0,Ol=0,yl=0,Ml=0,Fl=0,Rl=0,Ll=0,Nl=0,Tl=0,Dl=0,Bl=0,Pl=0,Cl=0;var Il=0,xl=0,Hl=0,Ul=0,zl=0,Vl=0,ql=0,Gl=0,Wl=0,jl=0,Yl=0,Xl=0,Kl=0,Zl=0,Jl=0,Ql=0,$l=0,ef=0,rf=0,tf=0;var nf=0,of=0,af=0,sf=0,lf=0,ff=0,uf=0,cf=0,hf=0,df=0,vf=0,mf=0,wf=0,Ef=0,pf=0,_f=0,bf=0,Sf=0,kf=0,gf=0;var Af=0,Of=0,yf=0,Mf=0,Ff=0,Rf=0,Lf=0,Nf=0,Tf=0,Df=0,Bf=0,Pf=0,Cf=0,If=0,xf=0,Hf=0,Uf=0,zf=0,Vf=0,qf=0;var Gf=0,Wf=0,jf=0,Yf=0,Xf=0,Kf=0,Zf=0,Jf=0,Qf=0,$f=0,eu=0,ru=0,iu=0,tu=0,nu=0,ou=0,au=0,su=0,lu=0,fu=0;var uu=0,cu=0,hu=0,du=0,vu=0,mu=0,wu=0,Eu=0,pu=0,_u=0,bu=0,Su=0,ku=0,gu=0,Au=0,Ou=0,yu=0,Mu=0,Fu=0,Ru=0;var Lu=0,Nu=0,Tu=0,Du=0,Bu=0,Pu=0,Cu=0,Iu=0,xu=0,Hu=0,Uu=0,zu=0,Vu=0,qu=0,Gu=0,Wu=0,ju=0,Yu=0,Xu=0,Ku=0;var Zu=0,Ju=0,Qu=0,$u=0,ec=0,rc=0,ic=0,tc=0,nc=0,oc=0,ac=0,sc=0,lc=0,fc=0,uc=0,cc=0,hc=0,dc=0,vc=0,mc=0;var wc=0,Ec=0,pc=0,_c=0,bc=0,Sc=0,kc=0,gc=0,Ac=0,Oc=0,yc=0,Mc=0,Fc=0,Rc=0,Lc=0,Nc=0,Tc=0,Dc=0,Bc=0,Pc=0;var Cc=0,Ic=0,xc=0,Hc=0,Uc=0,zc=0,Vc=0,qc=0,Gc=0,Wc=0,jc=0,Yc=0,Xc=0,Kc=0,Zc=0,Jc=0,Qc=0,$c=0,eh=0,rh=0;var ih=0,th=0,nh=0,oh=0,ah=0,sh=0,lh=0,fh=0,uh=0,ch=0,hh=0,dh=0,vh=0,mh=0,wh=0,Eh=0,ph=0,_h=0,bh=0,Sh=0;var kh=0,gh=0,Ah=0,Oh=0,yh=0,Mh=0,Fh=0,Rh=0,Lh=0,Nh=0,Th=0,Dh=0,Bh=0,Ph=0,Ch=0,Ih=0,xh=0,Hh=0,Uh=0,zh=0;var Vh=0,qh=0,Gh=0,Wh=0,jh=0,Yh=0,Xh=0,Kh=0,Zh=0,Jh=0,Qh=0,$h=0,ed=0,rd=0,id=0,td=0,nd=0,od=0,ad=0,sd=0;var ld=0,fd=0,ud=0,cd=0,hd=0,dd=0,vd=0,md=0,wd=0,Ed=0,pd=0,_d=0,bd=0,Sd=0,kd=0,gd=0,Ad=0,Od=0,yd=0,Md=0;var Fd=0,Rd=0,Ld=0,Nd=0,Td=0,Dd=0,Bd=0,Pd=0,Cd=0,Id=0,xd=0,Hd=0,Ud=0,zd=0,Vd=0,qd=0,Gd=0,Wd=0,jd=0,Yd=0;var Xd=0,Kd=0,Zd=0,Jd=0,Qd=0,$d=0,ev=0,rv=0,iv=0,tv=0,nv=0,ov=0,av=0,sv=0,lv=0,fv=0,uv=0,cv=0,hv=0,dv=0;var vv=0,mv=0,wv=0,Ev=0,pv=0,_v=0,bv=0,Sv=0,kv=0,gv=0,Av=0,Ov=0,yv=0,Mv=0,Fv=0,Rv=0,Lv=0,Nv=0,Tv=0,Dv=0;var Bv=0,Pv=0,Cv=0,Iv=0,xv=0,Hv=0,Uv=0,zv=0,Vv=0,qv=0,Gv=0,Wv=0,jv=0,Yv=0,Xv=0,Kv=0,Zv=0,Jv=0,Qv=0,$v=0;var em=0,rm=0,im=0,tm=0,nm=0,om=0,am=0,sm=0,lm=0,fm=0,um=0,cm=0,hm=0,dm=0,vm=0,mm=0,wm=0,Em=0,pm=0,_m=0;var bm=0,Sm=0,km=0,gm=0,Am=0,Om=0,ym=0,Mm=0,Fm=0,Rm=0,Lm=0,Nm=0,Tm=0,Dm=0,Bm=0,Pm=0,Cm=0,Im=0,xm=0,Hm=0;var Um=0,zm=0,Vm=0,qm=0,Gm=0,Wm=0,jm=0,Ym=0,Xm=0,Km=0,Zm=0,Jm=0,Qm=0,$m=0,ew=0,rw=0,iw=0,tw=0,nw=0,ow=0;var aw=0,sw=0,lw=0,fw=0,uw=0,cw=0,hw=0,dw=0,vw=0,mw=0,ww=0,Ew=0,pw=0,_w=0,bw=0,Sw=0,kw=0,gw=0,Aw=0,Ow=0;var yw=0,Mw=0,Fw=0,Rw=0,Lw=0,Nw=0,Tw=0,Dw=0,Bw=0,Pw=0,Cw=0,Iw=0,xw=0,Hw=0,Uw=0,zw=0,Vw=0,qw=0,Gw=0,Ww=0;var jw=0,Yw=0,Xw=0,Kw=0,Zw=0,Jw=0,Qw=0,$w=0,eE=0,rE=0,iE=0,tE=0,nE=0,oE=0,aE=0,sE=0,lE=0,fE=0,uE=0,cE=0;var hE=0,dE=0,vE=0,mE=0,wE=0,EE=0,pE=0,_E=0,bE=0,SE=0,kE=0,gE=0,AE=0,OE=0,yE=0,ME=0,FE=0,RE=0,LE=0,NE=0;var TE=0,DE=0,BE=0,PE=0,CE=0,IE=0,xE=0,HE=0,UE=0,zE=0,VE=0,qE=0,GE=0,WE=0,jE=0,YE=0,XE=0,KE=0,ZE=0,JE=0;var QE=0,$E=0,ep=0,rp=0,ip=0,tp=0,np=0,op=0,ap=0,sp=0,lp=0,fp=0,up=0,cp=0,hp=0,dp=0,vp=0,mp=0,wp=0,Ep=0;var pp=0,_p=0,bp=0,Sp=0,kp=0,gp=0,Ap=0,Op=0,yp=0,Mp=0,Fp=0,Rp=0,Lp=0,Np=0,Tp=0,Dp=0,Bp=0,Pp=0,Cp=0,Ip=0;var xp=0,Hp=0,Up=0,zp=0,Vp=0,qp=0,Gp=0,Wp=0,jp=0,Yp=0,Xp=0,Kp=0,Zp=0,Jp=0,Qp=0,$p=0,e_=0,r_=0,i_=0,t_=0;var n_=0,o_=0,a_=0,s_=0,l_=0,f_=0,u_=0,c_=0,h_=0,d_=0,v_=0,m_=0,w_=0,E_=0,p_=0,__=0,b_=0,S_=0,k_=0,g_=0;var A_=0,O_=0,y_=0,M_=0,F_=0,R_=0,L_=0,N_=0,T_=0,D_=0,B_=0,P_=0,C_=0,I_=0,x_=0,H_=0,U_=0,z_=0,V_=0,q_=0;var G_=0,W_=0,j_=0,Y_=0,X_=0,K_=0,Z_=0,J_=0,Q_=0,$_=0,eb=0,rb=0,ib=0,tb=0,nb=0,ob=0,ab=0,sb=0,lb=0,fb=0;var ub=0,cb=0,hb=0,db=0,vb=0,mb=0,wb=0,Eb=0,pb=0,_b=0,bb=0,Sb=0,kb=0,gb=0,Ab=0,Ob=0,yb=0,Mb=0,Fb=0,Rb=0;var Lb=0,Nb=0,Tb=0,Db=0,Bb=0,Pb=0,Cb=0,Ib=0,xb=0,Hb=0,Ub=0,zb=0,Vb=0,qb=0,Gb=0,Wb=0,jb=0,Yb=0,Xb=0,Kb=0;var Zb=0,Jb=0,Qb=0,$b=0,eS=0,rS=0,iS=0,tS=0,nS=0,oS=0,aS=0,sS=0,lS=0,fS=0,uS=0,cS=0,hS=0,dS=0,vS=0,mS=0;var wS=0,ES=0,pS=0,_S=0,bS=0,SS=0,kS=0,gS=0,AS=0,OS=0,yS=0,MS=0,FS=0,RS=0,LS=0,NS=0,TS=0,DS=0,BS=0,PS=0;var CS=0,IS=0,xS=0,HS=0,US=0,zS=0,VS=0,qS=0,GS=0,WS=0,jS=0,YS=0,XS=0,KS=0,ZS=0,JS=0,QS=0,$S=0,ek=0,rk=0;var ik=0,tk=0,nk=0,ok=0,ak=0,sk=0,lk=0,fk=0,uk=0,ck=0,hk=0,dk=0,vk=0,mk=0,wk=0,Ek=0,pk=0,_k=0,bk=0,Sk=0;var kk=0,gk=0,Ak=0,Ok=0,yk=0,Mk=0,Fk=0,Rk=0,Lk=0,Nk=0,Tk=0,Dk=0,Bk=0,Pk=0,Ck=0,Ik=0,xk=0,Hk=0,Uk=0,zk=0;var Vk=0,qk=0,Gk=0,Wk=0,jk=0,Yk=0,Xk=0,Kk=0,Zk=0,Jk=0,Qk=0,$k=0,eg=0,rg=0,ig=0,tg=0,ng=0;ng=RA;pr=e>>>0<245;do{if(pr){_r=e>>>0<11;Un=e+11|0;Ga=Un&-8;Yl=_r?16:Ga;Ju=Yl>>>3;ed=yA[553048>>2]|0;tm=ed>>>Ju;aE=tm&3;f_=(aE|0)==0;if(!f_){br=tm&1;Xi=br^1;ot=Xi+Ju|0;wt=ot<<1;Mt=553088+(wt<<2)|0;Z=wt+2|0;xt=553088+(Z<<2)|0;Kt=yA[xt>>2]|0;sn=Kt+8|0;pn=yA[sn>>2]|0;Rn=(Mt|0)==(pn|0);do{if(Rn){zn=1<>2]=fo}else{So=yA[553064>>2]|0;To=pn>>>0>>0;if(To){lg()}qo=pn+12|0;ea=yA[qo>>2]|0;ca=(ea|0)==(Kt|0);if(ca){yA[qo>>2]=Mt;yA[xt>>2]=pn;break}else{lg()}}}while(0);ka=ot<<3;Da=ka|3;Wa=Kt+4|0;yA[Wa>>2]=Da;re=ka|4;is=Kt+re|0;ds=yA[is>>2]|0;As=ds|1;yA[is>>2]=As;ek=sn;return ek|0}Ps=yA[553056>>2]|0;js=Yl>>>0>Ps>>>0;if(js){tl=(tm|0)==0;if(!tl){vl=tm<>>12;su=Zf&16;pu=Hf>>>su;Ru=pu>>>5;Uu=Ru&8;Qu=Uu|su;fc=pu>>>Uu;bc=fc>>>2;Nc=bc&4;Vc=Qu|Nc;$c=fc>>>Nc;uh=$c>>>1;Sh=uh&2;Th=Vc|Sh;qh=$c>>>Sh;rd=qh>>>1;hd=rd&1;gd=Th|hd;Bd=qh>>>hd;Wd=gd+Bd|0;iv=Wd<<1;dv=553088+(iv<<2)|0;$e=iv+2|0;Av=553088+($e<<2)|0;Pv=yA[Av>>2]|0;jv=Pv+8|0;nm=yA[jv>>2]|0;mm=(dv|0)==(nm|0);do{if(mm){ym=1<>2]=Xm;zp=Ps}else{ow=yA[553064>>2]|0;ww=nm>>>0>>0;if(ww){lg()}Mw=nm+12|0;xw=yA[Mw>>2]|0;Kw=(xw|0)==(Pv|0);if(Kw){yA[Mw>>2]=dv;yA[Av>>2]=nm;v=yA[553056>>2]|0;zp=v;break}else{lg()}}}while(0);sE=Wd<<3;pE=sE-Yl|0;RE=Yl|3;UE=Pv+4|0;yA[UE>>2]=RE;JE=Pv+Yl|0;lp=pE|1;lr=Yl|4;_p=Pv+lr|0;yA[_p>>2]=lp;Lp=Pv+sE|0;yA[Lp>>2]=pE;Qp=(zp|0)==0;if(!Qp){u_=yA[553068>>2]|0;S_=zp>>>3;T_=S_<<1;q_=553088+(T_<<2)|0;eb=yA[553048>>2]|0;cb=1<>2]=Gb;O=T_+2|0;y=553088+(O<<2)|0;A=y;vS=q_}else{dr=T_+2|0;rS=553088+(dr<<2)|0;Sr=yA[rS>>2]|0;Tr=yA[553064>>2]|0;qr=Sr>>>0>>0;if(qr){lg()}else{A=rS;vS=Sr}}yA[A>>2]=u_;ei=vS+12|0;yA[ei>>2]=u_;ci=u_+8|0;yA[ci>>2]=vS;ki=u_+12|0;yA[ki>>2]=q_}yA[553056>>2]=pE;yA[553068>>2]=JE;ek=jv;return ek|0}Di=yA[553052>>2]|0;Gi=(Di|0)==0;if(Gi){rk=Yl}else{ji=0-Di|0;Yi=Di&ji;Ki=Yi+-1|0;Zi=Ki>>>12;Ji=Zi&16;Qi=Ki>>>Ji;$i=Qi>>>5;et=$i&8;rt=et|Ji;it=Qi>>>et;tt=it>>>2;nt=tt&4;at=rt|nt;st=it>>>nt;lt=st>>>1;ft=lt&2;ut=at|ft;ct=st>>>ft;ht=ct>>>1;dt=ht&1;vt=ut|dt;mt=ct>>>dt;Et=vt+mt|0;pt=553352+(Et<<2)|0;_t=yA[pt>>2]|0;bt=_t+4|0;St=yA[bt>>2]|0;kt=St&-8;gt=kt-Yl|0;pk=gt;xk=_t;Kk=_t;while(1){At=xk+16|0;Ot=yA[At>>2]|0;yt=(Ot|0)==(0|0);if(yt){Ft=xk+20|0;Rt=yA[Ft>>2]|0;Lt=(Rt|0)==(0|0);if(Lt){_k=pk;Zk=Kk;break}else{Tt=Rt}}else{Tt=Ot}Nt=Tt+4|0;Dt=yA[Nt>>2]|0;Bt=Dt&-8;Pt=Bt-Yl|0;Ct=Pt>>>0>>0;T=Ct?Pt:pk;Er=Ct?Tt:Kk;pk=T;xk=Tt;Kk=Er}It=yA[553064>>2]|0;Ht=Zk>>>0>>0;if(Ht){lg()}Ut=Zk+Yl|0;zt=Zk>>>0>>0;if(!zt){lg()}Vt=Zk+24|0;qt=yA[Vt>>2]|0;Gt=Zk+12|0;Wt=yA[Gt>>2]|0;jt=(Wt|0)==(Zk|0);do{if(jt){nn=Zk+20|0;on=yA[nn>>2]|0;an=(on|0)==(0|0);if(an){ln=Zk+16|0;fn=yA[ln>>2]|0;un=(fn|0)==(0|0);if(un){RS=0;break}else{gS=fn;TS=ln}}else{gS=on;TS=nn}while(1){cn=gS+20|0;hn=yA[cn>>2]|0;dn=(hn|0)==(0|0);if(!dn){gS=hn;TS=cn;continue}vn=gS+16|0;mn=yA[vn>>2]|0;wn=(mn|0)==(0|0);if(wn){yS=gS;PS=TS;break}else{gS=mn;TS=vn}}En=PS>>>0>>0;if(En){lg()}else{yA[PS>>2]=0;RS=yS;break}}else{Yt=Zk+8|0;Xt=yA[Yt>>2]|0;Zt=Xt>>>0>>0;if(Zt){lg()}Jt=Xt+12|0;Qt=yA[Jt>>2]|0;$t=(Qt|0)==(Zk|0);if(!$t){lg()}en=Wt+8|0;rn=yA[en>>2]|0;tn=(rn|0)==(Zk|0);if(tn){yA[Jt>>2]=Wt;yA[en>>2]=Xt;RS=Wt;break}else{lg()}}}while(0);_n=(qt|0)==(0|0);do{if(!_n){bn=Zk+28|0;Sn=yA[bn>>2]|0;kn=553352+(Sn<<2)|0;gn=yA[kn>>2]|0;An=(Zk|0)==(gn|0);if(An){yA[kn>>2]=RS;XS=(RS|0)==(0|0);if(XS){On=1<>2]|0;Fn=Mn&yn;yA[553052>>2]=Fn;break}}else{Ln=yA[553064>>2]|0;Nn=qt>>>0>>0;if(Nn){lg()}Tn=qt+16|0;Dn=yA[Tn>>2]|0;Bn=(Dn|0)==(Zk|0);if(Bn){yA[Tn>>2]=RS}else{Pn=qt+20|0;yA[Pn>>2]=RS}Cn=(RS|0)==(0|0);if(Cn){break}}In=yA[553064>>2]|0;xn=RS>>>0>>0;if(xn){lg()}Hn=RS+24|0;yA[Hn>>2]=qt;Vn=Zk+16|0;qn=yA[Vn>>2]|0;Gn=(qn|0)==(0|0);do{if(!Gn){Wn=qn>>>0>>0;if(Wn){lg()}else{jn=RS+16|0;yA[jn>>2]=qn;Yn=qn+24|0;yA[Yn>>2]=RS;break}}}while(0);Xn=Zk+20|0;Kn=yA[Xn>>2]|0;Zn=(Kn|0)==(0|0);if(!Zn){Jn=yA[553064>>2]|0;$n=Kn>>>0>>0;if($n){lg()}else{eo=RS+20|0;yA[eo>>2]=Kn;ro=Kn+24|0;yA[ro>>2]=RS;break}}}}while(0);io=_k>>>0<16;if(io){to=_k+Yl|0;no=to|3;oo=Zk+4|0;yA[oo>>2]=no;er=to+4|0;ao=Zk+er|0;so=yA[ao>>2]|0;lo=so|1;yA[ao>>2]=lo}else{uo=Yl|3;co=Zk+4|0;yA[co>>2]=uo;ho=_k|1;q=Yl|4;vo=Zk+q|0;yA[vo>>2]=ho;W=_k+Yl|0;mo=Zk+W|0;yA[mo>>2]=_k;wo=yA[553056>>2]|0;Eo=(wo|0)==0;if(!Eo){po=yA[553068>>2]|0;_o=wo>>>3;bo=_o<<1;ko=553088+(bo<<2)|0;go=yA[553048>>2]|0;Ao=1<<_o;Oo=go&Ao;yo=(Oo|0)==0;if(yo){Mo=go|Ao;yA[553048>>2]=Mo;m=bo+2|0;N=553088+(m<<2)|0;k=N;dS=ko}else{We=bo+2|0;Fo=553088+(We<<2)|0;Ro=yA[Fo>>2]|0;Lo=yA[553064>>2]|0;No=Ro>>>0>>0;if(No){lg()}else{k=Fo;dS=Ro}}yA[k>>2]=po;Do=dS+12|0;yA[Do>>2]=po;Bo=po+8|0;yA[Bo>>2]=dS;Po=po+12|0;yA[Po>>2]=ko}yA[553056>>2]=_k;yA[553068>>2]=Ut}Co=Zk+8|0;ek=Co;return ek|0}}else{rk=Yl}}else{Io=e>>>0>4294967231;if(Io){rk=-1}else{xo=e+11|0;Ho=xo&-8;Uo=yA[553052>>2]|0;zo=(Uo|0)==0;if(zo){rk=Ho}else{Vo=0-Ho|0;Go=xo>>>8;Wo=(Go|0)==0;if(Wo){$S=0}else{jo=Ho>>>0>16777215;if(jo){$S=31}else{Yo=Go+1048320|0;Xo=Yo>>>16;Ko=Xo&8;Zo=Go<>>16;$o=Qo&4;ra=$o|Ko;ia=Zo<<$o;ta=ia+245760|0;na=ta>>>16;oa=na&2;aa=ra|oa;sa=14-aa|0;la=ia<>>15;ua=sa+fa|0;ha=ua<<1;da=ua+7|0;va=Ho>>>da;ma=va&1;wa=ma|ha;$S=wa}}Ea=553352+($S<<2)|0;pa=yA[Ea>>2]|0;_a=(pa|0)==(0|0);e:do{if(_a){kk=Vo;Uk=0;$k=0;tg=86}else{ba=($S|0)==31;Sa=$S>>>1;ga=25-Sa|0;Aa=ba?0:ga;Oa=Ho<>2]|0;Fa=Ma&-8;Ra=Fa-Ho|0;La=Ra>>>0>>0;if(La){Na=(Fa|0)==(Ho|0);if(Na){Ak=Ra;qk=Hk;ig=Hk;tg=90;break e}else{Sk=Ra;Qk=Hk}}else{Sk=bk;Qk=Jk}Ta=Hk+20|0;Ba=yA[Ta>>2]|0;Pa=Mk>>>31;Ca=(Hk+16|0)+(Pa<<2)|0;Ia=yA[Ca>>2]|0;xa=(Ba|0)==(0|0);Ha=(Ba|0)==(Ia|0);fk=xa|Ha;yk=fk?Ok:Ba;Ua=(Ia|0)==(0|0);za=Mk<<1;if(Ua){kk=Sk;Uk=yk;$k=Qk;tg=86;break}else{bk=Sk;Ok=yk;Mk=za;Hk=Ia;Jk=Qk}}}}while(0);if((tg|0)==86){Va=(Uk|0)==(0|0);qa=($k|0)==(0|0);ak=Va&qa;if(ak){ja=2<<$S;Ya=0-ja|0;Xa=ja|Ya;Ka=Uo&Xa;Za=(Ka|0)==0;if(Za){rk=Ho;break}Ja=0-Ka|0;Qa=Ka&Ja;$a=Qa+-1|0;es=$a>>>12;rs=es&16;ts=$a>>>rs;ns=ts>>>5;os=ns&8;as=os|rs;ss=ts>>>os;ls=ss>>>2;fs=ls&4;us=as|fs;cs=ss>>>fs;hs=cs>>>1;vs=hs&2;ms=us|vs;ws=cs>>>vs;Es=ws>>>1;ps=Es&1;_s=ms|ps;bs=ws>>>ps;Ss=_s+bs|0;ks=553352+(Ss<<2)|0;gs=yA[ks>>2]|0;zk=gs;rg=0}else{zk=Uk;rg=$k}Os=(zk|0)==(0|0);if(Os){gk=kk;eg=rg}else{Ak=kk;qk=zk;ig=rg;tg=90}}if((tg|0)==90){while(1){tg=0;ys=qk+4|0;Ms=yA[ys>>2]|0;Fs=Ms&-8;Rs=Fs-Ho|0;Ls=Rs>>>0>>0;D=Ls?Rs:Ak;Vk=Ls?qk:ig;Ns=qk+16|0;Ts=yA[Ns>>2]|0;Ds=(Ts|0)==(0|0);if(!Ds){Ak=D;qk=Ts;ig=Vk;tg=90;continue}Bs=qk+20|0;Cs=yA[Bs>>2]|0;Is=(Cs|0)==(0|0);if(Is){gk=D;eg=Vk;break}else{Ak=D;qk=Cs;ig=Vk;tg=90}}}xs=(eg|0)==(0|0);if(xs){rk=Ho}else{Hs=yA[553056>>2]|0;Us=Hs-Ho|0;zs=gk>>>0>>0;if(zs){Vs=yA[553064>>2]|0;qs=eg>>>0>>0;if(qs){lg()}Gs=eg+Ho|0;Ws=eg>>>0>>0;if(!Ws){lg()}Ys=eg+24|0;Xs=yA[Ys>>2]|0;Ks=eg+12|0;Zs=yA[Ks>>2]|0;Js=(Zs|0)==(eg|0);do{if(Js){ll=eg+20|0;fl=yA[ll>>2]|0;ul=(fl|0)==(0|0);if(ul){cl=eg+16|0;hl=yA[cl>>2]|0;dl=(hl|0)==(0|0);if(dl){NS=0;break}else{MS=hl;CS=cl}}else{MS=fl;CS=ll}while(1){ml=MS+20|0;wl=yA[ml>>2]|0;El=(wl|0)==(0|0);if(!El){MS=wl;CS=ml;continue}pl=MS+16|0;_l=yA[pl>>2]|0;bl=(_l|0)==(0|0);if(bl){FS=MS;IS=CS;break}else{MS=_l;CS=pl}}Sl=IS>>>0>>0;if(Sl){lg()}else{yA[IS>>2]=0;NS=FS;break}}else{Qs=eg+8|0;$s=yA[Qs>>2]|0;el=$s>>>0>>0;if(el){lg()}rl=$s+12|0;il=yA[rl>>2]|0;nl=(il|0)==(eg|0);if(!nl){lg()}ol=Zs+8|0;al=yA[ol>>2]|0;sl=(al|0)==(eg|0);if(sl){yA[rl>>2]=Zs;yA[ol>>2]=$s;NS=Zs;break}else{lg()}}}while(0);kl=(Xs|0)==(0|0);do{if(!kl){gl=eg+28|0;Al=yA[gl>>2]|0;yl=553352+(Al<<2)|0;Ml=yA[yl>>2]|0;Fl=(eg|0)==(Ml|0);if(Fl){yA[yl>>2]=NS;ZS=(NS|0)==(0|0);if(ZS){Rl=1<>2]|0;Tl=Nl⋘yA[553052>>2]=Tl;break}}else{Dl=yA[553064>>2]|0;Bl=Xs>>>0
>>0;if(Bl){lg()}Pl=Xs+16|0;Il=yA[Pl>>2]|0;xl=(Il|0)==(eg|0);if(xl){yA[Pl>>2]=NS}else{Hl=Xs+20|0;yA[Hl>>2]=NS}Ul=(NS|0)==(0|0);if(Ul){break}}zl=yA[553064>>2]|0;Vl=NS>>>0>>0;if(Vl){lg()}ql=NS+24|0;yA[ql>>2]=Xs;Gl=eg+16|0;Wl=yA[Gl>>2]|0;jl=(Wl|0)==(0|0);do{if(!jl){Kl=Wl>>>0>>0;if(Kl){lg()}else{Zl=NS+16|0;yA[Zl>>2]=Wl;Jl=Wl+24|0;yA[Jl>>2]=NS;break}}}while(0);Ql=eg+20|0;$l=yA[Ql>>2]|0;ef=($l|0)==(0|0);if(!ef){rf=yA[553064>>2]|0;tf=$l>>>0>>0;if(tf){lg()}else{nf=NS+20|0;yA[nf>>2]=$l;of=$l+24|0;yA[of>>2]=NS;break}}}}while(0);sf=gk>>>0<16;e:do{if(sf){lf=gk+Ho|0;ff=lf|3;uf=eg+4|0;yA[uf>>2]=ff;Me=lf+4|0;cf=eg+Me|0;hf=yA[cf>>2]|0;df=hf|1;yA[cf>>2]=df}else{vf=Ho|3;mf=eg+4|0;yA[mf>>2]=vf;wf=gk|1;z=Ho|4;pf=eg+z|0;yA[pf>>2]=wf;K=gk+Ho|0;_f=eg+K|0;yA[_f>>2]=gk;bf=gk>>>3;Sf=gk>>>0<256;if(Sf){kf=bf<<1;gf=553088+(kf<<2)|0;Af=yA[553048>>2]|0;Of=1<>2]=Rf;p=kf+2|0;F=553088+(p<<2)|0;S=F;wS=gf}else{Oe=kf+2|0;Lf=553088+(Oe<<2)|0;Nf=yA[Lf>>2]|0;Tf=yA[553064>>2]|0;Df=Nf>>>0>>0;if(Df){lg()}else{S=Lf;wS=Nf}}yA[S>>2]=Gs;Bf=wS+12|0;yA[Bf>>2]=Gs;Se=Ho+8|0;Pf=eg+Se|0;yA[Pf>>2]=wS;ge=Ho+12|0;Cf=eg+ge|0;yA[Cf>>2]=gf;break}If=gk>>>8;xf=(If|0)==0;if(xf){pS=0}else{Uf=gk>>>0>16777215;if(Uf){pS=31}else{zf=If+1048320|0;Vf=zf>>>16;qf=Vf&8;Gf=If<>>16;Yf=jf&4;Xf=Yf|qf;Kf=Gf<>>16;$f=Qf&2;eu=Xf|$f;ru=14-eu|0;iu=Kf<<$f;tu=iu>>>15;nu=ru+tu|0;ou=nu<<1;au=nu+7|0;lu=gk>>>au;fu=lu&1;uu=fu|ou;pS=uu}}cu=553352+(pS<<2)|0;Le=Ho+28|0;hu=eg+Le|0;yA[hu>>2]=pS;je=Ho+16|0;du=eg+je|0;ir=Ho+20|0;vu=eg+ir|0;yA[vu>>2]=0;yA[du>>2]=0;mu=yA[553052>>2]|0;wu=1<>2]=bu;yA[cu>>2]=Gs;ar=Ho+24|0;Su=eg+ar|0;yA[Su>>2]=cu;fr=Ho+12|0;ku=eg+fr|0;yA[ku>>2]=Gs;cr=Ho+8|0;gu=eg+cr|0;yA[gu>>2]=Gs;break}Au=yA[cu>>2]|0;Ou=Au+4|0;yu=yA[Ou>>2]|0;Mu=yu&-8;Fu=(Mu|0)==(gk|0);r:do{if(Fu){xS=Au}else{Lu=(pS|0)==31;Nu=pS>>>1;Tu=25-Nu|0;Du=Lu?0:Tu;Bu=gk<>>31;qu=(zS+16|0)+(Vu<<2)|0;Iu=yA[qu>>2]|0;Gu=(Iu|0)==(0|0);if(Gu){d=qu;VS=zS;break}Pu=bS<<1;Cu=Iu+4|0;xu=yA[Cu>>2]|0;Hu=xu&-8;zu=(Hu|0)==(gk|0);if(zu){xS=Iu;break r}else{bS=Pu;zS=Iu}}Wu=yA[553064>>2]|0;ju=d>>>0>>0;if(ju){lg()}else{yA[d>>2]=Gs;$=Ho+24|0;Yu=eg+$|0;yA[Yu>>2]=VS;ue=Ho+12|0;Xu=eg+ue|0;yA[Xu>>2]=Gs;pe=Ho+8|0;Ku=eg+pe|0;yA[Ku>>2]=Gs;break e}}}while(0);Zu=xS+8|0;$u=yA[Zu>>2]|0;ec=yA[553064>>2]|0;rc=$u>>>0>=ec>>>0;ik=xS>>>0>=ec>>>0;ic=rc&ik;if(ic){tc=$u+12|0;yA[tc>>2]=Gs;yA[Zu>>2]=Gs;hr=Ho+8|0;nc=eg+hr|0;yA[nc>>2]=$u;vr=Ho+12|0;oc=eg+vr|0;yA[oc>>2]=xS;J=Ho+24|0;ac=eg+J|0;yA[ac>>2]=0;break}else{lg()}}}while(0);sc=eg+8|0;ek=sc;return ek|0}else{rk=Ho}}}}}}while(0);lc=yA[553056>>2]|0;uc=lc>>>0>>0;if(!uc){cc=lc-rk|0;hc=yA[553068>>2]|0;dc=cc>>>0>15;if(dc){vc=hc+rk|0;yA[553068>>2]=vc;yA[553056>>2]=cc;mc=cc|1;Re=rk+4|0;wc=hc+Re|0;yA[wc>>2]=mc;Ec=hc+lc|0;yA[Ec>>2]=cc;pc=rk|3;_c=hc+4|0;yA[_c>>2]=pc}else{yA[553056>>2]=0;yA[553068>>2]=0;Sc=lc|3;kc=hc+4|0;yA[kc>>2]=Sc;G=lc+4|0;gc=hc+G|0;Ac=yA[gc>>2]|0;Oc=Ac|1;yA[gc>>2]=Oc}yc=hc+8|0;ek=yc;return ek|0}Mc=yA[553060>>2]|0;Fc=Mc>>>0>rk>>>0;if(Fc){Rc=Mc-rk|0;yA[553060>>2]=Rc;Lc=yA[553072>>2]|0;Tc=Lc+rk|0;yA[553072>>2]=Tc;Dc=Rc|1;B=rk+4|0;Bc=Lc+B|0;yA[Bc>>2]=Dc;Pc=rk|3;Cc=Lc+4|0;yA[Cc>>2]=Pc;Ic=Lc+8|0;ek=Ic;return ek|0}xc=yA[553520>>2]|0;Hc=(xc|0)==0;do{if(Hc){Uc=ag(30)|0;zc=Uc+-1|0;qc=zc&Uc;Gc=(qc|0)==0;if(Gc){yA[553528>>2]=Uc;yA[553524>>2]=Uc;yA[553532>>2]=-1;yA[553536>>2]=-1;yA[553540>>2]=0;yA[553492>>2]=0;Wc=fg(0|0)|0;jc=Wc&-16;Yc=jc^1431655768;yA[553520>>2]=Yc;break}else{lg()}}}while(0);Xc=rk+48|0;Kc=yA[553528>>2]|0;Zc=rk+47|0;Jc=Kc+Zc|0;Qc=0-Kc|0;eh=Jc&Qc;rh=eh>>>0>rk>>>0;if(!rh){ek=0;return ek|0}ih=yA[553488>>2]|0;th=(ih|0)==0;if(!th){nh=yA[553480>>2]|0;oh=nh+eh|0;ah=oh>>>0<=nh>>>0;sh=oh>>>0>ih>>>0;lk=ah|sh;if(lk){ek=0;return ek|0}}lh=yA[553492>>2]|0;fh=lh&4;ch=(fh|0)==0;e:do{if(ch){hh=yA[553072>>2]|0;dh=(hh|0)==(0|0);r:do{if(dh){tg=174}else{Fk=553496;while(1){vh=yA[Fk>>2]|0;mh=vh>>>0>hh>>>0;if(!mh){wh=Fk+4|0;Eh=yA[wh>>2]|0;ph=vh+Eh|0;_h=ph>>>0>hh>>>0;if(_h){c=Fk;h=wh;break}}bh=Fk+8|0;kh=yA[bh>>2]|0;gh=(kh|0)==(0|0);if(gh){tg=174;break r}else{Fk=kh}}Xh=yA[553060>>2]|0;Kh=Jc-Xh|0;Zh=Kh&Qc;Jh=Zh>>>0<2147483647;if(Jh){Qh=og(Zh|0)|0;$h=yA[c>>2]|0;id=yA[h>>2]|0;td=$h+id|0;nd=(Qh|0)==(td|0);r=nd?Zh:0;if(nd){od=(Qh|0)==(-1|0);if(od){jk=r}else{Gk=Qh;Xk=r;tg=194;break e}}else{YS=Qh;Ck=Zh;Wk=r;tg=184}}else{jk=0}}}while(0);do{if((tg|0)==174){Ah=og(0)|0;Oh=(Ah|0)==(-1|0);if(Oh){jk=0}else{yh=Ah;Mh=yA[553524>>2]|0;Fh=Mh+-1|0;Rh=Fh&yh;Lh=(Rh|0)==0;if(Lh){Pk=eh}else{Nh=Fh+yh|0;Dh=0-Mh|0;Bh=Nh&Dh;Ph=eh-yh|0;Ch=Ph+Bh|0;Pk=Ch}Ih=yA[553480>>2]|0;xh=Ih+Pk|0;Hh=Pk>>>0>rk>>>0;Uh=Pk>>>0<2147483647;sk=Hh&Uh;if(sk){zh=yA[553488>>2]|0;Vh=(zh|0)==0;if(!Vh){Gh=xh>>>0<=Ih>>>0;Wh=xh>>>0>zh>>>0;uk=Gh|Wh;if(uk){jk=0;break}}jh=og(Pk|0)|0;Yh=(jh|0)==(Ah|0);Bk=Yh?Pk:0;if(Yh){Gk=Ah;Xk=Bk;tg=194;break e}else{YS=jh;Ck=Pk;Wk=Bk;tg=184}}else{jk=0}}}}while(0);r:do{if((tg|0)==184){ad=0-Ck|0;sd=(YS|0)!=(-1|0);ld=Ck>>>0<2147483647;hk=ld&sd;fd=Xc>>>0>Ck>>>0;vk=fd&hk;do{if(vk){ud=yA[553528>>2]|0;cd=Zc-Ck|0;dd=cd+ud|0;vd=0-ud|0;md=dd&vd;wd=md>>>0<2147483647;if(wd){Ed=og(md|0)|0;pd=(Ed|0)==(-1|0);if(pd){og(ad|0)|0;jk=Wk;break r}else{_d=md+Ck|0;Ik=_d;break}}else{Ik=Ck}}else{Ik=Ck}}while(0);bd=(YS|0)==(-1|0);if(bd){jk=Wk}else{Gk=YS;Xk=Ik;tg=194;break e}}}while(0);Sd=yA[553492>>2]|0;kd=Sd|4;yA[553492>>2]=kd;Yk=jk;tg=191}else{Yk=0;tg=191}}while(0);if((tg|0)==191){Ad=eh>>>0<2147483647;if(Ad){Od=og(eh|0)|0;yd=og(0)|0;Md=(Od|0)!=(-1|0);Fd=(yd|0)!=(-1|0);ck=Md&Fd;Rd=Od>>>0>>0;mk=Rd&ck;if(mk){Ld=yd;Nd=Od;Td=Ld-Nd|0;Dd=rk+40|0;Pd=Td>>>0>Dd>>>0;wr=Pd?Td:Yk;if(Pd){Gk=Od;Xk=wr;tg=194}}}}if((tg|0)==194){Cd=yA[553480>>2]|0;Id=Cd+Xk|0;yA[553480>>2]=Id;xd=yA[553484>>2]|0;Hd=Id>>>0>xd>>>0;if(Hd){yA[553484>>2]=Id}Ud=yA[553072>>2]|0;zd=(Ud|0)==(0|0);e:do{if(zd){Vd=yA[553064>>2]|0;qd=(Vd|0)==(0|0);Gd=Gk>>>0>>0;wk=qd|Gd;if(wk){yA[553064>>2]=Gk}yA[553496>>2]=Gk;yA[553500>>2]=Xk;yA[553508>>2]=0;jd=yA[553520>>2]|0;yA[553084>>2]=jd;yA[553080>>2]=-1;QS=0;while(1){Yd=QS<<1;Xd=553088+(Yd<<2)|0;P=Yd+3|0;Kd=553088+(P<<2)|0;yA[Kd>>2]=Xd;j=Yd+2|0;Zd=553088+(j<<2)|0;yA[Zd>>2]=Xd;Jd=QS+1|0;JS=(Jd|0)==32;if(JS){break}else{QS=Jd}}Qd=Xk+-40|0;$d=Gk+8|0;ev=$d;rv=ev&7;tv=(rv|0)==0;nv=0-ev|0;ov=nv&7;av=tv?0:ov;sv=Gk+av|0;lv=Qd-av|0;yA[553072>>2]=sv;yA[553060>>2]=lv;fv=lv|1;I=av+4|0;uv=Gk+I|0;yA[uv>>2]=fv;Ne=Xk+-36|0;cv=Gk+Ne|0;yA[cv>>2]=40;hv=yA[553536>>2]|0;yA[553076>>2]=hv}else{Lk=553496;while(1){vv=yA[Lk>>2]|0;mv=Lk+4|0;wv=yA[mv>>2]|0;Ev=vv+wv|0;pv=(Gk|0)==(Ev|0);if(pv){l=vv;f=mv;u=wv;Nk=Lk;tg=204;break}_v=Lk+8|0;bv=yA[_v>>2]|0;Sv=(bv|0)==(0|0);if(Sv){break}else{Lk=bv}}if((tg|0)==204){kv=Nk+12|0;gv=yA[kv>>2]|0;Ov=gv&8;yv=(Ov|0)==0;if(yv){Mv=Ud>>>0>=l>>>0;Fv=Ud>>>0>>0;dk=Fv&Mv;if(dk){Rv=u+Xk|0;yA[f>>2]=Rv;Lv=yA[553060>>2]|0;Nv=Lv+Xk|0;Tv=Ud+8|0;Dv=Tv;Bv=Dv&7;Cv=(Bv|0)==0;Iv=0-Dv|0;xv=Iv&7;Hv=Cv?0:xv;Uv=Ud+Hv|0;zv=Nv-Hv|0;yA[553072>>2]=Uv;yA[553060>>2]=zv;Vv=zv|1;H=Hv+4|0;qv=Ud+H|0;yA[qv>>2]=Vv;Be=Nv+4|0;Gv=Ud+Be|0;yA[Gv>>2]=40;Wv=yA[553536>>2]|0;yA[553076>>2]=Wv;break}}}Yv=yA[553064>>2]|0;Xv=Gk>>>0>>0;if(Xv){yA[553064>>2]=Gk;cw=Gk}else{cw=Yv}Kv=Gk+Xk|0;Tk=553496;while(1){Zv=yA[Tk>>2]|0;Jv=(Zv|0)==(Kv|0);if(Jv){s=Tk;Dk=Tk;tg=212;break}Qv=Tk+8|0;$v=yA[Qv>>2]|0;em=($v|0)==(0|0);if(em){Rk=553496;break}else{Tk=$v}}if((tg|0)==212){rm=Dk+12|0;im=yA[rm>>2]|0;om=im&8;am=(om|0)==0;if(am){yA[s>>2]=Gk;sm=Dk+4|0;lm=yA[sm>>2]|0;fm=lm+Xk|0;yA[sm>>2]=fm;um=Gk+8|0;cm=um;hm=cm&7;dm=(hm|0)==0;vm=0-cm|0;wm=vm&7;Em=dm?0:wm;pm=Gk+Em|0;ie=Xk+8|0;_m=Gk+ie|0;bm=_m;Sm=bm&7;km=(Sm|0)==0;gm=0-bm|0;Am=gm&7;Om=km?0:Am;te=Om+Xk|0;Mm=Gk+te|0;Fm=Mm;Rm=pm;Lm=Fm-Rm|0;U=Em+rk|0;Nm=Gk+U|0;Tm=Lm-rk|0;Dm=rk|3;X=Em+4|0;Bm=Gk+X|0;yA[Bm>>2]=Dm;Pm=(Mm|0)==(Ud|0);r:do{if(Pm){Cm=yA[553060>>2]|0;xm=Cm+Tm|0;yA[553060>>2]=xm;yA[553072>>2]=Nm;Hm=xm|1;or=U+4|0;Um=Gk+or|0;yA[Um>>2]=Hm}else{zm=yA[553068>>2]|0;Vm=(Mm|0)==(zm|0);if(Vm){qm=yA[553056>>2]|0;Gm=qm+Tm|0;yA[553056>>2]=Gm;yA[553068>>2]=Nm;Wm=Gm|1;tr=U+4|0;jm=Gk+tr|0;yA[jm>>2]=Wm;nr=Gm+U|0;Ym=Gk+nr|0;yA[Ym>>2]=Gm;break}Pe=Xk+4|0;ne=Pe+Om|0;Km=Gk+ne|0;Zm=yA[Km>>2]|0;Jm=Zm&3;Qm=(Jm|0)==1;if(Qm){$m=Zm&-8;ew=Zm>>>3;rw=Zm>>>0<256;i:do{if(rw){Je=Om|8;we=Je+Xk|0;iw=Gk+we|0;tw=yA[iw>>2]|0;Qe=Xk+12|0;Ee=Qe+Om|0;nw=Gk+Ee|0;aw=yA[nw>>2]|0;sw=ew<<1;lw=553088+(sw<<2)|0;fw=(tw|0)==(lw|0);do{if(!fw){uw=tw>>>0>>0;if(uw){lg()}hw=tw+12|0;dw=yA[hw>>2]|0;vw=(dw|0)==(Mm|0);if(vw){break}lg()}}while(0);mw=(aw|0)==(tw|0);if(mw){Ew=1<>2]|0;bw=_w&pw;yA[553048>>2]=bw;break}Sw=(aw|0)==(lw|0);do{if(Sw){L=aw+8|0;g=L}else{kw=aw>>>0>>0;if(kw){lg()}gw=aw+8|0;Aw=yA[gw>>2]|0;Ow=(Aw|0)==(Mm|0);if(Ow){g=gw;break}lg()}}while(0);yw=tw+12|0;yA[yw>>2]=aw;yA[g>>2]=tw}else{Ke=Om|24;oe=Ke+Xk|0;Fw=Gk+oe|0;Rw=yA[Fw>>2]|0;sr=Xk+12|0;ae=sr+Om|0;Lw=Gk+ae|0;Nw=yA[Lw>>2]|0;Tw=(Nw|0)==(Mm|0);do{if(Tw){ur=Om|16;ve=Pe+ur|0;qw=Gk+ve|0;Gw=yA[qw>>2]|0;Ww=(Gw|0)==(0|0);if(Ww){me=ur+Xk|0;jw=Gk+me|0;Yw=yA[jw>>2]|0;Xw=(Yw|0)==(0|0);if(Xw){LS=0;break}else{AS=Yw;DS=jw}}else{AS=Gw;DS=qw}while(1){Zw=AS+20|0;Jw=yA[Zw>>2]|0;Qw=(Jw|0)==(0|0);if(!Qw){AS=Jw;DS=Zw;continue}$w=AS+16|0;eE=yA[$w>>2]|0;rE=(eE|0)==(0|0);if(rE){OS=AS;BS=DS;break}else{AS=eE;DS=$w}}iE=BS>>>0>>0;if(iE){lg()}else{yA[BS>>2]=0;LS=OS;break}}else{Ze=Om|8;se=Ze+Xk|0;Dw=Gk+se|0;Bw=yA[Dw>>2]|0;Pw=Bw>>>0>>0;if(Pw){lg()}Cw=Bw+12|0;Iw=yA[Cw>>2]|0;Hw=(Iw|0)==(Mm|0);if(!Hw){lg()}Uw=Nw+8|0;zw=yA[Uw>>2]|0;Vw=(zw|0)==(Mm|0);if(Vw){yA[Cw>>2]=Nw;yA[Uw>>2]=Bw;LS=Nw;break}else{lg()}}}while(0);tE=(Rw|0)==(0|0);if(tE){break}Ye=Xk+28|0;le=Ye+Om|0;nE=Gk+le|0;oE=yA[nE>>2]|0;lE=553352+(oE<<2)|0;fE=yA[lE>>2]|0;uE=(Mm|0)==(fE|0);do{if(uE){yA[lE>>2]=LS;KS=(LS|0)==(0|0);if(!KS){break}cE=1<>2]|0;vE=dE&hE;yA[553052>>2]=vE;break i}else{mE=yA[553064>>2]|0;wE=Rw>>>0>>0;if(wE){lg()}EE=Rw+16|0;_E=yA[EE>>2]|0;bE=(_E|0)==(Mm|0);if(bE){yA[EE>>2]=LS}else{SE=Rw+20|0;yA[SE>>2]=LS}kE=(LS|0)==(0|0);if(kE){break i}}}while(0);gE=yA[553064>>2]|0;AE=LS>>>0>>0;if(AE){lg()}OE=LS+24|0;yA[OE>>2]=Rw;Xe=Om|16;fe=Xe+Xk|0;yE=Gk+fe|0;ME=yA[yE>>2]|0;FE=(ME|0)==(0|0);do{if(!FE){LE=ME>>>0>>0;if(LE){lg()}else{NE=LS+16|0;yA[NE>>2]=ME;TE=ME+24|0;yA[TE>>2]=LS;break}}}while(0);he=Pe+Xe|0;DE=Gk+he|0;BE=yA[DE>>2]|0;PE=(BE|0)==(0|0);if(PE){break}CE=yA[553064>>2]|0;IE=BE>>>0>>0;if(IE){lg()}else{xE=LS+20|0;yA[xE>>2]=BE;HE=BE+24|0;yA[HE>>2]=LS;break}}}while(0);mr=$m|Om;de=mr+Xk|0;zE=Gk+de|0;VE=$m+Tm|0;ok=zE;Ek=VE}else{ok=Mm;Ek=Tm}qE=ok+4|0;GE=yA[qE>>2]|0;WE=GE&-2;yA[qE>>2]=WE;jE=Ek|1;Q=U+4|0;YE=Gk+Q|0;yA[YE>>2]=jE;ee=Ek+U|0;XE=Gk+ee|0;yA[XE>>2]=Ek;KE=Ek>>>3;ZE=Ek>>>0<256;if(ZE){QE=KE<<1;$E=553088+(QE<<2)|0;ep=yA[553048>>2]|0;rp=1<>2]=np;E=QE+2|0;R=553088+(E<<2)|0;b=R;mS=$E}else{Ge=QE+2|0;op=553088+(Ge<<2)|0;ap=yA[op>>2]|0;sp=yA[553064>>2]|0;fp=ap>>>0>>0;if(!fp){b=op;mS=ap;break}lg()}}while(0);yA[b>>2]=Nm;up=mS+12|0;yA[up>>2]=Nm;Ve=U+8|0;cp=Gk+Ve|0;yA[cp>>2]=mS;qe=U+12|0;hp=Gk+qe|0;yA[hp>>2]=$E;break}dp=Ek>>>8;vp=(dp|0)==0;do{if(vp){_S=0}else{mp=Ek>>>0>16777215;if(mp){_S=31;break}wp=dp+1048320|0;Ep=wp>>>16;pp=Ep&8;bp=dp<>>16;gp=kp&4;Ap=gp|pp;Op=bp<>>16;Fp=Mp&2;Rp=Ap|Fp;Np=14-Rp|0;Tp=Op<>>15;Bp=Np+Dp|0;Pp=Bp<<1;Cp=Bp+7|0;Ip=Ek>>>Cp;xp=Ip&1;Hp=xp|Pp;_S=Hp}}while(0);Up=553352+(_S<<2)|0;ce=U+28|0;Vp=Gk+ce|0;yA[Vp>>2]=_S;_e=U+16|0;qp=Gk+_e|0;be=U+20|0;Gp=Gk+be|0;yA[Gp>>2]=0;yA[qp>>2]=0;Wp=yA[553052>>2]|0;jp=1<<_S;Yp=Wp&jp;Xp=(Yp|0)==0;if(Xp){Kp=Wp|jp;yA[553052>>2]=Kp;yA[Up>>2]=Nm;ke=U+24|0;Zp=Gk+ke|0;yA[Zp>>2]=Up;Ae=U+12|0;Jp=Gk+Ae|0;yA[Jp>>2]=Nm;ye=U+8|0;$p=Gk+ye|0;yA[$p>>2]=Nm;break}e_=yA[Up>>2]|0;r_=e_+4|0;i_=yA[r_>>2]|0;t_=i_&-8;n_=(t_|0)==(Ek|0);i:do{if(n_){US=e_}else{o_=(_S|0)==31;a_=_S>>>1;s_=25-a_|0;l_=o_?0:s_;c_=Ek<>>31;__=(qS+16|0)+(p_<<2)|0;v_=yA[__>>2]|0;b_=(v_|0)==(0|0);if(b_){i=__;GS=qS;break}h_=kS<<1;d_=v_+4|0;m_=yA[d_>>2]|0;w_=m_&-8;E_=(w_|0)==(Ek|0);if(E_){US=v_;break i}else{kS=h_;qS=v_}}k_=yA[553064>>2]|0;g_=i>>>0>>0;if(g_){lg()}else{yA[i>>2]=Nm;He=U+24|0;A_=Gk+He|0;yA[A_>>2]=GS;Ue=U+12|0;O_=Gk+Ue|0;yA[O_>>2]=Nm;ze=U+8|0;y_=Gk+ze|0;yA[y_>>2]=Nm;break r}}}while(0);M_=US+8|0;F_=yA[M_>>2]|0;R_=yA[553064>>2]|0;L_=F_>>>0>=R_>>>0;nk=US>>>0>=R_>>>0;N_=L_&nk;if(N_){D_=F_+12|0;yA[D_>>2]=Nm;yA[M_>>2]=Nm;Ce=U+8|0;B_=Gk+Ce|0;yA[B_>>2]=F_;Ie=U+12|0;P_=Gk+Ie|0;yA[P_>>2]=US;xe=U+24|0;C_=Gk+xe|0;yA[C_>>2]=0;break}else{lg()}}}while(0);Fe=Em|8;I_=Gk+Fe|0;ek=I_;return ek|0}else{Rk=553496}}while(1){x_=yA[Rk>>2]|0;H_=x_>>>0>Ud>>>0;if(!H_){U_=Rk+4|0;z_=yA[U_>>2]|0;V_=x_+z_|0;G_=V_>>>0>Ud>>>0;if(G_){n=x_;o=z_;a=V_;break}}W_=Rk+8|0;j_=yA[W_>>2]|0;Rk=j_}x=o+-47|0;Y=o+-39|0;Y_=n+Y|0;X_=Y_;K_=X_&7;Z_=(K_|0)==0;J_=0-X_|0;Q_=J_&7;$_=Z_?0:Q_;De=x+$_|0;rb=n+De|0;ib=Ud+16|0;tb=rb>>>0>>0;nb=tb?Ud:rb;ob=nb+8|0;ab=Xk+-40|0;sb=Gk+8|0;lb=sb;fb=lb&7;ub=(fb|0)==0;hb=0-lb|0;db=hb&7;vb=ub?0:db;mb=Gk+vb|0;wb=ab-vb|0;yA[553072>>2]=mb;yA[553060>>2]=wb;Eb=wb|1;C=vb+4|0;pb=Gk+C|0;yA[pb>>2]=Eb;Te=Xk+-36|0;_b=Gk+Te|0;yA[_b>>2]=40;bb=yA[553536>>2]|0;yA[553076>>2]=bb;Sb=nb+4|0;yA[Sb>>2]=27;yA[ob>>2]=yA[553496>>2]|0;yA[ob+4>>2]=yA[553496+4>>2]|0;yA[ob+8>>2]=yA[553496+8>>2]|0;yA[ob+12>>2]=yA[553496+12>>2]|0;yA[553496>>2]=Gk;yA[553500>>2]=Xk;yA[553508>>2]=0;yA[553504>>2]=ob;gb=nb+28|0;yA[gb>>2]=7;Ab=nb+32|0;Ob=Ab>>>0>>0;if(Ob){Mb=gb;while(1){yb=Mb+4|0;yA[yb>>2]=7;Fb=Mb+8|0;Rb=Fb>>>0>>0;if(Rb){Mb=yb}else{break}}}Lb=(nb|0)==(Ud|0);if(!Lb){Nb=nb;Tb=Ud;Bb=Nb-Tb|0;Pb=yA[Sb>>2]|0;Cb=Pb&-2;yA[Sb>>2]=Cb;Ib=Bb|1;xb=Ud+4|0;yA[xb>>2]=Ib;yA[nb>>2]=Bb;Hb=Bb>>>3;Ub=Bb>>>0<256;if(Ub){zb=Hb<<1;Vb=553088+(zb<<2)|0;qb=yA[553048>>2]|0;Wb=1<>2]=Xb;w=zb+2|0;M=553088+(w<<2)|0;_=M;hS=Vb}else{rr=zb+2|0;Kb=553088+(rr<<2)|0;Zb=yA[Kb>>2]|0;Jb=yA[553064>>2]|0;Qb=Zb>>>0>>0;if(Qb){lg()}else{_=Kb;hS=Zb}}yA[_>>2]=Ud;$b=hS+12|0;yA[$b>>2]=Ud;eS=Ud+8|0;yA[eS>>2]=hS;iS=Ud+12|0;yA[iS>>2]=Vb;break}tS=Bb>>>8;nS=(tS|0)==0;if(nS){ES=0}else{oS=Bb>>>0>16777215;if(oS){ES=31}else{aS=tS+1048320|0;sS=aS>>>16;lS=sS&8;fS=tS<>>16;kr=cS&4;gr=kr|lS;Ar=fS<>>16;Mr=yr&2;Fr=gr|Mr;Rr=14-Fr|0;Lr=Ar<>>15;Dr=Rr+Nr|0;Br=Dr<<1;Pr=Dr+7|0;Cr=Bb>>>Pr;Ir=Cr&1;xr=Ir|Br;ES=xr}}Hr=553352+(ES<<2)|0;Ur=Ud+28|0;yA[Ur>>2]=ES;zr=Ud+20|0;yA[zr>>2]=0;yA[ib>>2]=0;Vr=yA[553052>>2]|0;Gr=1<>2]=Yr;yA[Hr>>2]=Ud;Xr=Ud+24|0;yA[Xr>>2]=Hr;Kr=Ud+12|0;yA[Kr>>2]=Ud;Zr=Ud+8|0;yA[Zr>>2]=Ud;break}Jr=yA[Hr>>2]|0;Qr=Jr+4|0;$r=yA[Qr>>2]|0;ri=$r&-8;ii=(ri|0)==(Bb|0);r:do{if(ii){HS=Jr}else{ti=(ES|0)==31;ni=ES>>>1;oi=25-ni|0;ai=ti?0:oi;si=Bb<>>31;wi=(WS+16|0)+(mi<<2)|0;ui=yA[wi>>2]|0;Ei=(ui|0)==(0|0);if(Ei){t=wi;jS=WS;break}li=SS<<1;fi=ui+4|0;hi=yA[fi>>2]|0;di=hi&-8;vi=(di|0)==(Bb|0);if(vi){HS=ui;break r}else{SS=li;WS=ui}}pi=yA[553064>>2]|0;_i=t>>>0>>0;if(_i){lg()}else{yA[t>>2]=Ud;bi=Ud+24|0;yA[bi>>2]=jS;Si=Ud+12|0;yA[Si>>2]=Ud;gi=Ud+8|0;yA[gi>>2]=Ud;break e}}}while(0);Ai=HS+8|0;Oi=yA[Ai>>2]|0;yi=yA[553064>>2]|0;Mi=Oi>>>0>=yi>>>0;tk=HS>>>0>=yi>>>0;Fi=Mi&tk;if(Fi){Ri=Oi+12|0;yA[Ri>>2]=Ud;yA[Ai>>2]=Ud;Li=Ud+8|0;yA[Li>>2]=Oi;Ni=Ud+12|0;yA[Ni>>2]=HS;Ti=Ud+24|0;yA[Ti>>2]=0;break}else{lg()}}}}while(0);Bi=yA[553060>>2]|0;Pi=Bi>>>0>rk>>>0;if(Pi){Ci=Bi-rk|0;yA[553060>>2]=Ci;Ii=yA[553072>>2]|0;xi=Ii+rk|0;yA[553072>>2]=xi;Hi=Ci|1;V=rk+4|0;Ui=Ii+V|0;yA[Ui>>2]=Hi;zi=rk|3;Vi=Ii+4|0;yA[Vi>>2]=zi;qi=Ii+8|0;ek=qi;return ek|0}}Wi=sg()|0;yA[Wi>>2]=12;ek=0;return ek|0}function Wn(e){e=e|0;var r=0,i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0;var S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0;var z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0;var se=0,le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0;var Me=0,Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0;var Ye=0,Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0;var dr=0,vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0;var Dr=0,Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0;var $r=0,ei=0,ri=0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0;var _i=0,bi=0,Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0;var Hi=0,Ui=0,zi=0,Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0;var ot=0,at=0,st=0,lt=0,ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0;var Ot=0,yt=0,Mt=0,Ft=0,Rt=0,Lt=0,Nt=0,Tt=0,Dt=0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0,zt=0,Vt=0,qt=0,Gt=0;var Wt=0,jt=0,Yt=0,Xt=0,Kt=0,Zt=0,Jt=0,Qt=0,$t=0,en=0,rn=0,tn=0,nn=0,on=0,an=0,sn=0,ln=0,fn=0,un=0,cn=0;var hn=0,dn=0,vn=0,mn=0,wn=0,En=0,pn=0,_n=0,bn=0,Sn=0,kn=0,gn=0,An=0,On=0,yn=0,Mn=0,Fn=0,Rn=0,Ln=0,Nn=0;var Tn=0,Dn=0,Bn=0,Pn=0,Cn=0,In=0,xn=0,Hn=0,Un=0,zn=0,Vn=0,qn=0,Gn=0,Wn=0,jn=0,Yn=0,Xn=0,Kn=0,Zn=0,Jn=0;var Qn=0,$n=0,eo=0,ro=0,io=0,to=0,no=0,oo=0,ao=0,so=0,lo=0,fo=0,uo=0,co=0,ho=0,vo=0,mo=0,wo=0,Eo=0,po=0;var _o=0,bo=0,So=0,ko=0,go=0,Ao=0,Oo=0,yo=0,Mo=0,Fo=0,Ro=0,Lo=0,No=0,To=0,Do=0,Bo=0,Po=0,Co=0,Io=0,xo=0;var Ho=0,Uo=0,zo=0,Vo=0,qo=0,Go=0,Wo=0,jo=0,Yo=0,Xo=0,Ko=0,Zo=0,Jo=0,Qo=0,$o=0,ea=0,ra=0,ia=0,ta=0,na=0;na=RA;D=(e|0)==(0|0);if(D){return}B=e+-8|0;Ir=yA[553064>>2]|0;Ut=B>>>0>>0;if(Ut){lg()}bn=e+-4|0;Nn=yA[bn>>2]|0;Vn=Nn&3;$n=(Vn|0)==1;if($n){lg()}uo=Nn&-8;f=uo+-8|0;ko=e+f|0;P=Nn&1;j=(P|0)==0;do{if(j){te=yA[B>>2]|0;ve=(Vn|0)==0;if(ve){return}w=-8-te|0;Oe=e+w|0;Ce=te+uo|0;Ye=Oe>>>0>>0;if(Ye){lg()}nr=yA[553068>>2]|0;mr=(Oe|0)==(nr|0);if(mr){y=uo+-4|0;H=e+y|0;U=yA[H>>2]|0;z=U&3;V=(z|0)==3;if(!V){Qo=Oe;$o=Ce;break}yA[553056>>2]=Ce;q=U&-2;yA[H>>2]=q;G=Ce|1;E=w+4|0;W=e+E|0;yA[W>>2]=G;yA[ko>>2]=Ce;return}yr=te>>>3;xr=te>>>0<256;if(xr){M=w+8|0;Kr=e+M|0;ai=yA[Kr>>2]|0;F=w+12|0;Ei=e+F|0;Fi=yA[Ei>>2]|0;Hi=yr<<1;Zi=553088+(Hi<<2)|0;st=(ai|0)==(Zi|0);if(!st){pt=ai>>>0>>0;if(pt){lg()}Rt=ai+12|0;zt=yA[Rt>>2]|0;Qt=(zt|0)==(Oe|0);if(!Qt){lg()}}un=(Fi|0)==(ai|0);if(un){dn=1<>2]|0;wn=mn&vn;yA[553048>>2]=wn;Qo=Oe;$o=Ce;break}En=(Fi|0)==(Zi|0);if(En){l=Fi+8|0;n=l}else{pn=Fi>>>0>>0;if(pn){lg()}_n=Fi+8|0;Sn=yA[_n>>2]|0;kn=(Sn|0)==(Oe|0);if(kn){n=_n}else{lg()}}gn=ai+12|0;yA[gn>>2]=Fi;yA[n>>2]=ai;Qo=Oe;$o=Ce;break}p=w+24|0;An=e+p|0;On=yA[An>>2]|0;_=w+12|0;yn=e+_|0;Mn=yA[yn>>2]|0;Fn=(Mn|0)==(Oe|0);do{if(Fn){S=w+20|0;Hn=e+S|0;Un=yA[Hn>>2]|0;zn=(Un|0)==(0|0);if(zn){b=w+16|0;qn=e+b|0;Gn=yA[qn>>2]|0;Wn=(Gn|0)==(0|0);if(Wn){xo=0;break}else{Co=Gn;Vo=qn}}else{Co=Un;Vo=Hn}while(1){jn=Co+20|0;Yn=yA[jn>>2]|0;Xn=(Yn|0)==(0|0);if(!Xn){Co=Yn;Vo=jn;continue}Kn=Co+16|0;Zn=yA[Kn>>2]|0;Jn=(Zn|0)==(0|0);if(Jn){Io=Co;qo=Vo;break}else{Co=Zn;Vo=Kn}}Qn=qo>>>0>>0;if(Qn){lg()}else{yA[qo>>2]=0;xo=Io;break}}else{O=w+8|0;Rn=e+O|0;Ln=yA[Rn>>2]|0;Tn=Ln>>>0>>0;if(Tn){lg()}Dn=Ln+12|0;Bn=yA[Dn>>2]|0;Pn=(Bn|0)==(Oe|0);if(!Pn){lg()}Cn=Mn+8|0;In=yA[Cn>>2]|0;xn=(In|0)==(Oe|0);if(xn){yA[Dn>>2]=Mn;yA[Cn>>2]=Ln;xo=Mn;break}else{lg()}}}while(0);eo=(On|0)==(0|0);if(eo){Qo=Oe;$o=Ce}else{k=w+28|0;ro=e+k|0;io=yA[ro>>2]|0;to=553352+(io<<2)|0;no=yA[to>>2]|0;oo=(Oe|0)==(no|0);if(oo){yA[to>>2]=xo;Ko=(xo|0)==(0|0);if(Ko){ao=1<>2]|0;fo=lo&so;yA[553052>>2]=fo;Qo=Oe;$o=Ce;break}}else{co=yA[553064>>2]|0;ho=On>>>0>>0;if(ho){lg()}vo=On+16|0;mo=yA[vo>>2]|0;wo=(mo|0)==(Oe|0);if(wo){yA[vo>>2]=xo}else{Eo=On+20|0;yA[Eo>>2]=xo}po=(xo|0)==(0|0);if(po){Qo=Oe;$o=Ce;break}}_o=yA[553064>>2]|0;bo=xo>>>0<_o>>>0;if(bo){lg()}So=xo+24|0;yA[So>>2]=On;g=w+16|0;go=e+g|0;Ao=yA[go>>2]|0;Oo=(Ao|0)==(0|0);do{if(!Oo){yo=Ao>>>0<_o>>>0;if(yo){lg()}else{Mo=xo+16|0;yA[Mo>>2]=Ao;Fo=Ao+24|0;yA[Fo>>2]=xo;break}}}while(0);A=w+20|0;Ro=e+A|0;Lo=yA[Ro>>2]|0;No=(Lo|0)==(0|0);if(No){Qo=Oe;$o=Ce}else{To=yA[553064>>2]|0;C=Lo>>>0>>0;if(C){lg()}else{I=xo+20|0;yA[I>>2]=Lo;x=Lo+24|0;yA[x>>2]=xo;Qo=Oe;$o=Ce;break}}}}else{Qo=B;$o=uo}}while(0);Y=Qo>>>0>>0;if(!Y){lg()}m=uo+-4|0;X=e+m|0;K=yA[X>>2]|0;Z=K&1;J=(Z|0)==0;if(J){lg()}Q=K&2;$=(Q|0)==0;if($){ee=yA[553072>>2]|0;re=(ko|0)==(ee|0);if(re){ie=yA[553060>>2]|0;ne=ie+$o|0;yA[553060>>2]=ne;yA[553072>>2]=Qo;oe=ne|1;ae=Qo+4|0;yA[ae>>2]=oe;se=yA[553068>>2]|0;le=(Qo|0)==(se|0);if(!le){return}yA[553068>>2]=0;yA[553056>>2]=0;return}fe=yA[553068>>2]|0;ue=(ko|0)==(fe|0);if(ue){ce=yA[553056>>2]|0;he=ce+$o|0;yA[553056>>2]=he;yA[553068>>2]=Qo;de=he|1;me=Qo+4|0;yA[me>>2]=de;we=Qo+he|0;yA[we>>2]=he;return}Ee=K&-8;pe=Ee+$o|0;_e=K>>>3;be=K>>>0<256;do{if(be){Se=e+uo|0;ke=yA[Se>>2]|0;v=uo|4;ge=e+v|0;Ae=yA[ge>>2]|0;ye=_e<<1;Me=553088+(ye<<2)|0;Fe=(ke|0)==(Me|0);if(!Fe){Re=yA[553064>>2]|0;Le=ke>>>0>>0;if(Le){lg()}Ne=ke+12|0;Te=yA[Ne>>2]|0;De=(Te|0)==(ko|0);if(!De){lg()}}Be=(Ae|0)==(ke|0);if(Be){Pe=1<<_e;Ie=Pe^-1;xe=yA[553048>>2]|0;He=xe&Ie;yA[553048>>2]=He;break}Ue=(Ae|0)==(Me|0);if(Ue){s=Ae+8|0;t=s}else{ze=yA[553064>>2]|0;Ve=Ae>>>0>>0;if(Ve){lg()}qe=Ae+8|0;Ge=yA[qe>>2]|0;We=(Ge|0)==(ko|0);if(We){t=qe}else{lg()}}je=ke+12|0;yA[je>>2]=Ae;yA[t>>2]=ke}else{R=uo+16|0;Xe=e+R|0;Ke=yA[Xe>>2]|0;L=uo|4;Ze=e+L|0;Je=yA[Ze>>2]|0;Qe=(Je|0)==(ko|0);do{if(Qe){T=uo+12|0;ur=e+T|0;cr=yA[ur>>2]|0;hr=(cr|0)==(0|0);if(hr){N=uo+8|0;dr=e+N|0;vr=yA[dr>>2]|0;wr=(vr|0)==(0|0);if(wr){zo=0;break}else{Ho=vr;Go=dr}}else{Ho=cr;Go=ur}while(1){Er=Ho+20|0;pr=yA[Er>>2]|0;_r=(pr|0)==(0|0);if(!_r){Ho=pr;Go=Er;continue}br=Ho+16|0;Sr=yA[br>>2]|0;kr=(Sr|0)==(0|0);if(kr){Uo=Ho;Wo=Go;break}else{Ho=Sr;Go=br}}gr=yA[553064>>2]|0;Ar=Wo>>>0>>0;if(Ar){lg()}else{yA[Wo>>2]=0;zo=Uo;break}}else{$e=e+uo|0;er=yA[$e>>2]|0;rr=yA[553064>>2]|0;ir=er>>>0>>0;if(ir){lg()}tr=er+12|0;or=yA[tr>>2]|0;ar=(or|0)==(ko|0);if(!ar){lg()}sr=Je+8|0;lr=yA[sr>>2]|0;fr=(lr|0)==(ko|0);if(fr){yA[tr>>2]=Je;yA[sr>>2]=er;zo=Je;break}else{lg()}}}while(0);Or=(Ke|0)==(0|0);if(!Or){c=uo+20|0;Mr=e+c|0;Fr=yA[Mr>>2]|0;Rr=553352+(Fr<<2)|0;Lr=yA[Rr>>2]|0;Nr=(ko|0)==(Lr|0);if(Nr){yA[Rr>>2]=zo;Zo=(zo|0)==(0|0);if(Zo){Tr=1<>2]|0;Pr=Br&Dr;yA[553052>>2]=Pr;break}}else{Cr=yA[553064>>2]|0;Hr=Ke>>>0>>0;if(Hr){lg()}Ur=Ke+16|0;zr=yA[Ur>>2]|0;Vr=(zr|0)==(ko|0);if(Vr){yA[Ur>>2]=zo}else{qr=Ke+20|0;yA[qr>>2]=zo}Gr=(zo|0)==(0|0);if(Gr){break}}Wr=yA[553064>>2]|0;jr=zo>>>0>>0;if(jr){lg()}Yr=zo+24|0;yA[Yr>>2]=Ke;h=uo+8|0;Xr=e+h|0;Zr=yA[Xr>>2]|0;Jr=(Zr|0)==(0|0);do{if(!Jr){Qr=Zr>>>0>>0;if(Qr){lg()}else{$r=zo+16|0;yA[$r>>2]=Zr;ei=Zr+24|0;yA[ei>>2]=zo;break}}}while(0);d=uo+12|0;ri=e+d|0;ii=yA[ri>>2]|0;ti=(ii|0)==(0|0);if(!ti){ni=yA[553064>>2]|0;oi=ii>>>0>>0;if(oi){lg()}else{si=zo+20|0;yA[si>>2]=ii;li=ii+24|0;yA[li>>2]=zo;break}}}}}while(0);fi=pe|1;ui=Qo+4|0;yA[ui>>2]=fi;ci=Qo+pe|0;yA[ci>>2]=pe;hi=yA[553068>>2]|0;di=(Qo|0)==(hi|0);if(di){yA[553056>>2]=pe;return}else{ea=pe}}else{vi=K&-2;yA[X>>2]=vi;mi=$o|1;wi=Qo+4|0;yA[wi>>2]=mi;pi=Qo+$o|0;yA[pi>>2]=$o;ea=$o}_i=ea>>>3;bi=ea>>>0<256;if(bi){Si=_i<<1;ki=553088+(Si<<2)|0;gi=yA[553048>>2]|0;Ai=1<<_i;Oi=gi&Ai;yi=(Oi|0)==0;if(yi){Mi=gi|Ai;yA[553048>>2]=Mi;i=Si+2|0;a=553088+(i<<2)|0;o=a;Do=ki}else{u=Si+2|0;Ri=553088+(u<<2)|0;Li=yA[Ri>>2]|0;Ni=yA[553064>>2]|0;Ti=Li>>>0>>0;if(Ti){lg()}else{o=Ri;Do=Li}}yA[o>>2]=Qo;Di=Do+12|0;yA[Di>>2]=Qo;Bi=Qo+8|0;yA[Bi>>2]=Do;Pi=Qo+12|0;yA[Pi>>2]=ki;return}Ci=ea>>>8;Ii=(Ci|0)==0;if(Ii){Bo=0}else{xi=ea>>>0>16777215;if(xi){Bo=31}else{Ui=Ci+1048320|0;zi=Ui>>>16;Vi=zi&8;qi=Ci<>>16;ji=Wi&4;Yi=ji|Vi;Xi=qi<>>16;Qi=Ji&2;$i=Yi|Qi;et=14-$i|0;rt=Xi<>>15;tt=et+it|0;nt=tt<<1;ot=tt+7|0;at=ea>>>ot;lt=at&1;ft=lt|nt;Bo=ft}}ut=553352+(Bo<<2)|0;ct=Qo+28|0;yA[ct>>2]=Bo;ht=Qo+16|0;dt=Qo+20|0;yA[dt>>2]=0;yA[ht>>2]=0;vt=yA[553052>>2]|0;mt=1<>2]=_t;yA[ut>>2]=Qo;bt=Qo+24|0;yA[bt>>2]=ut;St=Qo+12|0;yA[St>>2]=Qo;kt=Qo+8|0;yA[kt>>2]=Qo}else{gt=yA[ut>>2]|0;At=gt+4|0;Ot=yA[At>>2]|0;yt=Ot&-8;Mt=(yt|0)==(ea|0);r:do{if(Mt){jo=gt}else{Ft=(Bo|0)==31;Lt=Bo>>>1;Nt=25-Lt|0;Tt=Ft?0:Nt;Dt=ea<>>31;qt=(Yo+16|0)+(Vt<<2)|0;Ct=yA[qt>>2]|0;Gt=(Ct|0)==(0|0);if(Gt){r=qt;Xo=Yo;break}Bt=Po<<1;Pt=Ct+4|0;It=yA[Pt>>2]|0;xt=It&-8;Ht=(xt|0)==(ea|0);if(Ht){jo=Ct;break r}else{Po=Bt;Yo=Ct}}Wt=yA[553064>>2]|0;jt=r>>>0>>0;if(jt){lg()}else{yA[r>>2]=Qo;Yt=Qo+24|0;yA[Yt>>2]=Xo;Xt=Qo+12|0;yA[Xt>>2]=Qo;Kt=Qo+8|0;yA[Kt>>2]=Qo;break e}}}while(0);Zt=jo+8|0;Jt=yA[Zt>>2]|0;$t=yA[553064>>2]|0;en=Jt>>>0>=$t>>>0;Jo=jo>>>0>=$t>>>0;rn=en&Jo;if(rn){tn=Jt+12|0;yA[tn>>2]=Qo;yA[Zt>>2]=Qo;nn=Qo+8|0;yA[nn>>2]=Jt;on=Qo+12|0;yA[on>>2]=jo;an=Qo+24|0;yA[an>>2]=0;break}else{lg()}}}while(0);sn=yA[553080>>2]|0;ln=sn+-1|0;yA[553080>>2]=ln;fn=(ln|0)==0;if(fn){ia=553504}else{return}while(1){ra=yA[ia>>2]|0;cn=(ra|0)==(0|0);hn=ra+8|0;if(cn){break}else{ia=hn}}yA[553080>>2]=-1;return}function BA(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0;E=RA;t=(e|0)==0;if(t){m=0}else{n=LA(r,e)|0;s=r|e;l=s>>>0>65535;if(l){f=(n>>>0)/(e>>>0)&-1;u=(f|0)==(r|0);i=u?n:-1;m=i}else{m=n}}c=DA(m)|0;h=(c|0)==(0|0);if(h){return c|0}d=c+-4|0;v=yA[d>>2]|0;o=v&3;a=(o|0)==0;if(a){return c|0}tl(c|0,0,m|0)|0;return c|0}function jn(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0;M=RA;i=(e|0)==(0|0);if(i){t=DA(r)|0;O=t;return O|0}v=r>>>0>4294967231;if(v){p=sg()|0;yA[p>>2]=12;O=0;return O|0}_=r>>>0<11;b=r+11|0;S=b&-8;k=_?16:S;g=e+-8|0;A=vi(g,k)|0;n=(A|0)==(0|0);if(!n){o=A+8|0;O=o;return O|0}a=DA(r)|0;s=(a|0)==(0|0);if(s){O=0;return O|0}l=e+-4|0;f=yA[l>>2]|0;u=f&-8;c=f&3;h=(c|0)==0;d=h?8:4;m=u-d|0;w=m>>>0>>0;E=w?m:r;PA(a|0,e|0,E|0)|0;Wn(e);O=a;return O|0}function vi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0;var Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0;var vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0;var Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0;var ei=0,ri=0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0;var bi=0,Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0;var Ui=0,zi=0,Vi=0,qi=0,Gi=0,Wi=0,ji=0;ji=RA;g=e+4|0;A=yA[g>>2]|0;Qe=A&-8;fr=e+Qe|0;br=yA[553064>>2]|0;Nr=A&3;Hi=e>>>0>=br>>>0;Ui=(Nr|0)!=1;zi=Ui&Hi;Vr=e>>>0>>0;Vi=zi&Vr;if(!Vi){lg()}E=Qe|4;$r=e+E|0;ui=yA[$r>>2]|0;Si=ui&1;O=(Si|0)==0;if(O){lg()}C=(Nr|0)==0;if(C){Y=r>>>0<256;if(Y){xi=0;return xi|0}ne=r+4|0;me=Qe>>>0>>0;if(!me){ye=Qe-r|0;Ie=yA[553528>>2]|0;Xe=Ie<<1;Ze=ye>>>0>Xe>>>0;if(!Ze){xi=e;return xi|0}}xi=0;return xi|0}Je=Qe>>>0>>0;if(!Je){$e=Qe-r|0;er=$e>>>0>15;if(!er){xi=e;return xi|0}rr=e+r|0;ir=A&1;tr=ir|r;nr=tr|2;yA[g>>2]=nr;w=r+4|0;or=e+w|0;ar=$e|3;yA[or>>2]=ar;sr=yA[$r>>2]|0;lr=sr|1;yA[$r>>2]=lr;Yi(rr,$e);xi=e;return xi|0}ur=yA[553072>>2]|0;cr=(fr|0)==(ur|0);if(cr){hr=yA[553060>>2]|0;dr=hr+Qe|0;vr=dr>>>0>r>>>0;if(!vr){xi=0;return xi|0}mr=dr-r|0;wr=e+r|0;Er=A&1;pr=Er|r;_r=pr|2;yA[g>>2]=_r;m=r+4|0;Sr=e+m|0;kr=mr|1;yA[Sr>>2]=kr;yA[553072>>2]=wr;yA[553060>>2]=mr;xi=e;return xi|0}gr=yA[553068>>2]|0;Ar=(fr|0)==(gr|0);if(Ar){Or=yA[553056>>2]|0;yr=Or+Qe|0;Mr=yr>>>0>>0;if(Mr){xi=0;return xi|0}Fr=yr-r|0;Rr=Fr>>>0>15;if(Rr){Lr=e+r|0;Tr=e+yr|0;Dr=A&1;Br=Dr|r;Pr=Br|2;yA[g>>2]=Pr;h=r+4|0;Cr=e+h|0;Ir=Fr|1;yA[Cr>>2]=Ir;yA[Tr>>2]=Fr;v=yr+4|0;xr=e+v|0;Hr=yA[xr>>2]|0;Ur=Hr&-2;yA[xr>>2]=Ur;qi=Lr;Gi=Fr}else{zr=A&1;qr=zr|yr;Gr=qr|2;yA[g>>2]=Gr;c=yr+4|0;Wr=e+c|0;jr=yA[Wr>>2]|0;Yr=jr|1;yA[Wr>>2]=Yr;qi=0;Gi=0}yA[553056>>2]=Gi;yA[553068>>2]=qi;xi=e;return xi|0}Xr=ui&2;Kr=(Xr|0)==0;if(!Kr){xi=0;return xi|0}Zr=ui&-8;Jr=Zr+Qe|0;Qr=Jr>>>0>>0;if(Qr){xi=0;return xi|0}ei=Jr-r|0;ri=ui>>>3;ii=ui>>>0<256;do{if(ii){f=Qe+8|0;ti=e+f|0;ni=yA[ti>>2]|0;u=Qe+12|0;oi=e+u|0;ai=yA[oi>>2]|0;si=ri<<1;li=553088+(si<<2)|0;fi=(ni|0)==(li|0);if(!fi){ci=ni>>>0
>>0;if(ci){lg()}hi=ni+12|0;di=yA[hi>>2]|0;vi=(di|0)==(fr|0);if(!vi){lg()}}mi=(ai|0)==(ni|0);if(mi){wi=1<>2]|0;_i=pi&Ei;yA[553048>>2]=_i;break}bi=(ai|0)==(li|0);if(bi){i=ai+8|0;t=i}else{ki=ai>>>0
>>0;if(ki){lg()}gi=ai+8|0;Ai=yA[gi>>2]|0;Oi=(Ai|0)==(fr|0);if(Oi){t=gi}else{lg()}}yi=ni+12|0;yA[yi>>2]=ai;yA[t>>2]=ni}else{n=Qe+24|0;Mi=e+n|0;Fi=yA[Mi>>2]|0;d=Qe+12|0;Ri=e+d|0;Li=yA[Ri>>2]|0;Ni=(Li|0)==(fr|0);do{if(Ni){_=Qe+20|0;P=e+_|0;I=yA[P>>2]|0;x=(I|0)==(0|0);if(x){p=Qe+16|0;H=e+p|0;U=yA[H>>2]|0;z=(U|0)==(0|0);if(z){Bi=0;break}else{Ti=U;Pi=H}}else{Ti=I;Pi=P}while(1){V=Ti+20|0;q=yA[V>>2]|0;G=(q|0)==(0|0);if(!G){Ti=q;Pi=V;continue}W=Ti+16|0;j=yA[W>>2]|0;X=(j|0)==(0|0);if(X){Di=Ti;Ci=Pi;break}else{Ti=j;Pi=W}}K=Ci>>>0
>>0;if(K){lg()}else{yA[Ci>>2]=0;Bi=Di;break}}else{l=Qe+8|0;y=e+l|0;M=yA[y>>2]|0;F=M>>>0
>>0;if(F){lg()}R=M+12|0;L=yA[R>>2]|0;N=(L|0)==(fr|0);if(!N){lg()}T=Li+8|0;D=yA[T>>2]|0;B=(D|0)==(fr|0);if(B){yA[R>>2]=Li;yA[T>>2]=M;Bi=Li;break}else{lg()}}}while(0);Z=(Fi|0)==(0|0);if(!Z){o=Qe+28|0;J=e+o|0;Q=yA[J>>2]|0;$=553352+(Q<<2)|0;ee=yA[$>>2]|0;re=(fr|0)==(ee|0);if(re){yA[$>>2]=Bi;Ii=(Bi|0)==(0|0);if(Ii){ie=1<>2]|0;ae=oe&te;yA[553052>>2]=ae;break}}else{se=yA[553064>>2]|0;le=Fi>>>0>>0;if(le){lg()}fe=Fi+16|0;ue=yA[fe>>2]|0;ce=(ue|0)==(fr|0);if(ce){yA[fe>>2]=Bi}else{he=Fi+20|0;yA[he>>2]=Bi}de=(Bi|0)==(0|0);if(de){break}}ve=yA[553064>>2]|0;we=Bi>>>0>>0;if(we){lg()}Ee=Bi+24|0;yA[Ee>>2]=Fi;a=Qe+16|0;pe=e+a|0;_e=yA[pe>>2]|0;be=(_e|0)==(0|0);do{if(!be){Se=_e>>>0>>0;if(Se){lg()}else{ke=Bi+16|0;yA[ke>>2]=_e;ge=_e+24|0;yA[ge>>2]=Bi;break}}}while(0);s=Qe+20|0;Ae=e+s|0;Oe=yA[Ae>>2]|0;Me=(Oe|0)==(0|0);if(!Me){Fe=yA[553064>>2]|0;Re=Oe>>>0>>0;if(Re){lg()}else{Le=Bi+20|0;yA[Le>>2]=Oe;Ne=Oe+24|0;yA[Ne>>2]=Bi;break}}}}}while(0);Te=ei>>>0<16;if(Te){De=A&1;Be=Jr|De;Pe=Be|2;yA[g>>2]=Pe;k=Jr|4;Ce=e+k|0;xe=yA[Ce>>2]|0;He=xe|1;yA[Ce>>2]=He;xi=e;return xi|0}else{Ue=e+r|0;ze=A&1;Ve=ze|r;qe=Ve|2;yA[g>>2]=qe;b=r+4|0;Ge=e+b|0;We=ei|3;yA[Ge>>2]=We;S=Jr|4;je=e+S|0;Ye=yA[je>>2]|0;Ke=Ye|1;yA[je>>2]=Ke;Yi(Ue,ei);xi=e;return xi|0}return 0|0}function Yi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0;var k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0;var V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0;var le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0,me=0,we=0,Ee=0,pe=0,_e=0,be=0,Se=0,ke=0,ge=0,Ae=0,Oe=0,ye=0,Me=0;var Fe=0,Re=0,Le=0,Ne=0,Te=0,De=0,Be=0,Pe=0,Ce=0,Ie=0,xe=0,He=0,Ue=0,ze=0,Ve=0,qe=0,Ge=0,We=0,je=0,Ye=0;var Xe=0,Ke=0,Ze=0,Je=0,Qe=0,$e=0,er=0,rr=0,ir=0,tr=0,nr=0,or=0,ar=0,sr=0,lr=0,fr=0,ur=0,cr=0,hr=0,dr=0;var vr=0,mr=0,wr=0,Er=0,pr=0,_r=0,br=0,Sr=0,kr=0,gr=0,Ar=0,Or=0,yr=0,Mr=0,Fr=0,Rr=0,Lr=0,Nr=0,Tr=0,Dr=0;var Br=0,Pr=0,Cr=0,Ir=0,xr=0,Hr=0,Ur=0,zr=0,Vr=0,qr=0,Gr=0,Wr=0,jr=0,Yr=0,Xr=0,Kr=0,Zr=0,Jr=0,Qr=0,$r=0;var ei=0,ri=0,ii=0,ti=0,ni=0,oi=0,ai=0,si=0,li=0,fi=0,ui=0,ci=0,hi=0,di=0,vi=0,mi=0,wi=0,Ei=0,pi=0,_i=0;var bi=0,Si=0,ki=0,gi=0,Ai=0,Oi=0,yi=0,Mi=0,Fi=0,Ri=0,Li=0,Ni=0,Ti=0,Di=0,Bi=0,Pi=0,Ci=0,Ii=0,xi=0,Hi=0;var Ui=0,zi=0,Vi=0,qi=0,Gi=0,Wi=0,ji=0,Yi=0,Xi=0,Ki=0,Zi=0,Ji=0,Qi=0,$i=0,et=0,rt=0,it=0,tt=0,nt=0,ot=0;var at=0,st=0,lt=0,ft=0,ut=0,ct=0,ht=0,dt=0,vt=0,mt=0,wt=0,Et=0,pt=0,_t=0,bt=0,St=0,kt=0,gt=0,At=0,Ot=0;var yt=0,Mt=0,Ft=0,Rt=0,Lt=0,Nt=0,Tt=0,Dt=0,Bt=0,Pt=0,Ct=0,It=0,xt=0,Ht=0,Ut=0,zt=0,Vt=0,qt=0,Gt=0,Wt=0;var jt=0,Yt=0,Xt=0,Kt=0,Zt=0,Jt=0,Qt=0,$t=0,en=0,rn=0,tn=0,nn=0,on=0,an=0,sn=0,ln=0,fn=0,un=0,cn=0,hn=0;var dn=0,vn=0,mn=0,wn=0,En=0,pn=0,_n=0,bn=0,Sn=0,kn=0,gn=0,An=0,On=0,yn=0,Mn=0,Fn=0,Rn=0,Ln=0,Nn=0,Tn=0;var Dn=0,Bn=0,Pn=0,Cn=0,In=0,xn=0,Hn=0,Un=0,zn=0,Vn=0,qn=0,Gn=0,Wn=0,jn=0,Yn=0,Xn=0,Kn=0,Zn=0,Jn=0,Qn=0;var $n=0,eo=0,ro=0,io=0,to=0,no=0,oo=0,ao=0,so=0,lo=0,fo=0,uo=0,co=0,ho=0,vo=0,mo=0,wo=0,Eo=0,po=0,_o=0;var bo=0,So=0,ko=0,go=0,Ao=0,Oo=0,yo=0,Mo=0,Fo=0,Ro=0,Lo=0,No=0,To=0,Do=0,Bo=0,Po=0,Co=0,Io=0,xo=0,Ho=0;var Uo=0,zo=0,Vo=0,qo=0;qo=RA;I=e+r|0;x=e+4|0;zr=yA[x>>2]|0;Gt=zr&1;un=(Gt|0)==0;do{if(un){Sn=yA[e>>2]|0;Tn=zr&3;qn=(Tn|0)==0;if(qn){return}eo=0-Sn|0;co=e+eo|0;H=Sn+r|0;Z=yA[553064>>2]|0;se=co>>>0>>0;if(se){lg()}pe=yA[553068>>2]|0;Re=(co|0)==(pe|0);if(Re){d=r+4|0;ko=e+d|0;U=yA[ko>>2]|0;z=U&3;V=(z|0)==3;if(!V){i=co;t=H;break}yA[553056>>2]=H;q=U&-2;yA[ko>>2]=q;G=H|1;_=4-Sn|0;W=e+_|0;yA[W>>2]=G;yA[I>>2]=H;return}Ue=Sn>>>3;Je=Sn>>>0<256;if(Je){R=8-Sn|0;lr=e+R|0;_r=yA[lr>>2]|0;L=12-Sn|0;Lr=e+L|0;Vr=yA[Lr>>2]|0;$r=Ue<<1;ui=553088+($r<<2)|0;Si=(_r|0)==(ui|0);if(!Si){Ti=_r>>>0>>0;if(Ti){lg()}qi=_r+12|0;et=yA[qi>>2]|0;ct=(et|0)==(co|0);if(!ct){lg()}}kt=(Vr|0)==(_r|0);if(kt){Dt=1<>2]|0;rn=en&Wt;yA[553048>>2]=rn;i=co;t=H;break}tn=(Vr|0)==(ui|0);if(tn){h=Vr+8|0;l=h}else{nn=Vr>>>0>>0;if(nn){lg()}on=Vr+8|0;an=yA[on>>2]|0;sn=(an|0)==(co|0);if(sn){l=on}else{lg()}}ln=_r+12|0;yA[ln>>2]=Vr;yA[l>>2]=_r;i=co;t=H;break}b=24-Sn|0;fn=e+b|0;cn=yA[fn>>2]|0;S=12-Sn|0;hn=e+S|0;dn=yA[hn>>2]|0;vn=(dn|0)==(co|0);do{if(vn){k=16-Sn|0;g=k+4|0;On=e+g|0;yn=yA[On>>2]|0;Mn=(yn|0)==(0|0);if(Mn){Fn=e+k|0;Rn=yA[Fn>>2]|0;Ln=(Rn|0)==(0|0);if(Ln){Fo=0;break}else{yo=Rn;To=Fn}}else{yo=yn;To=On}while(1){Nn=yo+20|0;Dn=yA[Nn>>2]|0;Bn=(Dn|0)==(0|0);if(!Bn){yo=Dn;To=Nn;continue}Pn=yo+16|0;Cn=yA[Pn>>2]|0;In=(Cn|0)==(0|0);if(In){Mo=yo;Do=To;break}else{yo=Cn;To=Pn}}xn=Do>>>0>>0;if(xn){lg()}else{yA[Do>>2]=0;Fo=Mo;break}}else{F=8-Sn|0;mn=e+F|0;wn=yA[mn>>2]|0;En=wn>>>0>>0;if(En){lg()}pn=wn+12|0;_n=yA[pn>>2]|0;bn=(_n|0)==(co|0);if(!bn){lg()}kn=dn+8|0;gn=yA[kn>>2]|0;An=(gn|0)==(co|0);if(An){yA[pn>>2]=dn;yA[kn>>2]=wn;Fo=dn;break}else{lg()}}}while(0);Hn=(cn|0)==(0|0);if(Hn){i=co;t=H}else{O=28-Sn|0;Un=e+O|0;zn=yA[Un>>2]|0;Vn=553352+(zn<<2)|0;Gn=yA[Vn>>2]|0;Wn=(co|0)==(Gn|0);if(Wn){yA[Vn>>2]=Fo;Ho=(Fo|0)==(0|0);if(Ho){jn=1<>2]|0;Kn=Xn&Yn;yA[553052>>2]=Kn;i=co;t=H;break}}else{Zn=yA[553064>>2]|0;Jn=cn>>>0>>0;if(Jn){lg()}Qn=cn+16|0;$n=yA[Qn>>2]|0;ro=($n|0)==(co|0);if(ro){yA[Qn>>2]=Fo}else{io=cn+20|0;yA[io>>2]=Fo}to=(Fo|0)==(0|0);if(to){i=co;t=H;break}}no=yA[553064>>2]|0;oo=Fo>>>0>>0;if(oo){lg()}ao=Fo+24|0;yA[ao>>2]=cn;y=16-Sn|0;so=e+y|0;lo=yA[so>>2]|0;fo=(lo|0)==(0|0);do{if(!fo){uo=lo>>>0>>0;if(uo){lg()}else{ho=Fo+16|0;yA[ho>>2]=lo;vo=lo+24|0;yA[vo>>2]=Fo;break}}}while(0);M=y+4|0;mo=e+M|0;wo=yA[mo>>2]|0;Eo=(wo|0)==(0|0);if(Eo){i=co;t=H}else{po=yA[553064>>2]|0;_o=wo>>>0>>0;if(_o){lg()}else{bo=Fo+20|0;yA[bo>>2]=wo;So=wo+24|0;yA[So>>2]=Fo;i=co;t=H;break}}}}else{i=e;t=r}}while(0);j=yA[553064>>2]|0;Y=I>>>0>>0;if(Y){lg()}v=r+4|0;X=e+v|0;K=yA[X>>2]|0;J=K&2;Q=(J|0)==0;if(Q){$=yA[553072>>2]|0;ee=(I|0)==($|0);if(ee){re=yA[553060>>2]|0;ie=re+t|0;yA[553060>>2]=ie;yA[553072>>2]=i;te=ie|1;ne=i+4|0;yA[ne>>2]=te;oe=yA[553068>>2]|0;ae=(i|0)==(oe|0);if(!ae){return}yA[553068>>2]=0;yA[553056>>2]=0;return}le=yA[553068>>2]|0;fe=(I|0)==(le|0);if(fe){ue=yA[553056>>2]|0;ce=ue+t|0;yA[553056>>2]=ce;yA[553068>>2]=i;he=ce|1;de=i+4|0;yA[de>>2]=he;ve=i+ce|0;yA[ve>>2]=ce;return}me=K&-8;we=me+t|0;Ee=K>>>3;_e=K>>>0<256;do{if(_e){E=r+8|0;be=e+E|0;Se=yA[be>>2]|0;p=r+12|0;ke=e+p|0;ge=yA[ke>>2]|0;Ae=Ee<<1;Oe=553088+(Ae<<2)|0;ye=(Se|0)==(Oe|0);if(!ye){Me=Se>>>0>>0;if(Me){lg()}Fe=Se+12|0;Le=yA[Fe>>2]|0;Ne=(Le|0)==(I|0);if(!Ne){lg()}}Te=(ge|0)==(Se|0);if(Te){De=1<>2]|0;Ce=Pe&Be;yA[553048>>2]=Ce;break}Ie=(ge|0)==(Oe|0);if(Ie){c=ge+8|0;s=c}else{xe=ge>>>0>>0;if(xe){lg()}He=ge+8|0;ze=yA[He>>2]|0;Ve=(ze|0)==(I|0);if(Ve){s=He}else{lg()}}qe=Se+12|0;yA[qe>>2]=ge;yA[s>>2]=Se}else{A=r+24|0;Ge=e+A|0;We=yA[Ge>>2]|0;N=r+12|0;je=e+N|0;Ye=yA[je>>2]|0;Xe=(Ye|0)==(I|0);do{if(Xe){D=r+20|0;or=e+D|0;ar=yA[or>>2]|0;sr=(ar|0)==(0|0);if(sr){T=r+16|0;fr=e+T|0;ur=yA[fr>>2]|0;cr=(ur|0)==(0|0);if(cr){No=0;break}else{Ro=ur;Bo=fr}}else{Ro=ar;Bo=or}while(1){hr=Ro+20|0;dr=yA[hr>>2]|0;vr=(dr|0)==(0|0);if(!vr){Ro=dr;Bo=hr;continue}mr=Ro+16|0;wr=yA[mr>>2]|0;Er=(wr|0)==(0|0);if(Er){Lo=Ro;Po=Bo;break}else{Ro=wr;Bo=mr}}pr=Po>>>0>>0;if(pr){lg()}else{yA[Po>>2]=0;No=Lo;break}}else{w=r+8|0;Ke=e+w|0;Ze=yA[Ke>>2]|0;Qe=Ze>>>0>>0;if(Qe){lg()}$e=Ze+12|0;er=yA[$e>>2]|0;rr=(er|0)==(I|0);if(!rr){lg()}ir=Ye+8|0;tr=yA[ir>>2]|0;nr=(tr|0)==(I|0);if(nr){yA[$e>>2]=Ye;yA[ir>>2]=Ze;No=Ye;break}else{lg()}}}while(0);br=(We|0)==(0|0);if(!br){P=r+28|0;Sr=e+P|0;kr=yA[Sr>>2]|0;gr=553352+(kr<<2)|0;Ar=yA[gr>>2]|0;Or=(I|0)==(Ar|0);if(Or){yA[gr>>2]=No;Uo=(No|0)==(0|0);if(Uo){yr=1<>2]|0;Rr=Fr&Mr;yA[553052>>2]=Rr;break}}else{Nr=yA[553064>>2]|0;Tr=We>>>0>>0;if(Tr){lg()}Dr=We+16|0;Br=yA[Dr>>2]|0;Pr=(Br|0)==(I|0);if(Pr){yA[Dr>>2]=No}else{Cr=We+20|0;yA[Cr>>2]=No}Ir=(No|0)==(0|0);if(Ir){break}}xr=yA[553064>>2]|0;Hr=No>>>0>>0;if(Hr){lg()}Ur=No+24|0;yA[Ur>>2]=We;C=r+16|0;qr=e+C|0;Gr=yA[qr>>2]|0;Wr=(Gr|0)==(0|0);do{if(!Wr){jr=Gr>>>0>>0;if(jr){lg()}else{Yr=No+16|0;yA[Yr>>2]=Gr;Xr=Gr+24|0;yA[Xr>>2]=No;break}}}while(0);m=r+20|0;Kr=e+m|0;Zr=yA[Kr>>2]|0;Jr=(Zr|0)==(0|0);if(!Jr){Qr=yA[553064>>2]|0;ei=Zr>>>0>>0;if(ei){lg()}else{ri=No+20|0;yA[ri>>2]=Zr;ii=Zr+24|0;yA[ii>>2]=No;break}}}}}while(0);ti=we|1;ni=i+4|0;yA[ni>>2]=ti;oi=i+we|0;yA[oi>>2]=we;ai=yA[553068>>2]|0;si=(i|0)==(ai|0);if(si){yA[553056>>2]=we;return}else{n=we}}else{li=K&-2;yA[X>>2]=li;fi=t|1;ci=i+4|0;yA[ci>>2]=fi;hi=i+t|0;yA[hi>>2]=t;n=t}di=n>>>3;vi=n>>>0<256;if(vi){mi=di<<1;wi=553088+(mi<<2)|0;Ei=yA[553048>>2]|0;pi=1<>2]=ki;a=mi+2|0;u=553088+(a<<2)|0;f=u;go=wi}else{B=mi+2|0;gi=553088+(B<<2)|0;Ai=yA[gi>>2]|0;Oi=yA[553064>>2]|0;yi=Ai>>>0>>0;if(yi){lg()}else{f=gi;go=Ai}}yA[f>>2]=i;Mi=go+12|0;yA[Mi>>2]=i;Fi=i+8|0;yA[Fi>>2]=go;Ri=i+12|0;yA[Ri>>2]=wi;return}Li=n>>>8;Ni=(Li|0)==0;if(Ni){Ao=0}else{Di=n>>>0>16777215;if(Di){Ao=31}else{Bi=Li+1048320|0;Pi=Bi>>>16;Ci=Pi&8;Ii=Li<>>16;Ui=Hi&4;zi=Ui|Ci;Vi=Ii<>>16;ji=Wi&2;Yi=zi|ji;Xi=14-Yi|0;Ki=Vi<>>15;Ji=Xi+Zi|0;Qi=Ji<<1;$i=Ji+7|0;rt=n>>>$i;it=rt&1;tt=it|Qi;Ao=tt}}nt=553352+(Ao<<2)|0;ot=i+28|0;yA[ot>>2]=Ao;at=i+16|0;st=i+20|0;yA[st>>2]=0;yA[at>>2]=0;lt=yA[553052>>2]|0;ft=1<>2]=dt;yA[nt>>2]=i;vt=i+24|0;yA[vt>>2]=nt;mt=i+12|0;yA[mt>>2]=i;wt=i+8|0;yA[wt>>2]=i;return}Et=yA[nt>>2]|0;pt=Et+4|0;_t=yA[pt>>2]|0;bt=_t&-8;St=(bt|0)==(n|0);e:do{if(St){Co=Et}else{gt=(Ao|0)==31;At=Ao>>>1;Ot=25-At|0;yt=gt?0:Ot;Mt=n<>>31;Ct=(Io+16|0)+(Pt<<2)|0;Lt=yA[Ct>>2]|0;It=(Lt|0)==(0|0);if(It){o=Ct;xo=Io;break}Ft=Oo<<1;Rt=Lt+4|0;Nt=yA[Rt>>2]|0;Tt=Nt&-8;Bt=(Tt|0)==(n|0);if(Bt){Co=Lt;break e}else{Oo=Ft;Io=Lt}}xt=yA[553064>>2]|0;Ht=o>>>0>>0;if(Ht){lg()}yA[o>>2]=i;Ut=i+24|0;yA[Ut>>2]=xo;zt=i+12|0;yA[zt>>2]=i;Vt=i+8|0;yA[Vt>>2]=i;return}}while(0);qt=Co+8|0;jt=yA[qt>>2]|0;Yt=yA[553064>>2]|0;Xt=jt>>>0>=Yt>>>0;zo=Co>>>0>=Yt>>>0;Kt=Xt&zo;if(!Kt){lg()}Zt=jt+12|0;yA[Zt>>2]=i;yA[qt>>2]=i;Jt=i+8|0;yA[Jt>>2]=jt;Qt=i+12|0;yA[Qt>>2]=Co;$t=i+24|0;yA[$t>>2]=0;return}function mi(){yA[25640>>2]=u}function tl(e,r,i){e=e|0;r=r|0;i=i|0;var t=0,n=0,o=0,a=0;t=e+i|0;if((i|0)>=20){r=r&0xff;a=e&3;n=r|r<<8|r<<16|r<<24;o=t&~3;if(a){a=e+4-a|0;while((e|0)<(a|0)){An[e>>0]=r;e=e+1|0}}while((e|0)<(o|0)){yA[e>>2]=n;e=e+4|0}}while((e|0)<(t|0)){An[e>>0]=r;e=e+1|0}return e-i|0}function wi(e){e=e|0;var r=0;r=e;while(An[r>>0]|0){r=r+1|0}return r-e|0}function Ei(e,r){e=e|0;r=r|0;var i=0;var t=0;t=e+(wi(e)|0)|0;do{An[t+i>>0]=An[r+i>>0];i=i+1|0}while(An[r+(i-1)>>0]|0);return e|0}function pi(e,r,i){e=e|0;r=r|0;i=i|0;var t=0;if((i|0)<32){t=(1<>>32-i;return e<>>0;o=r+t+(n>>>0>>0|0)>>>0;return(Un=o,n|0)|0}function dt(e,r,i){e=e|0;r=r|0;i=i|0;var t=0;if((i|0)<32){t=(1<>>i;return e>>>i|(r&t)<<32-i}Un=0;return r>>>i-32|0}function PA(e,r,i){e=e|0;r=r|0;i=i|0;var t=0;if((i|0)>=4096)return se(e|0,r|0,i|0)|0;t=e|0;if((e&3)==(r&3)){while(e&3){if((i|0)==0)return t|0;An[e>>0]=An[r>>0]|0;e=e+1|0;r=r+1|0;i=i-1|0}while((i|0)>=4){yA[e>>2]=yA[r>>2]|0;e=e+4|0;r=r+4|0;i=i-4|0}}while((i|0)>0){An[e>>0]=An[r>>0]|0;e=e+1|0;r=r+1|0;i=i-1|0}return t|0}function Xn(e,r,i){e=e|0;r=r|0;i=i|0;var t=0;if((r|0)<(e|0)&(e|0)<(r+i|0)){t=e;r=r+i|0;e=e+i|0;while((i|0)>0){e=e-1|0;r=r-1|0;i=i-1|0;An[e>>0]=An[r>>0]|0}e=t}else{PA(e,r,i)|0}return e|0}function _i(e,r){e=e|0;r=r|0;var i=0;do{An[(e+i|0)>>0]=An[(r+i|0)>>0];i=i+1|0}while(An[r+(i-1)>>0]|0);return e|0}function bi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0;n=e-i>>>0;o=r-t>>>0;o=r-t-(i>>>0>e>>>0|0)>>>0;return(Un=o,n|0)|0}function Si(e,r,i){e=e|0;r=r|0;i=i|0;var t=0;if((i|0)<32){t=(1<>i;return e>>>i|(r&t)<<32-i}Un=(r|0)<0?-1:0;return r>>i-32|0}function ki(e){e=e|0;var r=0;r=An[f+(e&0xff)>>0]|0;if((r|0)<8)return r|0;r=An[f+(e>>8&0xff)>>0]|0;if((r|0)<8)return r+8|0;r=An[f+(e>>16&0xff)>>0]|0;if((r|0)<8)return r+16|0;return(An[f+(e>>>24)>>0]|0)+24|0}function Fi(e,r){e=e|0;r=r|0;var i=0,t=0,n=0,o=0,a=0,s=0,l=0;i=e&65535;t=r&65535;n=LA(t,i)|0;o=e>>>16;a=(n>>>16)+(LA(t,o)|0)|0;s=r>>>16;l=LA(s,i)|0;return(Un=((a>>>16)+(LA(s,o)|0)|0)+(((a&65535)+l|0)>>>16)|0,0|(a+l<<16|n&65535))|0}function Ri(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0;n=r>>31|((r|0)<0?-1:0)<<1;o=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;a=t>>31|((t|0)<0?-1:0)<<1;s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;l=bi(n^e,o^r,n,o)|0;f=Un;u=bi(a^i,s^t,a,s)|0;c=a^n;h=s^o;d=Wi(l,f,u,Un,0)|0;v=bi(d^c,Un^h,c,h)|0;return v|0}function Li(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0;v=RA;RA=RA+8|0;n=v|0;o=r>>31|((r|0)<0?-1:0)<<1;a=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;s=t>>31|((t|0)<0?-1:0)<<1;l=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;f=bi(o^e,a^r,o,a)|0;u=Un;c=bi(s^i,l^t,s,l)|0;Wi(f,u,c,Un,n)|0;h=bi(yA[n>>2]^o,yA[n+4>>2]^a,o,a)|0;d=Un;RA=v;return(Un=d,h)|0}function Ni(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0,a=0,s=0,l=0;n=e;o=i;a=Fi(n,o)|0;s=Un;l=LA(r,o)|0;return(Un=((LA(t,n)|0)+l|0)+s|s&0,0|a&-1)|0}function qi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0;n=Wi(e,r,i,t,0)|0;return n|0}function Gi(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;var n=0,o=0;o=RA;RA=RA+8|0;n=o|0;Wi(e,r,i,t,n)|0;RA=o;return(Un=yA[n+4>>2]|0,yA[n>>2]|0)|0}function Wi(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;var o=0,a=0,s=0,l=0,f=0,u=0,c=0,h=0,d=0,v=0,m=0,w=0,E=0,p=0,_=0,b=0,S=0,k=0,g=0,A=0,O=0,y=0,M=0,F=0,R=0,L=0,N=0,T=0,D=0,B=0,P=0,C=0,I=0,x=0,H=0,U=0,z=0,V=0,q=0,G=0,W=0,j=0,Y=0,X=0,K=0,Z=0,J=0,Q=0,$=0,ee=0,re=0,ie=0,te=0,ne=0,oe=0,ae=0,se=0,le=0,fe=0,ue=0,ce=0,he=0,de=0,ve=0;o=e;a=r;s=a;l=i;f=t;u=f;if((s|0)==0){c=(n|0)!=0;if((u|0)==0){if(c){yA[n>>2]=(o>>>0)%(l>>>0);yA[n+4>>2]=0}ve=0;de=(o>>>0)/(l>>>0)>>>0;return(Un=ve,de)|0}else{if(!c){ve=0;de=0;return(Un=ve,de)|0}yA[n>>2]=e&-1;yA[n+4>>2]=r&0;ve=0;de=0;return(Un=ve,de)|0}}h=(u|0)==0;do{if((l|0)==0){if(h){if((n|0)!=0){yA[n>>2]=(s>>>0)%(l>>>0);yA[n+4>>2]=0}ve=0;de=(s>>>0)/(l>>>0)>>>0;return(Un=ve,de)|0}if((o|0)==0){if((n|0)!=0){yA[n>>2]=0;yA[n+4>>2]=(s>>>0)%(u>>>0)}ve=0;de=(s>>>0)/(u>>>0)>>>0;return(Un=ve,de)|0}d=u-1|0;if((d&u|0)==0){if((n|0)!=0){yA[n>>2]=0|e&-1;yA[n+4>>2]=d&s|r&0}ve=0;de=s>>>((ki(u|0)|0)>>>0);return(Un=ve,de)|0}v=me(u|0)|0;m=v-(me(s|0)|0)|0;if(m>>>0<=30){w=m+1|0;E=31-m|0;C=w;P=s<>>(w>>>0);B=s>>>(w>>>0);D=0;T=o<>2]=0|e&-1;yA[n+4>>2]=a|r&0;ve=0;de=0;return(Un=ve,de)|0}else{if(!h){M=me(u|0)|0;F=M-(me(s|0)|0)|0;if(F>>>0<=31){R=F+1|0;L=31-F|0;N=F-31>>31;C=R;P=o>>>(R>>>0)&N|s<>>(R>>>0)&N;D=0;T=o<>2]=0|e&-1;yA[n+4>>2]=a|r&0;ve=0;de=0;return(Un=ve,de)|0}p=l-1|0;if((p&l|0)!=0){b=(me(l|0)|0)+33|0;S=b-(me(s|0)|0)|0;k=64-S|0;g=32-S|0;A=g>>31;O=S-32|0;y=O>>31;C=S;P=g-1>>31&s>>>(O>>>0)|(s<>>(S>>>0))&y;B=y&s>>>(S>>>0);D=o<>>(O>>>0))&A|o<>31;break}if((n|0)!=0){yA[n>>2]=p&o;yA[n+4>>2]=0}if((l|0)==1){ve=a|r&0;de=0|e&-1;return(Un=ve,de)|0}else{_=ki(l|0)|0;ve=0|s>>>(_>>>0);de=s<<32-_|o>>>(_>>>0)|0;return(Un=ve,de)|0}}}while(0);if((C|0)==0){fe=T;le=D;se=B;ae=P;oe=0;ne=0}else{I=0|i&-1;x=f|t&0;H=Yn(I|0,x|0,-1,-1)|0;U=Un;j=T;W=D;G=B;q=P;V=C;z=0;while(1){Y=W>>>31|j<<1;X=z|W<<1;K=0|(q<<1|j>>>31);Z=q>>>31|G<<1|0;bi(H,U,K,Z)|0;J=Un;Q=J>>31|((J|0)<0?-1:0)<<1;$=Q&1;ee=bi(K,Z,Q&I,(((J|0)<0?-1:0)>>31|((J|0)<0?-1:0)<<1)&x)|0;re=ee;ie=Un;te=V-1|0;if((te|0)==0){break}else{j=Y;W=X;G=ie;q=re;V=te;z=$}}fe=Y;le=X;se=ie;ae=re;oe=0;ne=$}ue=le;ce=0;he=fe|ce;if((n|0)!=0){yA[n>>2]=0|ae;yA[n+4>>2]=se|0}ve=(0|ue)>>>31|he<<1|(ce<<1|ue>>>31)&0|oe;de=(ue<<1|0>>>31)&-2|ne;return(Un=ve,de)|0}function ji(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;return ft[e&3](r|0,i|0,t|0,n|0)|0}function Xi(e,r){e=e|0;r=r|0;ut[e&7](r|0)}function Ki(e,r,i){e=e|0;r=r|0;i=i|0;ct[e&3](r|0,i|0)}function Zi(e,r){e=e|0;r=r|0;return vt[e&1](r|0)|0}function Ji(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;mt[e&1](r|0,i|0,t|0)}function Qi(e,r,i,t,n,o,a,s,l){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;a=a|0;s=s|0;l=l|0;return fc[e&3](r|0,i|0,t|0,n|0,o|0,a|0,s|0,l|0)|0}function $i(e,r,i){e=e|0;r=r|0;i=i|0;return _t[e&15](r|0,i|0)|0}function et(e,r,i,t,n,o){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;return uc[e&7](r|0,i|0,t|0,n|0,o|0)|0}function rt(e,r,i,t){e=e|0;r=r|0;i=i|0;t=t|0;U(0);return 0}function it(e){e=e|0;U(1)}function tt(e,r){e=e|0;r=r|0;U(2)}function nt(e){e=e|0;U(3);return 0}function ot(e,r,i){e=e|0;r=r|0;i=i|0;U(4)}function at(e,r,i,t,n,o,a,s){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;o=o|0;a=a|0;s=s|0;U(5);return 0}function st(e,r){e=e|0;r=r|0;U(6);return 0}function lt(e,r,i,t,n){e=e|0;r=r|0;i=i|0;t=t|0;n=n|0;U(7);return 0}var ft=[rt,tr,Ye,Xe];var ut=[it,er,rr,Er,Ar,Or,it,it];var ct=[tt,Je,yr,tt];var vt=[nt,pr];var mt=[ot,mr];var fc=[at,Lr,Cr,at];var _t=[st,Qe,$e,ir,wr,_r,Mr,Fr,nr,gr,Kr,st,st,st,st,st];var uc=[lt,Rr,Nr,Br,Pr,xr,lt,lt];return{_memmove:Xn,_strlen:wi,_strcat:Ei,_free:Wn,_i64Add:Yn,_encoder_clear:oi,_encoder_transfer_data:fi,_encoder_data_len:li,_memset:tl,_malloc:DA,_memcpy:PA,_encoder_init:ni,_encoder_process:si,_bitshift64Lshr:dt,_bitshift64Shl:pi,_strcpy:_i,_encoder_analysis_buffer:ai,runPostSets:mi,stackAlloc:we,stackSave:Ee,stackRestore:pe,establishStackSpace:_e,setThrew:be,setTempRet0:ge,getTempRet0:Ae,dynCall_iiiii:ji,dynCall_vi:Xi,dynCall_vii:Ki,dynCall_ii:Zi,dynCall_viii:Ji,dynCall_iiiiiiiii:Qi,dynCall_iii:$i,dynCall_iiiiii:et}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),runPostSets=Module.runPostSets=asm.runPostSets,_strlen=Module._strlen=asm._strlen,_strcat=Module._strcat=asm._strcat,_free=Module._free=asm._free,_encoder_init=Module._encoder_init=asm._encoder_init,_i64Add=Module._i64Add=asm._i64Add,_memmove=Module._memmove=asm._memmove,_encoder_transfer_data=Module._encoder_transfer_data=asm._encoder_transfer_data,_encoder_process=Module._encoder_process=asm._encoder_process,_encoder_data_len=Module._encoder_data_len=asm._encoder_data_len,_memset=Module._memset=asm._memset,_malloc=Module._malloc=asm._malloc,_memcpy=Module._memcpy=asm._memcpy,_encoder_clear=Module._encoder_clear=asm._encoder_clear,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_encoder_analysis_buffer=Module._encoder_analysis_buffer=asm._encoder_analysis_buffer,_strcpy=Module._strcpy=asm._strcpy,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_iiiiiiiii=Module.dynCall_iiiiiiiii=asm.dynCall_iiiiiiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii;Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0;var i64Math=function(){var d={math:{}};d.math.Long=function(e,r){this.low_=0|e,this.high_=0|r},d.math.Long.IntCache_={},d.math.Long.fromInt=function(e){if(-128<=e&&e<128){var r=d.math.Long.IntCache_[e];if(r)return r}var i=new d.math.Long(0|e,e<0?-1:0);return-128<=e&&e<128&&(d.math.Long.IntCache_[e]=i),i},d.math.Long.fromNumber=function(e){return isNaN(e)||!isFinite(e)?d.math.Long.ZERO:e<=-d.math.Long.TWO_PWR_63_DBL_?d.math.Long.MIN_VALUE:e+1>=d.math.Long.TWO_PWR_63_DBL_?d.math.Long.MAX_VALUE:e<0?d.math.Long.fromNumber(-e).negate():new d.math.Long(e%d.math.Long.TWO_PWR_32_DBL_|0,e/d.math.Long.TWO_PWR_32_DBL_|0)},d.math.Long.fromBits=function(e,r){return new d.math.Long(e,r)},d.math.Long.fromString=function(e,r){if(0==e.length)throw Error("number format error: empty string");var i=r||10;if(i<2||36>>16,i=65535&this.high_,t=this.low_>>>16,n=65535&this.low_,o=e.high_>>>16,a=65535&e.high_,s=e.low_>>>16,l=0,f=0,u=0,c=0;return u+=(c+=n+(65535&e.low_))>>>16,c&=65535,f+=(u+=t+s)>>>16,u&=65535,l+=(f+=i+a)>>>16,f&=65535,l+=r+o,l&=65535,d.math.Long.fromBits(u<<16|c,l<<16|f)},d.math.Long.prototype.subtract=function(e){return this.add(e.negate())},d.math.Long.prototype.multiply=function(e){if(this.isZero())return d.math.Long.ZERO;if(e.isZero())return d.math.Long.ZERO;if(this.equals(d.math.Long.MIN_VALUE))return e.isOdd()?d.math.Long.MIN_VALUE:d.math.Long.ZERO;if(e.equals(d.math.Long.MIN_VALUE))return this.isOdd()?d.math.Long.MIN_VALUE:d.math.Long.ZERO;if(this.isNegative())return e.isNegative()?this.negate().multiply(e.negate()):this.negate().multiply(e).negate();if(e.isNegative())return this.multiply(e.negate()).negate();if(this.lessThan(d.math.Long.TWO_PWR_24_)&&e.lessThan(d.math.Long.TWO_PWR_24_))return d.math.Long.fromNumber(this.toNumber()*e.toNumber());var r=this.high_>>>16,i=65535&this.high_,t=this.low_>>>16,n=65535&this.low_,o=e.high_>>>16,a=65535&e.high_,s=e.low_>>>16,l=65535&e.low_,f=0,u=0,c=0,h=0;return c+=(h+=n*l)>>>16,h&=65535,u+=(c+=t*l)>>>16,c&=65535,u+=(c+=n*s)>>>16,c&=65535,f+=(u+=i*l)>>>16,u&=65535,f+=(u+=t*s)>>>16,u&=65535,f+=(u+=n*a)>>>16,u&=65535,f+=r*l+i*s+t*a+n*o,f&=65535,d.math.Long.fromBits(c<<16|h,f<<16|u)},d.math.Long.prototype.div=function(e){if(e.isZero())throw Error("division by zero");if(this.isZero())return d.math.Long.ZERO;if(this.equals(d.math.Long.MIN_VALUE)){if(e.equals(d.math.Long.ONE)||e.equals(d.math.Long.NEG_ONE))return d.math.Long.MIN_VALUE;if(e.equals(d.math.Long.MIN_VALUE))return d.math.Long.ONE;if((t=this.shiftRight(1).div(e).shiftLeft(1)).equals(d.math.Long.ZERO))return e.isNegative()?d.math.Long.ONE:d.math.Long.NEG_ONE;var r=this.subtract(e.multiply(t));return t.add(r.div(e))}if(e.equals(d.math.Long.MIN_VALUE))return d.math.Long.ZERO;if(this.isNegative())return e.isNegative()?this.negate().div(e.negate()):this.negate().div(e).negate();if(e.isNegative())return this.div(e.negate()).negate();var i=d.math.Long.ZERO;for(r=this;r.greaterThanOrEqual(e);){for(var t=Math.max(1,Math.floor(r.toNumber()/e.toNumber())),n=Math.ceil(Math.log(t)/Math.LN2),o=n<=48?1:Math.pow(2,n-48),a=d.math.Long.fromNumber(t),s=a.multiply(e);s.isNegative()||s.greaterThan(r);)t-=o,s=(a=d.math.Long.fromNumber(t)).multiply(e);a.isZero()&&(a=d.math.Long.ONE),i=i.add(a),r=r.subtract(s)}return i},d.math.Long.prototype.modulo=function(e){return this.subtract(this.div(e).multiply(e))},d.math.Long.prototype.not=function(){return d.math.Long.fromBits(~this.low_,~this.high_)},d.math.Long.prototype.and=function(e){return d.math.Long.fromBits(this.low_&e.low_,this.high_&e.high_)},d.math.Long.prototype.or=function(e){return d.math.Long.fromBits(this.low_|e.low_,this.high_|e.high_)},d.math.Long.prototype.xor=function(e){return d.math.Long.fromBits(this.low_^e.low_,this.high_^e.high_)},d.math.Long.prototype.shiftLeft=function(e){if(0==(e&=63))return this;var r=this.low_;if(e<32){var i=this.high_;return d.math.Long.fromBits(r<>>32-e)}return d.math.Long.fromBits(0,r<>>e|r<<32-e,r>>e)}return d.math.Long.fromBits(r>>e-32,0<=r?0:-1)},d.math.Long.prototype.shiftRightUnsigned=function(e){if(0==(e&=63))return this;var r=this.high_;if(e<32){var i=this.low_;return d.math.Long.fromBits(i>>>e|r<<32-e,r>>>e)}return 32==e?d.math.Long.fromBits(r,0):d.math.Long.fromBits(r>>>e-32,0)};var e,r="Modern Browser";function _(e,r,i){null!=e&&("number"==typeof e?this.fromNumber(e,r,i):null==r&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,r))}function b(){return new _(null)}"Microsoft Internet Explorer"==r?(_.prototype.am=function(e,r,i,t,n,o){for(var a=32767&r,s=r>>15;0<=--o;){var l=32767&this[e],f=this[e++]>>15,u=s*l+f*a;n=((l=a*l+((32767&u)<<15)+i[t]+(1073741823&n))>>>30)+(u>>>15)+s*f+(n>>>30),i[t++]=1073741823&l}return n},e=30):"Netscape"!=r?(_.prototype.am=function(e,r,i,t,n,o){for(;0<=--o;){var a=r*this[e++]+i[t]+n;n=Math.floor(a/67108864),i[t++]=67108863&a}return n},e=26):(_.prototype.am=function(e,r,i,t,n,o){for(var a=16383&r,s=r>>14;0<=--o;){var l=16383&this[e],f=this[e++]>>14,u=s*l+f*a;n=((l=a*l+((16383&u)<<14)+i[t]+n)>>28)+(u>>14)+s*f,i[t++]=268435455&l}return n},e=28),_.prototype.DB=e,_.prototype.DM=(1<>>16)&&(e=r,i+=16),0!=(r=e>>8)&&(e=r,i+=8),0!=(r=e>>4)&&(e=r,i+=4),0!=(r=e>>2)&&(e=r,i+=2),0!=(r=e>>1)&&(e=r,i+=1),i}function a(e){this.m=e}function u(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>15)*this.mpl&this.um)<<15)&e.DM;for(e[i=r+this.m.t]+=this.m.am(0,t,e,r,0,this.m.t);e[i]>=e.DV;)e[i]-=e.DV,e[++i]++}e.clamp(),e.drShiftTo(this.m.t,e),0<=e.compareTo(this.m)&&e.subTo(this.m,e)},u.prototype.mulTo=function(e,r,i){e.multiplyTo(r,i),this.reduce(i)},u.prototype.sqrTo=function(e,r){e.squareTo(r),this.reduce(r)},_.prototype.copyTo=function(e){for(var r=this.t-1;0<=r;--r)e[r]=this[r];e.t=this.t,e.s=this.s},_.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,0this.DB?(this[this.t-1]|=(a&(1<>this.DB-o):this[this.t-1]|=a<=this.DB&&(o-=this.DB))}8==i&&0!=(128&e[0])&&(this.s=-1,0>n|s,s=(this[i]&o)<=this.t)r.t=0;else{var t=e%this.DB,n=this.DB-t,o=(1<>t;for(var a=i+1;a>t;0>=this.DB;if(e.t>=this.DB;t+=this.s}else{for(t+=this.s;i>=this.DB;t-=e.s}r.s=t<0?-1:0,t<-1?r[i++]=this.DV+t:0=r.DV&&(e[i+r.t]-=r.DV,e[i+r.t+1]=1)}0>this.F2:0),h=this.FV/c,d=(1<>s)&&(n=!0,o=l(i));0<=a;)s>(s+=this.DB-r)):(i=this[a]>>(s-=r)&t,s<=0&&(s+=this.DB,--a)),0=i&&(this.dMultiply(t),this.dAddOffset(a,0),a=o=0))}0=this.DV;)this[r]-=this.DV,++r>=this.t&&(this[this.t++]=0),++this[r]}},_.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||36>=this.DB;if(e.t>=this.DB;t+=this.s}else{for(t+=this.s;i>=this.DB;t+=e.s}r.s=t<0?-1:0,0>2]=i.low_,HEAP32[tempDoublePtr+4>>2]=i.high_},ensureTemps:function(){c.ensuredTemps||(c.ensuredTemps=!0,c.two32=new _,c.two32.fromString("4294967296",10),c.two64=new _,c.two64.fromString("18446744073709551616",10),c.temp1=new _,c.temp2=new _)},lh2bignum:function(e,r){var i=new _;i.fromString(r.toString(),10);var t=new _;i.multiplyTo(c.two32,t);var n=new _;n.fromString(e.toString(),10);var o=new _;return n.addTo(t,o),o},stringify:function(e,r,i){var t=new d.math.Long(e,r).toString();if(i&&"-"==t[0]){c.ensureTemps();var n=new _;n.fromString(t,10),t=new _,c.two64.addTo(n,t),t=t.toString(10)}return t},fromString:function(e,r,i,t,n){c.ensureTemps();var o=new _;o.fromString(e,r);var a=new _;a.fromString(i,10);var s=new _;if(s.fromString(t,10),n&&o.compareTo(_.ZERO)<0){var l=new _;o.addTo(c.two64,l),o=l}var f=!1;o.compareTo(a)<0?(o=a,f=!0):0>2]=u.low_,HEAP32[tempDoublePtr+4>>2]=u.high_,f)throw"range error"}};return c}(),initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function r(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),ENVIRONMENT_IS_WEB&&null!==preloadStartTime&&Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms"),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),0>2,t=0;t>2);this.process(r)},Encoder.prototype.finish=function(e){this.process(0);var r=new Blob(this.oggBuffers,{type:e||"audio/ogg"});return this.cleanup(),r},Encoder.prototype.cancel=Encoder.prototype.cleanup=function(){encoder_clear(this.encoder),delete this.encoder,delete this.oggBuffers},Encoder.prototype.process=function(e){encoder_process(this.encoder,e);var r=encoder_data_len(this.encoder);if(0J.length){var A=new Uint8Array(J.length+Math.max(5e5,d));A.set(J.subarray(0,g)),J=A}J.set(n,g),g+=d}RB.memory.length){var A=new Uint8Array(B.memory.length+Math.max(5e5,d));A.set(B.memory.subarray(0,B.mOffset)),B.memory=A}B.memory.set(n,B.mOffset),B.mOffset+=d};switch(d.action){case"stop":B.encObj=null,delete A[d.id];break;case"encode":B.pcmSize+=d.pcm.length;try{var D=B.encObj.encode([d.pcm])}catch(n){B.err=n,console.error(n)}D&&0>2]=0;for(Z=D+E;Q>0]=0;return D}if("i8"===C)return n.subarray||n.slice?Dn.set(n,D):Dn.set(new Uint8Array(n),D),D;H("fix allocate")}A.ALLOC_STATIC=J,A.ALLOC_NONE=g,A.allocate=d;for(var R,Q,B,p,E,D,C=4096,Z=0,i=0,S=0,P=0,G=0,a=A.TOTAL_STACK||5242880,f=A.TOTAL_MEMORY||16777216,I=65536;I>>16,Q=65535&n,B=d>>>16,E=65535&d;return Q*E+(A*E+Q*B<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(n){n>>>=0;for(var d=0;d<32;d++)if(n&1<<31-d)return d;return 32}),Math.clz32=Math.clz32,Math.abs;var M=Math.cos,O=Math.sin;Math.tan,Math.acos,Math.asin;var r=Math.atan;Math.atan2;var U=Math.exp,K=Math.log,F=Math.sqrt,c=Math.ceil,s=Math.floor,T=Math.pow;Math.imul,Math.fround,Math.min,Math.clz32,Z=553560,A.b64Zip="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nQeCnQd8nQd8nQd4nQd4nQeAnQeCnQeAnQd0nQd4nQd8nQeAnQeEnQeInQeSnQeSnQeUnQeWnQeYnQeinQemnQeqnQewnQeynQe4nQe+nQfInQfYnSSdCZ0InQvEAMB5xADAecQAwHnEAACgnQeWnQeOnQeInQeCnQd8nQd4nQd0nQd0nQd0nQd0nQdsnQdgnQdknQdUnQdInQdonQdQnQdInQdInQdQnQdUnQdYnQdonQeGnQd8nQeGnQeInQeQnQeWnQecnQegnQeinQeinQeknQeqnQeynQe0nQe6nQfCnQfKnQfWnQfknSSdCZ0IAMB5xADAecQAAIKdB3SdB2ydB2SdB2CdB1ydB1ydB2CdB2CdB2SdB1ydB1SdB1CdBzydBzCdBzCdB0idBzCdBySdBxydBxydByidByCdBzidB0ydB0SdB0idB1SdB1idB3ydB3CdB3SdB3idB4SdB4SdB4SdB4ydB5KdB5SdB5adB5idB5adB56dB6qdB7KdB7adB8CdB8ydB51OnQgAAFCdB0idB0SdB0SdB0CdB0CdB0CdB0SdB0idB0idB0SdBzidByydBxydBwydBwSdBxidBxCdBwCdB+jBnQWdBwCdBwCdBwydBzCdBxydBxidBxidBzidB0idBzSdBzidB1SdB0idB0idB0idB1idB1idB1SdB1SdB2CdB2SdB2ydB4SdB4ydB5CdB5SdB56dB6adB6qdB7SdB8KdB+SdJJ0JwHnEAMB5xAAA3J0H0p0HyJ0Hvp0HtJ0HrJ0HoJ0Hlp0Hlp0Hnp0HoJ0Hnp0HoJ0Hop0HpJ0HsJ0Hvp0Hzp0HnU6dCJ0LnQ6dCZ0InQudDp0JwHnEAMB5xAAA2J0Hzp0HxJ0Hup0HsJ0Hpp0Hnp0HnJ0Hlp0Hjp0Hhp0HiJ0Hkp0Hkp0HkJ0Hkp0Hlp0Hmp0HoJ0HpJ0HsJ0Hup0HyJ0H1p0H5J0knQmdCJ0LnQ6dCZ0InQvEAADcnQfSnQfKnQfAnQe0nQesnQeinQeanQeSnQeKnQeEnQd0nQd4nQeEnQeAnQd4nQeCnQeEnQeMnQeQnQeYnQeinQegnQeonQe0nQe+nQfMnQedTp0InQudDp0JnQidC8QAwHnEAMB5xAAA1p0Hzp0Hwp0HuJ0HsJ0Hpp0Hnp0HlJ0HjJ0HhJ0HbJ0HVJ0HaJ0HeJ0HXJ0HWJ0HWJ0HWJ0HaJ0HdJ0HeJ0HkJ0HjJ0HkJ0Hlp0HnJ0HoJ0Hop0HoJ0Hpp0Hpp0HsJ0Hup0HyJ0H1p0H5p0knQmdCJ0LnQ55xADAecQAANKdB8idB76dB7SdB6qdB6CdB5adB4ydB4SdB3idB2CdB0CdBzCdB0CdBzidBzidByydBzidB0CdB0CdB0ydB2idB2idB2ydB3CdB3idB3idB3SdB3SdB4KdB4CdB4KdB4idB4ydB5SdB5adB5ydB6KdB6ydB76dB51OnQidC8QAwHnEAMB5xADAecQAANKdB8idB76dB7SdB6qdB6CdB5adB4ydB4KdB3SdB1ydB0SdBxydBwSdByCdBwydBwCdBxidByCdBwSdBwydBxSdBzidBySdBzSdBzCdBzidByidBzSdBzidB1CdB0idB0idB0idB1idB1idB1ydB2SdB3idB4CdB4SdB4idB4ydB5idB6KdB7SdB8idB51OnQidC8QAwHnEAMB5xADAecQAANKdB8SdB7SdB6qdB6SdB6adB6CdB5ydB6idB56dB6CdB6adB66dB7KdB7adB7qdB8adB9SdB+qdJJ0JnQidC50OnQmdCJ0LnQ6dCQDSnQfEnQe0nQeqnQegnQeWnQeMnQeInQeUnQeQnQeUnQeanQegnQeknQeqnQeunQe4nQeynQe2nQe+nQfInQfUnQfgnSSdCZ0InQudDp0JnQidC8QAwHnEAMB5xADAecQAANKdB8SdB7SdB6adB5adB46dB3ydB4CdB4adB3idB4CdB4adB4ydB5KdB5qdB6KdB6idB6adB6qdB7KdB7SdB7qdB8SdB9CdB9qdB+SdJJ0JnQidC50OnQmdCJ0LxAAAzp0HwJ0HsJ0Hop0Hlp0HiJ0HaJ0HWJ0HYJ0HWJ0HYJ0HYJ0HaJ0HcJ0HfJ0HhJ0HlJ0Hip0HkJ0HkJ0Hlp0HlJ0Hmp0Hop0Hop0HpJ0HqJ0Hrp0Hup0HwJ0Hxp0H0J0HnU6dCJ0LnQ6dCcB5xADAecQAANidB8ydB8CdB7adB6qdB6CdB5SdB4idB3CdB0ydBzidB0CdBzidByydBzSdBzydBzydB0SdB0CdB2CdB1SdB1ydB2idB2SdB3ydB2idB3CdB4SdB4CdB4adB4ydB4ydB5SdB5qdB6idB6ydB7KdB7adB7qdB7ydB8qdB9qdB+ydJJ0JnQgAANidB86dB8SdB7qdB7CdB6adB5ydB5KdB4idB3CdB1SdBzCdBwydBxidBxidBwidBwidBxCdByCdBySdBzCdB0ydBzSdBzidBzydBzidB1idB0idB0SdB0idB0idB0idB0ydB1idB2SdB2idB3CdB4SdB4SdB4SdB4CdB4KdB4idB5qdB6SdB66dB76dB51OnQidC8QAwHnEAMB5xAAA1p0HzJ0Hwp0HuJ0Hrp0Hpp0HnJ0Hlp0HpJ0Hnp0Hpp0Hqp0Hsp0HuJ0Hvp0HxJ0Hyp0H0p0H2p0H4p0knQmdCJ0LnQ6dCZ0InQudDnnEAMB5xAAA1J0HyJ0Hvp0HtJ0HrJ0Hop0HnJ0HlJ0Hip0HlJ0HlJ0HmJ0Hnp0Hpp0HqJ0HrJ0Hsp0HuJ0Hwp0Hup0HyJ0Hzp0H1p0HnU6dCJ0LnQ6dCZ0InQudDnnEAMB5xAAA1J0HyJ0Hvp0HtJ0Hrp0Hpp0HoJ0Hlp0Hip0HcJ0HhJ0HhJ0HiJ0HjJ0HlJ0HnJ0Hnp0Hop0Hop0Hpp0HqJ0Hrp0Hup0HwJ0Hxp0Hzp0H1p0HnU6dCJ0LnQ6dCZ0InQvEAMB5xAAA2J0Hzp0HxJ0Hup0Hsp0Hqp0HpJ0HnJ0Hjp0HeJ0HXJ0HaJ0HaJ0HWJ0HWJ0HXJ0HbJ0HdJ0HeJ0HjJ0HhJ0HhJ0Hhp0HjJ0HkJ0Hlp0HnJ0HqJ0HqJ0HqJ0HsJ0Htp0HtJ0Hvp0HxJ0HzJ0Hzp0H1J0HnU6dCJ0LnQ55xADAecQAANidB86dB8SdB7ydB7SdB66dB6SdB56dB5KdB4adB2idBzydB0idBzSdBySdBzSdB0CdBzCdBzCdB0SdB1idB0ydB0CdBzydB0SdB0idB0ydB2SdB2idB3CdB3ydB4qdB4ydB4qdB46dB5SdB5ydB6SdB7SdB76dB8qdB9KdB51OnQidC8QAwHnEAADSnQfKnQfCnQe6nQe0nQeqnQegnQeanQeQnQeCnQdgnQdAnQcUnQcgnQcQnQcInQcgnQdInQc8nQcYnQcknQc8nQcYnQcMnQccnQcYnQcsnQcgnQc0nQdInQc0nQcwnQc8nQdInQdcnQdAnQdAnQdQnQeEnQeMnQeYnQeknQe0nQfCnQfSnQedTp0InQudDnnEAMB5xAAA2J0Hzp0HxJ0Hup0HrJ0Hnp0HmJ0Hpp0Hop0Hqp0Hrp0Hsp0Hup0HxJ0HzJ0H1p0H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C50OnQnAecQAwHnEAMB5xAAA3J0HzJ0Hvp0Hsp0HpJ0Hpp0HqJ0HtJ0HuJ0Hxp0H1p0H4p0knQmdCJ0LnQ6dCZ0InQudDp0JnQgAwHnEAMB5xAAA1p0Hyp0Hvp0Hsp0Hpp0HkJ0HlJ0HnJ0Hqp0HsJ0HsJ0HtJ0HuJ0HxJ0H0p0H3p0knQmdCJ0LnQ6dCZ0InQudDp0JwHnEAMB5xAAA2p0Hzp0Hwp0Hup0Hrp0Hop0HjJ0HjJ0Hhp0Hlp0Hkp0HmJ0Hnp0Hop0Hpp0HsJ0Hsp0Hwp0Hzp0HnU6dCJ0LnQ6dCZ0InQudDp0JwHnEAMB5xADAecQAANadB8idB7ydB7CdB6adB5adB3ydB2ydB2ydB3ydB4SdB3CdB3idB4adB4adB5qdB5idB6KdB7CdB6ydB7idB8CdB8ydB9qdB+idJJ0JnQidC50OnQmdCJ0LxADAecQAANKdB8SdB7idB6ydB6KdB5KdB2CdB1CdBzydB1ydB3CdB2idB1CdB0ydBzSdB0SdB0idB1SdB1idB3SdB46dB4ydB4qdB5ydB56dB66dB7SdB8CdB9CdB+CdJJ0JnQidC50OnQmdCAAAzp0HwJ0HtJ0HrJ0HnJ0HjJ0HTJ0HKJ0HPJ0HQJ0HXJ0HWJ0HWJ0HVJ0HKJ0HDJ0H4MEAAASdBxidBxSdBzCdBzydB0SdB1idB3ydB4idB5ydB6SdB7KdB7ydB8adB9CdB9qdB+SdJJ0JnQidC50OnQnAecQAwHnEAMB5xAAA3J0HyJ0HtJ0Hnp0Hqp0Hop0HpJ0HpJ0Hsp0HvJ0Hxp0Hzp0H2p0H5p0knQmdCJ0LnQ6dCZ0InQudDp0JnQgAwHnEAADSnQfCnQeqnQeQnQeUnQeMnQeMnQeMnQeYnQeqnQe2nQe6nQfCnQfOnQfanQfmnSSdCZ0InQudDp0JnQidC50OnQnAecQAwHnEAMB5xAAA4J0Hup0Hop0HiJ0HeJ0HcJ0HcJ0HZJ0HfJ0HjJ0Hmp0HpJ0HtJ0Hup0HxJ0H0J0H2p0H4p0knQmdCJ0LnQ6dCZ0InQudDp0JAOKdB8idB7qdB6idB3ydB2idB0CdB1SdB1idB1CdB1CdB2SdB4CdB4SdB5idB6adB6KdB6qdB6qdB7SdB76dB8SdB8qdB86dB9SdB9idB96dJJ0JnQidC50OnQmdCADAecQAwHnEAMB5xAAA0p0Hvp0HrJ0HlJ0HVJ0HSJ0HGJ0HLJ0HRJ0HLJ0HKJ0HHJ0HHJ0HOJ0HUJ0HZJ0HYJ0HkJ0Hip0HlJ0Hop0Hrp0HuJ0HvJ0Hwp0Hxp0HzJ0H0p0H2J0knQmdCJ0LnQ6dCZ0IAADYnQfGnQe0nQeYnQeEnQc0nQcsnQcknQcwnQc8nQcsnQc8nQcgnQfwwQAA+MEAAPjBAAAcnQcEnQcgnQcknQcsnQdUnQdsnQeMnQeSnQeanQeenQeknQeonQeunSSdCZ0InQudDp0JnQgAwHnEAMB5xADAecQAANydB7adB5idB5adB6qdB7qdB8SdB9CdB51OnQidC50OnQmdCJ0LnQ6dCZ0InQudDnnEAMB5xADAecQAANydB7adB4ydB4ydB5adB6ydB7KdB7ydB8SdB8qdB9SdB51OnQidC50OnQmdCJ0LnQ6dCZ0InQvEAMB5xADAecQAANydB76dB6CdB3CdB4KdB4CdB5SdB6adB7CdB7adB76dB8adB86dB9adB51OnQidC50OnQmdCJ0LnQ6dCZ0InQvEAADcnQe+nQegnQdonQdcnQdEnQeEnQeInQeOnQecnQecnQegnQewnQeqnQeynQfCnQfInQfSnQedTp0InQudDp0JnQidC50OnQmdCAAA3J0Hvp0HoJ0HVJ0HUJ0HJJ0HbJ0HbJ0HRJ0HaJ0HYJ0HfJ0HrJ0Hnp0HtJ0Hup0HxJ0Hzp0H1p0H4J0knQmdCJ0LnQ6dCZ0InQudDnnEAMB5xAAA3J0Hwp0Htp0Hkp0HNJ0HIJ0HBJ0HVJ0HdJ0HRJ0HWJ0HSJ0HSJ0HcJ0HUJ0Hhp0HlJ0Hop0HuJ0HwJ0HyJ0H0p0HnU6dCJ0LnQ6dCZ0InQudDp0JAOKdB9SdB8adB7idB5qdB6CdB7CdB8KdB9SdB+adJJ0JnQidC50OnQmdCJ0LnQ6dCZ0InQvEAADonQfanQfMnQe+nQeynQeUnQeQnQewnQeunQe+nQfMnQfanQfonSSdCZ0InQudDp0JnQidC50OnQmdCADAecQAwHnEAADonQfanQfMnQe+nQeynQeWnQeEnQeUnQeanQecnQesnQeunQe0nQfAnQfSnQfmnSSdCZ0InQudDp0JnQidC50OnQnAecQAwHnEAMB5xAAA5p0H2J0Hyp0HvJ0HsJ0HhJ0HYJ0HdJ0HjJ0Hgp0HnJ0HkJ0Hpp0H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EZ0RnRGdEZ0FAPSdEfOdEfKdEZ1U8Z0R8p0R850R9J0R9J0R+p0R/Z0RnRGdEZ0RnRGdBQCdU51U8J0R8p0R850R850R850RnXn8nRH+nRGdEZ0R//+dBQCdVJ1U8J0R8Z0Rne3znRH1nRGdeZ0RnRH//50CnQWdVJ1U8J0R8Z0Rne3znRH1nRGdeZ0RnRH//50CnQWdVJ1U8J0R8Z0Rne3ynRH0nRH4nRH8nRH+nRH+nRGdBQCdVJ1U8J0R8Z0Rne3ynRH0nRH3nRH8nRH+nRH+nRGdBQCdVJ1U8J0R8Z0Rne3ynRH0nRH3nRH8nRH+nRH+nRGdBQCdVJ1U8J0R8Z0Rne3ynRH0nRH3nRH8nRH+nRH+nRGdBQCdVJ1U8J0R8Z0Rne3ynRH0nRH3nRH8nRH+nRH+nRGdBQCdF50XndmdF50XndmdO507ZJ0FnTudO2SdBZ09nXmdefydEZ0CnQWdE50jnSOdI50jnTudWg6dBZ16nSLinRHmnRHsnRHwnRH4nRGdrv6dEZ0PnQ+dF50bnRud2Z0i4p0R4p0R6J0RnaX6nRGd0Z2u+p0R/J0R/p0RnT2deZ15/J0RnQKdBZ0TnROdI50jnSOdO51aDp0FnXqdIp1P//KdEfqdEf6dEZ0BnSadF50bnSLinRHinRHonRGdpfqdEZ3Rna76nRH8nRH+nRH0nRH0nRH0nRH0nRH0nRH4nRH6nRH8nRGdBZ37nROdE50TnTudWg6dBZ16nSKdT//ynRGdefqdEfydEfydEf6dEf6dEf6dEf6dEZ0PnSKdT//ynRGdefidEZ15nXmd0fidEfqdEfydEZ3tne3ynRGdefidEfqdEf6dEZ0PnQ+dD50PnSOdO507ncWdIp1P//KdEZ15na76nRH8nRH8nRH8nRH+nRGdBQCdIp1P//KdEZ09nT2defidEfydEZ3tne3ynRGdefidEfqdEf6dEZ0PnQ+dD50PnRudI50jDp0FnSKdT//ynRGdeZ2u+p0R/J0R/J0R/J0R/p0RnQUAnSKdT//ynRGdPZ09nXn4nRH8nRGdVPCdEfCdEfSdEZ15+p0R/p0RnQGd+50bnRudWp0inU//8p0RnXmdrvqdEfydEfydEfydEf6dEZ0FAJ0inU//8p0RnT2dPZ15+J0R/J0RnT7snRHsnRHunRHynRGdefydEZ0BnfudE50bnXLgnRHgnRHgnRHgnRHknRHonRHqnRHwnRGdefqdEZ3Rna76nRH8nRH+nRHenRHenRHenRHenRHinRHmnRHonRHunRHynRH0nRH0nRH0nRH0nRH0nRGdefedEfudEZ0+7J0R7J0R7p0R8p0RnXn8nRGdAZ37nROdG51y3p0R3p0R3p0R3p0RnSLonRGdVJ1Une30nRHcnRHcnRHcnRHcnRHcnRHenRHknRHonRGdPp0+7J0R7p0R8J0R6p0R6p0R6p0R6p0R6p0RnaX6nRGdAZ37nROdG51y3p0R3p0R3p0R3p0RnSLinRGd1J3u6J0R6p0Rncf/2J0R2J0R2J0R4J0RnSKdIuKdEeKdEZ2ZnZnqnRHynRGdefqdEZ0RnRGdEZ0RnRH/nRedF50cnTvenRHenRHenRHenRHenRHgnRHgnRHinRGd1J3u5p0R6J0Rncf/2J0R2J0R2J0R4J0RnSKdIuKdEeKdEeidEeSdEeSdEeSdEeSdEeSdEeSdEeSdEeydEfKdEfidEfydEfydEfydEfydEfydEf6dEZ0P3J0R3J0R3J0R3J0R3p0R4J0R4J0R4p0RndSd7uadEeadEZ3H/9idEdidEdidEeCdEZ0inSLinRHonRHsnRGdIuKdEeKdEeadEZ2Z7J0RnVTwnRHwnRHynRH0nRGdx/+dx//dnRGdIp0i4p0R5p0Rncf/ncf/ncf/ncf/2J0RnT2deZ15/J0RnQKdBZ0TnSOdI50jnSOdO51aDp0FnXqdIuKdEeadEeydEfCdEfidEZ2u/p0RnQ+dD50XnRudG53ZnSLinRHinRHonRGdpfqdEZ3Rna76nRH8nRH+nRGdPZ15nXn8nRGdAp0FnROdI50jnSOdI507nVoOnQWdep0inU//8p0RnXn8nRH+nRGdD50XnRudG50jnTudIp1P//KdEZ15/J0R/J0R/J0R/J0R/J0R/p0RnQWdJvSdEfSdEfSdEfSdEfSdEfidEfqdEfydEZ0FnfudE50TnROdO51aDp0FnXqdIp1P//KdEZ15/J0RnQKdAp0QnQ+dE50jnSKdT//ynRGdeZ2una76nRH8nRH+nRGdBQCd7Z3t8p0RnXn4nRH6nRH+nRGdD50PnQ+dD50jnTudO53FnSKdT//ynRGdefqdEZ0RnRGdEZ0RnQKdBZ0PnRudIp1P//KdEZ15ndGd0fidEfqdEfydEf6dEZ3tne3ynRGdefidEfqdEf6dEZ0PnQ+dD50PnRudI50jDp0FnSKdT//ynRGdefqdEZ0RnRGdEZ0RnQKdBZ0PnRudIp1P//KdEZ15ndGd0fidEfqdEfydEf6dEZ1U8J0R8J0R9J0RnXn6nRH+nRGdAZ37nRudG51anSKdT//ynRGdefqdEZ0RnRGdEZ0RnRH/nQWdJp0bnSKdT//ynRGdeZ3RndH4nRH6nRH8nRH+nRGdPuydEeydEe6dEfKdEZ15/J0RnQGd+50bnRudWuCdEeCdEeCdEeCdEeSdEeidEeqdEfCdEfSdEfqdEf2dEf2dEf2dEf2dEf6dEZ0FnfvenRHenRHenRHenRHinRHmnRHonRHunRHynRGdPZ15nXn4nRH7nRH9nRGdPuydEeydEe6dEfKdEZ15/J0RnQGd+50bnRudWt6dEd6dEd6dEd6dEeKdEeKdEeidEeydEfKdEfidEfydEfydEfydEfydEf2dEZ0R/50T3p0R3p0R3p0R3p0R3p0R4p0R5p0R7J0R8J0R850R850R850R850R850R9Z0R+J0R+p0RnT7snRHsnRHunRHynRGdefydEZ0BnfudG50bnVrenRHenRHenRHenRGdIuidEfCdEZ15+J0Rna76nRH7nRH9nRGdKd6dEd6dEd6dEd6dEeCdEeCdEeSdEeqdEe6dEZ1U8J0R8J0R8p0R9J0RnXnqnRHqnRHqnRHqnRHqnRGdpfydEZ0BAJ0XnRydHJ1y3p0R3p0R3p0R3p0RnSLonRHwnRH0nRGdeZ3R+J0R+Z0R+50R/p0R3J0R3J0R3J0R3J0R3J0R3p0R5J0R6p0RnT6dPuydEfCdEfKdEeSdEeSdEeSdEeSdEeSdEeSdEeSdEeydEfKdEfidEf6dEf6dEf6dEf6dEZ0FnSadG9ydEdydEdydEdydEd6dEeCdEeCdEeidEfCdEfSdEfSdEfSdEfSdEfSdEZ15+J0R+50Rncf/2J0R2J0R2J0R4J0R5p0RnZmdmeydEe6dEZ0i4p0R4p0R5p0RnZnsnRH0nRH0nRH0nRH0nRH0nRGdefidEZ3H/53H/92dEeKdEeedEeedEeedEeedEeedEeedEfGdEZ3H/53H/53H/53H/9idEZ09nXmdefydEZ0CnQWdE50jnSOdI50jnTudWg6dBZ16nSLinRHmnRHsnRHwnRH4nRGdrv6dEZ0PnQ+dF50bnRud2Z0i4p0R4p0R6J0RnaX6nRGd0Z2u+p0R/J0R/p0RnVPxnRHxnRH0nRH6nRH8nRGdBZ0mnROdE50cnRydHJ0jnTudIp1P//KdEfidEfydEZ0BnSadF50bnSKdT//ynRGdeZ2una78nRH8nRH8nRH+nRGdU/GdEfGdEfSdEZ15+J0RnQWdJp0TnROdHJ0cnRydI507nSKdT//ynRGdefydEf6dEf6dEf6dEf6dEZ0FnSedE50inU//8p0RnXmd0Z3Rna76nRH8nRGdU/GdEfGdEfSdEZ15+J0RnQWdJp0PnQ+dE50TnRydG507nSKdT//ynRGdefydEf2dEf2dEf2dEf6dEZ0R/50FAJ0XnSKdT//ynRGdPZ15nXmd0fmdEfydEZ1T8Z0R8Z0R9J0RnXn4nRGdBZ0mnQ+dD50TnROdE50cnSOdIp1P//KdEZ15/J0R/Z0R/Z0R/Z0R/Z0R/p0RnQWdJp0inU//8p0RnT2deZ15ndH4nRH8nRGdPuydEeydEe6dEfKdEfidEZ0R/50pnSmdKZ0PnRedF50TnRmdIp1P//KdEZ15/J0R/Z0R/Z0R/Z0R/Z0R/p0RnRH/nSmdIp1P//KdEZ09nXmdeZ3R+J0R/J0RnZnonRHsnRHunRHynRH4nRGdEf+dKZ0pnSmdD50XnRedE50Z4J0R4J0R4J0R4J0R5J0R6J0R6p0R8J0R9J0R+p0R/J0R/J0R/J0R/J0R/Z0RnRH/nQUA3p0R3p0R3p0R3p0R4p0R6J0R6J0R7p0R8p0R9J0R9J0R9J0R9J0RnXmdefedEfudEZ2Z6J0R7J0R7p0R8p0R+J0RnRH/nSmdKZ0pnQ+dF50XnROdGeCdEeCdEeCdEeCdEeSdEeidEeidEe6dEfKdEfidEZ2una77nRH+nRGdBQDenRHenRHenRHenRHinRHmnRHmnRHonRHqnRHtnRHtnRHtnRHtnRHunRHvnRHwnRH0nRGdmeidEeydEe6dEfKdEfidEZ0R/50pnSmdKZ0PnRedF50TnRngnRHgnRHgnRHgnRHknRGdme6dEfKdEfSdEZ09+J0R+p0R/p0R3p0R3p0R3p0R3p0R4p0R5p0R5p0R5p0RnZmdmeidEeydEfCdEZ2Z6J0R6p0R7J0R8Z0RnXn4nRH+nRGdAp0CnUCdD50XnRncnRHcnRHcnRHcnRGdIuidEeydEZ1U8J0R8p0R9J0RnXn5nRHcnRHcnRHcnRHcnRHenRHinRHknRHmnRHonRGdIp0i6J0R7J0R5J0R5J0R5J0R5J0R5J0R5J0R5J0R7J0R8p0R+J0R/J0R/J0R/J0R/J0R/J0R/p0RnQ/anRHanRHanRHanRHcnRHenRHenRHinRHonRGdPuydEe6dEfCdEfSdEZ15ncf/2J0R2J0R2J0R2p0R3Z0R3Z0R3Z0R3Z0R3Z0R3Z0R3Z0R3Z0RnSKdIuKdEeKdEeSdEeydEZ3tne2d7fSdEZ15ncf/ncf/3Z0RnSKdIuKdEeydEZ3H/53H/53H/53H/9idEZ09nXmdefydEZ0CnQIAAJ0bnRudG50bnTudO51anXqdPp0+nXn+nRGdAZ0CnQ+dE50bndmdPp0+7J0RnXmdrp2u+p0R/J0R/J0R/J0R/p0RnT2dPfidEZ0PnQ+dD50TnROdHJ0cnRydI507nT6dPuydEfKdEfqdEZ0BnQKdD50XnRudPp0+7J0R8p0R+J0Rna6drvydEfydEfydEf6dEZ09nT34nRH8nRGdBZ0mnROdE50cnRydHJ0jnTudPp0+naX8nRH+nRH+nRH+nRH+nRGdBZ0nnROdPp0+naWd0Z3Rna76nRH8nRGdPZ09nXn4nRGdBZ0mnQ+dDwSdE50cnRudO50+nT6dpfydEf2dEf2dEf2dEf6dEZ0R/50FAJ0XnT6dPp2lnT2deZ3R+J0R/J0RnT2dPZ15+J0RnQWdJp0PnQ+dE50TnROdHJ0jnT6dPp2l/J0R/Z0R/Z0R/Z0R/Z0R/p0RnQWdJp0+nT6dpZ09nXmd0fidEfudEZ1TnVPxnRGdefydEZ0pnSmdKZ0PnRedF50TnRmdPp0+naX8nRH9nRH9nRH9nRH9nRH+nRGdEf+dKZ0+nT6dpZ09nXmd0fidEfmdEZ1TnVPxnRGdefydEZ0pnSmdKZ0PnRedF50TnRnqnRHqnRHqnRHqnRHqnRHqnRHqnRHwnRH0nRH6nRH8nRH8nRH8nRH8nRH9nRGdEf+dBQCdmZ2Z6J0R7p0R8p0R9J0R9J0R9J0R9J0RnXmdefedEfidEZ1TnVPxnRGdefydEZ0pnSmdKZ0PnRedF50TnRmdmZ2Z6J0R7p0R8p0R+J0Rna6drvudEf6dEZ0FAJ3Une7unRHwnRGdU/GdEfOdEfOdEfSdEZ15nVOdU/GdEZ15/J0RnSmdKZ0pnQ+dF50XnROdGZ2ZnZnonRHunRHynRGdeZ3RndH6nRH8nRGdBQCd1J3u6p0R7J0R7Z0R7Z0R7Z0R7Z0R7p0R750R8J0R9J0RnVOdU/GdEZ15/J0RnQGdJ50PnRedGZ3Une7snRHwnRH0nRGdPZ15+J0R+p0R/p0R5J0R5J0R5J0R5J0R5J0R5J0R5J0R5p0RnZmdmeidEeydEfCdEeqdEeqdEeqdEeqdEeqdEeqdEeqdEe6dEfKdEfidEfydEfydEfydEfydEfydEf6dEZ0PndSd7uqdEe6dEZ1U8J0R8p0R9J0RnXn5nRGdIp0inSKdIp0i6J0R7J0RnZmdmZ2Z7p0Rne2d7fKdEfSdEZ15nSKdIp0inSKdIuKdEeydEZ3H/53H/53H/53H/9idEZ0FnSedD50XnROdHJ0bnRmdI52CnTudcp1anZ8OnQWd2Z3FnYCdQ51enXoVnQUWnQUXnQUYnQUZnQUanQUbnQUcnQUdnQUenQUfnQUgnQUhnQUinQUjnQUknQUlnQUmnQUnnQKdQJ0PnRedE50cnRudG50ZnRmdGZ0ZnRudG50bnRmdGZ0jnYKdO51ynVqdnw6dBZ3ZncWdgJ2AnYCdQ51DnV6dXp1enXoVnQUWnQUXnQUYnQUZnQKdQJ0PnRedE50cnRydHJ0bnRudG50cnROdE50TnROdE50TnRydHJ0cnRudG50bnRmdGZ0ZnSOdI50jnYKdO51ynVqdnw6dBZ3ZncWdgJ1DnQWdJ50PnRedE50cnRudGZ0jnYKdO51ynVqdnw6dBZ3ZncWdgJ1DnV6dehWdBRadBRedBRidBRmdBRqdBRudBRydBR2dBR6dBR+dBSCdBSGdBSKdBSOdBSSdBSWdBSadBSedAp1AnQ+dF50TnRydG50ZnSOdgp07nXKdWp1anZ+dn52fDp0FDp0FDp0Fndmd2Z3ZndmdxZ3FnYCdgJ2AnUOdQ51enV6dXp16FZ0FFp0FF50FGJ0FGZ0CnUCdD50XnROdHJ0bnRmdI50jnRmdG50cnROdE50TnROdE50cnRydHJ0bnRudG50ZnRmdGZ0jnSOdI52CnTudcp1anZ8OnQWd2Z3FnYCdQ50CAOA/nQIA8D+dAgDwP83MzMzMzPQ/mpmZmZmZ+T+dAgAA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nT2deWOdBWOdBWOdBZ0i4p0RndSd7uadEeadEeidEWOdBWOdBWOdAgAAMzMzMzMz0z+dAgDgP50CAOA/nQIAEp1FABadRQA+QNCrnRMAAJ0bnRudAkC/nUVkyZ1FfOWdRUDPnUVY251FQO+dRWr4QJqZmZmZmbm/mpmZmZmZqT+dAgDgP50CAPA/nfudD50PnQWd+50TnROdBR6dBRmdBZ2pnQUAGZ0FFp0FnamdBQCdep2pnQKdBZ3ZnQUA8p0RnQKdBZ0+7J0R7J0R8J0RnXmdAZ3mnQGdAp0+7J0R7J0R8J0RnXmdAZ3mnQGdAp0+7J0R7J0R8J0RnXmdAZ0BnQKdAp0i4p0R4p0R5p0R7J0RnXn7nRGdAZ0BAJ3mnTudEf+dO507nRH/nXqdep0R/516nXqdEf+dU/GdEfGdEZ15nXn7nRGdE507nTudO507nVqdWg6dBZ16nVPxnRHxnRGdeZ15+50RnQKdBZ0TnRydHJ0bnSOdI53ZnSLinRHinRHonRGdpfqdEZ3Rna6drvqdEZ1T8Z0R8Z0RnXmdefudEZ0TnROdE50TnRydHJ0bnSOd2Z1TnVPxnRGdefudEfudEfudEZ0BnfudO50i4p0R4p0R6J0RnaWdPZ09nXmdeZ1T8Z0R8Z0R9J0RnXn4nRGdAZ0CnQKdBZ0TnTudPuydEfCdEfSdEZ2lnT2dPfmdEfudEZ0i4p0RndSd7uadEeadEeidEZ0+nVPxnRHxnRH0nRGdefidEfudEfudEfudEfudEfudEZ0CnQIAAJ0bnSKdT//unRHunRHunRGdPp0+8J0RnSLinRGd1J3u5p0R5p0R6J0RnT6dU/GdEfGdEZ15nXn7nRGdE507nTudO507nVqdWg6dBZ16nVPxnRHxnRGdeZ15+50RnQKdBZ0TnRydHJ0bnSOdI53ZnSLinRHinRHonRGdpfqdEZ3Rna6drvqdEZ1T8Z0R8Z0RnXmdefudEZ0TnRudG50bnRudI507nVqdep1TnVPxnRGdefudEfudEfudEZ0TnRydG50jnSOd2Z0i4p0R4p0R6J0RnaWdPZ09nXmdeZ1T8Z0R8Z0R9J0RnXn4nRGdBZ0mnROdE50cnRydHJ0jnVqdPuydEfCdEfSdEZ2lnXn4nRGdAZ0mnRydIuKdEZ3Une7mnRHmnRHonRGdPp1T8Z0R8Z0R9J0RnXn4nRH7nRH7nRH7nRH7nRH7nRGdAp0CAACdG50inU//8p0R9J0R9J0RnT2dPfqdEZ0i4p0RndSd7uadEeadEeidEZ0+nT2defudEfudEfudEZ0FnfudG50jnSOdO507nTsOnQWdep09nXmdefudEf6dEf6dEZ0CnQKdPJ0cnRudI50jndmdIuKdEeKdEeidEZ2l+p0RndGdrp2u+p0RnT2defudEfudEfudEZ0FnfudG50bnRudG50jnTudWp16nVPxnRHxnRGdefudEfudEZ0CnQKdPJ0cnRudI50jndmdIuKdEeKdEeidEZ2l+p0RndGdrp2u+p0RnVPxnRHxnRH0nRGdefidEZ0FnSadE50TnRydHJ0cnSOdWp0+7J0R8J0R9J0R7J0RnXn7nRH7nRGdAZ0CnQ+dHJ0i4p0RndSd7uadEeadEeidEZ0+nVPxnRHxnRH0nRGdefidEfudEfudEfudEfudEfudEZ0CnQIAAJ0bnSKdT//ynRH0nRH0nRGdPZ09+p0RnSLinRGd1J3u5p0R5p0R6J0RnT6dAp0FmpmZmZmZ6T+dAgDwP50CAPA/nScBAAAPJ50CnY2dI50jnSMzMzMzMzPTP50CAOA/nQIA4D+dAgDgP5ydEZydEZydEZedEX6dEX6dEX6dEXSdEZ0CABqdRQAgnUUAPp1FwFidRQDwP50CAACdRQAInUUAEECdE50TnROdF50XnRedF50XnRedF50XnRedF50XnRedG50cnROdE50TnROdE50TnROdE50TnROdE50TnROdBUCdBUCdBUCdBUCdBUCdBUCdBUCdBUCdBUCdBUCdBUAAAEBAAABAQAAAgEAAAIBAnZyduZ24nbedE50TnROdF50XnRedF50XnRedF50XnRedF50XnRedG50cnROdE50TnROdE50TnROdE50TnROdE50TnROdBUCdBUCdBUCdBUCdBUCdBUCdBUCdBUCdBUAAAEBAAACAQAAAgEAAAIBAAACAQAAAgECdnJ25nbidt50XnRedF50XnRedF50XnRedF50XnRedF50XnRedF50cnROdF50XnRedF50XnRedF50XnRedF50XnRedFwAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQAAAgEAAAIBAAACAQJ2cnbmduJ23nQGdAZ0B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AZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAp0CnRCdAZ0BnQGdAZ0PnQGdAZ0BnQKdAp37nQUAnRidAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0CnRCdE50pnRidAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAp0CnQWdJp0BnQKdFp0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0CnQWdKZ0PnQGdAZ0BnQKdAp0nnQ+dAZ0BnQGdAp0CnfudBQCdGJ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQKdEJ0TnSmdGJ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0CnQKdBZ0mnQUAHp0F0G8HABjJBwAYyQcAQMkHAEDJB50mnQUAHp0F0G8HAADKBwAAygcAQMkHAEDJB50nnQ+dG8CaBQAoygcAKMoHAFDKBwBQygedJp0FAJ3Z0G8H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kg2dkp2snQqdkgwOnZKdkhAQDhAOnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp2SnZKdkp2SBgsLEBANnVsQCw8OnZKdkhAOnZIQC52SnZKdkp1bnZKdkp2SnZILEA4QEA6dkhANnVudCp0KnQqdChAHCwsQEA0NnZINEA2dkp2SnZKdkgyd4A6dCp2SEAwOnZKdkhAQDhANnQqdCp0KnQoQEAgNDhCd4BAQDp2SnZKdkp2SEJ3gnQqdkp2SEJ2nnZKdkp2SnVudCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnZIQneCdCp0KnQqdCp0KnQqdCp0KEJ3gnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnQqdCp0KnWudEJ0pnRidEgGdDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0NnQ2dDZ0UnRSdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnQOdA50DnUedBZ0PnSmdGJ0SBp1GnUYHBwidYp1iBwidNZ1inYOdIZ0hCAkICAmd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sZ30Dp3gnc2dWxIQnY6dbJ1JnVwPDp1JDxCdkBAPnSqdow4Pnb6dlQ8Pne8REJ0znWqdWQwODQ+dsZ30DxEPnb4PD51JDxCdkBGdfg8PEZ2SEhGdVRCdfp1bnZCdkp3NEZ2SERCdyJ2jD52UnbGd9A8REJ0zDp3Jnf6dSZ2nDhAPnWmdop0zDw+dSRCdwJ1+D53NnacRnawPDRAPDhAOnWkQDhEQDxEPEp2iEBKdWRGd4BERnacRnaIREhIQEQ8SEJ0qnWqdxJ2+ne+dW52nERCdMw+d951ZnZCdfp2nnZIQEhCdM52VDw8Qnb6d4J3NnacRD52QEJ2xEBCdpxEQEJ2nERESERKdaZ1bnZIRnaARnc0SEhIQEQ8SD51mDQ2dKg6d+Q4OnUkPncAPD50qnaMOD50znVWdWZ2sDhAQnSqdow4Pnd0ODp1JEJ3AEA+dSZ2VDw8QnZAQnX6dop1bERGdMw8PnUkQDwwODZ1+EA8RnaARD52OnWyd451cnVWdWZ3AEBCdM51qncSdvg+dsQ+doBAQnSqdap1ZnTOdVg8PEBGdkBCdVg6d9J1bnTYQneAQEhAREBIRnbSdlZ1bnUmd4J2XnTYRD52ODp28Dg6d3Q4OnUkQncAQDwyd/Q6dMw6dyQ2dlZ1bnVkQEJ0qnaMPD51cnVYPDhAQDQ8NEA+dSQ+d7w+doJ2SnVsRnZIREQ0ODBCd4w0QDw0PDRAOnacREA8QDhEPnSoOncmd/p2+nbGdop02EBCdM52oDg8QnZCdfp2nEZ2SERGdM52QnVkQnb4PnVudzZ2nnX4PnVudWRARnZIRERAPEQ8SERIREhKdxA+daZ2inVmdop2XEhAQDxEPnSqdow+dlJ2xnfQOERCdUQ8PnUkPncAQnX6dop1bERGdMw8OnUkQD52+EA6dWxEQDxAOEZ2xEJ1pnaKdWxEREA8REBKdzRISnZAQDZ2nEQ4PEA4RDhAREBKdog8SndmdD50pnRidEp14Cp3BCgqdSgoKnXsKCp17Cp3inTSdNAoLnTSd8p04nW0Lnf+dNJ00CwudNJ3fnSudbZ3ynfGdK52enSWdJZ0lnW2d350lnZqdJZ2BnTgLC500nZqdOJ2enXWddZ3ynSWdJZ0lnaGdL52BnXadJZ0qnSWdJZ2LnSqdJZ0onSydKp0UnaGdJZ0vDJ2ynSydL53wnd+dJZ04nXWddZ11nSWdJZ0onSidoZ0qnZqdBp2LnSqdJZ0onSydKp0UnaGdJZ0vDJ2ynRSdYZ0lnSidLJ0UnS+dYZ0UnRSdM50vnWSdFJ0vnTOdL51LnRSdXJ0xnTOdX50UnTGdL51fnTMNnemdJZ0vnWGdFJ0vnWGdFJ0UnTOdL51knRSdL50znS+dS50UnUudM50znV+dFJ0xnS+dvJ1RnTMNDQedK50rnZ6ddZ11nfKdOJ04nSULnbKdKJ2BnXadJZ2ynYGdoZ0onYGdi50lnSidKJ1hnSqdi50lnS+doZ0vnSqdLJ04nSULnbKdJZ2BnYudKp0lnYGdL52BnSydKp2LnSWd052BnSydKp2LC52ynS+dYZ0UnS+doZ0qnSqdLJ0UnS8MnZqdJZ0qnYGdLJ0qnXadoZ0qnWGdFJ0vnaGdsp0qnb2dKp0UnS8MnbKdDZ1cnS+dYZ0UnRSdrZ2tnYGdFJ1hnRSdLw2dKp0UnRSdMZ1xnWSdXJ0UnVGdXJ1LnRSdS50znTOdX50UnTGdXJ1fnTMNnemdKp0vnSydL51LnTOdKp0UnS+dM51cnV+dKp0vnTGdL528nVGdM51LnS+dMZ1QnUedUZ1LnS+dM51LnTOdR51RB50rnTiddZ11nXWddZ0lnSULnbKdKJ2hnSqdbZ0lnbKdOJ0lnSqdgZ2LnSWdKgydsp0snSqdi50lnSidsp0snSoMnZadOJ2BnYudKp0qnSydJZ2BnS+dKp0UnRSdJZ0onb2dKp0UnS+dYZ0UnRSdrZ2tnYGdDZ0UneqdBp2LnSqdJZ2BnS+dsp0snSqdi50lnSidgZ0snSqdi52ynQ2dL52LnbKdKp0snRSdL52hnSqdKp0UnS+dM50vDZ1hnS+dXJ0xnTOdX50qnRSdcZ0vnVGdUJ1LnS+dMQ2dXJ1HnVGdS50vnTOdxp1HnVGd6Z0qnSqdLJ0UnS+dYZ0UnS+drZ1LnTOdKp0NncadcZ0vnTGdL51HnTOdS50vnVydxp0xnV8InSidKp0snRSdL52hnSqdKp0UnS+dM50vDZ3pnSqdFJ0UnTOdL51knVydFJ1RnTENnSqdL52tnS+dX50zDZ3pnSqdKp0snRSdL51hnRSdFJ0znS+dZJ0Una2dxp1xnRSdcZ1fnTOdS50UnUudM50znV+dgZ0snSqdL52tnS8MDZ0qnRSdcZ1cnVGdUJ1k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DxCdkBAQnTMPD539Dw+dSZ2VDxCdoBEQnTMPD51JD53AEJ2xEJ2gEZ3AD52sDw+d7xCdfp2inVsRnaAQnX6dW502nZIRnc2dkhIQnSoODp39D52UD53jnfSdW50znagOD53AD52sDxCdaQ8QEZ0zDw+dSQ+dwJ1+Dw8QEZ2nEZ2sDw+drA8PnWmdog+dpxKdkhGdoBCd4BGdaQ8RnaKdzZ2SEhCdKp1qnVmdvg+dsZ30nVudM52onVmdVZ1+nTYQnacREJ0znZUPDxCdvp1+nVsRnacRD52QnfSdW52nEZ1+EA8REBGdzZ1ZEJ3gEJ2gnZKdlxKdkhEQnTOdqA4PncAQnbEQnaARncAPnawPD52gEBAPDhAPEZ1bERGdSZ30nVudkBCd4BERnacRnX4QD51pEA8RnVsQERAPEQ8SnZcRnWkPERGdkhERnacREZ3NEhIQEQ8SD50qnagPDhCdvp3vnaKdpxEPDA4NEJ33nf6dkJ1+nacRnZIREJ39naedNhANDw0QDp2SERGdp51pEJ2nncSdkp2inX4QD52XERKdaZ1bnZIQnaARnc0RERKdpxIOnY6dow+dlJ1WDw8QDQ8OEBCdMw8PnUkPncAPnbEQnaAREJ0zDw+dSQ8PDA4ND52xEBGdkBGdsZ30DxCdaQ8RnZKdop2SERGdSRCdsZ30DhCd4BERnacREJ0qDp3JncSdvg+dsZ30nVsMDg2dqA4PEJ2QnX6dpxGdWxEQnTOdlQ8PEJ2+nX6dW51pnVudWZ30nVudWxERnZIQEZ3NEhGdxJ2nnVudoJ2SnaIRnacRD50qDg6d/Q+dlJ2xEBANDw4QEJ0zDw+dSQ+dwBCdfg8QnWkPERCdMw8PnUkQD52+nX4QDxERnZARne8QnX6dop1bERGdkhASEBEQEhGdkJ1+Dw8REJ2QEQ8QEZ3NnacRD50qnagPDhANDw2d7xAPEZ2nERAMDg2dqA+dpw+dpw+dpxGdkhEQnf0PnawPDxCdvhAOnZIQEZ2nnWmd4J1ZnZKdop1+EA+dlxESnWkPnVudkhGdkBAPnZcREp2nEZ2UD51JD53AEJ2xEJ2gEZ3AEA+d4530nVsPnVsRnVsREZ2+EJ2xEBANDw6dfp2iEQ8QDp1pD53ND51bEZ2SEREQDxEQEp2XEhKdNhEOnZIREJ2nEQ+dzRIREBEPEp3ZnQ+dKZ0YnRKdcwqdvwoLnTQLnb8LC500CwudNJ3ynTidbZ11nXULC500nfKdOJ00nXWddZ11nXWdBgud6p0lnYGdOJ0lnSWdJZ00nfKdgZ0rnZ4LneoMnZadgZ04nbKdKJ0onaGdL504nSWdKp04nb2dKp2ynYsLnbKdKp1hnRSdL52hnSqdKp29nSqdFJ0vDJ00CwudmgsLnZqddZ12DJ2enXWdsp0onSidoZ0qnZqdJZ0qnTidoZ3TnbKdi50qnSidYZ0UnS+doZ2ynSqdvZ0qnRSdL53qnSWdKp2BnSydKp2LnSqdKJ1hnRSdL52hnSqdKp0snQ2dFJ0UDZ1cnS+dcZ0NnS+drZ04nSWdKp2BnSydKp2LnSqdKp0snRSdL52hnSqdKp29nSqdDZ0NnQ2dFJ2tnVwNDJ00nfKdgZ2anXWddgydlp2BnTgLneqdi50vnYEMDJ2anSWdKp04naGd052ynYsLnbKdKp1hnSqdLJ2BnaGdLwydsp0UnRSdK52enXadi50qnSid6p2ynSqdoZ0vnSidYZ2BnSydsp0snSqdi50vnSqdDZ0snQ2dL53wnXULneqdoZ3TnbKddp2hnSidsp0snSqddp29nSqdsp0UnWGdsp0snQ2dKp0UnWGdFJ0vnaGdKp0qnSydFJ0vnaGdDZ2tnS+dYZ0UnRSdM50vnUudFJ1cnS+dvJ1cnVGdcZ0vna2dL528nVGdM53OnSidKp0snRSdL52hnQ2dFJ0snRSdrZ0vnUudXJ0UnRSdM50znVydUZ1xnS+drZ0vnbydUZ0zDQ2dNJ3ynYGdmp11nXaddp11nYudKp0onaGdL52anXWddp2hndOdgZ2LC52ynSqdYZ0UnS+doZ2ynSqdvZ0qnS+dLJ00nXULneqdoZ0qnaGdL504nYudL50onRSdL512nYudKp2BnSydKp0snSqdDZ2LnRSdLJ0UnS8MnZqddZ12nYudKp2ynYudKp0onaGdL50qnSydOJ2hndOdsp0snbKdLJ0NnS+dvZ0qnQ2dL52LnSqdKJ1hnRSdL51hnS+dXJ0UnTOdL51knRSdL52tnRSdL52tnXENnVCdXJ1RnXGdFJ0UnTOdxp2hnSqdKp0snRSdL51hnRSdFJ0znS8NDZ2ynQ2dcZ1cnRSdMZ0vnVydUZ1QnUudFJ1xnVydMw2dUA2d6p2LnSqdgZ0snSqdi50q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MZ0vnUudFJ1cnTOdUJ1fnRSdM51xnbydUZ0znc4LnbKdgZ29nSqdKp0snYGdLJ0UnTGdLw0NnbKdFAydsp0vnTGdL51xnRSdS50znTOdX50UnTGdXJ28nUcNnXsLC500CwudNJ11nXad8J3yCwud6p2LnS+dKJ2WnTidOAwMnZqdoZ3TnbKdi50qnSidYZ0qnRSdoZ2ynSqdLJ0UnS8MnTSddQud6p2LnSqdgQydlgudsp0qnaGdKp0onWGdOJ2LnSqdsp0snSqdi50vnSqdFJ0vna2dLw2dKp0NnS+drZ00nXWddp2hndOdsp12nYudKp2ynSydL512nb2dKp2ynS+drZ0vnb2dKp0qnRSdL52tnS8NnSqdL52tnSqdL52tnS8NneqdLJ0qnRSdcQ2d6Z0UnVydFA2dXJ0zDZ0qnS+dMZ0vnbydM51cnUudL52tnVCdR51RnUudM50znV+dR51RnTidLJ0qnS+dMZ0vnWSdXJ2tnTGdUJ1knUudXJ0zncadcZ0vnVGdUJ1HnVGdS51cnTOdX51HnVGdewsLnTQLC500nXWddgydlp04nTgLneqdi50vnSgMnTSddQwMnZqdoZ3TnbKdi50qnSidYZ0UnS+doZ2ynSqdvZ0qnRSdLwydNJ11nXadi50vnSqddp2LnS+dKp0UnRSdOJ2LnS+dgZ0UnWGdKp0UnRSdrZ1xDZ1hnS+dLJ0vnXGdXJ00nXWddp2LnSqdsp12nYudL52BnSydKgwMnZqdoZ0onbKdLJ2ynSydFJ0Una2dLw2dsp0UnWGdL51xnVydOJ0snSqdL50xnS+dZJ1cnTGdMZ1QnWSdXJ0vnTGdxp1xnVydUZ1QnUedUZ1LnS+dM53GnUedUZ3pnSqdKp0snS+dS51cnSqdL50xnS+dS51RnTMNDZ2ynS+drZ0vnbydM51cnXGdrZ0znVCdR51RnUudL50zncadM51HDZ04nXaddp0snSqdi50qnSidYZ0vnUudM52BnSydsp1xnTOdL51knVydMZ0xDZ1cnWSdcZ1cnTOdX504nSydKp0vnTGdLw2d6Z0vnSqdXJ0xnTGdvJ1knUudM50zncadcZ1cnVydvJ1LnVGdM51Lna2dM51xnUedM53OnSidKp0snS+dS50znSqdvZ2tnTGdMZ1QnWSdS51cnVydxp1xnS+dMZ1cnV+dUZ1LnVyd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EZ3dnagODxAMDg2dfg8PEZ1pDxGdrA8OnawQDp1pDw4RnaIPEp2XEBKdWRGd4BERnacRnc0REhIQERASEZ04Dg2dKg4Ond2dVp3+EJ2QEA+dKg+dUA8Onb6drA+dW52nERCd3Q+d951ZDA4Nne8PEREOEA8RnawOEJ2xEBCdpxGdkp2inc0SnaAQnX4QEZ3vEZ3NERISEBEQEhCdeAsLnUoLDJ1KDAud0g0OnTgODZ1KCwydhAwNncMNDJ3IDg+dKg8OnUoMC500DA2dNA2d0w4PnSoOnemd/Z3IDQ+dMw4OnUkOEJ2QEBCdOA4NnSoOnfmd953EEJ2+EA6dcwsLnYQMDZ00nb2d450qDg6dNAydlp3InTidS53onTMPD500nXadzgsKnbyd451cDw2dKp1sneOdvg8PDg0PDZ1+nVudKp2jDg+dXJ1WDw8QEZ2+EA2dSgwLnTQMDZ00DZ3TDg+dKg8OnTQMDZ3SDQ6dOA6dUA+dlA+d5A0LnZqdzgwKndYNDA8PnVwPDp3IDg+d/Q6dyQ0PnbEPnWmdW52yD51QDw6dXBCd451bnZARDp04DQ6dyA4PnSqdVZ1ZEZ1VDxCdyA4Pnf0OEJ2+Dw8OnaedaQ8REZ0qDZ3Jnf6dM51ZDw8QnaCd9J1bnVkQnWmdop2iEBKdlxISncSdpw8PEJ2gnZKdlxKdkhEQnTgODZ3dDw6d3Z1WDw4QEA0PDhEPncgPD539DxCdvp1+Dw8QnWkPERALDQsPnf0NEA0MDgwQDZ02EQ8OEA4RncQPEJ1pnaKdpxERnaIREp3NEhKdkBENnaedaRAPEQ4QERASnaIQEg+dZp3ODAwOnfkODp1JD53AEBCd0g4OncgOD52JDw+dSQ+d7xAQnSqdow8PnVydVg+dW52QERCdMw8QnbQPncCd9J2inVsREZ1JEJ2xERCdkBGdW52XnZISEJ3SDg6dyA4Pnd0PD53jnfQPERALC53jDAyd/p39nZUPEJ1pDxERnVwPD51JEA+dvp1+EA8REZ2nERANDA8OEA4NDw4RDg0PDxEPDhEPEhAPERESnVkRneAREZ2nEZ2iERISEBEQEhGdOA6d+Q4Pnd0PDp1JnfQOEBCdKp1sDQ+dlJ1WnVudWREQnSqdqA0PnZSdNg8RnaAREJ2+EJ1WDp30DhGdfp2iEBEQEp2gEJ1+DxGdoBGdohESEhAREBIQnTMPD51JEJ3AnfQQEBKdWxERnbQOnawPDxGdxA+daREPEp2iERKdSZ30DxCdoBGdohAREhAREBIRDw4QDRIQDxEOEhAPEQ4SERASDxMRERIQE51bERGdzRISEBEQEhESEhITEhESERMRnSqdqA4PEJ2+nX4PDxARnacREJ0znagODxCdkJ1+nVsRnZISEZ0znZWdW52+neCdzZ2nEp1+DxGdsZ2SERARnZIRnc0SERMSDw+dzZ2SERGdpxEQERISEhIQERASEJ1mDQ2dKg4OnY4ODp1JD53AEA+dKp1sneOdM52VDxCdoBAQna8ODp2JDw+d3Z1WDp1bnUkQD51JD52sDw+doBARnZIQEp2iERGdMxAPnUkQEAwODZ1+naIRDhAPERCdOA4OncgOD50qnVYOnVudSRAQnSoOD539nagND52xEJ1pDxARnSqdow8PnVwPnbEQEZ2QEJ2snVudWRARnacREZ2iEBKdzRISnbQPnawPEBGdVZ3gERESnacREJ2vDg6diQ8Pnd0PnbEQEA0PDhAQDAwNnagOD53AnX6dW51pDxERCw0LDw4MDg0QDwwODJ3vDxERnZARnbEQnWmdop1bERGdohESnc0SEg0ODJ2sDw0RDw4PDREOEBEPEhEPEQ4SD50qDp3JDg8Qnb6dfp1bnWmdW50znagODxCdkBCdfhAQEp2SEhGdM52VDw8Qnb4PnVsQERKdpxEQnacRnX6dohARnc2dohASERISEhKdWQ8REA8REJ2gnaIREhITnZIREJ0zDw+dSRCdwBCd4BERnacSncCd9A8QnaARnZIRERIQERASEp2+nawPDhEPnZARDhAREBIRDxEPEg+dWxESnaIREp3NERIRERISExESEhMSDxAOEQ0QEQ8SDhARDxIOEhIRExAREhATndmdD50pnRidEgIFBQQHBwQHB52qBwgJnXOdqp1zBwkIBp1iCQoICQoInTQKneqde53SnTgGCAcICgkICgmde504na8ICp2ECwoMCgWd9goKnXsHneQKC51mnXud0p2vnXOdhJ1mCZ3DnbILDJ1mnSqdKp1znTidr53DC52yDZ3qnTMLDQsFnfYKCp17nXud0p2vB53iCwudw51zndKdOJ04C53dDQ2dhJ3InbKdc51mncOdZp0qnSoJCwmdsp2vnQKdFp0QnQUAAwkOEBET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FBKdSRCdfg8REZ2+EQ8RERISEg8QDhMOnTMPEJ3oEBGdSRCdfhERE53NExKdtA8RDg0PD52gEBEQDxIQE52XEhOdSRGd7xERnZARnc0REhMQERATEZ2iEBKdohATERESEhMSERIRFRMTExQTnc0SEhEREhITEBEQEhITExMTFBISERQSnYkQD51JEBENDw4RnaIREhKdlxMSnb4REA4NDhARnacSEBGdzRMSEhIUEp1JEJ1pDxESnZASEBISEhMUERIQFBEQERASEp2iEhIREhITEhIRExEUExQTFhSdohISEhERExMQERASERMUExYVEhMSFRGdeAwMCAkKDQ2dSg2dUA8QnYkQDwgJCg0NnYQNDp04nWoOD53AEBCdSp3OCwsODp3knfed/hEMDgwQDp0zDxCdtA+dwA+daRAPEp2iERGdMxAOnUkQEAwODRAOnc0SEg8PDhIOnXMNDZ2EDQ6dNJ33ncQRnUkQD500Dg6d8Q0PnSqdVg0PDp2gERGdNA0OCwsMDg+dww6d4w8QEp2+EA6dSRAQnbQPnWkPEBEPDhAPEhEREhMSnUmd9A8REZ2+EA8RERISEg8QDhIPnXMNDZ00DQ6dww4Nnf0PEAwODRAPnTQNDp3xDQ6dgQ+d953+nVUREJ3kDp3pCw4OCgsJD51JDhAQDQ4MEZ33Dg8QnbQPEJ2QEBEPDhAOEp3NEhKdvp2snf4Qnb4RDp2XEhIPEA4SD52JEBCd4xARnUkRnaIREhOdlxMSnUkREZ3oEBKdNp2XEBIRFBIREhMTnUkQnWkQEBKdkJ2iERISFBESEBIREBEQExKdohITEhISExMSERIRFRQTExUVnaISEhEREhMTEBEQExIUFBQTFRISERQSnTMQD51JEBCdvhGdohESEg8RDxMRnUkQEZ3EEJ2gERGdohESnZcTE52+EZ2xERAODw0RDxESERMSEBEPFJ2iERISnaISEhESERMSERESEhQTFBMUE52SE53NERMSEBEQExATExMTExITERMRnYkQncAREZ1JEREPERETExASERQTDA4OERGd4xESnVkREp2iEhQREhIUEp1JEZ2gERKdWZ2XEhETExESERMTnVsSEg8QERITnc0TExEREhIVEhMTFROdzRISERESExMREhETExMTExQUEhMSFROdMxCdwBARDQ8OERAPnc0Tnc0TEp20EBEODQ8QnaARnWkRERQRERITEp1JEZ1+DxESnZARnc0REhIQERATERAPERETEA8REBMREBESExEQExAUExITExOdzRISnZcSExAREBMSFBMTFBMSEhEUEZ2JEBCd4xARnZASnc0REhUREhEUE51JERCd4xASnacSERGdzRMREhIUE51JEJ1pEBESnZASERESEhMUERIQExEQEQ8TEp2SEhIREhEUExIREhEUFBQTFhSdzRITEhISExQQERATEhQTExQUEhMRFBGdSRARnf4QEg4QDxGdkhEREhEREBMSncQQEZ3+EBKdkhEREA8REBMSEhITE51ZERGdWxESDhAOEp3NEhITEBEQExGdohASnaIQExISEhESERASEBQTExMTE53NEhIRERITExAREBMREhMTExQREhAUEAsODRERnf4QEg4QDhMQEhITEhMSExIVEg0PDhKdrBAQEhAREBMREhATERQTExMVE53jERIRnc0TDhAOEhAUExMUFRITEBURERIQExGdohISExMSFRIRERIRFBQUFBYUERESEhQTExMSFJ3NExMVFRUUFRETERcRnYkQncAREZ1JERGdzRMUnVsTE51JEJ2gERKdWZ2XERITExEREhMTnUkRne8REQ0PDhIRERISExQQERATEp2iEhKdlxITERIRExMTExMTFBMUExQUnVsSEZ3NFBKdWxMRExMTFBQREhEVEZ2JEBCd4xARDQ8OEZ3NEhIUnZcTE51JERGdxBESnTYSnZcSERQSEhEUEp1JEJ1pEBESDg8NnZcSEhMUEREQExGdzRISnaISEhISEhMTEhETEhUTFBQUFBAPERISERESEhSdkhIRFBMUFRYREhEUEZ0zEBCd4xARnUkRnaISEhOdWxMSnUkQEZ3EEJ2gERGdohETnZcTEp2+EZ3vERENDw0Rnc0RExMPEQ8TEZ3NEhKdohETERIRExMSERMRExMTExQTDxEPE53NEBMSEBEPEhATExMUExETEBMQCw4OEREPDhAQEg8QDhIQEhITEhUSExIUEg0PDhIRnf4QEhAREBOdlxMRFhMTExUTneMREhGdzRMOEA4SEBMTExQVEhIQFBEREhATEg8RERMTExMSFRMSERQRFRYVFBUVERATEhQTEhMSFBAREBMSFRQVExcSExAUEZ1JEZ2sDxASDhAOEZ2SERETEBEQE52g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hAwNnTQNDJ3IDg+dKg8Onc8NnZMOnfENndYNDhCdMw8PncMNneoNDp2vDp1QDxCdMw8PnecPDAwODZ3JncSdxA6daZ1bnVwPDp1JDw8MDg2dsQ8REZ2QEQ+dcwwLnTQMDJ3DDZ3TDg6d3Q8OnTQMnZadyJ04Dp28Dg+dMxAPnTQNneqdzgsKDp0zDQ8PnVwPnfmdbJ3jnb4PDw4NDw4QnacREJ0vnWqdWZ1cnbGdop2QEQ6d0g0OncgOD53IDg+d4w+doBAQncgMDwwMDg0QnbQNnawQDhIPnVsRnVwPD51JDxCdvp1+DxAREp02EZ2sDw4RDw4QDp1pEA8SnaIQE52XERKdWRGd4BERnacSnc0SEhIQERASEZ04Dg2dKg8Ond2dVg+dW51ZERCdKg8OnTMPDp2+nawPnVudpxIQnd0PD51JDw8MDg2dfp2iEZ2nERCdkJ30nVudpxGdkhGdzRIRExKdWRGd4BGdaQ8SEBESEhISEBEQExCdeAsLnUoLDJ1KDAud0g0OnTgODZ1KCwydhAwNnTQNDZ3IDQ+dKg8OnXMMC500DA2dNA2d0w4PnbIOnemd/Z3IDQ+dMw4PnUkOne8QEJ04Dg2dKg6d+Q+dSQ4QEJ2+EA6dcwsMnTQMDZ00nb2d450qDg6dNAwNnfEMDp04nUud451RDw+dNJ12DQ6dmp28DQ8QnVwPDp3InWyd452+nZUPDhGdpxEQnSqdag0PD51cnbEPEBGdkBAOnUoMC500DA2dww2d0w4PnSoPDp2Enc6dyA6dOA6dUA8PnTMQDwkLCQ0LnZoODQoMCp3WnegPnVwQndad4539Dp3AnZUPDxGdpxEQCw0LnckODQ8ODA4MEA2dNp30DhEOnTgNDp3IDg+dKp2QDg8QnaAQEJ3IDg+d/Q+dwJ2nnVsSnVsREZ0qDp3Jnf6dM502nVsSnVmd9A8QnWmdop1bERGdohATERIREhKdxBCdfp2inVmdohESEhMQERAREJ2vDg2d3Q8Ond2dVg+dWw0PDhGdlJ3JDg+dwJ30DxERnVsREZ3dD539DRANDA4MEA2dpxEQDhAOEp3EDxCdaZ2inVsREZ2iERIREhESEp2QEQ6dpxIPnacSDp2XEhEQERATEJ1mnc4MDA6d+Q8OnUkQncAQEJ3SDg6dyA6dlA+d4530DxEQnSoPDp0zDw+dXA+dsRARnZAREJ39DxCdtA8QneOd9BAQEp1bEhKdSRCdsRGd7xGdohESEhAREBIRnY4ODp3ID52UD53jEJ2gERALC53jDAwODxCdtA+drA8QnWmdzZ1cDw+dSRAQnb6dfhAPERGdpxIQDQwPDhEODRAOEZ3+DxIPDhEQEp2iERKdWRGd4BERnacSnc0REhIQERATEZ04Dp35Dw+d3Q8PnZCd9A8REJ0qD53WDQ8Pnb4QnbEQEJ2nEhGd3Q8Pnb4PDwwODZ1+EA8REZ2nEhCdvp30Dp30DxGdkhAQEhASERMSnVkRneARnWkPEZ3NEhITEBEQEhCdMw+dwBARnUkQnX4QERKdWxIRnbQOEZ3EDxGdxBCdaREQEp3NEhKdSRGd7xERnZARnaIREhIQERASEQ8OEA0SEA8RDhOdog8SERASDxMSEhIRE51bEhGdzRISEBEQExESExITExESERQSnSqdqA4PEJ2+nX6dohGdWxIRDA4NEJ3JDg8QnZARnZKdop3NExGd/Z30DxARDQ8NEQ+dzRISEBEQEhCdpxGdfg8RERAREBIRERAREBISExIUEp1bERGdzRISnacSERISExMTERIQExCdZg0NnSoOD52ODg6dSRCdwBAQnSqdbA0PnZSdsRCdoBAQna+dow8Pnd2dVg8PEBENDw4RncAPne8QnaAQEZ2iERKdzRISDA4NEA8NDw4REJ2+nWkQEBISnacSEJ04Dg6dyA4PnSoPnbEQnaAQEJ3IDw+d/Q+dwJ2nnVsSDw+dzZ0qDp3JDg8QnTOdNg8QERKdWRGd7xCdaZ2inVsREZ2iEBMRERITEp20nfSdzZ3EnZIQERISnZISEJ2OnaMPD53dD52xEBENDw4REJ0znagOD53AEJ1+EBESDw+dzZ3dDw6dvhAPDA4MEA6dpxERDhAOEZ3vEJ1pEBASnVsREZ3NEROdlxISDQ8MEZ3+DhEPDg8NEQ4QERASEQ8RDhMPnSqdqA4PEJ2+nX6dohKdWxERDA4NEBCd6A+doBGdkhEQE53NEhKd/Q+drA8QEZ2+EA+dzRITnVsRneASnWkQERKdzRISEBASEBMSExMUEw+dWxGdohESnTYREBISExIUEREQEhCdMxAPnUkQncAQneAREp2nEhGdSZ30DxCdoBERnc0SEp3NEhKdvhGdxA4REJ2QEQ+dzRISDxEPE51bEBESnaIR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ERCdhA0OCwoNDhCdKg8PDg0QDxKdWRERnWYODp3IDxALDQudsQ8REp2QEQ+dSQ+drA8PEZ2nERGdog8TERISExKdSZ1+D53NnZASD52XExMQEQ8TEAYJCA0MnWYODwkMCp3Jnf4RDA8NEhCdZg4OCwud453dEJ1WDw8SnVkSEZ3DDg2dKg8PCw0KnawPDxASDhANEg+dSRCdrA8PEZ2nERGdohATERIREhOdSZ1+Dw8REZ2QEQ+dlxITEBEPEw+diQ8QneMQEp1ZEREQEBISFBESERMUnUkQnWkQERKdWxEREhETEhMSEhITFZ3EEJ1pEBISnVsREhISExMVEhMTFhSdohETnZcSFBESEhQTExMUEwATExQUFZ2XExISEhQTExISEhQUExMUFBQUFRQVE52JEJ2xERGdkBIQEBISFBMQExEVEp3jEJ1pEBISnacTEhISEhMTEhISFhSdSRCd4BIRnacSERISEhMTERIRFRKdzRISERITExMSFBITExMUFRMVFBQUABWdzRMTEhISExUREhITEhQTFRQVExQUFhOdcw0NCAoLDg8JDAsPDgsNDhARDQ8OERAICgsODgoKDA4QnSoQDw0MDw8SnVkTEZ1mDp35Dw8LDQudrA8OEREOEA4SD539DxCd6A6daQ8REQ8OEQ4TERISExKdSRCdfg8REZ2QEg8REhESERASEBMPBwoKDQ0JCgwOD52vDw6d/RARDQ8OEhAKCp39CgoNDRAMDA0PDw0MDw8SDw8QEhGdOJ2jDxAKDQqdrA8PEREODw0RnckODxAODQ8OEg+dWxEQDxIPEhESEhISDQ8OEZ3gEREODw0RDxEREhISEBEOFA6dew4OCwsNDhALDQudrJ1bEg4QDxIQna8PDgsLDQ4Qnb6dfg4QDxMQERAUEp3SDp3JDhAQCw4LEA6dohITDxEOFA+dkBEQneMPEhAREBMSEA8SDxMSExIVFZ3EEBGdohISDQ8OEQ8SEhMSFhASDxUPnf0QnawQEBKdWRESEBASEhQSEhEUFJ3jDxEPDhAQEp2SERMRDxIRFRISEhMTnVkSEZ1bEhOdpxISERISFBURExEUE52iEBMRERIRFBISEhITExIUERYUFBMUFBEREhITEhIUFRQREhEUFBUVFRUVExUSFhSdiRGdrBAQEg4QDhIQERITExQSExIVE52QEZ2sEBISEBEQEhESERMSFBMTEhQUneMQEZ2iEhMOEA4TERITEhQUEhQRFRKdlxMSEBESEhMSExIVFRISFBEVExQUFhUQERISExISExUUnc0UEhUVFhUWEhUSABKdcw0NCQsMDg8ICwoPDp3jEBILDg0RD51mDg4LCw0OEJ0qnZUQDxKdxBERCAsKDp35Dw8KDAqdrA8PERINDwwSD51JEJ2sDw+daQ8QERAPEQ8TnZcSEgwODZ1+Dw8REQ0PDREOERISEhMPEQ4TDp17Dg4LCw0OEAsNC52sDxAREw4QDxIRna8PDgsLDg4Rnb6daQ4RDxMQERATEZ3SDp3JDg8RCw0LEQ6dohITDxAOEg+dkBAQneMPEp2SEhIQDxIPFBITEhUSncQQEZ2iERINDw4REBMTExMTDxIPFA8HCgqdzgsMDg8JDAoPDp3jEBEMDw0REJ04Dg4KCg0OEJ0zEA8ODRAPEg8Pnc0KDAoODZ1cDw8KDQoQDZ2nERINEAwSD51JEBEODQ8PEp2nEREQDhEPExESEhMTDQ8NnaAPEhEODw0RDhIREhITDxEPEw+diRARnf4QEg4QDxIRERITEhUSEhEUEg0PDhGdrBAREhAREBMREhETEhYSExMVFZ3jEBKdohEUDhAOEhESEhMTFRESERUSERIRExKdzRITEhISFhYSERMRABQVExUUERESEhUSEhITFZ2XExMUFBYVFRMUEhQRDA4NEZ3vERIOEA4SEBESEhUUEBIQFRKdWRGdaRASEg8REBISERETExQSExIUE52QnWkQEBIRDxAOEw8SEhITFBEUDxUREBESEhMRERISFBITEhMVExITExUUABMVFBAREBMQEhISExMREhEUERMUFBYAExQRFRELDQ4QnaAREp1ZEhKdzRMUEBIRExWd4xERDg8QEROdWxITEBESExUREhQVFQ0PDxERnVsSE51bEhMRERITFhETEhYTDxARExMQERISFBESEhMUExIUEhYUExMWFZ3NEhMSEhITFBESEhQTFBMUFhQTFBUVFAyd/hANDhAREg4QDxISDxERExMREhITE53jEBGd/hAUnVsRExAPEhEUEhETExOdWRERnZISEp2nExIREhIUFRESERUSEA8RERMRDxIRFBMREhMUEhATERYUExQTFBEREhMTEhITFBQREhESEhUVFBQVEhQRFRMLnf4RDw4QERMOEA4SERISExMVERMSFBQNDw4REZ3+ERIQERATEhIRExIUEhUSFBQNDw8QEZ2iEhMOEA8TEhMTExUUEhMRFBIQERATEp3NExQRExIUExIRFRIAFRQUABQRERISExITExQWnc0UEhUWFBQWEhYSFhIMDg4REQ4PEBETDhAPnZcREhIVERMRFBOdWRASDw4QEBMQERATEhEQFBEUEhQTExSdWRIRnaISEw4QDxMREhUSExUREhETEhEREhEUERASERUSExMTExIRExEUFBUUFRSdlxMTExISFBUQEhATEhQUFRUUEhMQABEMDg4RnWkSERMPEg8UEBQTFRIWFBQUFhMOEA4UEQ4PEREUEhIRFBISERMRFRQVFAAVDg8QERMSERMSFQ4SDxURFRQVFAASFREVERITERQSnc0TExMVFAAUEhEVEQAWABUAFhERExIUFBQVExYQERIUEhYWABYAERURFhELDg2d9A8REp2QEhEREhITFJ3NFROd4xERnVsSEp1bExISEhITFBESEhQTDQ8OERGdWxESDhAPExEREhMVFRESERQSnc0TExESExMUEhMSFRUVFBMVFhQUExUUDxEQExMREhIUFRASERQSExMVFRUTExMUEgsODRGdrBAQEw4QDxMQEhISExYREhEUEw0PDhGdaRARExAREBQSEhETEhUTExIWAJ3jERKdohETDhAPExISExMUFRISERQSERIRFBKdzRIUEhMSFBQSEhURFRQVFQATEBASEhMTEhQTFJ3NFBIVFBUWFhIUERURDA4OERAODxASEg0PDhIRERISExMPERATE51ZEZ1pEBITnVsTEhEREhIUEhISFRQNDw4REJ2nEhIOEA4SERISEhMVEBIQFBEREhESExEREhITEhMTFRMTEhQSFRUUFBUUEBEPFBERExETExESDxQRExQTFRYRFBAAEQwODhESEA8SEBQQEg8VERQSFRMWExUTABMOEA8TEQ4PERAVEhMSFRETERURFhQVFQAVDg8QERMSERMSFQ4RDxQRFRYVFBYSFREVERETERUSnc0TFBMVFBUUERIUERUAFhQVFhERFBIVFRQWFBWdzRUTABYAFRUSFhEVEQwODhEQDg8QERIOEA8SnZcUExQQEhEVEp1ZEREODxARExAREBISERATEhMSExIVFJ1ZEhGdkhMSDxAOFBASEhMT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CwydNAwNnTQNnekMDQ+dKg8OnUoMC53DDQ2dw528DA4Pnd0PDZ3SDZ35DQ8Mnf2dyZ3+nVkQEJ2yDp1QDw6d3Q+d4w8PncAQDp1zCwydhAwNnTQNndMOD50qDw6dzw2dkw6d0g2d1g0OEJ0zDw+dw53ODJ39na8OnVAPEJ0zDw6d5w8MDA4NEJ1RnZCdkJ1pnVudXA8OnUkPDwwODZ3vnaKdkBEPnXMMC500DA2dww2d0w4Ond0PDp00DZ2Wncidrw6dvA0PDA4NEA+dNA2doZ0zCgwKDp0zDQ8PnVwPDZ0qnWyd452+Dw8ODQ8NEJ2nERCdXA4OnUkPD51cnbGdog4PDRANndINDp3IDp2UnVYPD52gEBCdrQ8MDA4NEJ20Dp2sEA+daZ2inTMPD51JEBCdvp1+naKdoBGdrA8OnWkQD51pEA8RnaIQEp2XERKdWRGd4BERnacRnc0REhIQERASEZ2vnaMPD51cnVYPnVudWREQnd0PDp0zDw+dvp3vnVudpxEQnTMPD51JEBAMDg2dfp2iEZ2nEZ3vnfSdW51bEZ2SnaIREhESnaARneAREZ2nEZ3NEhISEBEQEhCdeAsLnUoLDJ1KDAud0g0OnTgODZ1KCwydhAwNnYQNDZ3IDQ+dLw8OnXMMC500DQ2dNA2d0w4PnbIPnemd/Z3IDQ+dMw4PnUkOne8QEJ2vDg2dXA6d+Q+d451bnb4QDp1zCwydhAwNnTQNDJ3IDg+dKg4OnTQMDZ2TDp2ynUsODZ3JDQ8PnTQMDZ3SDQ6dmp1QDg8QnVwPnVCdbJ3jnUkPDw4NDw0QnacREJ0qnWqdWZ1cnbGdog4ODRANnXMMC500DA2dww2d0w4PnSoPDp2Enc6dyA6djg6dUA4QnTMQDwkLCQ0Lna+dzgwKndad6A+dXBCd1p3jnf0OD51JnZUPDxGdpxEQCw0LnckODQ8ODA4MEA2dNp30DhEOndKdbJ3jnTMPnbEQnaAQEAwMDZ2oDg+dwBCdfp2inVsREZ3IDp3JDg8QnTOdNp1bnWmdW51ZEJ1pnaKdWxERnaIQEp2XEhKdWRCd4BCdaZ1bnZcSEp2SERCdrw6dUA8Pnd2dVg+dW52QEZ2UnckOEJ3AEJ1+DxARnVsREZ1cD539DRAODA4MEA2dpxEQDhAOEZ2xEJ1pnc2dWxERnaIREhESERISnZARDp2nnWkQDxEPnZcSERAREBIQnWYOnfkOnfkPDp1JEBANDw4QEJ3SDg6dyA+dlA+d4xCdoBEQnSoPDp0zD52UnbGd9A8REJ39D53ADxCd4xCdfhAQEp2SEhGdVZ1+Dw8Rne8RnaIREhGdkhIQnY4ODp3ID52UD53jEJ2gERCdyA4PDAwODxCdtA+drA8QnWmdzZ0zDw+dSRAQnb6dfhAPERGdpxEQnegOEQ4NEA8RDw4QD51pERASnaIREp1ZEZ3gERGdpxGdzRESEhAREBIRna8ODp3IDw+dXA+dsZ30DxEQnSoPnZQPnb4QnbEQEJ2nERCdiQ8PnUkPDwwODZ1+EA8REZ2nERANDw6d9A4QEJ2nEZ3gEBEQERASnaAQneARnWkPEZ3NERISnZISEJ0zD53AD53AEJ1+EBASnVsREZ20D52sDw+doBCdaREQEp2iERGdSZ30DxERnZARnaIQERIQERASnWkQDhEQDxEOEp2SDxIQEBIPExISEhETnVsSEZ3NEhEQERASERISEhMTERIQEhGdKp2oDg8Qnb6dfp2SEZ1bERAMDg0QnckODxCdkJ1pnVsREBEQEhGd/Q+d7xAQnb6d4J3NnaedaRAPEZ1+nVsQERASEBCdpxEREhESnWmdzZ2iERGdpxEQEhISEhIQERASD51mDp35Dg+djg8OneMQncAQEJ0qDg8MDA0PnZSdsRCdoBAQnY6dow8Pnd0PnbEQEQ0PDhCdrA4Pne8QnaAQEZ2iEBKdzRERDA4NEA8NDw4QncCd4J3NnacREJ04nWyd453dnVYPDxCdoBAQnTMPD539D53AnTadW51pnc2dKp2oDg8QnTOdNp1bnaCd9J1bnTYQEZ1bERGdohASnZcREp3jEJ1+naKdVZ2Snc0SnZIREJ2OnaMPD53dD52xEBENDw4REJ0znagOD53AEJ1+naIPD53Nnd0PDp2+EA8MDgydfhAPERGdkBGd7xCdaZ2inVsREZ2iERKdlxISDQ8NEZ3+DhEQDg8NEQ8QERASEQ8RDxIQnSqdqA4PEJ2+nX6dkhGdWxEQDA4NEJ3JDg+d752SnVsRnZIREZ39D52sDw8Rnb6d4BEREp2nnWkQDxGdaZ2iEBGdzRAPEQ8SERIREhIPnVsRnaIQEp02naIREhESEBAPEZ2UD51JEJ3AEJ3gERKdpxKdwBCdrA8QnaAREZ2i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nWsQEBYAABESABadiJ1rDw8SEp1nnWsQEBYWAJ18AJ2InXwQEBMUnWedfBERFgAAEREWFQASnUOdAhAQFRUAE51eEhIAFgASEgAWnQIAEBAWAAAUnXoTnUMMDJ22DAwPDp2InbadVQ6d3p1rnegQnd6dawwMnbad/hCdyp22negQnd6dawwMnbYPD518ncQPnd6dfBUVExOdiA4OABERFgCdyp22Dw+dfBYAEhSdiJ22EhIAFp3eDg+d9hEQnZYQEA0KChEQnd6dfA8PERGdoRISDwwMEhIPCgoQEZ3KEhKdyhERDQoKnaIODhERDwoKEA+d3hMUncoPEAAQEBOdXhUWnYidfBIRABWd3p18Dw8SEwAAFgAVnYgQEQATEwAWAJ3gCQgIDg6doQ8PnemdthUUE51DExKdoZ1+DQ0REg4LC522FhYTEgAWFRISDgsLDw8RDg4SEg8MDJ22FhYUEwAAFRISAAAWFJ16nQUUFRKdQxUVnQUUEwAWFROdXp0FABYREgAAFgAWABYAExOdm522CwsODp1nnbadlQCdkhCdZ51rnf4QnZudtg8PnXydNg+dZ51rncQPnZudtg8PnXwPDw4PAJ2inYATE53KnbYSEhUAnd4ODwCdohEAFQATE53KnbYUFBYAABCdVp1nDQ2dZ51rDAydaxAQFhUAEhEVAJ2InWsPDxITnWedaxARFgAAnXwWnYgREJ3eExOdZ51rEBAVFAAREBYAABISFhWdAgAPEBUVABOdXhKdgBISFZ0CAAAQEBYWABQVnQUSEwAWnYidawwMnbYNDZ1rncQPnd6dfA0NERCd3p18DAydaw8PnXyd/hCdiBARnd6dfAwMnWsODp18nf4QAJ2iEQAVABUTnYida518AJ3enWsQDxISABYAFBSdiJ22Ep1DnTYPnWedfA4OnXwODp18ERESEQARERMSnYidfBAQEhKdiJ1rERETEwCdohGdiBISABEREhKdiJ18ERETEwCdzREAERETEwAVABUTncqdaxQTABUAnZIQABESE51eABWd3hARABWdehESEBEACQkODp3KDxCdyp22AAASEgAVABITnWedtp2iEZ3KDg4AFgATEgAWABESncoQDwASEhMSAJ1ZDwAAFRSdehISABUVE51enQUVFRISABYAFBQAFgATEwAWABOdep0FABURnUMWFp0FExIAEhSdaxUUnXwAFRISABYVEhIAABYTEwAUFJ18AAASEgATFJ18FgATFQAWFRISABQTEZ1DExMAFBSdfBYWFRUAFAASEgAWFhKdQxQWABQUnWsAABUAABUUEBEAFgATnXoVFAATFZ18nQIVFZ18nTGdyp1rnf4QABKdQxMSFgCdiJ1rEBASEp2InWsREhUAABISFQCdiJ1rERETFJ2IEBEAEhIVAAASEhUAABITABWdAgAQEBUUABSdehKdXhKdQ50CnWsVABYWnQUTnV4QEBMUABEQFhUAEREVFAATEgAWABMTFhYAEA8WFgATEwAVnd4UFAASEwAVABISFhYAEBAVFAAUExUWABAPFBQAExMAFgASEhUAABMSFRadAgAQEBMVABQWABYAEhIUFQATEgAWnQUWAAAQEBQUABUVnQUSEhUAnWedfA8OnXwODhISAJ2XEgASEhISnYgSEgAQERMSnYgQEQARERITAJ2XEZ2InXwREhISnYidaxISExQAnc0QABESE51DFhWd3p1rFBQVFgAREZ1rEBESnUMVFZ3enWsVnXoREZ1rCgoODp3KnbadxA8AFgASnUMTE52IDxAAERASEp3KnbYVFRMSABYVEhGdyp22EhITEp3eDg4AFhUTEwAWFRGdQxOdXp0FFBadfAAWFp16ExIAFRYTnUOdBRYWEZ1DFRadBRMSABQUnXwVFRESABUWEhIAFQASEgAWABMTABMVEhIAABYSEgAWFZ18FgAUnXoSEgAWFRISABUAExMAFBWdfAAWFhQAFRadfAAVE51DFRUAFRQQnYCdBRUAnXwVABOdehQWABQUnXydAhUVnXydMZ3KnWud/hAAEhIVAAATExYAnYidaxAQEhKdiJ1rEhIVFgASEgAWnYidaxERFBKdiJ1rExIAFgASEhYVABKdXp0CEBAVFQAVFZ0FEp1eExMVnQIAAJ1rFQAUnXoUnXoQEBUUABIRFRYAERIAFQASExYWABMTABYAEBEVFgAUnV4QEBQVABOdXhMTABYAEREVFQATnXqdaxQAExQAFQASEgAWABMUFhadBQAWAJ18FQAVFZ0FEhMXFQAUnV6dAp18nXqdBRMTFxadBZ0PnSmdGJ0SBAUFCQkMCQmdLwoKnVGdKJ1RDAwNCgqdRw0KCg0MnemdUQ4ODQwNCgqdXw2dk53pnVGdbJ28nUedKJ3pnVGdbJ1JnbSdtJ1VndadSZ20nWwMCAidrZ2hnekLC53WCwud1goLndYMDJ3WnTGd6Z3WCwud1gwMndYMDJ3WDAyd9wsLndYLC53WDAyd9wwMndYMDJ33Cwud1gsLnfcLC53JDAyd1gwMnckMDJ3WCwudyQsLDJ3PDQcHCwsNCAgMDA6dMp1VCwsOCAgMDJ1VDAwOBwcLCw4JCQwMnVULCw4ICAwMnVUMDA4HBwsLDgkJDAydVQsLDp2TnVWdtJ3PDgqdr51WCwudWQwMnVadxA4OCwudVgwMnVYLCw6d8g+dMg+dMg8Lnf8PDA0JCQ+dJZ3JCwsPnTIPnfKdyQsLD50lnckLCw+dMg+d8p3JCgsPnYudyQsKD53yDwsMCgmdyQoKnVYLC53JCwudVgoKnckKCp1WCgqd9woKnckKCp3JCgqdVQgJnVYJCZ1WCwudVgoKnVYKCp1WCwudVgoKnVYLC51WCgqdVgoKnVYKCp1WCQmdVgsLnVYLC51WCgqdVgoKnVUJCZ02CwudVgwMnTYKCg8ODwoKnTYJCQ8KCg0NEQgIDAwRCgkNDRKdKBKdbBEJCQ0NEZ1LEggIDAwSnZMSnWwSCgoNDRKdUQ0SCQkMDBIKCg0NEp1sEp3nEp1qEp2TEZ0oEp1sEp1qEp1qEw4PDAwSnWwSnbUNBwcLC51ZCwsOEA8LC51ZCwudWQsLnVkLDJ1ZDAwNDw8LC51ZCwudNgwMnVkMDA4QEAwMnVkLC51ZCwudNgwMnTYMDJ1ZDAydWQsLnVkLCw8ODwwMnTYMDJ1bDAydNgwMnVkMDJ02nTGd6Z3ECwudVQwMnVkKCp02CwudWQwMnVULC51ZCwudWQwMnTYLC51ZDAydxAsLnVkLC51ZDAydNgsLnTYMDJ1ZDAydWQoKnVkLC502CgqdNgwMnTadxA8PCwudNgsLnTYLCw6dMg8JCQwLD52TD50lnckMDBCdk53JDAwPnc8PCgoNDJ3JCwsPnZOdyQwMD53PD52TnckLCw+dKJ3JneidKw+dKA8NDgsLnVYNDZ2sFBOdVgsLDw2d1p1WCwud9woKDg6d6Q8NndadVgwMnVYLC51WDAwPD533nVYLC51WCwudVp3onWydVp3oDg4LC51WCwudVp3onWydVgwMnVYMDJ1WCwudNgwMnTYNDZ2sDAydNp3onbWdNgwMDgoKDQ0RCQkMDBEJCQ0NEZ0oEp1sEgoKDQ0SDg0MDBIJCQwMEgoKDA0SnWwRCQkMDBENndYRCQkMDBGdkxEODgsLEp0oEg4ODA0SnZMSnSgSDg4LCxKdtRKdahIODwwMEZ1snWkMDA0HBwsLnVkLC51ZCwudWQsLnVkLC51ZCwudWQwMnVkLC51ZCwudNgwMnVkLC51ZDAydWQsLnTYLC502DAydWQwMDg8QDAydWQsLnVkLC502DAydNgwMnVsMDJ02DAydNgwMnTadMQ0MDJ1VCwudVQwMnVUKCp02CwudWQwMnVULC51ZCwudVQwMDw8OCwudWQwMnVULC51ZCwudVQsLnVYKCp1ZDAydVQwMnVkKCp1ZCwudNgoKnTYMDJ1WnegPDwoKnVYLC502CgoOnTIOCQkMDA+dkw6dJQ8NndYPCgqd6J1LDwkJDAwPCgqd6A0OCwsPnZOdyQwMD53PD52TnckLCw+dKJ3JneidKw+dKJ1WCwudVp3oDg4UE51WCwudVgwMnVYLC533CwudyQsLDw4NDAydVgsMnVYLC51WDAydVZ3oDg4LC51WCwudVp3onWydVp20Dg4LC51WCwudVp3onWydVgwMnVYMDJ1WCwudVQwMnTYNDZ2sDAydNp3onWydNgwMD53nEp2TEZ0oEp2LEp1sEgoKDQ0SnWwSnZMSnSgSnWwSC53IEp1sEp2TEp0oEg4OCwsSnSgSnWwRnSsRnYsRDg4LCxKdtRKdahIPDwsLEg+d1hIPDwsLDggICwudWQoKnVkLC51ZCwudNgwMnTYLC502DAydWQoKnTYLC502DAydNgsLnTadtA8PCgqdNgsLnTYMDJ02DAydWwwMnVYLC502CwudNgwMnX6d6BAQDQ2dfgwMnTYMDJ02DAyd9wsLnVULC51VDAydVgsLDw8OCwudVgwMnVYMDJ1ZCwudVgwMnVYLCw8ODwwMnVYMDJ1ZCwudVgsLnVYLCw8PndadVgwMnTYKC51WCwudNgoKnTYMDJ2snegPDwsLnVYLC502CwsOC53/Dp2TD50oD50vDJ1WneidKJ1WnbSdkw+d551WDAwPnZOdVZ20nSsPnSidVgwMD50xnVadxJ0lD53TnVYLC502neMODhQTnVYMDJ1WneidbJ33Cgqd9wsLnfcLC51WDAydVgwMnVYMC51VnegODgsLnVYLC51WncQODgsMnVadtA4OCwudVgsLnVadxJ1snVad6A4OCwudVQwMnVad6J2onVad6J2onVad6J2onVYNDRKdtRKdtRIQEAsLEhERDAwSnagSEREMDBKdtRIPEAwMEhERDAwSDw8NDBEQEQwMnWkLDBKdtRIREQsLEhAQDAwSERAMDBIPDwsLEp21EhERCwsSEREMDBIQEA0NEhERCwsREBALCxIREQsLnTYLC51+CwudfgsLnX4MDJ1pnf4PDwsLnWmd/g8PCwudfgwMEp2onX4LC51pnf4PDwsLnX4MDJ1pDQ2dfgwMERCdVp1+CwudfgwMEp2onWkODhEQnX4SDp3JEp2VEp2onckMDJ1WDAydrAwMnawMDBEODwwMnawMDBGdap1+DAydrAwMEZ1snawMDBGdap02CwudrAwMEZ1snX4MDBEODg0MnX4LC52sDAydaQsLnWkNDRGdahKdtRGdbJ1pDAydWQkJnVkMDJ2nneidlZ02FROdNp3oDw8TE502DAydW53EDw8TE52nnegQEBMUnTYMDZ1bncQPDxQTnTadxBAQExOdNg4NnTadxA8PExOdWxQTDxEQFRSdNhQTnVsUFJ02ExSd9woKnVULC51VDAydVp3oDw4UFJ1WDAydVRMTnVYLC51WDAydVhQTnVYMDJ1VFBSdVQsLnVYMDJ1WFBWdVp3oDg4UFJ1WDAydVp20Dw8UFJ02FBOdVhQTnTYUFJ1WFRSdNhSdep0PnSmdGJ0SAZ34naadYp04CZ0hCAsLDAkICJ2qnWadOJ04DA6d+Z2OnUmdL53lBwYGCAcHCAcHnd8KBwcJCAidoQqdRged352Wnd+dyQ0Kna8LnckOCwsHBwedgZ2hnaGdVZ1xDAydfp3Wndidm51nnZudyp2bnWed3p2bnWIMCwqdlp2hnckOCwudlp2sDgoKCAcHnaGdoZ2hnVad1g0MDJ1Wncmdm51nnWedZ53enWediAAPDp1nnQKdFp0QnQUAAwUFnboICAAJCZ3YnboICJ3YnboHB526BweduggInboICJ26CAgABwcABgYABwcABwed2AAGBgAHB53YAAUFnboHB526CAgACQkABwedugkJAAcHAAYGAAkKndid2J2bAAkJndidmwAJCZ26CAidugkJAAkJAAcHnboJCQAHB526BwcABwedugkJAAcHAAcHnboGBgAGBp3Y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nZYPD533EREOCwudthMUEhIAFhUREp3pDw8QDQ0SEg4LCw4PABYVFBMAFhWdfAAWE51DnQUWFJ18AAAVnXoTEQAAFhOdXp0FFhQSnYCdAhISndgODp2bDg6dm522nVUOnd6dawsLnWsNDZ1rCwudtp3+EJ3KnbYLC522negPndidtg8PnXydVQ4AnZIQAAAWExOdiA4OAJ18AJ3eDg4AnaIRAAAWEhKdiA4OABWdQ52VnZsNDZ1nnbYMDBAPAJ1rAAARERYWnWedaw4OEhIACwydaw8QABUAEBAWFZ1nnWsPDxMUAAsMnWsPDxQWAJ1rFgARERadAgCd3hUWABOdQ518AACdfBadAgAQDxYAABOdXhGdQwwMnbYMDJ22DAydtp20Dp3eEBGdZ51rnf4QAAwLDxCdyhARncqdaw0MnWsPnVudm522nf4Qncqdtg8PEhEAABYAFJ2InbYQERYWncqdtg8PERIAFAATE52InbYSEhYAncqdtgsLnWsODhEQnYidfJ2iEQARERITnWcQEZ3eEhKdZ51rEBATEgCdohAADA2dfBEQEhEADQydaxAQEhMAnZIRABAQEhIAFgAWFp2InWsTEhYUAJ3gABAREp1DFhSdyp1rE51enZIQAAkJDQ2diJ22ncQPAAAWERIAFgASE51nnbYPnc2dyg4OABYAEhIAFRadfJ3oDwCdlxKdyp22FhUVEwAUFZ18FRUTnUOdBRUVnXwAABYWAAAWExIAABUTnUMAFgATFJ18nQUWnQUTEgATEw8QABUTEBEAABWdfAAWnXwWFhITABQUnWsAFhISABQTEBEAFhUUEwAAFZ18FRSdfAAAEhIAExMREAAWABMTABUWERIAABYTnUMTFAATE51rFhYWAAAUFp1rFhQSnV4UEwAUFJ1rnQIWFBEQnZsNDQAODZ22DQ0QDwASERUAABISFQCdZ522DxAREp1nnbYRERYUABESFgCdZxEQABARExOdiJ1rnXwWAJ18FQASEhQWnQKd3hUUABSdXhISFgAAEREWnQIAAA8QFBYAFBWdBROdQw8PExMAERAUFAAQERQVABKdgBOdXg8PFRMAE51eDw8WFgASEgAWABESFhWd3hQTABOdXg8PFBYAEhMUAAASERUVABISExadAp3eFBMAE51eEhIVFgASEhadAgCd3hMUABUVnQURERQUnWedfJ3+EQANDp18naIRAJ2XE52InXwQEBISnYidaxAQEhIAnaIRnYidfBEREhGdZw8QABESExQAnZIQABEQEhMAABYVFp3KnWsTnV6dkhAAEBASEQAAFhUVncqdaxYUFgAAEJ1+AAkJDQ2dyp22nVUOABYWEhIAABYSEp1nnbYQEBIRncoODgAUFRISABYVnXyd6A8AERESEp3KDg4AABUSEwAAFp18FhYTnUOdBRMVnXwAABYUAAAVEhMAABYSnUMAFgAUFp18AAAUFp0FEhIAExWdaxQWEBEAFACdfBYAEhEAFQASEwAUFJ18FgASEgAVFJ18ABQUEwAAFRIRABUVnXwWABIRABMTnXwAFhQVAAAVnXwWABKdQxQWABQTnWudAhYWnXwWABKdXhUUABMVEJ2AnQUWFhEQnZsNDZ2Inbad6A8AEREWFQASEhYAAAwNEA8ADxASEp2InWudfBYAEREWFp2InWsQEBMSnYidaxIRABQAEhEUAAARERWdAgCd3hUWABOdehKdQxKdgJ0CEBAWFgAUnXoVnV4PDxQTABAQFhQAnXwWABISABYAE52ADxAWFAASnV4QEBYUABISABYAEhIWAAAQEBUUABMUABYAnWsWABISABYAEhIAFQATEgAWnQIAEBAVFACdegASEhUAABKdQ50CEBAVnV6dBRISABWdBZ0PnSmdGJ0SAwQFCAidlp0vnZOd6Z2tnS8NCgqdRw0KCp1Rneed9wwMDQoKnUcNnZOd6Z1RnUudvJ1RnVEOnSid1g0MnVUMnf2d9533nbSdbJ33nbSdbAwICJ0onaGdoQoKDQydlg0MnZadcQyd1p0xnemd1gsLndYMDJ3Wna2dL51RCwud1gsLndYMDJ33DAyd1gwLnfcLCw4NnaGd9wsLnfcMDJ3WDAydyQwMndYLC533CwsMnTAMBwcLCwwJCQwMDZ0ynVULCw0JCQwMnVUMDA0ICAsLDgkJDAydVQsLDQkJDAydVQwMDggICwsOCQkMDJ1VCwsOnZOdVZ20nc8OnZOdVQsLncQMDJ1WncQODgsLnVUMDJ1VCwsOnfIOnTIOnTIPC53/ndYJCQ+dJZ3JCwsPnTIPnfKdyQsLD50lnckLCw+dMg+d8p3JCwsPnYudyQsLD53yDwydlp3JCgqdVgsLnckLC51WCgudyQoKDw0OCgqd9woKnfcKCp33Cgqd9wkJnVUJCZ1WCwudVgoKnVYKCp1WCwudVgoKnVYLC51WCgqdVQoKnVYKCp1VCgqdVgsLnVYLC51VCgqdVgoKnVUJCZ02CwudVgwMDw8OCgqdVgoKnVkJCQ6dkxEJCQwMEQoKDQ0RnSgSnWwRCgoNDRGdbBEJCQwMEZ0oEZ1sEgoKDQ0SnWoSCQkMDBIKCg0NEp1sEp3nEp1qEp2TEZ0oEZ1sEp2oEp1VDhKdtRKdbBKdtQ0HBwsLnVkLC51ZDAydWQsLnTYLC51ZDAydWQwMnVkLC51ZCwudNgwMnVkMDJ1ZDAydWQsLnVkLC502DAydNgwMnVkMDJ2QDAydWQsLnVYMDJ02DAydWwwMnTYMDJ02DAydNp0xDQsKncQLC51VDAydVgoKnTYLC51ZDAydVQsLnVkLC51ZDAydNgsLnVkMDJ1VDAydWQsLnVkMDJ02CwudNgwMnVYMDJ1ZCwudWQsLnTYKCg8PEAwMnTadxA8PCwudNgwMnTYLCw6d8g8JCQwMD52TD50lnVYMDA8KCp3onWwPCQkMDA8KCp3oDQ0MCw+dk51WDAwPnc8PnSidyQsLD53nD52+Dg+dJQ+dKJ1WCwudVp3oDg4UFJ1WDAydVgwMnVYLC533Cgqd9wwMDg4NDAydVgwMnVYLC51WDAydVp3oDg4MC51WCwudVp3onWydVp3oDg4MC51WDAydVp3onWqdVgwMnVYMDJ1WDAydNp3onaidVp3onagPDg8MDJ02nbQKCgwNEQkJDAwRCgoNDRGdKBKdbBIKCg0NEp1sEQkJDAwSCp2JEp1sEZ2TEZ1sEQkJDAwRnSgRnWwSnSgSnWoSnSgSnSgSnWwSnbUSnWoSnbURnWydaQwMDQcHCwudWQsLnVkLC52QDAydNgwLnVkMDJ1ZDAydWQsLnVkLC502nbQPDwsLnVkNDJ1ZCwudWQsLnTadtJ21nTYMDJ02CwudNgsLnTYMDJ02negQEAwMnTYMDZ02DAydNp0xnemdVQsLnVUMDJ1VCgqdVgsLnVkMDJ1VDAydWQsLnZAMDJ1WCwudWQwMnVULC51ZCwudVQwMDw8OCwudNgwMnVYMDJ1ZCwudkAsLnTYKCp02DAydVg4NnTYLC502CwudNgoKDp3yDwkJDAwPnZMPnSWdVgwMDwoKneidSw8JCQwMD53nnVYMDA8KCp3oDZ3WDwkJDAwPCgqd6A2d6Q+d551WneidKw+dKJ1WCwudVp3oDg4VFJ1WCwudVgwMnVYLC533Cgqd9wsLnVYMDJ1WDAydVQwMnVYMDJ1WnbQODgsLnVYLC51WneidbJ1WnbQODgsLnVYLC51VneidbJ1WDAydVgwMnVYMDJ1VneidqJ2sDA2dNp3onWydNp3oC53dEp2TEZ0oEp2LEp1sEp3nEZ1sEp2TEp0vDBIODwwMEp3nEp1sEZ2TEp0oEg+d1hGdLwwRnWwRnSURnS8LnWkLCxKdtRIOnckSDw8LC51pDAwSDw8LCw6dz51ZCwudNgsLnTYMC502DAydNgsLnTadtA8PCwudNgsLnTad6A8PCwudNp3oDw8LC502CwudNp3onbWdNp3oDw4LC502DAydNgwMnX6d6BAQDQ2dfgwMnTYNDJ02na2doZ1VCwudVQwMnVYLC51WDAydVgwMnVYMDJ1ZCwudVgwMnVYLC51WDAydVgwMnVkLC51WDAydVgsLnTYMDJ1WDAydNgsLnVYLCw8ODwsLnTYMDJ1WDQ2dfgsLnVYMDJ02CwsOC53/D52TDp0oD50vDJ1Wneid551Wneidkw+dMZ1WneidKJ1WnbSdkw+dMZ1WDAwPnTGdVp02nSgPnS8NnVYMDJ02ncQODhQUnVYMDJ1WneidbJ33Cgqd9wsLnfcMDJ1VDAydVp3onWydVZ1VDg4LC51WDAydVp3EnWydVZ1VDg4LC51WDAydVZ3EnWydVp3onWydVgwMnVUODZ02ncSdap02ncSdap02nbSdUQ0SnbUSDw8NDBIPEAsLEhARDAwSnagSEREMDBKdtZ1pDAwSEREMDBKdqBIQEQwMnWkMDBKdtRIQEQsMEhAQDAwREBEMDBIPDwsLEp21EhERCwudlwwMEhAQDQ0SERELCxIQEAwMEhERCwudVgsLnX4LC51+DAydfgwMnWkODZ1+DAydaZ3+Dw8LC51+DAwSnaidfgsLnWmd/g8PCwudfgwMnWkNDZ1+DAwREJ1WEA4PDAydfgwMEp2onWkODhEQnX6daQ0NnWkODhKdqA8MnemdVgwMnawMDJ2sDAydrAwMnawNDBGdap1+DAydrAwMEZ1snawMDBGdap02DAydrAwMEZ1snWkMDBGdap1+DAydrAwMnWkMDBKdqBGdap1pDAwRnWydaQwMnVkJCZ02DAydNp3onZWdNhMTDw8QnegPEBMUnTYNDJ1bncQPDxMTnTad6BAPFBOdWZ3onZWdNhMTnTadxBAQExSdNp3EnZWdNhMTnTYUE51bFBOdNhMTnVsUFJ02ExSd9woKnVULC51VDAydVp3oDg4TFJ1WDAydVRQTnVULC51WDAydVhQUnVYMDJ1VFBOdVQsLnVYMDJ1WExSdVp3oDg4WEw8PndadVp20Dw8WFJ02FBSdVhUUnTYUFZ1WFBSdWRSdep0PnSmdGJ0SAZ2wnUadYp04CZ0hCJ2BCggInaqdZp04nTid/Z0qnTidSZ0vneUIBgYIBwcIBwed3woHBwkHB52hC51GB53fnZad353JDQqdrwudyQ4LCwcHB52BnaGdoZ1VndadL51+ndad2J2bAAsMnZudyp2bnWed3p2bnfadlp2WnemdyQ4LC52WnawOCgoIBwedoZ3pnaGdVp3WDQwMnVYPDAydm51nnWedZ53enWediAAOD51nnQKdFp0QnQUAAwQEnboICAAJCZ3YnboJCZ3YnboHB526CAiduggInboICJ26CAgABwcABgYABwcABwed2AAGBgAHB53YAAYFnboHB526CAgACQkABwedugkJAAcHAAYGAAkKndid2J2bAAkJndidmwAJCZ26CAidugkJAAkJnboICAAJCQAHB526BwcABwedugkJAAcHAAcHAAkJAAYGAAYGndid2J3YnWcACQmd2J1nAAkJnboHB526CAgACQkABwedugkJAAedGZ1AnQWdJp0FAAEFBQUICAAICAYJCZ17nboJCZ1nAAgIBAcHBgoKnWcHCwsJDAydZ52Ind6dZwAHBwAHB526CAid2AAHB526CwsABwedqgkJCQALneIJnSqd2J2bnYidmwYHB500nWedOJ0qnWediJ3enWed2J2bnZudZ52InZudZ53enZudugoKnWedm51nnWedZ53enZsABwed2J1nndgADA2dZ52IncqdZ50BnQGdQJ0FnSadBQADB50ZCJ0jCJ0jncsACp1EAACd2wqdwgCdfwAAndudVwCdZ50CnQULnXKdY50BnQGdip0BnQGdAZ0BnQGdAZ0BnQKdAgAAB50ZBZ0cB50ZnX8AAJ2KAAAFnRyddwAAnYoAAAWdG52KAACdfwCdugAAnX+dAZ0CnQIAnZudBZ3bCp07nVcAndidAp0FndudVwCd2J0CnQWd251XAAALnamdm50FnWOdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0CndsHnRkInSOdVwCdup0CAAAHnRmdfwAAnX8AnboAAJ1/AJ3YnQKdBZ3bncudAZ0CnQIAncydAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAQCd2wedGZ3bnVcAAJ1/AJ26AACdfwAAnX8AAAedGZ1/AJ2bnQKdBZ3bnVedAZ0BnQGdAZ0BnQGdAZ0BnQGdAQAAndsHnRkInSOdVwAAnX8AAAidGZ1/AJ26nQIAAAedGZ1/AJ2bnQKdBZ3bnVedAZ0CnQIAAJ3MnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQEAndsHnRmd251XAACdfwAAB50ZnX8AAJ1/AJ26AACdfwCd2J0CnQWd253LnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGd2J0FndsKnTsLnamd2J0CnQUInSOdy53YnQKdBZ3bnVcAnZudAp0FndudY50BnQGdip0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BAJ3YnQWd2wqdO51jnQKdVwAAndudy53YnQKdBZ3bncudZ50CnQUKnTudy50BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0CnQKdBZ0PnSmdGJ0SAQKdD50BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnUCdBZ0mnQUABAUQCQkMERIEAhIGBQkNDwoHBwYHCQ0NCAUGBQUHCwwIBAcEAwadrwgJBwYICwydyQsJBwoMEAwQDAYFCAudD0CdBZBvnRmdAZ0BnQGdAlhAnRmdAgCAQJ0ZnQIAqEAHANBAnRmdAgD4QAcAIEGdGZ0CAEhBBwBwQZ0ZnQIAmEEHAMBBBwBwQZ0ZAADoQQcAEEIHAHA9BwCYPZ0ZnQGdAZ0BnQGdEECdBRhAnRmdAZ0CnQKdJp0TEECdGZ0BnQKdAgD4PAcAID2dGZ0CAEg9BwBwPQcAmD2dGZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQKdAp0QqZ0FKD+dUp1v2D+dGZ0QGZ0F8D6dUp0fED+dGZ0QnYLQPp1SiDPhAIgzYZ0PnQUA4D6dGZ1AGZ0FSD6dUsAS4QAAmWCdHJ0FAGg+nRmdQBmdBcA9nVIAeJ194D2dGQAAAwQEBASd9Z31nQIAAJ1anXKdn507nYUAncWdGZ2AnRudQ50cnV6dE516nRedhp2HAAABAwIFBJ01nTCdKJ20nVmdtp0CAJ1anXKdn507nYUAncWdGZ2AnRudQ50cnV6dE516nRedhp2HAJ3zBAQEBASdEp0WnRCdBQACBAQFBQQFBQYFBAUFBQadpAYFBp3lnQKdEJ0pnRidEgEEBJ01nTALCwQGBQgHCQgKncMLCwQFBp1inTCd8QgJCAoICp3DnSUICAkInb+dJQudNJ0lC52yDAudNJ04nSUMC53qnWGdL53qnSidXJ0vnSqdMZ0UnSqdMZ1cnS+dM51RDZ1cnXGdR51cnWOdBQCdG50cnRmdE50jnRedHZ0eAAABAwKdFwADBAkICAoNEAQCCQUHCg4SCQcGBQcJDBAHBQUDBQgLDQgHBwUFB53DCgkIBgYICp2+CwkICQoREhAOnd8KnRzznQWIbp1SnS6Ab50ZnUg1DAAAOGKdUp0fcG6dGZ1I850FMGGdUgA44AAAOJ10KGKdGZ1I850FKGCdUp0uIGGdGZ1I850FIF+dUgBU4AAAVJ10GGCdGZ1INQwAANBSnVKdHwhfnRmdSDUMAACARp1SAHzgAABcYJ0YuFKdGZ1AnRlYRp1SADjgAAAQYJ0YYEadGZ1I850FUEWdUgCV4AAAlZ10SEadGZ1I850FSESdUgBc4AAAXJ10QEWdGZ1I850FQEOdUkxd4QBMXWGdD50FADhEnRmdSPOdBThCnVKIM+EAiDNhnQ+dBQAwQ50ZAAABCQkGCQkFnQSdBJ0EnQSdBJ0EnQSdBJ0EnQSdBJ0EnQSdBJ0VnS2dDJ07nUCdBZ0mnQUAAZ05nSGdBJ0EnQSdBJ0EnQSdBJ0EnQSdBJ0EnQSdBJ0EnQQJndudQJ0FnSadBQACnbCdRp1iCQkJCJ01nbMICAYHBwkICAkHBwkICAoICAoICAoICAoICQoICAcGBggGBgkGBgkHBwoICAkGBgkHBwoJCAmdRgcLCAid/53iDAkJDAgInf8MCQkMnfYHB53ineKd4p2eCQmd/50lCQkKCAid/53inf+d353/nf+dlp3/nfad/wwJCZ3/DAkJDAgIDAkJDAkKDAgICQcHnf+d353/nSUJncOdrwsLnTQJCZ3/nd+d350lCQkLnYSdgZ3bnUCdBZ0mnQUAAZ2mnWKdc504CQgIBwidZgsJCAgGBwedGgoKnVWdoZ04nVad6Z34CAUFCAcHCAcHnd8JBwcJBwedlgoHBwYIB52WnZad3w+d953xCgqdrA4KCgcHB52hnaGdgZ2sDZ2LC51pndad4p3pnemdoRAODQ4LnbILEZ1WCwudYp2hnZadlhCdvp3xCgoRnVUKCgcHB52hnaGdoQ+dkJ0vCwudaZ3WCgoJnemd6Z3pnawOCwud6Z1+Dwudcp1AnQWdJp0FAAIDAwMDAwMAnRedD50TnSmdHJ0FAJ0bnQUAAgYGDg4GBwcODgcHB522DQ2da53oD51iDw+dNBEQCQgInbYNDRIRnYgQEJ32Dw+doRARCQgIDg6diBIRnYgQD53KEhEAFBYSFJ1nnWsQEBYUncqdaw4OnXwWFhYTAAwNnWudfACd3hAQnaoNDQkJCQ8OnW0ODgAVFRIRABUWEhGdNJ1sDBERnZYODgATFRIRABQWEhKd351VDQ0SEZ2hDg4AFhMREgAUABIRABYVnXydAhQWnXwWABUTABYAEhIAABYSnV6dBRMVnXwAABSdehISnfgNDAgGBgsLCAYGDQ0Anc+dmw4OCQcHDQ2d/53OBgYNDZ3YDg6d2A0NCQcHnb4JCZ3OBgYNDJ2bnbYKCg0NnWedthMAnXwJCQ0NAA0OExSdmw0NnZsODgATFBESndgNDZ3eFROdZw0NndgMDZ2bnbYLC522Dw8WAAAQERYAnZudtg4OEhGdmw8Qnd4WFQCdaxSdZxAPAA8OExOdm51rDw8VAAAQndkQEBYVnQKd3hQUABKdQxCdgJ18Fp0Cnd4VFgAUnUMSERYAndgMC53YCgqdmwwMnZsJCZ2IDAydmwwMnYgMDJ3YDAwAnVCdZwwMnZsMDJ2IDAyd2AwMnYgNDp1nDAwAnUkOABQVnbad0wAPEBQWAA2doZ2IDg0AFAAQD51nDAwAEBAWFZ2IDAwGBwcQEJ3/Dw8MCQmda520Dp3KEBGd4hAQndYQEAwJCZ22DQ0SEp2IDxCdlhESDwwMERENCQmdaw0NERKdyp1rDw8SEgAWABQUnWedaxAQFBadyp1rDw4SEgAAFhMVnYgQEQARERYWnd4QEAcHBw4Ond8PD52WDw4AFgASEgAAFRESnd8PD53WEREOCwudthYUEhIAABQSEZ2WnaIODhMSDgsLnbYVFhMTABUWEhIAFgATFZ0CABYWEp2AFRQAFhYUEwAAFhSdep0FFBWdfAAWFRWdBRISneIODg0KCp1RCgsODp2IDAyd3hAQDQoKnTYMDJ3ECgoOD53KEA+dyg8PDQoKDw8SnegPDwoKDg+dyp1rncQPnd6daxYAEhIAnf0OABERFgCdyg4Ond6daxYAEhGdiA4OABMSFRad3g4OnZsNDZ1nnWsMDJ1rDxAVAAAQEQAWnWedaw4OERKdm51rDw8VFgCdawCdZ51rnbYTnWcQEQAQEBYAAJ1rFgCdfBadAp3eFBMAEp1DEZ1DnXydAgCd3gAWABSdQxISFhadmw4OnWcODp1nnbadtA6dyhEQnWeda53+EJ2bnbYNDZ1rnegPnWedtg8OnWsLC522Dg6dfJ3oD53enXwAABMSAA0MnbadawCdyp22nf4RABYAEhKdiJ22nXwAncoPD532EBCdlhAQDQkJnWsODp18Dg4REJ2WEhEOCwsSEg4JCp1rDQ0SEwAODRAQDAkJnaINDRERDgkJnbYODhMUnYidtg8PEhMAABYWFp2InXwQEBMVncqdaw4OEp1DnQUNDZ1rEp1DD51bCAcHDg6dlg8PDQoKDw4AFgASEgAWABISnZadfgwMEREOCwudthQVE51DERKd6Q8PEA0NEhIPCwsODgAWFRMTABUWEhIAFhYUnUOdBRYTnXwAABYVAAAWExEAABYTnV6dBRYVEp2AFp0FABMTndgODp2bDw6dm522ncQOnd6dawsLnWsNDZ1rCwudtg4OERCdyp22Cwudaw4NnbYLC522Dw+dfJ3EDgCdohEAABYSEp2InbYRERYAnd4PDgCdWxEAABYSE52InbYUEhUAnd4ODp2bDQ2dZ51rDAwQDwAPEBYWAJ18AJ1nnWsODhISnZudaw8QFhQAnWsWnWedaw8PEhSdm51rnbYAAJ1rAAARERadAgCd3gAVABKdQxGdxRERFhadAp3eFQAAFBadBRKdQwwMnbYMDJ22DAyda53oD53enXwNDJ1rnf4QAAwLnWsODp18nf4QnWedaw8PERCdmw8QncqdfJ3+EJ3eEp1DFhOdiA8QABCdgJ3+EJ3eEp2AFBSdiBAPABERFhadyp22Cwudaw0NEBGdiBESAJ2iEQARERISnWedfBAPEhKdZ51rEBASEp3enXwMDJ18EBATEp1nEBEAEBATEwCdWxEAEBATnYAUFp2InWsTEhUAnd6daxAQEp1DFhWdyp1rFRMVFgCdkhAACQkODp2InbadxA8AABQSEwAAFhISnWedtg8PERIADp1JABQAEhIAFQASEZ2IDxAAERESEp3KnbYWFhQTABQVEhIAFBYTnV6dBRQUnXwAFhYVABYAEhIAFBYTnV6dBRUVEZ1DFRQAABYTEgASEp22FhUREAAAFp18FBYSEgAAFhQUABUTnWsVFRISABMTnXwAFhMTABYUnXwVE51rFhYTEgATFJ1rFhUTFQAVFhESABUUEp1DExQAFBOdaxYWnQUVFREQABYUE51DFBQAFBOda50CFRadfJ3nnYgPEJ2InWsREhUAABGdQwwMDxCd3hMSnWedaxERFgAAnXwWnWcREAAQEBMUnWeda518AACdfBUAERAWnQIAnd4UFgAUnUMSnUMRERWdAgCd3hUWABMUFgAAE51DDg4SEgAQEBYUABAQFhMAEREUFgATnV4PDxQAABIVABSd3hUUABKdgJ18Fp3eExMAE51DDw8UAAASEhYWAJ18FAASnUMAFp0FDw8TFAAUnV4RERQVABESFBadBQAWnd4UFAAWnXoREhQAnWcREJ3KnXwNDZ18EBASEgARnc2diJ18DxASEp2InWsQEBISAJ2iEJ2InWsRERIRnWcPEAARERMTAJ2SEAAQEROdQxUWncqdaxISABYAnZIQABAQEp2AFRSdyp1rFRYWAACdkhAACQkODQCd4xAADg0PDgAWABISABUAERKdiJ22DxASEZ3KDw4AFBYSEgAWFZ18negPABERExOdyg4OAAAWEhIAABadfAAWE516nQUVFBGdxRUWnQUSnV4SnUOdBRYAnXwAABQWnQUSEwASE51rFhSdfBYWERIAFhYSEQAAFhITABQUERIAABYTEgAWFp18FgATEwAAFhISABQWnXwAFhISABMUnXwWABQTABYVnXwAABKdQxYTABQAnXwWAAAWAAAUERIAFgATnV4AEwATFZ18nQIUFREQnZsNDZ2InWud6BAAEREVFgARnUMMDJ1rDw8SEp2InWsREBUVAJ18AJ2InWsQEBMSnYida518FgAREhQW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CQkABwedugkJAAYGnboJCQAJCZ3Yndid2J3YnZsACQkABwed2J3YAAwLnWedm52bnWed2AAHB53YndidZwALDJ2bnZudm53YnboJCQAJCZ3YndgACgmd2J3YAAkJAAYGndid2J2bnWedm52bnWedmwAHBwAJCQAJCZ2bnZud2J3YnZsAndudQJ0FnSadBQABBQUGBwcACAgGCQkICwudugkJnWcACAidqgcKCp1nCAsLCQwMAAsMnWed3p1nAAYGAAYGAAcHAAcHndgABwedugsLAAcHBgcHneIAnd8JCZ0vndidm52InZsHBgadbZ2bnYGdL52bnWed3p2bnZudm51nnWedyp1nnWed3p2bnboKCp2bnZudZ51nnZud3p2bAAYGndidZ53YnYidZ52IncqdZ50BnQGdQJ0FnSadBZ3znQUInSOd251XAJ3YnQKdBZ3bncud2J0CnQWd253LnZudAp0FCp07ncudAZ0CnQIAnYqdAZ0BnQGdAZ0BnQGdAZ0CnQIAAAedGQadGwedGZ13AJ26nQIAAAedGZ1/AJ26nQIAAAedGZ1/AACdfwCdugAAnX+dAZ0CnQIAnboAnboAndidBZ1/AJ3YnQKdBZ3bncud2J0CnQWd2wudO50Cncud2J0FncudAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ26AJ3YnQULnXKdY50Cncud2J0FnW6dBZ1unQWdY51unQWdbp0FnWOdbp0BnQKdAp0FnXCdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAQCd2wudcp1jnWOdAp1unQUMnXKdY50CnW6dBZ1jnW6dBZ1unQWdY51unQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdBQidIwqdOwudcp1jnQKdbp0FnWOdbp0Fncud2J0FnW6dBQ6dTQANnVqdbp0BnQKdAp0FnXCdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAQCd2wudcp1jnWOdAp1jnQKdY51unQWdbp0FnWOdY50CnW6dBZ1jnW6dAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0FndsLnXKdY51jnQKdY50CC51yndydiJ0CnQWdYwydTZ1nnQKdBQudcg6dTZ0BnQKdAgCdip0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BAACd2wudcp1jnW6dBZ1unQWdY51unQWdY50CnWOd3J3KnQKdBZ1jnW6dAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0PnSmdGJ0SAQICnRadEJ0FAAQEDAkIDA8RBAILBgUJDQ8LBwgHBwoODQgFBwUFCAwMCAQHBAMGnbIICQcGCAsMDw0ODAkHCg0QDBEMBwUInXIAnRGdEf//nRmdEZ0R//+dAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BAJ0R/50pnQ+dGZ2AH50BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQVjnQWdGZ2AH50BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0CnQKdDzGdBcihnRmdAZ0BnQEAOICdGZ0CAGCABwCIgJ0ZnQIAsIAHANiAnRmdAgAAgQcAKIGdGZ0CAFCBBwB4gQcAKIGdGQAAoIEHAFh9BwCAfZ0ZnQGdAZ0BnQGdAZ0CnRAxnQUAgJ0ZnQGdAp0CnSadE/h/nRmdAZ0CnQIA4HwHAAh9nRmdAgAwfQcAWH0HAIB9nRmdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0CnQKdEKmdBRB/nVKdb8B/nRmdEBmdBdh+nVKdH/h+nRmdEJ2CuH6dUogz4QCIM2GdD50FAMh+nRmdQBmdBTB+nVLAEuEAAJlgnRydBQBQfp0ZnUAZnQWofZ1SAHidfch9nRkAAAMEBAUEBQSd9Z36nfqdAgAAnVqdcp2fnTudhQCdxZ0ZnYCdG51DnRydXp0TnXqdF52GnYcAAAEDAgUEnTWdMJ0onVEOnZKdxZ0FAJ1anXKdn507nYUAncWdGZ2AnRudQ50cnV6dE516nRedhp2HAJ3zBAQEBASdEp0WnRCdBZ3zBgYFnaQFBp3lnbAHBgcGnYqdJp0pnRidEgEEBJ01nTALCwQGBQgGCQidvwsKnaSdOp0yC51iCQgKneQLnZqdYgidv53xCgudNJ0lDJ2yDAudNJ0lnYEMnbKdKJ0UnaGdYZ0vnWGdXJ1xnRSdUQ2dXJ0vnTOdXA2dXJ0vnVGdUZ0vnb2dAgAAnRudHJ0ZnROdI50XnR2dHgAAAQMCnRcAAwMHBwkNEAMCBAYKDREHBAQGCQwOBwYGBQcJnZYJBgYJDA4ODQkICgsSEg8NCwqdwp0c850FwKCdUp0uuKGdGZ1I850FuJ+dUgA44AAAOJ10sKCdGZ1I850FsJ6dUp0uqJ+dGZ1I850FqJ0AnVIAVOAAAFSddKCenRmdSDUMAABYkZ1SnR+QnQCdGZ1INQwAAAiFnVIAfOAAAFxgnRhAkZ0ZnUCdGeCEnVIAOOAAABBgnRjohJ0ZnUjznQXYg51SAJXgAACVnXTQhJ0ZnUjznQXQgp1SAFzgAABcnXTIg50ZnUjznQXIgZ1SiDPhAIgzYZ0PnQUAwIKdGQAAAZ0hneGdBAmdwZ0EnQSdBJ0VnXOdBJ0EnQSdBJ0ECQkJnXOdBJ0EnQSdBJ0ECZ3bnUCdBZ0mnQUAAp1GnUadYgmd9p01CAkICAkHB534CQgHCQcHCQgICggICggICggICggICggIBwYGCQYGCQcHCQcHCggICQYGCQcHCggICZ2mnf+d/wsICQwJCQwICJ3/DAkJDJ32Bwed4goKneSdwwqd/53/nZ4JCQoICJ3/neKd/53fnf+d/53fnf8JCAid/wwJCZ3/DAkJDAgIDAkJDAkJDAgICQcHnf+d353/nSUJncOdOAud/53inf+d353/nd+d/wudhJ3xndudQJ0FnSadBQABBgadYp1iBwkInTgJCAidYp2BCQgIBgcHnRoKCp33naGdbQ4ODZ2hnfgIBQUIBwcJBwed3wkHBwkHB52WCp2mDAsKnZad353JDZ3xCgoRnfcKCgcHB53TC52yC52snXELCxGdVgwMneKd6Z3pnekRDg0OC52yCxCdVgsLnWKdoZ2WnZadyQ4LCp2WnawOCgoIBwedoZ2hnaERnVWdLwsLnX6d1p1tnemd6Q0LDJ2sDgud3Qudfg4LnXKdQJ0FnSadBQACAwMDAwMDAJ0XnQ+dE50pnRydBQCdG50FAAIGBg4OBgcHDg4HBwcODp2InWud6A6dYg8PnTQQEAkICJ22DQ0REJ2IDxCd9g8PnaEQEAkICA4OnYgREp2Inbad/p3FExKdZxAPAA8QABSdyp1rDg6dfAAAExKdZ522nXwUncoQEAUGBwwMCQkJDg6dbQ4OABUVEhEAFBQSEZ00nWwMEBCdlg4OABQTEhEAABQREp3fnVUNDRISnekODgAUFBESABUVnXwVABKdQ50FFBMQnYATnV4SEgAVFRKdQ50FFBQQnYAVFZ0FEhOd+A0MCAYGCwsIBgYNDQCdzwALCg4OCQcHDQ2d/53OBgYNDZ3YDg+d2A0NCQcHnVEKCZ3OBgYNDZ3YDw6d2A0NnZudthMUnXwJCQ0NnYgUFJ2bDQ2dm522ExOdfAoKDQ2d3hQUnWcNDZ3YDAydm522Cwudtg8PFAAAnWsVnZudtg4OEhGdm522DxATFAAQEBUVnWedtg8OEhKdm51rDw8VFQAQndkQEBWdAgCdyhQUABKdQxARFQAAEBAVFZ0Cnd4VFQAUEwAVAJ18AJ3YDAud2AoLnZsMDJ2bCQmdiAsMnZsMDJ2IDAyd2AwMnWcNDZ1nDAydmwwMnYgMDJ3YDAydiA4OnWcMDJ3KDg0AExSdtp3Tnd4VFJ2ICwudiA0NABOd3p1nDAwAERATAJ2IDAwHBwcQEJ3/Dw8MCQmda53oDp3KERCd4hAQDgsLERAMCQidtg0NEhKdiA8PnZYSEQ8MDBERDgkJnWsNDRITAA4NERCdyhKdQxQVnWedaxAQFBWdyhEQncoSnV4TFZ2InXydfBWd3hAQCAcHDg6d3w8PnZadthQUEp1DERGd3xAQndYSEQ4LC522FBUSEgAAExIRnZadog4OExMOCwudthUVExMAFRQTEgAVABKdXp0FFBQSEQAVnQIAE51DEp1enQUAFRGdQwAVAAAVEhOd/w4ODQoKnVELC522nUud3hAQDQoKDw8QDAydNgoKnbYODRAPAA4NDw8NCgoPDxKdxA8PCgoOD53KnWud/g+d3hEQABUAEhIADA2dtp1rAJ3KnbYPnVsAFRQSEp2InbYTnUOdNg+dmw0NnWedawwMnWsPEBQAABCdgAwMnWsODhISnZsQEZ3eFAAAnWsAnWedaw8PExOdm518EBAVAACdawAAEREUnXqdBQ8PFAAAEZ1DnXwAAJ1rFZ0Cnd4VAAATnUMSnYALCw4OnZudtgwMnWudtA6dyp18DAyda53+EJ2bEA+diBARnYidawwMDxAADw6dawsLnbYODp18DQ2daw8OEhIAFQATE52InbYQEBQUncoQD53KnXwVABQSnYidtp18AJ3KEA+d9hAQDAkJEBANCQmdaw4OEhGdyhARnZYSEQ4LCxISDgkJnWsNDRISnYgREAwJCZ3NDQ0QEA4JCZ22Dg4UFJ2InbYPDhKdQxQVAAwNEBEAEBAUFZ3KEBGdyhKdgBQVnYidaxMRABUADp1bCAcHDg2dlg8PDQoKnbYVFRITABQVEhKdlp1+DAwREQ4LC522FRUTEgAAFRESnekPDxANDRITDwsLDw4AFQATEwAAFRISAAAVE51enQUUE518AAAVAAAVABITAAAUFJ1enQUVFBKdgACdehITndgPDp2bDg6dmw8Qncqdtg+dW52bnWsODZ1rCwudtp3+EJ3KnbYLC522negPnZudtg8PEhGdyp22DxASnUMUFAAODRAPABERFQCd3p22EA+dfAAAExOdiJ22FJ1enTYPnZsNDZ1nnWsMDJ1rDw8VFQARncUMDJ1rDg6dfAsLnWudtgAAEBAVAJ1nERAADg8UFJ2bnWudthQAnWsVABARFZ0CAJ3eABUAEp1DEZ3FEREVnQIAnd4AFAATFBUAABGdQwwMnbYMDJ22DAyda53oD53enXwNDBEQncoREJ2bnWsODp18Dg6dfAwMnWsPD518Cwudaw4OnXyd/hCd3hKdgBMAnYida51rFZ3KnWsPDxKdgBMTnYidaxIRABUADp1bnZudaw0NnXwNDZ18nZIRABAQEhKdZ518EA8SEZ1nnWsQDxMTABAPnXwMDBESABAQEhKdZ51rEBATEwAPnc0ADxASnUMUFJ2InWsSEhUUnd6daxAQE51DExSdyp18ExMAFQCdWxAACQkODp2InbadxA8AABUTEwAAFRISnWedtg8PEhIADg2dthUVEhMAFRQSEp2InWsRERITncqdtgAVExMAFRQSEwAUFBOdXp0FExSdfAAAFRUAFQASFAAVABIVnQIAFRUTnUOdAhMTABISnbYSFBEQABQAnXwVAJ18FRQTFAATE51rFRUREgATE518FBUVFQAUFBISABMTnWsAFRITABITEBEAFRUTFAAVExISABUUExWdBRQVABMTEZ3FnQUVFJ18FBUTnUMAFQATEhCdgJ0FFBSdfAsLDg6diJ1rDQ2daxERFQAAEZ1DDAydaw8PERKdZ51rnWsUAJ18FZ1nnXwQEBMUnWedfJ18FACdfAAAEREVnQIAnd4AFAATnV4SnUOdfJ0CAJ3enQUUnV4TnUMODhUTABAQFBUAEBAUFAARERQAABERFBSd3hQUABMSFACd3hQUABESFRQAEREUFZ3eExMAExIVFZ3eExQAEZ1DEREUFAAREhQVnQKd3hQUABOdXhERExUAnXwVnQUAFZ3eFBMAAJ16EREVFJ1nnWsODp18DQ2dfJ2iEgAREBISnYgSEQAPEBMSnYidaxAQExMAnaIRAA0MnXwQEBIRnWedaxERExIAneAAEBESnV4UFJ3KERAAEhIVAACdkhAAEBASEQAAFRUVncqdaxUUFQAAnZIQndgODp3KDxCdyp22ABUSEgAAFRITnYidaxAQEhGdyp22FAASEgAVABIRnYgQDwARERMTncqdthQUEp1eEhEAABUSnUOdBRQVEp2AnQITEwAAFRKdQ50FFQASnYAAFZ0FExQAExOdawAVEhEAFQASEgAUABMSABUUExMAFRMREgAAFRMTABUTEhIAFQAUEgAAFRISABQVnXwVABISABUTnXwVAAAUAAAUEZ1DE516FBMAExUREgAVnQUAFRUSEQAAFRKdQwAVABQTEJ2AnQUVFJ18neediJ1rDQ2da518FQASExUAnWedaw8PExKdiJ1rEBEVEwARERUVnYidaxAQFBKdiJ1rnXwAABKdQxIRAJ16nQUPDxUVABOdQxERFRUAnXydAgCd3hQVABSdehOdXg4PFRMAnWsVABEQFRUAERIVFAASEgAVAJ1rFAATnV4QDwAUABKdQ518FQAQEBQUABSdXg8QFRYAEp1DEp2AEp1DnQIQEBUUABOdehIRFQAAEZ1DnQKdaxQAAJ16EhIWnQWdJp0pnRidEgIDBAcHnY6ddg0NnSqdKJ0vnYmdS539nTOdX50zDQ2diZ1LDJ2jnS+dM51QnV+dL52jnS+dUZ1QnS+dUZ1xnaOdL51RnVAMnZad350lC53/Cp2vnd+dlgoKnXEMnekLnd2dL53pC53dnS+dcQyd6Qud3Z0vnekLnd2doQ2di53pC53dnaGd6Qud3Z2hDZ2LnekLnd2doZ3pC53dnaGdgZ0rnf+dKp0oDAkJnVEKCp1RneedSZ1RCwqdtJ0xnemdUZ3nnUmdUQoKnVGd5w0KCp2+CwudSZ1qDQoKnUmd5w0KCp1JneedSZ33CgqdSZ3nDQoKndYJCZ3WCQkOC53/ndYICA4LCwcHnckKCg8MnZadyQoKDwydlp3JCgqdyQoKDwydlp3JCgoPDJ2WnckKCp3JCgoPDJ2WnckJCQ8MDAkJnfcJCZ3JCgoPDJ2WnckJCQ8MDAkJnckJCQ0MDAkJnVEICJ1RCQmdUQcHnfcICJ1VCgqdVgsLnVUJCZ1WCgqdVgkJnVUKCp1WCwudVgkJnVUKCp1VCQkPDg8KCp1WCwudVQkJnVUJCZ1VCAidVgoKnVYLC51VCQmdVgkJnVUICJ0vDQ2dkgsLERAQDAwREBALCxEQEAsLEREQDQ0REBANDRIREAwMERAQDQ0REBEMDBIREQ0NERCdrBIREQwMEhAQDQ2dlw0MnZcNDREQEA0NEhERDAwREBANDJ2XDAwSERENDRIQnawSEREMDJ2XDQ0SERIMnf0OCgqdrA0NnWkODhEODgwNnawNDZ1pnf4QnX6daQ4OEZ30nWkODhEPnawREJ1+nWkNDZ1pDg4SDw8NDp1pnf4QnX6daQ0NnWkODp1pDQ2daZ3+EJ1+nWkNDZ1pDg4Snaid6QoKnawNDJ2sDQ0QD53WnawMDJ1+nf6dVQ6daQ0NnX4ODp1pDQ6daQ4OEZ1WDp1pDQ2daQ4OnWkNDZ1pDg4RnVUOnWkNDZ1pDQ2daQ0NnWkODp1pDg6daQ0NnWkNDZ1pnbQODwgInVUTE51ZEhOdVRMSnVUTE502ExKdWxMTnTYTE51bFBOdNhMTnTYTE52SFBOdNhMSnVsUE502EhKdNhMUnVsTE502FBOdNhQTnTYTEp02ExOdWxMUnTYTE502ExSdNhMTndYJCZ1VExOdVRMTncQUE51WEhOdNhMTDw8OFBOdNhQTDw8OFBOdNhQTnTYTFJ1WExSdNhQUnVYUE502ExOdNhMTnVYTE502ExSdNhQUnTYTE502FBOdrBMTnTYUEw8ODxQTnVkUE50vDQ2dkgsLnZIMDBEQEAsLEQ8QCwudlw0NEhARDQ0SERENDBEQEQ0NnZcNDZ2SDAwREBANDREQEAwMERAQDA2dlwwMnZcNDRIQEA0NEhERDAwSEREMDJ2XDAydlwwMERAQDQ2dlwwMERAQDAydlwyd/Q4JCZ2sDQ2dfg4OEZ1qnawNDZ1pD51bnX6daQ4OnWkPD51pDg6daZ3+EJ1+nWkODp1pDg6daQ4OnWmd/hCdfhIPDw4NnWkODp1pDQ2daZ3+EJ1+nWkODZ1pDg6daZ1RnSWdrAwMnawNDRAPndYRnWydaQ0NEZ1VDp1pDQ0RnZANnWkNDZ1+DQ2drA4OnWkNDZ2sDQ2dfg0NnWkNDRGdVQ6daQwMnWkNDZ1pDAydfg0NEQ4ODQ6daQwMEZ1qnWkMDJ1VCAidVRISnVkTE51VExOdkBITnTYSE51bFBSdNhMUnVsTFJ02ExQPDxATE51bFBSdNhQTnVsUE502ExSdNhMTnVsUE502ExOdpxQTnTYTE502ExSdWxQUnTYTE502FBSdNhMTndYJCZ1VEhKdVRMUnVUSEp1VEhOdNhMUnVYTE502ExMPDg8TE502EhSdNhMTnVYTE502FBMPDw4UFJ02ExOdNhMTnVYTE502ExOdVhMUnVkTE502ExOdVhQTnTYTE51WFBOdNhMTnbwNEREQCwudkgwMEREQCwsREBALC52XDQ0REBANDRIREQwMERAQDQ0SEREMDBIREQ0NEhARDQ2dlwwMEhERDQ0SEREMDBEQEQwMERAQDQ0REBALCxEQEAwMnZcLC52XDAwSEBANDRIREQwLERAQDAwSERELC51JCQmdrA0NnX4ODhGdbJ2sDQ2daQ4OERAQDxASnZWdaQ4OnWkODhKdlZ2SDxASnZUREJ1WEp2VnWkODhEQnX4SDp3JnWkODhKdqJ1pDg4RnX4PnWkNDZ1pDg4Snaid6QoKnawMDJ2sDAwRDg8LCxEODgsLnWkNDRGdVQ2daQ0NnX4NDZ1pDQ2daQ0NEZ1VDp1pDQ0RDp3JnX4NDZ1pDQ0RnWqdaQwMnawMDJ1pDAydaQ0NEZ1qnWkMDBGdbJ1pDAwNDw4ICJ1VExOdWRITnVUSE52QExOdpxMTnVsTFJ02ExOdWxMTnVsTE502ExOdWxQUnTYTE502ExOdNhMTnTYTE51bFBOdNhMTnTYTE502ExOdpxMTnVsVE502FBSdNhQVnTYTFJ3WCAidVRMTnfcTE51VExMODQ4TE502FBSdVhQTnTYTFJ1WExSdNhQTnTYTFJ1WFBSdNhQTnVYTE502ExOdNhQTnVYVE502FBWdVhUTnTYTE502FBSdVhMVnTYTE51WExSdNhMTnbwNERAQCwsREA8MDBIQEAsLERAQCwsSERENDRIQEA0NnZcMDRIREA0NEhERDQ2dlw0NERAQDQ0SEBEMDBEQEA0MnZcMDBIREQ0MEhAQDQ0SEREMDBEQEAwMnZcLCxEQEAwMERAQDQ0REBALCxEQEAwMnZcLC51JCQmdrA0NnX4ODhGdbJ2sDQ2daQ4O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Dg4SEp2bnWsPDxUUAJ1rAJ1nEBEADw4TEwALDJ1rDw8VAACdawAAEJ2AnQIPDxUAAJ18AACdfAAAEZ3FnQKdthQAE516nXwAnWedtgwMnbYMDJ1rnegPnd6dfA0NERCdyp18Cwudaw4OnXwNDZ1rDAydaw8PEBGdmw8QncqdfA0OnWsPDxISABUUFBOdiBARAJ1rAJ3KnWsPDxKdQxQTnYida518AJ3KnWsLC51rDQ0SEZ2InXydohEAnaISnWedfA8PEhKdZ51rEBATE53eEBGdZ518ERESEp1nnXwQEBMTAA+dzQAQEBKdgBUVnYida518FJ3eEBEAEBATEgAAFRQVncoREACdegCdWxEACQkODp2InWudxA8AABQTnV4TE51nnbYPEBMSncqdthUAEhIAFAAREp2InWudlxOdyhAPABUUFJ1eE51eE51DnQUUFBGdQxUVnQUSEgAVABKdXp0FFBUSnUMUFZ0FExMAEhKdthQVnXwTFZ18AAARnUMUEwATE518AAASEgATFBARAAAVFBQAExQTEgATFJ1rAAASEwATFJ18ABUAFAAVFRETABQAE516FAAAExIRncWdBQAUnXwUFRKdegAVABMUnXydAhQVnXwLCw4OnYgQEZ2InWudfBUAEhEVAJ2InWsPDxISnWedaxEQFQAAnXwAnWedfBERExUADQyda518AACdfAAAEhEAFZ0Cnd4UAAAUnUMRnUMQnYCdAp22AAATnV4SnUMODhISAJ1rFQAQEBUVAJ18FAARERQAABCd2RSdeg8PFBQAEREVAAAREhQUnd4UFAASnUMPDxMUABGdQxERFBQAEhEVnQIVnd4UFAATnV4RERUAAJ18nQUAFQCd3hMTABQVnQUSERUVnWedaw4OnXwNDRESABAQEhEAEBASEp2IEhIADxATEp2InWsQEBQSAJ2iEQAMDZ18ERASEp1nnWsREBQTAJ2SEAAQERKdehUUncoREAATEgAUAJ2iEACdohIAABUVFZ3KnWsUFBUAAJ2SEJ3YDg6dyg8QncqdtgAVEhIAABUSE52InWsQEBISncqdthUAEhIAFQASEp2InWsRERMUncqdtgAAEhQAABUSEgAAFROdQ50FFBUSnYAVFZ0FExMAFQASnV6dBRUUnXwAFZ16ABMTABMUDxAAABQSEQAUFRESABUAEp1DExMAFBQRnUMSEwAUFBKdgAAUAAAVERIAFBWdfAAAEhIAExOdfAAAFRUAFBSdfAAAFZ1eFBMAFRQRnUOdBQAUEhEAFRQSnUMUFQAUFJ18nQIUAJ18CwsNDp2InWsNDZ1rnXwAABGdQw0NnWsPEBISnYgQEQAQERQAABESFACdiJ18EBAUFZ2InWsRERUAABGdQxESABWdAp3eFAAAE51enXwAABIRFZ16nQUQEBQVABUUABUAExWdBZ22AAAQEQATAJ1rAACdfAAAE51DEBAUFAAUEhUAnd4VFQASnUMSnV4QDwAVABSdXp1rAAAUEgAVABESFQAAEp1enQIQEBQUABOdep18AAASERQVnQIAnWsUABQWnQUSEgAWnQWdD50pnRidEgIEBAgInY4LC51mDA2dKp2BnS8MCp1QnSoNDZ0qDQ2dyA0NnYmdzg0NDA2dKg4Ond2dvZ0znYkMDJ2JDQ2dKg0NnYmdvZ0znYkMDJ2JDQ2dKg4OnYmdvZ0znYkMDJ3fCgqdlp2BCAgLCw2dMp2WCgqd6QsLDZ0rnekMDJ3pCwud6QwMnekMDA2dK53pCwsNnZ6d6QsLnekLCw2dK53pCwud6gud6QsLnekLCw2dK53pCwud6QsLnemdgZ0ynZYJCZ0vC53dDAkJDQydlp0vnTGdSQ2di51Rna2doQ0MnemdUQ4ODQydlp1RC53dnZadUZ3nnUkNDJ2WnVELnd0NCgqdUZ3nnUkNDJ2WnVGd552WndYICJ3WCQkOC53/ndYICA4LCwcHnfcKCg8MnZadyQoKDwwMCQmdyQoKnckKCg8MnZadyQoKndYJCZ33CQmd9wkJDwwMCQmdyQkJndYJCZ33CQmd9wkJDwwMCQmd9wkJndYJCZ33CQkNDAwICJ1RCAid9wkJnVEHB533CAidVQoKnVULC51VCQmdVQoKnVUJCZ1VCgmdVgsLnVUJCZ1VCgqdVQkJnVUJCZ1WCwudVQgInVUJCZ1VCAidVQkJnVYLC51VCAidVQkJnVUICJ0vDQ2dfgsLEA8QDAwREBALC51pDAudkgwNnX4NDZ2SDAwQEJ3JnZIMDJ2SDQ0REJ2sEREQDAwREBANDREREAwNnaINDBEQEA4NERAQDAwREBAMDBEQEQwMnZcNDZ2SDQ4RERAMDJ2SDQ2dlwyd/Q4KCp2sDAydfp3+nWydVg0NnWkODRCdfp2nnVadfg4OnWmd/p2VEJ1+D51pDQ2dfg4OnWkNDZ1pnf6dNg+drA0NnX6d/p1qnWmd/p1+DxGdap1+Dg4RnWqd6QoKnayd6J1qnawMDJ2sDAydNp3+nVUOEJ1WDp2snf4PDw4NnX6d/p1VDp1pnf6dVQ6dfg0OnX6d/p1VDp1+DQ2drA0NnX4NDZ1+nf6dVQ6daQ0NEA+d951pnbQODgkJnVURnaASEp1VEhOdVRISnTYTEp2nEhSdNhITnTYTE502EhSdNhITDw8QFBKdNhISnTYTE502EhOdNhITnTYTE52QExOdNhQTnVYTEp1ZEhMPDxAUFJ1VEhOdNhMSnVUSEp3WCQmdSRISnfcSE51VEhKdVRISnTYTE51WExKdWRMSnVYSEp02ExKdWRMTnVYTEp1ZExKdVhMSnVkTEp02FRKdVhMSnVkSE52QFBOdWRITnVkTE51WExSdWRISnVUTE51ZExKdLw0NnX4LC51+DAydkgsLnX4LC52SDQ0REBANDZ2XDAydkg0NERARDQydWwwMnX4NDREQEAwMEBAPDAydkgwMEREQDQydkg0NERAQDAwREBAMDBEREAwMEBEQDAydaQ0NERAQDAydkgwMnZKdMQ0JCZ1WDQ0QnVYOnayd6J1qnWmd/p02naedVp1+Dw+daZ3+nZWdfg8PEZ2QDp1+Dg6daQ0OnWmd/p02DxGdap1+Dg4RnWqdaZ3+nacPEZ1qnX4ODhKdap3pCwudVgwMnVYNDZ2sDAwQDZ3WnX4NDZ2snf6dqJ2sDQ0QDp3JnTYNDZ2sDg2drA0NnawNDZ1+DQ2dfg0Nnayd/p21nawNDZ1+DAydfg0NnawODhEPndadrA0NnX4MDJ1VCAidVRESnVkREp1VERKdVRISnVkSEg4QDxMTnTYSE52nFBOdNhISnVkSE51bFBOdNhOdoBQSnVkSEp1ZEhOdWRMUnVUSEp1ZEhOdVRITnVkTEp1bFBWdxBMTnVkTE51VExINDAwJCZ1JEhOdVRITnVUSEp1VEhKdWRMTnVYTEp02ExOdVhMUnVkSE51ZFBKdVhISnVkSEp1VExOdWRISnVkTEp1WExOdWRMSnVYTEp3EEhOdWRMSnVYSE52QExSdVRMTnVkTE50vDQ2dkgsLnZIMDBEQEAsLnWkLC52SDQ0RDxANDZ2SDAwREBANDREREAwMEREQDQ0REBANDZ2XDAwREBANDZ2XDAydkgwMnWkNDREQEAsLERAQDAydkgsLEBEQDAwREBANDREREAwMEREQDAwREBALC51JCQmdrA0NEJ2QDp2sDAydrA0NnWmd/p02D51pnf6dlZ1pnf6dlZ1+DxARnZAOnX4ODp1pnf6dlZ1+Dw8RnWqdfp3+nWqdaZ3+nX4PEZ1qnX4ODhGdap3pCgqdrAwMnckNDJ2sCwudrAsLEA4PDQ6drA0NnX4NDZ2sDQ2dfg0NnX4NDRGdVQ6daQ0NEA6dyZ1+DQ2dfg0NnawNDZ1pDAydrAwMnX4MDJ1+DQ2drA0NnWkMDBGdbJ1+DJ39DggInUkSEg0PDxESnVUSE51VExKdWRMSDw8QFRKdNhMTDhAQExOdWRITnVkTFA4QEBMSnTYSE51ZExKdNhISnTYUEp1bFBOdkBITDg8QExSdWRMSnTYTEp1bFBOdVhISnVkTE51ZEhINDAwICJ1JExKd9xQSnVUTEp33EhOdWRQTnVYTE51ZExKdVhQUnTYTEp1ZExKdVhMSnVkUE51VFBOdWRMSnTYSEp1WEhKdWRMTnVUTE51ZExOdNhMSnVYUE502ExOdVRQTnVkUFJ0vDQ0REBALCxAQDwwMERAQCwudaQsLnZcNDREQEA0NnZcMDBEQEA0NEREQDA0QERANDREQnckREBAMDBEQEAwNERARDAydlwwMERCdyREQEAwMERAQDAwREBALC52SDAydaQ0NERAPCwudkgwMERAQCwudSQkJnawNDRCdkA6drAwMnawNDZ1pDp2nnTadaZ3+nTYOnX6d/p2VEJ2nDxGdVg6dfg4OnWkNDZ1+nf4QnX4RnWqdfg4OEg6dyZ1+nf6dfg+drA0NnX4ODhEOncmd6QoKnVYMDJ1WDQ2drAwMEA2d1hCdkA2drJ3+naidrA0NnX6d6J2onawODp1pDQ2drA0NnX4NDZ1+DQ2drA0NnWkMDJ2sDAwQDg8MDJ1+DQ2drA0NnWkMDJ2sDAydfgwMnVUICJ1VEZ2gEhKdVRIRnVUSEp1ZEhSdpxMSnTYTEg8PEBMSnTYSEp1ZEhKdWxITnTYSEp02ExSdNhISnTYSEp1bExMPDg8TE502ExSdxBISnTYTE51bExMPDw4SE502FBQPDw4SEg0MDAgInUkSEp1VEhKdVRIUnVUSEp1ZExKdVhITnTYSE51W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DJ2JnUudSZ0zDAydiQ0NnYkMDJ2JDZ1QnaMMDJ2JDQ2diQwMnd8KCp2WCwsMnc+d6QoKDZ0ynekMDA2dkw6d053pncidLwyd6QwMDZ2TDp0onekMDJ3pDAyd1gwMDp0rDp2hC53pC53dnaGd1gwLDp0rDp2hC53pC53dnaGdgQoKDAqd/50vC53dDAkJnVEKCp1RnTGdSQ2di533DAyd953nDQydiZ1JDQydlp33necNCgqdUQsLnfedVQydlp1RnecNCgqdUQsLnfedVZ3OCp1RnecNCgqd1ggIndYJCQ4Lnf+d1ggIndYHB53JCgoPDJ2WnckKCg8MDQkJnckKCp3JCgoPDJ2WnckKCp3JCQmdyQoKnckKCg8MnZadyQkJDg0MCQmd9wkJnckKCg8MnZadyQkJnckJCZ33CQmd1ggInVEICA4ODQkJDg4NBwedVQgInVUKCp1WDAydVQkJnVYKCp1VCQmdVQoJnVYMDJ1VCQmdVgoKnVUJCQ8ODwkJnVYLC51VCAidVQkJnVUICJ2QCgqdVgsLnVUICJ1WCQmdVQgInS8NDRAQDwwMERAQDQ0REBALCxEQEAwMERARDQ0REJ2sEREQDAwSEBANDREQEQwMnZcNDRIQnawSEREMDJ2XDQ0SERENDZ2XDQ0REJ2snZcMDJ2iDQ0RERAMDBIREQ0NEhCdrBIREQwMExARDQ0REBEMnf0OCgqdrA0NnWkODhGdap2sDQ0REJ1WnZIPD51pDg6daQ4OnWkODhEQnVadkg8PEp2oEBCdVp1pDg2daZ3+EJ1+Eg+d951pDg4SDp3JEp2VnZIPD51pDQ2daQ4OnWmdUZ3ynawNDRGdkA6daQwMEZ1snX6d/p1VDp1+nf6dlZ1+nf6dlRCdsZ1pDg6daQ4OnWkODhEPnaydrA4OnWkNDZ1pDQ2dfg0NERCdrBEPnZCdaQ0NnWkNDZ1pnbQODgkJnVUSE51ZExKdVRMTnVYTE51bExOdWxMTnTYTE51bExSdNhMTnTYTE51bFBSdNhITDw8QExSdNhMSnTYSEp1bFRSdNhMTnTYTEw8PDhMUnTYUE51bExSdNhMTnTYUFQ8ODxMTndYJCZ3EFROdVRITnVkTFJ1VExOdNhMUDw8OFROdNhQTDw4PFBWdNhISnTYUFZ2sEhOdNhQTnTYSFZ02ExOdNhMUEA8OFBOdpxMTnTYTAJ1ZExOdNhMTDw8OFBOdNhQTnTYTE502FBOdLw0NEA8QCwudkgwMERAQCwsREBAMC52XDQ0SEJ2sEhIRDQ0REBANDZ2XDQ0REBEMDBEPEA0NERARDAwREBANDBEQEAwMEhERDQ0SEBANDhIREQwMERAQDAydlwwMEhERDQ0REJ2snZcMDBEQEAwMEhERDJ39DgkJnawNDZ1+nf6dap2sDQ0RnX6dpxAQD51pDg6daQ8PnWkODp1pnf6dWxCdaZ3+Dw8OnaedVp1pD51bEA8QEg8ODQ6daQ4OEZ1qnWmd/p02DxGdVg6daQ4OEZ1qnekLC52sDAydrA0NnawMDJ2sDAydfg0NEZ1VDp1pDQ2dfg4NnX4NDZ1+DQ2drJ3+nagQDp3JnWkNDZ1pDQ2drA4OnWkMDBEOncmdaQwMnX4NDRGdVQ6daQwMnWkNDZ1+DAydWQgInVUTEp1ZExSdVRMTncQTFJ2nExWdWxUTnTYUE51bExSdNhMSnacUE51bExSdNhMTnacUFJ1ZExOdNhUTDxEQExQPDg8AFZ02ExSdVRMTnTYUE51bExOdNhMSnTYUE53EEhKd1gkJnVUSEp1VEhKdkBMSnVUTEp02ExSdVhISnTYUE502EhSdNhMSnTYTE51WExWdNhQUnTYSE51ZExSdNhQTnVYTFZ02EhMPDg8UE51ZFRWdWRMUnVYTFJ02ExQPDw4UFJ1ZFBOdvA0REBALCxEQEAwMEhEQCwsSEBALC52XDQ0SEBANDRIREQwMEhAQDQ0SEREMDBIREQ0NEhCdrBIQEQwMEhERDQ2dlwwMnZcMDBEQnckSEBALCxEQEAwMERARCwsSERENDBEQEA0NnZcMDBEQEQwMEhERCwudVQkJnawNDZ1pDg4RnWqdrA0NnWmd/p2SDxKdlRGdfg+daQ4OnWkOnVsQDxASnZWdaQ4PnWkODp1pnf4QEA8QEZ1qnWkODhKdqJ1pnf4QnX4RnWqdaQ4OEZ1qnekLC52sDAydrAwNEQ8OCwsRDg4LC51pDQ4RnVUOnWkNDRGdap1pDQ2daQ0NEZ1VDp1pDQ0SDp3JnWkNDZ1+DQ0RnWqdaQwMnawMDJ1+DAwREJ3JEZ1qnWkMDJ1+DAydfgwMDQ8PCAidVRITnVkTFJ1VEhKdWRISnVsTEw8QERQUnTYTE51bEhSdNhMTDw8QEhIPERAT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gv1/P4/9fz+b/X8/qP1/P7X9fz/B/X8/zf1/P9n9fz/k/X8/8P1/P/v9fz8G/n8/Ef5/Pxz+fz8m/n8/Mf5/Pzv+fz9F/n8/T/5/P1n+fz9i/n8/bP5/P3X+fz9+/n8/h/5/P5D+fz+Y/n8/of5/P6n+fz+x/n8/uf5/P8H+fz/J/n8/0P5/P9j+fz/f/n8/5v5/P+3+fz/0/n8/+/5/PwL/fz8I/38/Dv9/PxX/fz8b/38/If9/Pyf/fz8t/38/Mv9/Pzj/fz89/38/Q/9/P0j/fz9N/38/Uv9/P1f/fz9c/38/YP9/P2X/fz9p/38/bv9/P3L/fz92/38/ev9/P37/fz+C/38/hv9/P4r/fz+O/38/kf9/P5X/fz+Y/38/m/9/P5//fz+i/38/pf9/P6j/fz+r/38/rv9/P7D/fz+z/38/tv9/P7j/fz+7/38/vf9/P8D/fz/C/38/xP9/P8b/fz/J/38/y/9/P83/fz/P/38/0f9/P9L/fz/U/38/1v9/P9j/fz/Z/38/2/9/P9z/fz/e/38/3/9/P+H/fz/i/38/4/9/P+X/fz/m/38/5/9/P+j/fz/p/38/6v9/P+v/fz/s/38/7f9/P+7/fz/v/38/8P9/P/H/fz/x/38/8v9/P/P/fz/0/38/9P9/P/X/fz/2/38/9v9/P/f/fz/3/38/+P9/P/j/fz/5/38/+f9/P/r/fz/6/38/+v9/P/v/fz/7/38/+/9/P/z/fz/8/38//P9/P/3/fz/9/38//f9/P/3/fz/+/38//v9/P/7/fz/+/38//v9/P/7/fz///38///9/P///fz///38///9/P///fz///38///9/P///fz///38/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/RU5DT0RFUgBPZ2dWb3JiaXNFbmNvZGVyLmpznQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQGdAZ0BnQKdAp0FAA==",A.b64Dic={size:448462,bits:8,b0:157,bs:[[157],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0],[13,13,13,13,13,13,13,13,13,13,13,13,13,13,13],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9],[0,0,0],[11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],[194,0,0],[192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],[121,196,0,192,121,196,0,192,121,196,0,192,121,196,0],[16,16,16,16,16,16,16,16,16,16,16,16,16,16,16],[0,192,121,196,0,192,121,196,0,192,121,196,0,192,121],[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10],[12,12,12,12,12,12,12,12,12,12,12,12,12,12,12],[196,0,192,121,196,0,192,121,196,0,192,121,196,0,192],[2,0,0,0],[0,0,2,0,0,0],[255,255,255],[4,0,0,0,0,0,0,0],[4,0,0,0],[12,12,12,12,12,12],[9,9,9,9,9,9],[1,0,0,0,0,0],[3,0,0,0],[3,0,0,0,0,0,0,0],[7,0,0,0],[10,10,10,10,10,10,10],[6,0,0,0],[5,0,0,0],[9,0,0,0,2,0,0,0,10,0,0,0,1,0,0],[0,11,0,0,0,0,0,0,0,12,0,0,0,0,0],[0,48,224,0,0,16,96,3,0,0,0,0,0,0,0],[2,0,1,0,0,0,0],[8,8,8,8],[226,255,255,255,226,255,255,255,226,255,255,255],[8,0,0,0],[194,0,192,121,196,0,192,121,196,0,192,121,196,0,192],[11,11,11,11],[0,2,0,0,0],[0,1,0,0,0],[11,11,12,12],[1,0,0,0],[11,12,12],[10,10,11,11],[12,12,11,12,12,12,12],[9,9,9,9],[0,16,224,0,0,16,96,2,0,0,0,0,0,0,0],[12,12,12],[9,9,10,10],[12,12,13,13],[10,10,10,10],[12,13,13],[9,10,10],[7,7,8,8],[15,15,15],[7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],[10,11,11],[8,8,8,8,8,8,8,8,8,8],[8,8,9,9],[10,0,0,0],[0,0,4,0,0,0],[246,255,255,255,246,255,255,255,246,255,255,255],[236,255,255,255,236,255,255,255,236,255,255,255],[4,0,1,0,0,0,0],[0,0,1,0,0,0],[13,0,0,0,2,0,0,0,14,0,0,0,1,0,0],[0,15,0,0,0,0,0,0,0,16,0,0,0,0,0],[18,0,0,0],[9,0,0,0,0,0,0],[64,0,0,0,0,0],[7,7,7,7],[13,13,13,13,13,13,13],[0,0,5,0,0,0],[13,14,14],[8,9,9],[13,13,12,12],[96,4,0,0,0,0,0,0,0],[13,0,0,0,0,0,0,0],[220,194,0,192,121,196,0,192,121,196,0,192,121,196,0],[226,255,255,255,230,255,255,255,234,255,255,255,236,255,255],[13,12,13,13],[13,13,13],[7,0,1,0,0,0,0],[241,255,255,255,241,255,255,255,241,255,255,255],[240,255,255,255,240,255,255,255,240,255,255,255],[14,14,14],[15,14,14],[10,10,0,0,0,0,0,0],[3,0,1,0,0,0,0,0],[14,15,15],[12,0,0,0],[15,16,16],[12,13,12],[0,80,224,0,0,16,96,4,0,0,0,0,0,0,0],[19,0,0,0],[13,13,12,13,13,13,13],[14,0,0,0,0,0,0,0],[12,11,12,12,12,12],[7,8,8],[12,12,0,0,0],[13,13,11,12,12,12,12,12,12,12],[6,0,1,0,0,0,0],[9,11,11],[0,12,12],[0,84,224,0,0,16,96,4,0,0,0,0,0,0,0],[17,15,15],[14,14,13,13],[16,16,0],[14,14,12,12],[10,10,10],[13,13,0,0,0,0,0],[0,158,224,0,0,84,96,4,0,0,0,0,0,0,0],[6,6,0,0,0,0,0,0,0],[13,12,12,12],[11,0,0,0],[7,9,9],[96,2,0,0,0,0,0,0,0],[11,11,10,11,11],[12,12,10,11,11],[8,8,0,0,0,0,0,0],[6,8,8],[246,255,255,255],[20,0,0,0],[8,10,10],[17,17,0],[224,0,0,16,96,5,0,0,0,0,0,0,0],[16,15,15],[9,9,0,0,0,0,0,0],[17,0,0,0],[11,11,11],[9,0,0,0],[7,8,8,8,8],[9,10,11],[14,0,0,0,9,0,0,0,15,0,0,0,8,0,0],[21,0,0,0,2,0,0,0,22,0,0,0,1,0,0],[0,23,0,0,0,0,0,0,0,24,0,0,0,0,0],[0,13,13],[11,13,13],[7,7,0,0,0,0,0,0],[12,12,11,11],[81,0,0,0],[0,8,0,0,0],[10,12,12],[5,5,7,7],[14,15,14],[0,112,224,0,0,16,96,5,0,0,0,0,0,0,0],[16,16,16],[10,10,12,12],[15,12,13,13,15],[15,15,14,14],[12,10,10],[17,17,17],[8,8,10,10],[232,255,255,255,232,255,255,255,232,255,255,255],[10,11,10],[0,11,11],[0,0,198,66,0,0,198,66,0,0,198,66,0,0,198],[0,0,48,224,0,0,16,96,3,0,0,0,0,0,0],[11,10,11,11],[13,0,0,0],[17,14,15,15],[12,11,11],[16,16,17],[14,14,12,13,13],[5,5,6,6],[236,255,255,255,242,255,255,255,246,255,255,255],[7,7,7,8,8],[15,16,15],[15,15,13,13],[12,0,0,0,0,0,0,0],[5,7,7],[4,4,6,6,7,7],[16,14,14],[12,12,13,12],[250,255,255,255,250,255,255,255],[10,12,11],[6,6,7,7],[15,14,15,15],[11,12,11],[8,9,9,9,9],[13,13,14],[15,15,12,12],[15,15,0],[0,198,66,0,0,198,66,0,0,198,66,0,0,198,66],[198,66,0,0,198,66,0,0,198,66,0,0,198,66,0],[66,0,0,198,66,0,0,198,66,0,0,198,66,0,0],[0,8,8,0],[0,8,8,8,8,9,9,9,9,10,10,11,11],[13,12,12,13],[12,12,11,12],[13,14,13],[10,9,10,10],[16,13,14,14],[9,8,9,9],[11,0,0,0,0,0,0,0],[9,11,10],[14,14,15],[16,0,0,0],[13,13,12,13,12,13],[216,255,255,255,216,255,255,255,216,255,255,255,216,255,255],[11,12,13],[15,13,13],[0,14,14],[11,11,0,0,0,0,0,0,0],[5,5,0,0,0,0,0,0,0],[16,17,17],[13,13,10],[9,9,11,11],[9,9,9,10,10],[248,255,255,255,248,255,255,255],[10,11,12],[12,11,12,12],[230,255,255,255,230,255,255,255,230,255,255,255,230,255,255],[0,118,224,0,0,118,96,2,0,0,0,0,0,0,0],[14,12,12],[48,224,0,0,16,96,3,0,0,0,0,0,0,0],[0,10,10],[15,0,0,0],[8,7,8,8,8,8,8,8,8,8,8,8],[9,9,0,0,0],[14,14,0,0,0,0,0,0,0],[11,13,12],[0,15,15],[11,10,10],[16,15,16,16],[8,8,8,9,9],[10,9,9],[13,14,15],[9,10,9],[5,6,6],[0,10,0,0,0],[11,11,13,13],[13,13,15],[13,11,11],[12,10,11,11],[14,14,14,14,14,14,14,14,14,14,14,14,14,14,14],[0,0,80,224,0,0,16,96,4,0,0,0,0,0,0],[242,255,255,255,242,255,255,255],[255,230,255,255,255,230,255,255,255,230,255,255,255],[16,14,15,15],[12,12,9,10,10],[10,10,11],[11,11,10,10],[0,1,4,4],[16,16,14,15],[5,5,5,5,5,5,5,5,5,5],[8,8,8],[14,13,13],[6,6,6],[14,11,12,12],[5,5,5,5],[0,4,0,0,0],[0,0,16,224,0,0,16,96,2,0,0,0,0,0,0],[12,13,14],[14,14,16],[11,9,9]]},A.b64Bytes=0,A.b64UnZip=function(n,d){for(var A=d.b0,Q=d.bits,B=(8==Q?0:7==Q?128:192)-1,E=8==Q?255:7==Q?127:63,D=atob(n),C=new Uint8Array(d.size),Z=0,e=0;eA.b64Bytes.length&&H("b64Val OB"),A.b64Bytes.subarray(n,n+d)},d(A.b64Val(0,10240),"i8",g,e.GLOBAL_BASE),d(A.b64Val(10240,10240),"i8",g,e.GLOBAL_BASE+10240),d(A.b64Val(20480,10240),"i8",g,e.GLOBAL_BASE+20480),d(A.b64Val(30720,10185),"i8",g,e.GLOBAL_BASE+30720),d(A.b64Val(40905,5305),"i8",g,e.GLOBAL_BASE+41032),d([1],"i8",g,e.GLOBAL_BASE+49544),d(A.b64Val(46210,65),"i8",g,e.GLOBAL_BASE+50572),d(A.b64Val(46275,348),"i8",g,e.GLOBAL_BASE+52752),d(A.b64Val(46623,5016),"i8",g,e.GLOBAL_BASE+55148),d(A.b64Val(51639,10223),"i8",g,e.GLOBAL_BASE+62212),d(A.b64Val(61862,5297),"i8",g,e.GLOBAL_BASE+72464),d([1],"i8",g,e.GLOBAL_BASE+78916),d(A.b64Val(67159,1025),"i8",g,e.GLOBAL_BASE+79944),d(A.b64Val(68184,129),"i8",g,e.GLOBAL_BASE+81996),d(A.b64Val(68313,1372),"i8",g,e.GLOBAL_BASE+83152),d(A.b64Val(69685,5773),"i8",g,e.GLOBAL_BASE+86572),d(A.b64Val(75458,5257),"i8",g,e.GLOBAL_BASE+97272),d(A.b64Val(80715,10237),"i8",g,e.GLOBAL_BASE+107456),d(A.b64Val(90952,4596),"i8",g,e.GLOBAL_BASE+117696),d(A.b64Val(95548,10240),"i8",g,e.GLOBAL_BASE+124340),d(A.b64Val(105788,10240),"i8",g,e.GLOBAL_BASE+134580),d(A.b64Val(116028,10215),"i8",g,e.GLOBAL_BASE+144820),d(A.b64Val(126243,10240),"i8",g,e.GLOBAL_BASE+155104),d(A.b64Val(136483,7956),"i8",g,e.GLOBAL_BASE+165344),d(A.b64Val(144439,10240),"i8",g,e.GLOBAL_BASE+175348),d(A.b64Val(154679,10239),"i8",g,e.GLOBAL_BASE+185588),d(A.b64Val(164918,6507),"i8",g,e.GLOBAL_BASE+195830),d(A.b64Val(171425,6225),"i8",g,e.GLOBAL_BASE+207264),d(A.b64Val(177650,6057),"i8",g,e.GLOBAL_BASE+218416),d(A.b64Val(183707,5993),"i8",g,e.GLOBAL_BASE+229400),d(A.b64Val(189700,404),"i8",g,e.GLOBAL_BASE+240320),d(A.b64Val(190104,6029),"i8",g,e.GLOBAL_BASE+242772),d(A.b64Val(196133,4817),"i8",g,e.GLOBAL_BASE+253728),d(A.b64Val(200950,5609),"i8",g,e.GLOBAL_BASE+263472),d(A.b64Val(206559,5241),"i8",g,e.GLOBAL_BASE+274008),d(A.b64Val(211800,5609),"i8",g,e.GLOBAL_BASE+284176),d(A.b64Val(217409,5241),"i8",g,e.GLOBAL_BASE+294712),d(A.b64Val(222650,10240),"i8",g,e.GLOBAL_BASE+304880),d(A.b64Val(232890,10240),"i8",g,e.GLOBAL_BASE+315120),d(A.b64Val(243130,9033),"i8",g,e.GLOBAL_BASE+325360),d(A.b64Val(252163,5257),"i8",g,e.GLOBAL_BASE+339320),d(A.b64Val(257420,8873),"i8",g,e.GLOBAL_BASE+349504),d(A.b64Val(266293,1097),"i8",g,e.GLOBAL_BASE+360488),d(A.b64Val(267390,764),"i8",g,e.GLOBAL_BASE+363696),d(A.b64Val(268154,1064),"i8",g,e.GLOBAL_BASE+366508),d(A.b64Val(269218,10240),"i8",g,e.GLOBAL_BASE+369616),d(A.b64Val(279458,10237),"i8",g,e.GLOBAL_BASE+379856),d(A.b64Val(289695,10240),"i8",g,e.GLOBAL_BASE+390097),d(A.b64Val(299935,10240),"i8",g,e.GLOBAL_BASE+400337),d(A.b64Val(310175,10240),"i8",g,e.GLOBAL_BASE+410577),d(A.b64Val(320415,10240),"i8",g,e.GLOBAL_BASE+420817),d(A.b64Val(330655,10240),"i8",g,e.GLOBAL_BASE+431057),d(A.b64Val(340895,2955),"i8",g,e.GLOBAL_BASE+441297),d(A.b64Val(343850,10239),"i8",g,e.GLOBAL_BASE+446300),d(A.b64Val(354089,10240),"i8",g,e.GLOBAL_BASE+456540),d(A.b64Val(364329,10240),"i8",g,e.GLOBAL_BASE+466780),d(A.b64Val(374569,10023),"i8",g,e.GLOBAL_BASE+477020),d(A.b64Val(384592,364),"i8",g,e.GLOBAL_BASE+487288),d(A.b64Val(384956,10199),"i8",g,e.GLOBAL_BASE+489700),d(A.b64Val(395155,10227),"i8",g,e.GLOBAL_BASE+500144),d(A.b64Val(405382,10240),"i8",g,e.GLOBAL_BASE+510456),d(A.b64Val(415622,10240),"i8",g,e.GLOBAL_BASE+520696),d(A.b64Val(425862,10240),"i8",g,e.GLOBAL_BASE+530936),d(A.b64Val(436102,10240),"i8",g,e.GLOBAL_BASE+541176),d(A.b64Val(446342,2120),"i8",g,e.GLOBAL_BASE+551416);var h=e.alignMemory(d(12,"i8",J),8);w(h%8==0);var W=0;function H(n){throw new Error("abort("+n+")")}A._memset=t,A._strlen=q,A._strcat=m,A._bitshift64Shl=$,A.abort=H,A._i64Add=z;var Y=s,o=F,k=O;A._bitshift64Lshr=j;var l=r,V=c,N=O;A._memcpy=v;var u=K,L=M,b=T;A._memmove=X,A._strcpy=_;var y=U;W=e.staticAlloc(4),p[W>>2]=0,i=S=e.alignMemory(Z),P=i+a,w((G=e.alignMemory(P))>>0}return B},_atan:l,_emscripten_memcpy_big:function(n,d,A){return Dn.set(Dn.subarray(d,d+A),n),n},_sysconf:function(n){if(30==n)return C;H("fix _sysconf")},_sinf:N,_cos:L,_log:u,_emscripten_set_main_loop:function(n,d,A,Q,B){},___errno_location:function(){return W},_abort:function(n){A.abort(n)},_time:function(n){if(A.StaticSeed)var d=1262390400;else var d=Date.now()/1e3|0;return n&&(p[n>>2]=d),d},_ceil:V,_exit:function(n){H("fix _exit")},STACKTOP:S,STACK_MAX:P,tempDoublePtr:h,ABORT:!1};var x=function(n,d,A){"use asm";var rB=new n.Int8Array(A);var Q=new n.Int16Array(A);var Ur=new n.Int32Array(A);var B=new n.Uint8Array(A);var E=new n.Uint16Array(A);var D=new n.Uint32Array(A);var Kr=new n.Float32Array(A);var Fr=new n.Float64Array(A);var cr=d.STACKTOP|0;var C=d.STACK_MAX|0;var zw=d.tempDoublePtr|0;var Z=d.ABORT|0;var e=0;var w=0;var J=0;var g=0;var R=n.NaN,p=n.Infinity;var i=0,S=0,P=0,G=0,a=0.0,f=0,I=0,M=0,O=0.0;var uB=0;var r=0;var U=0;var K=0;var F=0;var c=0;var s=0;var T=0;var h=0;var W=0;var VC=n.Math.floor;var DE=n.Math.abs;var pd=n.Math.sqrt;var VA=n.Math.pow;var $Z=n.Math.cos;var ne=n.Math.sin;var H=n.Math.tan;var Y=n.Math.acos;var o=n.Math.asin;var lB=n.Math.atan;var k=n.Math.atan2;var NC=n.Math.exp;var uC=n.Math.log;var LC=n.Math.ceil;var sr=n.Math.imul;var l=n.Math.min;var V=n.Math.clz32;var N=d.abort;var u=d.assert;var L=d._sin;var b=d._exp;var y=d._floor;var x=d._fflush;var q=d._llvm_sqrt_f64;var m=d._llvm_pow_f64;var z=d._emscripten_set_main_loop_timing;var BO=d._sbrk;var X=d._atan;var t=d._emscripten_memcpy_big;var EO=d._sysconf;var v=d._sinf;var j=d._cos;var _=d._log;var $=d._emscripten_set_main_loop;var DO=d.___errno_location;var CO=d._abort;var ZO=d._time;var nn=d._ceil;var nZ=d._exit;var dn=0.0;function rA(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0;D=cr;Ur[n>>2]=0|0;Ur[n+4>>2]=0|0;Ur[n+8>>2]=0|0;Ur[n+12>>2]=0|0;d=Wr(256)|0;A=n+8|0;Ur[A>>2]=d;Q=n+12|0;Ur[Q>>2]=d;rB[d>>0]=0;B=n+16|0;Ur[B>>2]=256;return}function jQ(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0;a=cr;A=d>>3;Q=n+12|0;w=Ur[Q>>2]|0;J=(w|0)==(0|0);if(J){return}g=A<<3;R=d-g|0;p=n+8|0;i=Ur[p>>2]|0;S=i+A|0;Ur[Q>>2]=S;P=n+4|0;Ur[P>>2]=R;Ur[n>>2]=A;B=8+(R<<2)|0;E=Ur[B>>2]|0;D=rB[S>>0]|0;C=D&255;Z=C&E;e=Z&255;rB[S>>0]=e;return}function Xw(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0;var O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0;var y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0;var en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0;Mn=cr;E=A>>>0>32;do{if(!E){D=Ur[n>>2]|0;P=n+16|0;c=Ur[P>>2]|0;N=c+-4|0;v=(D|0)<(N|0);Q=n+12|0;B=Ur[Q>>2]|0;if(v){O=B}else{Cn=(B|0)==(0|0);if(Cn){return}Gn=(c|0)>2147483391;if(Gn){break}an=n+8|0;fn=Ur[an>>2]|0;C=c+256|0;Z=mB(fn,C)|0;e=(Z|0)==(0|0);if(e){break}Ur[an>>2]=Z;w=Ur[P>>2]|0;J=w+256|0;Ur[P>>2]=J;g=Ur[n>>2]|0;R=Z+g|0;Ur[Q>>2]=R;O=R}p=8+(A<<2)|0;i=Ur[p>>2]|0;S=i&d;G=n+4|0;a=Ur[G>>2]|0;f=a+A|0;I=S<>0]|0;r=M&255;U=r|I;K=U&255;rB[O>>0]=K;F=(f|0)>7;do{if(F){s=Ur[G>>2]|0;T=8-s|0;h=S>>>T;W=h&255;H=Ur[Q>>2]|0;Y=H+1|0;rB[Y>>0]=W;o=(f|0)>15;if(o){k=Ur[G>>2]|0;l=16-k|0;V=S>>>l;u=V&255;L=Ur[Q>>2]|0;b=L+2|0;rB[b>>0]=u;y=(f|0)>23;if(y){x=Ur[G>>2]|0;q=24-x|0;m=S>>>q;z=m&255;X=Ur[Q>>2]|0;t=X+3|0;rB[t>>0]=z;j=(f|0)>31;if(j){_=Ur[G>>2]|0;$=(_|0)==0;if($){En=Ur[Q>>2]|0;Dn=En+4|0;rB[Dn>>0]=0;break}else{nn=32-_|0;dn=S>>>nn;An=dn&255;Qn=Ur[Q>>2]|0;Bn=Qn+4|0;rB[Bn>>0]=An;break}}}}}}while(0);Zn=(f|0)/8&-1;en=Ur[n>>2]|0;wn=en+Zn|0;Ur[n>>2]=wn;Jn=Ur[Q>>2]|0;gn=Jn+Zn|0;Ur[Q>>2]=gn;Rn=f&7;Ur[G>>2]=Rn;return}}while(0);pn=n+8|0;Sn=Ur[pn>>2]|0;Pn=(Sn|0)==(0|0);if(!Pn){qB(Sn)}Ur[n>>2]=0|0;Ur[n+4>>2]=0|0;Ur[n+8>>2]=0|0;Ur[n+12>>2]=0|0;Ur[n+16>>2]=0|0;return}function UA(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0;E=cr;d=n+8|0;A=Ur[d>>2]|0;Q=(A|0)==(0|0);if(!Q){qB(A)}Ur[n>>2]=0|0;Ur[n+4>>2]=0|0;Ur[n+8>>2]=0|0;Ur[n+12>>2]=0|0;Ur[n+16>>2]=0|0;return}function KA(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0;e=cr;d=n+12|0;A=Ur[d>>2]|0;Q=(A|0)==(0|0);if(Q){return}B=n+8|0;E=Ur[B>>2]|0;Ur[d>>2]=E;D=E;rB[D>>0]=0;Ur[n>>2]=0;C=n+4|0;Ur[C>>2]=0;return}function un(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0;Qn=cr;Q=d>>>0>32;if(Q){A=-1;return A|0}B=8+(d<<2)|0;i=Ur[B>>2]|0;K=n+4|0;l=Ur[K>>2]|0;X=l+d|0;v=Ur[n>>2]|0;j=n+16|0;_=Ur[j>>2]|0;$=_+-4|0;E=(v|0)<($|0);if(!E){D=X+7|0;C=D>>3;Z=_-C|0;e=(v|0)>(Z|0);if(e){A=-1;return A|0}w=(X|0)==0;if(w){A=0;return A|0}}J=n+12|0;g=Ur[J>>2]|0;R=rB[g>>0]|0;p=R&255;S=p>>>l;P=(X|0)>8;if(P){G=g+1|0;a=rB[G>>0]|0;f=a&255;I=8-l|0;M=f<16;if(r){U=g+2|0;F=rB[U>>0]|0;c=F&255;s=16-l|0;T=c<24;if(W){H=g+3|0;Y=rB[H>>0]|0;o=Y&255;k=24-l|0;V=o<>0]|0;x=y&255;q=32-l|0;m=x<>2]|0;J=Q+d|0;g=Ur[n>>2]|0;R=n+16|0;p=Ur[R>>2]|0;i=J+7|0;S=i>>3;P=p-S|0;G=(g|0)>(P|0);if(G){w=n+12|0;Ur[w>>2]=0;Ur[n>>2]=p;a=1;Ur[A>>2]=a;return}else{B=(J|0)/8&-1;E=n+12|0;D=Ur[E>>2]|0;C=D+B|0;Ur[E>>2]=C;Z=g+B|0;Ur[n>>2]=Z;e=J&7;a=e;Ur[A>>2]=a;return}}function Hd(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0;pn=cr;Z=d>>>0>32;do{if(Z){Q=n+16|0;B=Ur[Q>>2]|0;C=n+4|0;E=n;D=C;Dn=B}else{e=8+(d<<2)|0;f=Ur[e>>2]|0;h=n+4|0;b=Ur[h>>2]|0;$=b+d|0;Cn=Ur[n>>2]|0;Zn=n+16|0;en=Ur[Zn>>2]|0;wn=en+-4|0;w=(Cn|0)<(wn|0);if(!w){J=$+7|0;g=J>>3;R=en-g|0;p=(Cn|0)>(R|0);if(p){E=n;D=h;Dn=en;break}i=($|0)==0;if(i){A=0;return A|0}}S=n+12|0;P=Ur[S>>2]|0;G=rB[P>>0]|0;a=G&255;I=a>>>b;M=($|0)>8;if(M){O=P+1|0;r=rB[O>>0]|0;U=r&255;K=8-b|0;F=U<16;if(s){T=P+2|0;W=rB[T>>0]|0;H=W&255;Y=16-b|0;o=H<24;if(l){V=P+3|0;N=rB[V>>0]|0;u=N&255;L=24-b|0;y=u<>0]|0;t=X&255;v=32-b|0;j=t<>2]=An;Qn=Cn+dn|0;Ur[n>>2]=Qn;Bn=$&7;Ur[h>>2]=Bn;A=nn;return A|0}}while(0);En=n+12|0;Ur[En>>2]=0;Ur[E>>2]=Dn;Ur[D>>2]=1;A=-1;return A|0}function _Q(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0;Z=cr;d=Ur[n>>2]|0;A=n+4|0;Q=Ur[A>>2]|0;B=Q+7|0;E=(B|0)/8&-1;D=E+d|0;return D|0}function Un(n){n=n|0;var d=0,A=0,Q=0,B=0;B=cr;d=n+8|0;A=Ur[d>>2]|0;return A|0}function An(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0;M=cr;B=(n|0)==(0|0);if(B){A=-1;return A|0}AZ(n|0,0,360)|0;E=n+4|0;Ur[E>>2]=16384;g=n+24|0;Ur[g>>2]=1024;R=Wr(16384)|0;Ur[n>>2]=R;p=Wr(4096)|0;i=n+16|0;Ur[i>>2]=p;S=Wr(8192)|0;P=n+20|0;Ur[P>>2]=S;G=(R|0)==(0|0);do{if(G){C=p}else{a=(p|0)==(0|0);D=(S|0)==(0|0);f=D|a;if(f){qB(R);Q=Ur[i>>2]|0;C=Q;break}J=n+336|0;Ur[J>>2]=d;A=0;return A|0}}while(0);Z=(C|0)==(0|0);if(!Z){qB(C)}e=Ur[P>>2]|0;w=(e|0)==(0|0);if(!w){qB(e)}AZ(n|0,0,360)|0;A=-1;return A|0}function Qn(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0;J=cr;d=(n|0)==(0|0);if(d){return 0}A=Ur[n>>2]|0;Q=(A|0)==(0|0);if(!Q){qB(A)}B=n+16|0;E=Ur[B>>2]|0;D=(E|0)==(0|0);if(!D){qB(E)}C=n+20|0;Z=Ur[C>>2]|0;e=(Z|0)==(0|0);if(!e){qB(Z)}AZ(n|0,0,360)|0;return 0}function RQ(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0;var Cn=0,Zn=0,en=0;en=cr;d=(n|0)==(0|0);if(d){return}A=Ur[n>>2]|0;R=A+22|0;rB[R>>0]=0;r=Ur[n>>2]|0;o=r+23|0;rB[o>>0]=0;m=Ur[n>>2]|0;_=m+24|0;rB[_>>0]=0;$=Ur[n>>2]|0;nn=$+25|0;rB[nn>>0]=0;dn=n+4|0;Q=Ur[dn>>2]|0;B=(Q|0)>0;if(B){E=Ur[n>>2]|0;Qn=0;Dn=0;while(1){J=Qn<<8;g=Qn>>>24;p=E+Dn|0;i=rB[p>>0]|0;S=i&255;P=S^g;G=144+(P<<2)|0;a=Ur[G>>2]|0;f=a^J;I=Dn+1|0;M=(I|0)<(Q|0);if(M){Qn=f;Dn=I}else{An=f;break}}}else{An=0}D=n+12|0;C=Ur[D>>2]|0;Z=(C|0)>0;if(Z){e=n+8|0;w=Ur[e>>2]|0;En=An;Cn=0;while(1){O=En<<8;U=En>>>24;K=w+Cn|0;F=rB[K>>0]|0;c=F&255;s=c^U;T=144+(s<<2)|0;h=Ur[T>>2]|0;W=h^O;H=Cn+1|0;Y=(H|0)<(C|0);if(Y){En=W;Cn=H}else{Bn=W;break}}}else{Bn=An}k=Bn&255;l=Ur[n>>2]|0;V=l+22|0;rB[V>>0]=k;N=Bn>>>8;u=N&255;L=Ur[n>>2]|0;b=L+23|0;rB[b>>0]=u;y=Bn>>>16;x=y&255;q=Ur[n>>2]|0;z=q+24|0;rB[z>>0]=x;X=Bn>>>24;t=X&255;v=Ur[n>>2]|0;j=v+25|0;rB[j>>0]=t;return}function Bn(n,d,A,Q,B,E){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;var D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0,U=0;var K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0,q=0;var m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0,wn=0,Jn=0;var gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0,hn=0,Wn=0;var Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0,jn=0,_n=0;var $n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0,Sd=0,Pd=0,Gd=0;var ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0,kd=0,ld=0;ld=cr;m=(n|0)==(0|0);if(m){C=-1;return C|0}Qn=Ur[n>>2]|0;pn=(Qn|0)==(0|0);if(pn){C=-1;return C|0}Kn=(d|0)==(0|0);if(Kn){C=0;return C|0}ln=(A|0)>0;n:do{if(ln){cd=0;Td=0;while(1){Xn=(d+(Td<<3)|0)+4|0;Ed=Ur[Xn>>2]|0;Sd=(Ed|0)<0;p=2147483647-Ed|0;U=(cd|0)>(p|0);Yd=Sd|U;if(Yd){C=-1;break}k=Ed+cd|0;N=Td+1|0;u=(N|0)<(A|0);if(u){cd=k;Td=N}else{Fd=k;break n}}return C|0}else{Fd=0}}while(0);L=(Fd|0)/255&-1;b=L+1|0;y=n+12|0;x=Ur[y>>2]|0;q=(x|0)==0;R=n+8|0;if(!q){z=Ur[R>>2]|0;X=z-x|0;Ur[R>>2]=X;t=(z|0)==(x|0);if(!t){v=Qn+x|0;XB(Qn|0,v|0,X|0)|0}Ur[y>>2]=0}j=n+4|0;_=Ur[j>>2]|0;$=_-Fd|0;nn=Ur[R>>2]|0;dn=($|0)>(nn|0);do{if(!dn){An=2147483647-Fd|0;Bn=(_|0)>(An|0);if(Bn){En=Ur[n>>2]|0;Dn=(En|0)==(0|0);if(!Dn){qB(En)}Cn=n+16|0;Zn=Ur[Cn>>2]|0;en=(Zn|0)==(0|0);if(!en){qB(Zn)}wn=n+20|0;Jn=Ur[wn>>2]|0;gn=(Jn|0)==(0|0);if(!gn){qB(Jn)}AZ(n|0,0,360)|0;C=-1;return C|0}Rn=_+Fd|0;Sn=(Rn|0)<2147482623;Pn=Rn+1024|0;D=Sn?Pn:Rn;Gn=Ur[n>>2]|0;an=mB(Gn,D)|0;fn=(an|0)==(0|0);if(!fn){Ur[j>>2]=D;Ur[n>>2]=an;break}In=Ur[n>>2]|0;Mn=(In|0)==(0|0);if(!Mn){qB(In)}On=n+16|0;rn=Ur[On>>2]|0;Un=(rn|0)==(0|0);if(!Un){qB(rn)}Fn=n+20|0;cn=Ur[Fn>>2]|0;sn=(cn|0)==(0|0);if(!sn){qB(cn)}AZ(n|0,0,360)|0;C=-1;return C|0}}while(0);Tn=Vd(n,b)|0;hn=(Tn|0)==0;if(!hn){C=-1;return C|0}if(ln){e=Ur[R>>2]|0;xn=e;hd=0;while(1){bn=Ur[n>>2]|0;yn=bn+xn|0;qn=d+(hd<<3)|0;mn=Ur[qn>>2]|0;zn=(d+(hd<<3)|0)+4|0;tn=Ur[zn>>2]|0;Yr(yn|0,mn|0,tn|0)|0;vn=Ur[zn>>2]|0;jn=Ur[R>>2]|0;_n=jn+vn|0;Ur[R>>2]=_n;$n=hd+1|0;sd=($n|0)==(A|0);if(sd){break}else{xn=_n;hd=$n}}}Wn=(Fd|0)>254;Hn=n+28|0;Yn=Ur[Hn>>2]|0;on=n+16|0;kn=Ur[on>>2]|0;if(Wn){Vn=n+352|0;Nn=n+20|0;un=Ur[Nn>>2]|0;Ln=(L|0)>1;Hd=0;while(1){nd=Yn+Hd|0;dd=kn+(nd<<2)|0;Ur[dd>>2]=255;Ad=Vn;Qd=Ad;Bd=Ur[Qd>>2]|0;Dd=Ad+4|0;Cd=Dd;Zd=Ur[Cd>>2]|0;ed=un+(nd<<3)|0;wd=ed;Jd=wd;Ur[Jd>>2]=Bd;gd=wd+4|0;Rd=gd;Ur[Rd>>2]=Zd;pd=Hd+1|0;id=(pd|0)<(L|0);if(id){Hd=pd}else{break}}od=Ln?L:1;w=Vn;Id=un;Wd=od}else{Z=n+20|0;J=Ur[Z>>2]|0;g=n+352|0;w=g;Id=J;Wd=0}Pd=(Fd|0)%255&-1;Gd=Yn+Wd|0;ad=kn+(Gd<<2)|0;Ur[ad>>2]=Pd;fd=Id+(Gd<<3)|0;Md=fd;Od=Md;Ur[Od>>2]=B;rd=Md+4|0;Ud=rd;Ur[Ud>>2]=E;Kd=w;i=Kd;Ur[i>>2]=B;S=Kd+4|0;P=S;Ur[P>>2]=E;G=kn+(Yn<<2)|0;a=Ur[G>>2]|0;f=a|256;Ur[G>>2]=f;I=Yn+b|0;Ur[Hn>>2]=I;M=n+344|0;O=M;r=O;K=Ur[r>>2]|0;F=O+4|0;c=F;s=Ur[c>>2]|0;T=zB(K|0,s|0,1,0)|0;h=uB;W=M;H=W;Ur[H>>2]=T;Y=W+4|0;o=Y;Ur[o>>2]=h;l=(Q|0)==0;if(l){C=0;return C|0}V=n+328|0;Ur[V>>2]=1;C=0;return C|0}function En(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0;G=cr;cr=cr+16|0;S=G;A=Ur[d>>2]|0;Ur[S>>2]=A;Q=d+4|0;Z=Ur[Q>>2]|0;e=S+4|0;Ur[e>>2]=Z;w=d+12|0;J=Ur[w>>2]|0;g=d+16|0;R=g;p=R;i=Ur[p>>2]|0;B=R+4|0;E=B;D=Ur[E>>2]|0;C=Bn(n,S,1,J,i,D)|0;cr=G;return C|0}function Dn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0;B=cr;A=Zn(n,d,1,4096)|0;return A|0}function Cn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0;G=cr;E=(n|0)==(0|0);if(E){A=0;return A|0}D=Ur[n>>2]|0;C=(D|0)==(0|0);if(C){A=0;return A|0}Z=n+328|0;e=Ur[Z>>2]|0;w=(e|0)==0;Q=n+28|0;B=Ur[Q>>2]|0;S=(B|0)==0;if(w){if(S){i=0}else{J=n+332|0;g=Ur[J>>2]|0;R=(g|0)==0;if(R){P=7}else{i=0}}}else{if(S){i=0}else{P=7}}if((P|0)==7){i=1}p=Zn(n,d,i,4096)|0;A=p;return A|0}function Vd(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0;z=cr;B=n+24|0;E=Ur[B>>2]|0;S=E-d|0;F=n+28|0;V=Ur[F>>2]|0;L=(S|0)>(V|0);if(L){Q=0;return Q|0}b=2147483647-d|0;y=(E|0)>(b|0);if(y){x=Ur[n>>2]|0;q=(x|0)==(0|0);if(!q){qB(x)}D=n+16|0;C=Ur[D>>2]|0;Z=(C|0)==(0|0);if(!Z){qB(C)}e=n+20|0;w=Ur[e>>2]|0;J=(w|0)==(0|0);if(!J){qB(w)}AZ(n|0,0,360)|0;Q=-1;return Q|0}g=E+d|0;R=(g|0)<2147483615;p=g+32|0;A=R?p:g;i=n+16|0;P=Ur[i>>2]|0;G=A<<2;a=mB(P,G)|0;f=(a|0)==(0|0);if(f){I=Ur[n>>2]|0;M=(I|0)==(0|0);if(!M){qB(I)}O=Ur[i>>2]|0;r=(O|0)==(0|0);if(!r){qB(O)}U=n+20|0;K=Ur[U>>2]|0;c=(K|0)==(0|0);if(!c){qB(K)}AZ(n|0,0,360)|0;Q=-1;return Q|0}Ur[i>>2]=a;s=n+20|0;T=Ur[s>>2]|0;h=A<<3;W=mB(T,h)|0;H=(W|0)==(0|0);if(!H){Ur[s>>2]=W;Ur[B>>2]=A;Q=0;return Q|0}Y=Ur[n>>2]|0;o=(Y|0)==(0|0);if(!o){qB(Y)}k=Ur[i>>2]|0;l=(k|0)==(0|0);if(!l){qB(k)}N=Ur[s>>2]|0;u=(N|0)==(0|0);if(!u){qB(N)}AZ(n|0,0,360)|0;Q=-1;return Q|0}function Zn(n,d,A,Q){n=n|0;d=d|0;A=A|0;Q=Q|0;var B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0;var r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0;var x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0;var wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0;var hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0;var jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0,Sd=0;var Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0,kd=0;var ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0,dA=0,AA=0;var QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0,IA=0,MA=0;var OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0,LA=0,bA=0;var yA=0,xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0,DQ=0,CQ=0,ZQ=0;var eQ=0,wQ=0,JQ=0,gQ=0;gQ=cr;S=n+28|0;P=Ur[S>>2]|0;cn=(P|0)>255;B=cn?255:P;Nn=(n|0)==(0|0);if(Nn){E=0;return E|0}vn=Ur[n>>2]|0;Cd=(vn|0)==(0|0);Gd=(B|0)==0;nQ=Gd|Cd;if(nQ){E=0;return E|0}sd=n+332|0;ud=Ur[sd>>2]|0;jd=(ud|0)==0;n:do{if(jd){j=n+16|0;DQ=0;while(1){Zn=(DQ|0)<(B|0);if(!Zn){C=A;kA=0;lA=0;VA=0;NA=0;uA=0;LA=0;bA=0;yA=0;eQ=DQ;JQ=14;break n}fn=Ur[j>>2]|0;rn=fn+(DQ<<2)|0;Un=Ur[rn>>2]|0;Kn=Un&255;Fn=(Kn|0)==255;sn=DQ+1|0;if(Fn){DQ=sn}else{C=A;kA=0;lA=0;VA=0;NA=0;uA=0;LA=0;bA=0;yA=0;eQ=sn;JQ=14;break}}}else{G=(B|0)>0;if(G){s=n+16|0;u=n+20|0;ZA=0;fA=-1;IA=-1;MA=-1;OA=-1;rA=-1;UA=-1;KA=-1;FA=-1;dQ=0;QQ=0;ZQ=0;while(1){Tn=(ZA|0)>(Q|0);hn=(dQ|0)>3;_A=Tn&hn;if(_A){D=1;gA=fA;RA=IA;pA=MA;iA=OA;SA=rA;PA=UA;GA=KA;aA=FA;CQ=ZQ;break}Wn=Ur[s>>2]|0;Hn=Wn+(ZQ<<2)|0;Yn=Ur[Hn>>2]|0;on=Yn&255;kn=on+ZA|0;ln=(on|0)==255;if(ln){cA=fA;sA=IA;TA=MA;hA=OA;WA=rA;HA=UA;YA=KA;oA=FA;AQ=0;BQ=QQ}else{Vn=Ur[u>>2]|0;un=Vn+(ZQ<<3)|0;Ln=un;bn=Ln;yn=Ur[bn>>2]|0;xn=Ln+4|0;qn=xn;mn=Ur[qn>>2]|0;zn=QQ+1|0;Xn=yn&255;tn=pQ(yn|0,mn|0,8)|0;jn=uB;_n=tn&255;$n=pQ(yn|0,mn|0,16)|0;nd=uB;dd=$n&255;Ad=pQ(yn|0,mn|0,24)|0;Qd=uB;Bd=Ad&255;Ed=mn&255;Dd=pQ(yn|0,mn|0,40)|0;Zd=uB;ed=Dd&255;wd=pQ(yn|0,mn|0,48)|0;Jd=uB;gd=wd&255;Rd=pQ(yn|0,mn|0,56)|0;pd=uB;id=Rd&255;cA=Xn;sA=dd;TA=Bd;hA=Ed;WA=ed;HA=gd;YA=id;oA=_n;AQ=zn;BQ=zn}Sd=ZQ+1|0;Pd=(Sd|0)<(B|0);if(Pd){ZA=kn;fA=cA;IA=sA;MA=TA;OA=hA;rA=WA;UA=HA;KA=YA;FA=oA;dQ=AQ;QQ=BQ;ZQ=Sd}else{D=A;gA=cA;RA=sA;pA=TA;iA=hA;SA=WA;PA=HA;GA=YA;aA=oA;CQ=Sd;break}}ad=(CQ|0)==255;if(ad){xA=gA;qA=RA;mA=pA;zA=iA;XA=SA;tA=PA;vA=GA;jA=aA;wQ=255}else{C=D;kA=gA;lA=RA;VA=pA;NA=iA;uA=SA;LA=PA;bA=GA;yA=aA;eQ=CQ;JQ=14}}else{C=A;kA=-1;lA=-1;VA=-1;NA=-1;uA=-1;LA=-1;bA=-1;yA=-1;eQ=0;JQ=14}}}while(0);if((JQ|0)==14){fd=(C|0)==0;if(fd){E=0;return E|0}else{xA=kA;qA=lA;mA=VA;zA=NA;XA=uA;tA=LA;vA=bA;jA=yA;wQ=eQ}}Id=n+40|0;rB[Id>>0]=1399285583&255;rB[Id+1>>0]=1399285583>>8&255;rB[Id+2>>0]=1399285583>>16&255;rB[Id+3>>0]=1399285583>>24;Md=n+44|0;rB[Md>>0]=0;Od=n+45|0;rB[Od>>0]=0;rd=n+16|0;Ud=Ur[rd>>2]|0;Kd=Ur[Ud>>2]|0;Fd=Kd>>>8;J=Fd&1;cd=J^1;Td=cd|2;Z=jd?Td:cd;EQ=Z&255;rB[Od>>0]=EQ;hd=n+328|0;Wd=Ur[hd>>2]|0;Hd=(Wd|0)!=0;Yd=(P|0)==(wQ|0);$A=Hd&Yd;if($A){e=jd?Td:cd;od=e|4;kd=od&255;rB[Od>>0]=kd}Ur[sd>>2]=1;ld=n+46|0;rB[ld>>0]=xA;Vd=n+47|0;rB[Vd>>0]=jA;Nd=n+48|0;rB[Nd>>0]=qA;Ld=n+49|0;rB[Ld>>0]=mA;bd=n+50|0;rB[bd>>0]=zA;yd=n+51|0;rB[yd>>0]=XA;xd=n+52|0;rB[xd>>0]=tA;qd=n+53|0;rB[qd>>0]=vA;md=n+336|0;zd=Ur[md>>2]|0;Xd=zd&255;td=n+54|0;rB[td>>0]=Xd;vd=zd>>>8;_d=vd&255;$d=n+55|0;rB[$d>>0]=_d;nA=zd>>>16;dA=nA&255;AA=n+56|0;rB[AA>>0]=dA;QA=zd>>>24;BA=QA&255;EA=n+57|0;rB[EA>>0]=BA;DA=n+340|0;CA=Ur[DA>>2]|0;a=(CA|0)==-1;if(a){Ur[DA>>2]=0;I=0}else{I=CA}f=I+1|0;Ur[DA>>2]=f;M=I&255;O=n+58|0;rB[O>>0]=M;r=I>>>8;U=r&255;K=n+59|0;rB[K>>0]=U;F=I>>>16;c=F&255;T=n+60|0;rB[T>>0]=c;h=I>>>24;W=h&255;H=n+61|0;rB[H>>0]=W;Y=n+62|0;o=wQ&255;k=n+66|0;rB[Y>>0]=0&255;rB[Y+1>>0]=0>>8&255;rB[Y+2>>0]=0>>16&255;rB[Y+3>>0]=0>>24;rB[k>>0]=o;l=(wQ|0)>0;if(l){V=Ur[Ud>>2]|0;N=V&255;L=n+67|0;rB[L>>0]=N;b=V&255;JA=(wQ|0)==1;if(JA){w=b}else{x=1;_=b;while(1){g=Ur[rd>>2]|0;y=g+(x<<2)|0;q=Ur[y>>2]|0;m=q&255;z=x+27|0;X=(n+40|0)+z|0;rB[X>>0]=m;t=q&255;v=t+_|0;$=x+1|0;wA=($|0)==(wQ|0);if(wA){w=v;break}else{x=$;_=v}}}R=Ur[n>>2]|0;p=Ur[S>>2]|0;i=Ur[rd>>2]|0;Dn=R;Jn=p;Rn=i;eA=w}else{Dn=vn;Jn=P;Rn=Ud;eA=0}Ur[d>>2]=Id;nn=wQ+27|0;dn=n+324|0;Ur[dn>>2]=nn;An=d+4|0;Ur[An>>2]=nn;Qn=n+12|0;Bn=Ur[Qn>>2]|0;En=Dn+Bn|0;Cn=d+8|0;Ur[Cn>>2]=En;en=d+12|0;Ur[en>>2]=eA;wn=Jn-wQ|0;Ur[S>>2]=wn;gn=Rn+(wQ<<2)|0;pn=wn<<2;XB(Rn|0,gn|0,pn|0)|0;Sn=n+20|0;Pn=Ur[Sn>>2]|0;Gn=Pn+(wQ<<3)|0;an=Ur[S>>2]|0;In=an<<3;XB(Pn|0,Gn|0,In|0)|0;Mn=Ur[Qn>>2]|0;On=Mn+eA|0;Ur[Qn>>2]=On;RQ(d);E=1;return E|0}function en(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0;rn=cr;Q=n+104|0;B=Ur[Q>>2]|0;i=n+88|0;K=B+12|0;Ur[i>>2]=0|0;Ur[i+4>>2]=0|0;Ur[i+8>>2]=0|0;Ur[i+12>>2]=0|0;l=Ur[K>>2]|0;KA(l);X=B+16|0;En=Ur[X>>2]|0;KA(En);Pn=B+20|0;In=Ur[Pn>>2]|0;KA(In);Mn=B+24|0;E=Ur[Mn>>2]|0;KA(E);D=B+28|0;C=Ur[D>>2]|0;KA(C);Z=B+32|0;e=Ur[Z>>2]|0;KA(e);w=B+36|0;J=Ur[w>>2]|0;KA(J);g=B+40|0;R=Ur[g>>2]|0;KA(R);p=B+44|0;S=Ur[p>>2]|0;KA(S);P=B+48|0;G=Ur[P>>2]|0;KA(G);a=B+52|0;f=Ur[a>>2]|0;KA(f);I=B+56|0;M=Ur[I>>2]|0;KA(M);O=B+60|0;r=Ur[O>>2]|0;KA(r);U=B+64|0;F=Ur[U>>2]|0;KA(F);c=B+68|0;s=Ur[c>>2]|0;KA(s);T=Ur[25664>>2]|0;h=T+12|0;W=Ur[h>>2]|0;H=ZA[W&1](n)|0;Y=(H|0)==0;if(!Y){A=H;return A|0}o=(d|0)==(0|0);if(o){A=0;return A|0}k=tw(n)|0;V=(k|0)==0;if(!V){A=-131;return A|0}N=n+4|0;u=Un(N)|0;Ur[d>>2]=u;L=_Q(N)|0;b=d+4|0;Ur[b>>2]=L;y=d+8|0;Ur[y>>2]=0;x=n+44|0;q=Ur[x>>2]|0;m=d+12|0;Ur[m>>2]=q;z=n+48|0;t=z;v=t;j=Ur[v>>2]|0;_=t+4|0;$=_;nn=Ur[$>>2]|0;dn=d+16|0;An=dn;Qn=An;Ur[Qn>>2]=j;Bn=An+4|0;Dn=Bn;Ur[Dn>>2]=nn;Cn=n+56|0;Zn=Cn;en=Zn;wn=Ur[en>>2]|0;Jn=Zn+4|0;gn=Jn;Rn=Ur[gn>>2]|0;pn=d+24|0;Sn=pn;Gn=Sn;Ur[Gn>>2]=wn;an=Sn+4|0;fn=an;Ur[fn>>2]=Rn;A=0;return A|0}function wn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0.0,w=0.0,J=0.0,g=0.0,R=0.0,p=0,i=0.0,S=0,P=0,G=0,a=0,f=0.0,I=0.0;var M=0.0,O=0.0,r=0,U=0,K=0,F=0,c=0,s=0.0,T=0.0,h=0.0,W=0.0,H=0,Y=0,o=0,k=0,l=0.0,V=0,N=0.0,u=0.0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0;j=cr;A=n+28|0;Q=Ur[A>>2]|0;t=d;_=t+48|0;do{Ur[t>>2]=0|0;t=t+4|0}while((t|0)<(_|0));p=Q+3372|0;U=Ur[p>>2]|0;k=(U|0)>0;if(!k){return}x=n+8|0;q=Ur[x>>2]|0;m=Ur[Q>>2]|0;z=m>>1;X=Q+4|0;B=Ur[X>>2]|0;E=(B|0)/(m|0)&-1;D=d+24|0;Ur[D>>2]=E;Ur[d>>2]=1;C=Q+3360|0;Z=Ur[C>>2]|0;e=+(Z|0);w=+(z|0);J=e*w;g=+(q|0);R=J/g;i=+NB(R);S=~~i;P=d+12|0;Ur[P>>2]=S;G=Q+3364|0;a=Ur[G>>2]|0;f=+(a|0);I=f*w;M=I/g;O=+NB(M);r=~~O;K=d+16|0;Ur[K>>2]=r;F=Q+3368|0;c=Ur[F>>2]|0;s=+(c|0);T=s*w;h=T/g;W=+NB(h);H=~~W;Y=d+20|0;Ur[Y>>2]=H;o=d+32|0;Fr[o>>3]=7.0;l=+(U|0);V=Q+3376|0;N=+Fr[V>>3];u=l*N;L=~~u;b=d+8|0;Ur[b>>2]=L;y=d+4|0;Ur[y>>2]=L;return}function Ld(n){n=n|0;var d=0,A=0,Q=0,B=0;Q=cr;d=n;B=d+48|0;do{Ur[d>>2]=0|0;d=d+4|0}while((d|0)<(B|0));return}function tw(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0;w=cr;A=n+64|0;Q=Ur[A>>2]|0;B=Q+104|0;E=Ur[B>>2]|0;D=E+80|0;C=Ur[D>>2]|0;Z=(C|0)!=0;d=Z&1;return d|0}function Jn(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0.0,R=0,p=0,i=0.0,S=0.0,P=0.0,G=0,a=0,f=0.0;var I=0.0,M=0.0,O=0.0,r=0.0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0.0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0;var Cn=0,Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0;var cn=0,sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0;var Xn=0,tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0;var pd=0,id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0;var Yd=0,od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0;var nA=0,dA=0,AA=0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0.0,wA=0,JA=0.0,gA=0.0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0;var fA=0,IA=0,MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0.0,TA=0.0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0;var uA=0,LA=0,bA=0,yA=0,xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0;var DQ=0,CQ=0,ZQ=0,eQ=0,wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0.0,IQ=0.0,MQ=0.0,OQ=0.0,rQ=0.0,UQ=0;var KQ=0,FQ=0,cQ=0,sQ=0,TQ=0,hQ=0,WQ=0,HQ=0,YQ=0,oQ=0,kQ=0,lQ=0,VQ=0,NQ=0,uQ=0,LQ=0.0,bQ=0.0,yQ=0,xQ=0,qQ=0;var mQ=0,zQ=0,XQ=0,tQ=0,vQ=0;vQ=cr;e=n+104|0;w=Ur[e>>2]|0;pd=n+64|0;AA=Ur[pd>>2]|0;RA=AA+104|0;rA=Ur[RA>>2]|0;oA=AA+4|0;mA=Ur[oA>>2]|0;QQ=mA+28|0;pQ=Ur[QQ>>2]|0;J=rA+112|0;M=+Fr[J>>3];H=+NB(M);x=~~H;dn=(w+12|0)+(x<<2)|0;gn=Ur[dn>>2]|0;rn=_Q(gn)|0;on=rn<<3;mn=n+28|0;Qd=Ur[mn>>2]|0;id=(Qd|0)==0;Kd=rA+96|0;ld=Ur[Kd>>2]|0;if(id){Xd=rA+100|0;vd=Ur[Xd>>2]|0;Y=ld;_=Xd;An=vd}else{jd=rA+104|0;_d=Ur[jd>>2]|0;$d=rA+100|0;nA=Ur[$d>>2]|0;dA=sr(_d,ld)|0;QA=sr(_d,nA)|0;Y=dA;_=$d;An=QA}BA=pQ+(Qd<<2)|0;EA=Ur[BA>>2]|0;DA=EA>>1;CA=pQ+3372|0;ZA=Ur[CA>>2]|0;eA=+(ZA|0);wA=pQ+3376|0;JA=+Fr[wA>>3];gA=eA*JA;pA=~~gA;iA=rA+80|0;SA=Ur[iA>>2]|0;PA=(SA|0)==0;GA=rA+120|0;if(PA){aA=Ur[GA>>2]|0;fA=(aA|0)==(0|0);if(!fA){A=-1;return A|0}Ur[GA>>2]=n;A=0;return A|0}Ur[GA>>2]=n;IA=rA+92|0;MA=Ur[IA>>2]|0;OA=(MA|0)>0;if(OA){if(id){YA=MA}else{UA=rA+104|0;KA=Ur[UA>>2]|0;FA=sr(KA,MA)|0;YA=FA}cA=pQ+3384|0;sA=+Fr[cA>>3];TA=15.0/sA;hA=rA+84|0;WA=Ur[hA>>2]|0;HA=on-YA|0;kA=WA+HA|0;lA=(kA|0)>(pA|0);n:do{if(lA){VA=(x|0)>0;NA=(on|0)>(YA|0);YQ=NA&VA;if(YQ){uA=on-YA|0;LA=uA+WA|0;bA=(LA|0)>(pA|0);if(bA){UQ=x;while(1){yA=UQ+-1|0;xA=(w+12|0)+(yA<<2)|0;qA=Ur[xA>>2]|0;zA=_Q(qA)|0;XA=zA<<3;tA=(UQ|0)>1;vA=(XA|0)>(YA|0);HQ=vA&tA;if(!HQ){KQ=yA;break n}C=Ur[hA>>2]|0;jA=XA-YA|0;_A=jA+C|0;$A=(_A|0)>(pA|0);if($A){UQ=yA}else{KQ=yA;break}}}else{KQ=x}}else{KQ=x}}else{nQ=(kA|0)<(pA|0);if(nQ){dQ=x+1|0;AQ=(dQ|0)<15;BQ=(on|0)<(YA|0);kQ=BQ&AQ;if(kQ){EQ=on-YA|0;DQ=EQ+WA|0;CQ=(DQ|0)<(pA|0);if(CQ){eQ=dQ;while(1){ZQ=(w+12|0)+(eQ<<2)|0;wQ=Ur[ZQ>>2]|0;JQ=_Q(wQ)|0;gQ=JQ<<3;RQ=eQ+1|0;iQ=(RQ|0)<15;SQ=(gQ|0)<(YA|0);oQ=SQ&iQ;if(!oQ){KQ=eQ;break n}D=Ur[hA>>2]|0;PQ=gQ-YA|0;GQ=PQ+D|0;aQ=(GQ|0)<(pA|0);if(aQ){eQ=RQ}else{KQ=eQ;break}}}else{KQ=x}}else{KQ=x}}else{KQ=x}}}while(0);fQ=+(KQ|0);IQ=+Fr[J>>3];MQ=fQ-IQ;OQ=+NB(MQ);rQ=+(DA|0);g=OQ/rQ;R=mA+8|0;p=Ur[R>>2]|0;i=+(p|0);S=i*g;P=-TA;G=STA;bQ=a?TA:LQ;f=bQ/i;I=f*rQ;O=I+IQ;Fr[J>>3]=O;r=+NB(O);U=~~r;K=(w+12|0)+(U<<2)|0;F=Ur[K>>2]|0;c=_Q(F)|0;s=c<<3;Z=Ur[Kd>>2]|0;T=Z;FQ=U;yQ=s}else{T=ld;FQ=x;yQ=on}h=(T|0)>0;W=(yQ|0)<(Y|0);lQ=W&h;n:do{if(lQ){o=rA+88|0;k=Ur[o>>2]|0;l=yQ-Y|0;V=l+k|0;N=(V|0)<0;if(N){cQ=FQ;xQ=yQ;while(1){u=cQ+1|0;L=(cQ|0)>13;if(L){sQ=u;qQ=xQ;break n}b=(w+12|0)+(u<<2)|0;y=Ur[b>>2]|0;q=_Q(y)|0;m=q<<3;z=Ur[o>>2]|0;X=m-Y|0;t=X+z|0;v=(t|0)<0;if(v){cQ=u;xQ=m}else{sQ=u;qQ=m;break}}}else{sQ=FQ;qQ=yQ}}else{sQ=FQ;qQ=yQ}}while(0);j=Ur[_>>2]|0;$=(j|0)>0;nn=(qQ|0)>(An|0);VQ=nn&$;n:do{if(VQ){Qn=rA+88|0;Bn=Ur[Qn>>2]|0;En=qQ-An|0;Dn=En+Bn|0;Cn=Ur[CA>>2]|0;Zn=(Dn|0)>(Cn|0);if(Zn){TQ=sQ;mQ=qQ;while(1){en=TQ+-1|0;wn=(TQ|0)<1;if(wn){hQ=en;zQ=mQ;break n}Jn=(w+12|0)+(en<<2)|0;Rn=Ur[Jn>>2]|0;pn=_Q(Rn)|0;Sn=pn<<3;Pn=Ur[Qn>>2]|0;Gn=Sn-An|0;an=Gn+Pn|0;fn=Ur[CA>>2]|0;In=(an|0)>(fn|0);if(In){TQ=en;mQ=Sn}else{hQ=en;zQ=Sn;break}}}else{hQ=sQ;zQ=qQ}}else{hQ=sQ;zQ=qQ}}while(0);Mn=(hQ|0)<0;if(Mn){On=Ur[CA>>2]|0;Un=rA+88|0;Kn=Ur[Un>>2]|0;Fn=On+An|0;cn=Fn-Kn|0;sn=(cn|0)/8&-1;Tn=rA+124|0;Ur[Tn>>2]=0;hn=w+12|0;Wn=Ur[hn>>2]|0;Hn=_Q(Wn)|0;Yn=(Hn|0)>(sn|0);if(Yn){kn=Ur[hn>>2]|0;ln=sn<<3;jQ(kn,ln);Vn=Ur[hn>>2]|0;Nn=_Q(Vn)|0;un=Nn<<3;XQ=un}else{XQ=zQ}}else{Ln=rA+88|0;bn=Ur[Ln>>2]|0;yn=Y+7|0;xn=yn-bn|0;qn=(xn|0)/8&-1;zn=(hQ|0)>14;B=zn?14:hQ;Xn=rA+124|0;Ur[Xn>>2]=B;tn=(w+12|0)+(B<<2)|0;vn=Ur[tn>>2]|0;jn=_Q(vn)|0;_n=qn-jn|0;$n=(_n|0)>0;nd=Ur[tn>>2]|0;if($n){Ad=nd;WQ=_n;while(1){dd=WQ+-1|0;Xw(Ad,0,8);Bd=(WQ|0)>1;Ed=Ur[tn>>2]|0;if(Bd){Ad=Ed;WQ=dd}else{E=Ed;break}}}else{E=nd}Dd=_Q(E)|0;Cd=Dd<<3;XQ=Cd}Zd=Ur[Kd>>2]|0;ed=(Zd|0)>0;if(ed){tQ=37}else{wd=Ur[_>>2]|0;Jd=(wd|0)>0;if(Jd){tQ=37}}do{if((tQ|0)==37){gd=(An|0)>0;Rd=(XQ|0)>(An|0);NQ=gd&Rd;if(NQ){Sd=XQ-An|0;Pd=rA+88|0;Gd=Ur[Pd>>2]|0;ad=Sd+Gd|0;Ur[Pd>>2]=ad;break}fd=(Y|0)>0;Id=(XQ|0)<(Y|0);uQ=fd&Id;if(uQ){Md=XQ-Y|0;Od=rA+88|0;rd=Ur[Od>>2]|0;Ud=Md+rd|0;Ur[Od>>2]=Ud;break}Fd=rA+88|0;cd=Ur[Fd>>2]|0;sd=(cd|0)>(pA|0);if(sd){if(gd){Td=XQ-An|0;hd=cd+Td|0;Wd=(hd|0)<(pA|0);d=Wd?pA:hd;Ur[Fd>>2]=d;break}else{Ur[Fd>>2]=pA;break}}else{if(fd){Hd=XQ-Y|0;Yd=cd+Hd|0;od=(Yd|0)>(pA|0);Q=od?pA:Yd;Ur[Fd>>2]=Q;break}else{Ur[Fd>>2]=pA;break}}}}while(0);kd=Ur[IA>>2]|0;Vd=(kd|0)>0;if(!Vd){A=0;return A|0}Nd=Ur[mn>>2]|0;ud=(Nd|0)==0;if(ud){qd=kd}else{Ld=rA+104|0;bd=Ur[Ld>>2]|0;yd=sr(bd,kd)|0;qd=yd}xd=XQ-qd|0;md=rA+84|0;zd=Ur[md>>2]|0;td=xd+zd|0;Ur[md>>2]=td;A=0;return A|0}function gn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0;An=cr;Q=n+104|0;B=Ur[Q>>2]|0;i=B+120|0;K=Ur[i>>2]|0;l=(K|0)==(0|0);if(l){A=0;return A|0}X=(d|0)==(0|0);if(!X){t=K+104|0;v=Ur[t>>2]|0;j=K+64|0;_=Ur[j>>2]|0;E=_+104|0;D=Ur[E>>2]|0;C=D+80|0;Z=Ur[C>>2]|0;nn=(Z|0)==0;if(nn){$=7}else{e=B+124|0;w=Ur[e>>2]|0;$=w}J=(v+12|0)+($<<2)|0;g=Ur[J>>2]|0;R=Un(g)|0;Ur[d>>2]=R;p=Ur[J>>2]|0;S=_Q(p)|0;P=d+4|0;Ur[P>>2]=S;G=d+8|0;Ur[G>>2]=0;a=K+44|0;f=Ur[a>>2]|0;I=d+12|0;Ur[I>>2]=f;M=K+48|0;O=M;r=O;U=Ur[r>>2]|0;F=O+4|0;c=F;s=Ur[c>>2]|0;T=d+16|0;h=T;W=h;Ur[W>>2]=U;H=h+4|0;Y=H;Ur[Y>>2]=s;o=K+56|0;k=o;V=k;N=Ur[V>>2]|0;u=k+4|0;L=u;b=Ur[L>>2]|0;y=d+24|0;x=y;q=x;Ur[q>>2]=N;m=x+4|0;z=m;Ur[z>>2]=b}Ur[i>>2]=0;A=1;return A|0}function Rn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0;I=cr;a=d;M=a+112|0;do{Ur[a>>2]=0|0;a=a+4|0}while((a|0)<(M|0));A=d+64|0;Ur[A>>2]=n;Q=d+76|0;Ur[Q>>2]=0;e=d+68|0;Ur[e>>2]=0;w=Ur[n>>2]|0;J=(w|0)==0;if(J){return 0}g=Hr(1,72)|0;R=d+104|0;Ur[R>>2]=g;p=g+4|0;Kr[p>>2]=-9999.0;i=d+4|0;S=g+12|0;B=g+40|0;G=0;while(1){E=(G|0)==7;if(E){Ur[B>>2]=i;rA(i);G=8;continue}else{D=Hr(1,20)|0;C=S+(G<<2)|0;Ur[C>>2]=D;rA(D);Z=G+1|0;P=(Z|0)==15;if(P){break}else{G=Z;continue}}}return 0}function vw(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0;F=cr;A=d+7|0;Q=A&-8;p=n+72|0;a=Ur[p>>2]|0;f=a+Q|0;I=n+76|0;M=Ur[I>>2]|0;O=(f|0)>(M|0);r=n+68|0;U=Ur[r>>2]|0;if(!O){S=U;P=a;i=S+P|0;G=P+Q|0;Ur[p>>2]=G;return i|0}B=(U|0)==(0|0);if(!B){E=U;D=Wr(8)|0;C=n+80|0;Z=Ur[C>>2]|0;e=Z+a|0;Ur[C>>2]=e;w=n+84|0;J=Ur[w>>2]|0;g=D+4|0;Ur[g>>2]=J;Ur[D>>2]=E;Ur[w>>2]=D}Ur[I>>2]=Q;R=Wr(Q)|0;Ur[r>>2]=R;Ur[p>>2]=0;S=R;P=0;i=S+P|0;G=P+Q|0;Ur[p>>2]=G;return i|0}function pn(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0;k=cr;Q=n+104|0;B=Ur[Q>>2]|0;i=n+84|0;r=Ur[i>>2]|0;U=(r|0)==(0|0);if(!U){H=r;while(1){K=H+4|0;F=Ur[K>>2]|0;c=Ur[H>>2]|0;qB(c);qB(H);s=(F|0)==(0|0);if(s){break}else{H=F}}}T=n+80|0;E=Ur[T>>2]|0;D=(E|0)==0;d=n+68|0;A=Ur[d>>2]|0;if(D){S=A}else{C=n+76|0;Z=Ur[C>>2]|0;e=Z+E|0;w=mB(A,e)|0;Ur[d>>2]=w;J=Ur[T>>2]|0;g=Ur[C>>2]|0;R=g+J|0;Ur[C>>2]=R;Ur[T>>2]=0;S=w}p=n+72|0;Ur[p>>2]=0;Ur[i>>2]=0;P=(S|0)==(0|0);if(!P){qB(S)}G=(B|0)==(0|0);if(G){Y=n;l=Y+112|0;do{Ur[Y>>2]=0|0;Y=Y+4|0}while((Y|0)<(l|0));return 0}else{W=0}while(1){a=(B+12|0)+(W<<2)|0;f=Ur[a>>2]|0;UA(f);I=(W|0)==7;if(I){W=8;continue}M=Ur[a>>2]|0;qB(M);O=W+1|0;h=(O|0)==15;if(h){break}else{W=O}}qB(B);Y=n;l=Y+112|0;do{Ur[Y>>2]=0|0;Y=Y+4|0}while((Y|0)<(l|0));return 0}function Sn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0;P=cr;Q=an(n,d,1)|0;B=(Q|0)==0;if(!B){A=1;return A|0}Z=n+104|0;e=Ur[Z>>2]|0;w=vn(d)|0;J=e+60|0;Ur[J>>2]=w;g=Hr(1,180)|0;Ur[e>>2]=g;rn(g,d);R=e+80|0;wn(d,R);p=n+64|0;i=p;E=i;Ur[E>>2]=3;D=i+4|0;C=D;Ur[C>>2]=0;A=0;return A|0}function HA(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0;var Cn=0,Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0;var cn=0,sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0;var Xn=0,tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0;var pd=0,id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0;var Yd=0,od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0;Nd=cr;w=(n|0)==(0|0);if(w){return}J=n+4|0;dn=Ur[J>>2]|0;gn=(dn|0)!=(0|0);if(gn){rn=dn+28|0;on=Ur[rn>>2]|0;Jn=on}else{Jn=0}mn=n+104|0;Qd=Ur[mn>>2]|0;pd=(Qd|0)!=(0|0);if(pd){Ud=Ur[Qd>>2]|0;g=(Ud|0)==(0|0);if(!g){bd(Ud);O=Ur[Qd>>2]|0;qB(O)}Y=Qd+12|0;q=Ur[Y>>2]|0;t=(q|0)==(0|0);if(!t){v=Ur[q>>2]|0;yd(v);j=Ur[Y>>2]|0;_=Ur[j>>2]|0;qB(_);$=Ur[Y>>2]|0;qB($)}nn=Qd+16|0;An=Ur[nn>>2]|0;Qn=(An|0)==(0|0);if(!Qn){Bn=Ur[An>>2]|0;yd(Bn);En=Ur[nn>>2]|0;Dn=Ur[En>>2]|0;qB(Dn);Cn=Ur[nn>>2]|0;qB(Cn)}Zn=Qd+48|0;en=Ur[Zn>>2]|0;wn=(en|0)==(0|0);if(!wn){Rn=(Jn|0)==(0|0);if(Rn){Ln=en}else{pn=Jn+16|0;Sn=Ur[pn>>2]|0;Pn=(Sn|0)>0;if(Pn){Gn=Jn+800|0;an=Ur[Gn>>2]|0;fn=25640+(an<<2)|0;In=Ur[fn>>2]|0;Mn=In+16|0;On=Ur[Mn>>2]|0;Un=Ur[en>>2]|0;CA[On&7](Un);Kn=Ur[pn>>2]|0;Fn=(Kn|0)>1;if(Fn){sn=1;while(1){d=Ur[Zn>>2]|0;cn=Gn+(sn<<2)|0;Tn=Ur[cn>>2]|0;hn=25640+(Tn<<2)|0;Wn=Ur[hn>>2]|0;Hn=Wn+16|0;Yn=Ur[Hn>>2]|0;kn=d+(sn<<2)|0;ln=Ur[kn>>2]|0;CA[Yn&7](ln);Vn=sn+1|0;Nn=Ur[pn>>2]|0;un=(Vn|0)<(Nn|0);if(un){sn=Vn}else{break}}}A=Ur[Zn>>2]|0;Ln=A}else{Ln=en}}qB(Ln)}bn=Qd+52|0;yn=Ur[bn>>2]|0;xn=(yn|0)==(0|0);if(!xn){qn=(Jn|0)==(0|0);if(qn){ad=yn}else{zn=Jn+20|0;Xn=Ur[zn>>2]|0;tn=(Xn|0)>0;if(tn){vn=Jn+1312|0;jn=Ur[vn>>2]|0;_n=25648+(jn<<2)|0;$n=Ur[_n>>2]|0;nd=$n+16|0;dd=Ur[nd>>2]|0;Ad=Ur[yn>>2]|0;CA[dd&7](Ad);Bd=Ur[zn>>2]|0;Ed=(Bd|0)>1;if(Ed){Cd=1;while(1){Q=Ur[bn>>2]|0;Dd=vn+(Cd<<2)|0;Zd=Ur[Dd>>2]|0;ed=25648+(Zd<<2)|0;wd=Ur[ed>>2]|0;Jd=wd+16|0;gd=Ur[Jd>>2]|0;Rd=Q+(Cd<<2)|0;id=Ur[Rd>>2]|0;CA[gd&7](id);Sd=Cd+1|0;Pd=Ur[zn>>2]|0;Gd=(Sd|0)<(Pd|0);if(Gd){Cd=Sd}else{break}}}B=Ur[bn>>2]|0;ad=B}else{ad=yn}}qB(ad)}fd=Qd+56|0;Id=Ur[fd>>2]|0;Md=(Id|0)==(0|0);if(!Md){Od=(Jn|0)==(0|0);if(Od){od=Id}else{rd=Jn+28|0;Kd=Ur[rd>>2]|0;Fd=(Kd|0)>0;if(Fd){qd(Id);cd=Ur[rd>>2]|0;sd=(cd|0)>1;if(sd){hd=1;while(1){E=Ur[fd>>2]|0;Td=E+(hd*52|0)|0;qd(Td);Wd=hd+1|0;Hd=Ur[rd>>2]|0;Yd=(Wd|0)<(Hd|0);if(Yd){hd=Wd}else{break}}}D=Ur[fd>>2]|0;od=D}else{od=Id}}qB(od)}R=Qd+60|0;p=Ur[R>>2]|0;i=(p|0)==(0|0);if(!i){xd(p)}S=Qd+80|0;Ld(S);P=Qd+20|0;md(P);G=Qd+32|0;md(G)}a=n+8|0;f=Ur[a>>2]|0;I=(f|0)==(0|0);if(!I){if(gn){M=dn+4|0;r=Ur[M>>2]|0;U=(r|0)>0;if(U){F=f;X=r;kd=0;while(1){K=F+(kd<<2)|0;c=Ur[K>>2]|0;s=(c|0)==(0|0);if(s){W=X}else{qB(c);Z=Ur[M>>2]|0;W=Z}T=kd+1|0;h=(T|0)<(W|0);if(!h){break}C=Ur[a>>2]|0;F=C;X=W;kd=T}e=Ur[a>>2]|0;H=e}else{H=f}}else{H=f}qB(H);o=n+12|0;k=Ur[o>>2]|0;l=(k|0)==(0|0);if(!l){qB(k)}}if(pd){V=Qd+64|0;N=Ur[V>>2]|0;u=(N|0)==(0|0);if(!u){qB(N)}L=Qd+68|0;b=Ur[L>>2]|0;y=(b|0)==(0|0);if(!y){qB(b)}x=Qd+72|0;m=Ur[x>>2]|0;z=(m|0)==(0|0);if(!z){qB(m)}qB(Qd)}ld=n;ud=ld+112|0;do{Ur[ld>>2]=0|0;ld=ld+4|0}while((ld|0)<(ud|0));return}function fn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0;gn=cr;C=n+4|0;Z=Ur[C>>2]|0;a=n+104|0;T=Ur[a>>2]|0;L=T+64|0;_=Ur[L>>2]|0;Dn=(_|0)==(0|0);if(!Dn){qB(_)}Ur[L>>2]=0;Cn=T+68|0;Zn=Ur[Cn>>2]|0;en=(Zn|0)==(0|0);if(!en){qB(Zn)}Ur[Cn>>2]=0;e=T+72|0;w=Ur[e>>2]|0;J=(w|0)==(0|0);if(!J){qB(w)}Ur[e>>2]=0;g=n+20|0;R=Ur[g>>2]|0;p=R+d|0;i=n+16|0;S=Ur[i>>2]|0;P=(p|0)<(S|0);if(P){A=Z+4|0;E=Ur[A>>2]|0;H=E;Jn=11}else{G=d<<1;f=R+G|0;Ur[i>>2]=f;I=Z+4|0;M=Ur[I>>2]|0;O=(M|0)>0;if(O){r=n+8|0;U=Ur[r>>2]|0;K=Ur[U>>2]|0;F=f<<2;c=mB(K,F)|0;s=Ur[r>>2]|0;Ur[s>>2]=c;h=Ur[I>>2]|0;W=(h|0)>1;if(W){u=1;while(1){Q=Ur[i>>2]|0;V=Ur[r>>2]|0;N=V+(u<<2)|0;b=Ur[N>>2]|0;y=Q<<2;x=mB(b,y)|0;q=Ur[r>>2]|0;m=q+(u<<2)|0;Ur[m>>2]=x;z=u+1|0;X=Ur[I>>2]|0;t=(z|0)<(X|0);if(t){u=z}else{H=X;Jn=11;break}}}else{H=h;Jn=11}}}if((Jn|0)==11){Y=(H|0)>0;if(Y){o=n+8|0;k=Ur[g>>2]|0;l=n+12|0;wn=0;while(1){v=Ur[o>>2]|0;j=v+(wn<<2)|0;$=Ur[j>>2]|0;nn=$+(k<<2)|0;dn=Ur[l>>2]|0;An=dn+(wn<<2)|0;Ur[An>>2]=nn;Qn=wn+1|0;Bn=(Qn|0)<(H|0);if(Bn){wn=Qn}else{B=l;break}}En=Ur[B>>2]|0;return En|0}}D=n+12|0;B=D;En=Ur[B>>2]|0;return En|0}function Pn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0;an=cr;C=n+4|0;Z=Ur[C>>2]|0;a=Z+28|0;T=Ur[a>>2]|0;L=(d|0)<1;if(!L){v=n+20|0;j=Ur[v>>2]|0;$=j+d|0;nn=n+16|0;dn=Ur[nn>>2]|0;An=($|0)>(dn|0);if(An){Q=-131;cr=an;return Q|0}Ur[v>>2]=$;Qn=n+28|0;Bn=Ur[Qn>>2]|0;En=(Bn|0)==0;if(!En){Q=0;cr=an;return Q|0}Dn=n+48|0;Cn=Ur[Dn>>2]|0;Zn=$-Cn|0;wn=T+4|0;Jn=Ur[wn>>2]|0;gn=(Zn|0)>(Jn|0);if(!gn){Q=0;cr=an;return Q|0}In(n);Q=0;cr=an;return Q|0}_=cr;cr=cr+128|0;en=n+28|0;Rn=Ur[en>>2]|0;pn=(Rn|0)==0;if(pn){In(n)}Sn=T+4|0;e=Ur[Sn>>2]|0;w=e*3|0;fn(n,w)|0;J=n+20|0;g=Ur[J>>2]|0;R=n+32|0;Ur[R>>2]=g;p=Ur[Sn>>2]|0;i=p*3|0;S=g+i|0;Ur[J>>2]=S;P=Z+4|0;G=Ur[P>>2]|0;f=(G|0)>0;if(!f){Q=0;cr=an;return Q|0}I=n+8|0;M=g;Pn=0;while(1){O=(M|0)>64;if(O){r=Ur[Sn>>2]|0;U=(M|0)>(r|0);A=U?r:M;K=Ur[I>>2]|0;F=K+(Pn<<2)|0;c=Ur[F>>2]|0;E=M-A|0;s=c+(E<<2)|0;+bn(s,_,A,32);h=Ur[I>>2]|0;W=h+(Pn<<2)|0;H=Ur[W>>2]|0;Y=Ur[R>>2]|0;o=H+(Y<<2)|0;D=Y+-32|0;k=H+(D<<2)|0;l=Ur[J>>2]|0;V=l-Y|0;yn(_,k,32,o,V)}else{N=Ur[I>>2]|0;u=N+(Pn<<2)|0;b=Ur[u>>2]|0;y=b+(M<<2)|0;x=Ur[J>>2]|0;q=x-M|0;m=q<<2;AZ(y|0,0,m|0)|0}z=Pn+1|0;X=Ur[P>>2]|0;t=(z|0)<(X|0);if(!t){Q=0;break}B=Ur[R>>2]|0;M=B;Pn=z}cr=an;return Q|0}function Gn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0.0,l=0.0,V=0,N=0.0,u=0.0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0;var tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0;var id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0;var od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0;var dA=0,AA=0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0;var IA=0,MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0;var LA=0,bA=0,yA=0,xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0,DQ=0;var CQ=0,ZQ=0,eQ=0,wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0,rQ=0,UQ=0,KQ=0;var FQ=0,cQ=0,sQ=0,TQ=0,hQ=0,WQ=0,HQ=0,YQ=0,oQ=0,kQ=0,lQ=0,VQ=0,NQ=0,uQ=0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0,mQ=0;var zQ=0,XQ=0,tQ=0,vQ=0,jQ=0,_Q=0,$Q=0,nB=0,dB=0,AB=0,QB=0,BB=0,EB=0,DB=0,CB=0,ZB=0,eB=0,wB=0,JB=0,gB=0;var RB=0,pB=0,iB=0,SB=0,PB=0,GB=0,aB=0,fB=0,IB=0,MB=0,OB=0,rB=0,UB=0,KB=0,FB=0,cB=0,sB=0,TB=0,hB=0,WB=0;var HB=0,YB=0,oB=0,kB=0,lB=0,VB=0,NB=0;NB=cr;J=n+4|0;g=Ur[J>>2]|0;Sd=g+28|0;gQ=Ur[Sd>>2]|0;OQ=n+104|0;YQ=Ur[OQ>>2]|0;qQ=YQ+60|0;AB=Ur[qQ>>2]|0;RB=n+48|0;rB=Ur[RB>>2]|0;R=n+40|0;r=Ur[R>>2]|0;o=gQ+(r<<2)|0;m=Ur[o>>2]|0;Qn=(m|0)/2&-1;pn=rB-Qn|0;Kn=d+104|0;ln=Ur[Kn>>2]|0;Xn=n+28|0;Ed=Ur[Xn>>2]|0;Pd=(Ed|0)==0;if(Pd){Q=0;return Q|0}cd=n+32|0;Nd=Ur[cd>>2]|0;vd=(Nd|0)==-1;if(vd){Q=0;return Q|0}CA=LB(n)|0;GA=(CA|0)==-1;do{if(GA){sA=Ur[cd>>2]|0;uA=(sA|0)==0;if(uA){Q=0;return Q|0}else{jA=n+44|0;Ur[jA>>2]=0;E=jA;UQ=0;break}}else{ZQ=Ur[gQ>>2]|0;RQ=gQ+4|0;pQ=Ur[RQ>>2]|0;iQ=(ZQ|0)==(pQ|0);SQ=n+44|0;if(iQ){Ur[SQ>>2]=0;E=SQ;UQ=0;break}else{Ur[SQ>>2]=CA;E=SQ;UQ=CA;break}}}while(0);PQ=Ur[RB>>2]|0;GQ=Ur[R>>2]|0;aQ=gQ+(GQ<<2)|0;fQ=Ur[aQ>>2]|0;IQ=(fQ|0)/4&-1;MQ=IQ+PQ|0;rQ=gQ+(UQ<<2)|0;KQ=Ur[rQ>>2]|0;FQ=(KQ|0)/4&-1;cQ=MQ+FQ|0;sQ=(KQ|0)/2&-1;TQ=cQ+sQ|0;hQ=n+20|0;WQ=Ur[hQ>>2]|0;HQ=(WQ|0)<(TQ|0);if(HQ){Q=0;return Q|0}oQ=d+84|0;kQ=Ur[oQ>>2]|0;lQ=(kQ|0)==(0|0);if(!lQ){lB=kQ;while(1){VQ=lB+4|0;NQ=Ur[VQ>>2]|0;uQ=Ur[lB>>2]|0;qB(uQ);qB(lB);LQ=(NQ|0)==(0|0);if(LQ){break}else{lB=NQ}}}bQ=d+80|0;yQ=Ur[bQ>>2]|0;xQ=(yQ|0)==0;if(!xQ){mQ=d+68|0;zQ=Ur[mQ>>2]|0;XQ=d+76|0;tQ=Ur[XQ>>2]|0;vQ=tQ+yQ|0;jQ=mB(zQ,vQ)|0;Ur[mQ>>2]=jQ;_Q=Ur[bQ>>2]|0;$Q=Ur[XQ>>2]|0;nB=$Q+_Q|0;Ur[XQ>>2]=nB;Ur[bQ>>2]=0}dB=d+72|0;Ur[dB>>2]=0;Ur[oQ>>2]=0;QB=n+36|0;BB=Ur[QB>>2]|0;EB=d+24|0;Ur[EB>>2]=BB;DB=Ur[R>>2]|0;CB=d+28|0;Ur[CB>>2]=DB;ZB=Ur[E>>2]|0;eB=d+32|0;Ur[eB>>2]=ZB;wB=(DB|0)==0;do{if(wB){iB=bB(n)|0;SB=(iB|0)==0;PB=ln+8|0;if(SB){Ur[PB>>2]=1;break}else{Ur[PB>>2]=0;break}}else{JB=(BB|0)==0;gB=(ZB|0)==0;kB=JB|gB;pB=ln+8|0;if(kB){Ur[pB>>2]=0;break}else{Ur[pB>>2]=1;break}}}while(0);GB=d+64|0;Ur[GB>>2]=n;aB=n+64|0;fB=aB;IB=fB;MB=Ur[IB>>2]|0;OB=fB+4|0;UB=OB;KB=Ur[UB>>2]|0;FB=zB(MB|0,KB|0,1,0)|0;cB=uB;sB=aB;TB=sB;Ur[TB>>2]=FB;hB=sB+4|0;WB=hB;Ur[WB>>2]=cB;HB=d+56|0;YB=HB;p=YB;Ur[p>>2]=MB;i=YB+4|0;S=i;Ur[S>>2]=KB;P=n+56|0;G=P;a=G;f=Ur[a>>2]|0;I=G+4|0;M=I;O=Ur[M>>2]|0;U=d+48|0;K=U;F=K;Ur[F>>2]=f;c=K+4|0;s=c;Ur[s>>2]=O;T=Ur[R>>2]|0;h=gQ+(T<<2)|0;W=Ur[h>>2]|0;H=d+36|0;Ur[H>>2]=W;Y=ln+4|0;k=+Kr[Y>>2];l=+Kr[AB>>2];V=k>l;if(V){Kr[AB>>2]=k;N=k}else{N=l}u=+xB(N,n);Kr[AB>>2]=u;Kr[Y>>2]=u;L=g+4|0;b=Ur[L>>2]|0;y=b<<2;x=y+7|0;q=x&-8;z=Ur[dB>>2]|0;X=q+z|0;t=d+76|0;v=Ur[t>>2]|0;j=(X|0)>(v|0);_=d+68|0;$=Ur[_>>2]|0;if(j){nn=($|0)==(0|0);if(!nn){dn=$;An=Wr(8)|0;Bn=Ur[bQ>>2]|0;En=Bn+z|0;Ur[bQ>>2]=En;Dn=Ur[oQ>>2]|0;Cn=An+4|0;Ur[Cn>>2]=Dn;Ur[An>>2]=dn;Ur[oQ>>2]=An}Ur[t>>2]=q;Zn=Wr(q)|0;Ur[_>>2]=Zn;Ur[dB>>2]=0;B=Ur[L>>2]|0;wn=Zn;Jn=0;Sn=B;In=q}else{wn=$;Jn=z;Sn=b;In=v}en=wn+Jn|0;gn=Jn+q|0;Ur[dB>>2]=gn;Ur[d>>2]=en;Rn=Sn<<2;Pn=Rn+7|0;Gn=Pn&-8;an=Gn+gn|0;fn=(an|0)>(In|0);if(fn){Mn=(wn|0)==(0|0);if(!Mn){On=wn;rn=Wr(8)|0;Un=Ur[bQ>>2]|0;Fn=Un+gn|0;Ur[bQ>>2]=Fn;cn=Ur[oQ>>2]|0;sn=rn+4|0;Ur[sn>>2]=cn;Ur[rn>>2]=On;Ur[oQ>>2]=rn}Ur[t>>2]=Gn;Tn=Wr(Gn)|0;Ur[_>>2]=Tn;Ur[dB>>2]=0;D=Ur[L>>2]|0;Wn=Tn;Hn=0;on=D;JQ=Gn}else{Wn=wn;Hn=gn;on=Sn;JQ=In}hn=Wn+Hn|0;Yn=Hn+Gn|0;Ur[dB>>2]=Yn;Ur[ln>>2]=hn;kn=(on|0)>0;n:do{if(kn){Vn=n+8|0;qn=Yn;zn=JQ;tn=Wn;oB=0;while(1){Nn=Ur[H>>2]|0;un=Nn+pn|0;Ln=un<<2;bn=Ln+7|0;yn=bn&-8;xn=yn+qn|0;mn=(xn|0)>(zn|0);if(mn){vn=(tn|0)==(0|0);if(!vn){jn=tn;_n=Wr(8)|0;$n=Ur[bQ>>2]|0;nd=$n+qn|0;Ur[bQ>>2]=nd;dd=Ur[oQ>>2]|0;Ad=_n+4|0;Ur[Ad>>2]=dd;Ur[_n>>2]=jn;Ur[oQ>>2]=_n}Ur[t>>2]=yn;Qd=Wr(yn)|0;Ur[_>>2]=Qd;Ur[dB>>2]=0;Dd=Qd;Cd=0}else{Dd=tn;Cd=qn}Bd=Dd+Cd|0;Zd=Cd+yn|0;Ur[dB>>2]=Zd;ed=Ur[ln>>2]|0;wd=ed+(oB<<2)|0;Ur[wd>>2]=Bd;Jd=Ur[ln>>2]|0;gd=Jd+(oB<<2)|0;Rd=Ur[gd>>2]|0;pd=Ur[Vn>>2]|0;id=pd+(oB<<2)|0;Gd=Ur[id>>2]|0;Yr(Rd|0,Gd|0,Ln|0)|0;ad=Ur[ln>>2]|0;fd=ad+(oB<<2)|0;Id=Ur[fd>>2]|0;Md=Id+(pn<<2)|0;Od=Ur[d>>2]|0;rd=Od+(oB<<2)|0;Ur[rd>>2]=Md;Ud=oB+1|0;Kd=Ur[L>>2]|0;Fd=(Ud|0)<(Kd|0);if(!Fd){break n}C=Ur[dB>>2]|0;Z=Ur[t>>2]|0;e=Ur[_>>2]|0;qn=C;zn=Z;tn=e;oB=Ud}}}while(0);sd=Ur[cd>>2]|0;Td=(sd|0)==0;if(!Td){hd=Ur[RB>>2]|0;Wd=(hd|0)<(sd|0);if(!Wd){Ur[cd>>2]=-1;Hd=d+44|0;Ur[Hd>>2]=1;Q=1;return Q|0}}Yd=gQ+4|0;od=Ur[Yd>>2]|0;kd=(od|0)/2&-1;ld=cQ-kd|0;Vd=(ld|0)>0;if(!Vd){Q=1;return Q|0}ud=Ur[YQ>>2]|0;yB(ud,ld);Ld=Ur[hQ>>2]|0;bd=Ld-ld|0;Ur[hQ>>2]=bd;yd=Ur[L>>2]|0;xd=(yd|0)>0;if(xd){qd=n+8|0;md=Ur[qd>>2]|0;zd=Ur[md>>2]|0;Xd=zd+(ld<<2)|0;td=bd<<2;XB(zd|0,Xd|0,td|0)|0;jd=Ur[L>>2]|0;_d=(jd|0)>1;if(_d){dA=1;while(1){w=Ur[hQ>>2]|0;$d=Ur[qd>>2]|0;nA=$d+(dA<<2)|0;AA=Ur[nA>>2]|0;QA=AA+(ld<<2)|0;BA=w<<2;XB(AA|0,QA|0,BA|0)|0;EA=dA+1|0;DA=Ur[L>>2]|0;ZA=(EA|0)<(DA|0);if(ZA){dA=EA}else{break}}}}eA=Ur[R>>2]|0;Ur[QB>>2]=eA;wA=Ur[E>>2]|0;Ur[R>>2]=wA;Ur[RB>>2]=kd;JA=Ur[cd>>2]|0;gA=(JA|0)==0;if(gA){tA=(ld|0)<0;vA=tA<<31>>31;_A=P;$A=_A;nQ=Ur[$A>>2]|0;dQ=_A+4|0;AQ=dQ;QQ=Ur[AQ>>2]|0;BQ=zB(nQ|0,QQ|0,ld|0,vA|0)|0;EQ=uB;DQ=P;CQ=DQ;Ur[CQ>>2]=BQ;eQ=DQ+4|0;wQ=eQ;Ur[wQ>>2]=EQ;Q=1;return Q|0}RA=JA-ld|0;pA=(RA|0)<1;A=pA?-1:RA;Ur[cd>>2]=A;iA=(A|0)>(kd|0);if(iA){YA=(ld|0)<0;oA=YA<<31>>31;kA=P;lA=kA;VA=Ur[lA>>2]|0;NA=kA+4|0;LA=NA;bA=Ur[LA>>2]|0;yA=zB(VA|0,bA|0,ld|0,oA|0)|0;xA=uB;qA=P;mA=qA;Ur[mA>>2]=yA;zA=qA+4|0;XA=zA;Ur[XA>>2]=xA;Q=1;return Q|0}else{SA=A+ld|0;PA=SA-kd|0;aA=(PA|0)<0;fA=aA<<31>>31;IA=P;MA=IA;OA=Ur[MA>>2]|0;rA=IA+4|0;UA=rA;KA=Ur[UA>>2]|0;FA=zB(OA|0,KA|0,PA|0,fA|0)|0;cA=uB;TA=P;hA=TA;Ur[hA>>2]=FA;WA=TA+4|0;HA=WA;Ur[HA>>2]=cA;Q=1;return Q|0}return 0|0}function an(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0;var O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0;var y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0;var en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0;var Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0;var vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0;var Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0;var kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0,dA=0;var AA=0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0,IA=0;var MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0;hA=cr;e=d+28|0;w=Ur[e>>2]|0;xn=(w|0)==(0|0);if(xn){Q=1;return Q|0}dd=w+8|0;gd=Ur[dd>>2]|0;Od=(gd|0)<1;if(Od){Q=1;return Q|0}Yd=Ur[w>>2]|0;qd=(Yd|0)<64;if(qd){Q=1;return Q|0}AA=w+4|0;RA=Ur[AA>>2]|0;J=(RA|0)<(Yd|0);if(J){Q=1;return Q|0}M=w+3656|0;H=Ur[M>>2]|0;sA=n;WA=sA+112|0;do{Ur[sA>>2]=0|0;sA=sA+4|0}while((sA|0)<(WA|0));x=Hr(1,136)|0;dn=n+104|0;Ur[dn>>2]=x;gn=n+4|0;Ur[gn>>2]=d;rn=Ur[dd>>2]|0;on=rn+-1|0;bn=KB(on)|0;yn=x+44|0;Ur[yn>>2]=bn;qn=Hr(1,4)|0;mn=x+12|0;Ur[mn>>2]=qn;zn=Hr(1,4)|0;Xn=x+16|0;Ur[Xn>>2]=zn;tn=Hr(1,20)|0;Ur[qn>>2]=tn;vn=Hr(1,20)|0;Ur[zn>>2]=vn;jn=Ur[w>>2]|0;_n=jn>>H;YA(tn,_n);$n=Ur[Xn>>2]|0;nd=Ur[$n>>2]|0;Ad=Ur[AA>>2]|0;Qd=Ad>>H;YA(nd,Qd);Bd=Ur[w>>2]|0;Ed=KB(Bd)|0;Dd=Ed+-7|0;Cd=x+4|0;Ur[Cd>>2]=Dd;Zd=Ur[AA>>2]|0;ed=KB(Zd)|0;wd=ed+-7|0;Jd=x+8|0;Ur[Jd>>2]=wd;Rd=(A|0)==0;n:do{if(Rd){CA=w+2848|0;ZA=Ur[CA>>2]|0;eA=(ZA|0)==(0|0);if(eA){wA=w+24|0;JA=Ur[wA>>2]|0;gA=Hr(JA,56)|0;Ur[CA>>2]=gA;pA=Ur[wA>>2]|0;iA=(pA|0)>0;if(iA){un=pA;UA=0;while(1){SA=(w+1824|0)+(UA<<2)|0;PA=Ur[SA>>2]|0;GA=(PA|0)==(0|0);if(GA){aA=un;break}IA=Ur[CA>>2]|0;MA=IA+(UA*56|0)|0;OA=LA(MA,PA)|0;g=(OA|0)==0;if(!g){TA=20;break}R=Ur[SA>>2]|0;lA(R);Ur[SA>>2]=0;p=UA+1|0;i=Ur[wA>>2]|0;S=(p|0)<(i|0);if(S){un=i;UA=p}else{break n}}if((TA|0)==20){C=Ur[wA>>2]|0;aA=C}fA=(aA|0)>0;if(fA){Ln=aA;cA=0;while(1){Hn=(w+1824|0)+(cA<<2)|0;Yn=Ur[Hn>>2]|0;kn=(Yn|0)==(0|0);if(kn){Nn=Ln}else{lA(Yn);Ur[Hn>>2]=0;Z=Ur[wA>>2]|0;Nn=Z}ln=cA+1|0;Vn=(ln|0)<(Nn|0);if(Vn){Ln=Nn;cA=ln}else{break}}}HA(n);Q=-1;return Q|0}}}else{pd=x+20|0;id=Ur[w>>2]|0;bA(pd,id);Sd=x+32|0;Pd=Ur[AA>>2]|0;bA(Sd,Pd);Gd=w+2848|0;ad=Ur[Gd>>2]|0;fd=(ad|0)==(0|0);if(fd){Id=w+24|0;Md=Ur[Id>>2]|0;rd=Hr(Md,56)|0;Ur[Gd>>2]=rd;Ud=Ur[Id>>2]|0;Kd=(Ud|0)>0;if(Kd){Fd=w+1824|0;cd=Ur[Fd>>2]|0;NA(rd,cd)|0;sd=Ur[Id>>2]|0;Td=(sd|0)>1;if(Td){Wd=1;while(1){B=Ur[Gd>>2]|0;hd=B+(Wd*56|0)|0;Hd=(w+1824|0)+(Wd<<2)|0;od=Ur[Hd>>2]|0;NA(hd,od)|0;kd=Wd+1|0;ld=Ur[Id>>2]|0;Vd=(kd|0)<(ld|0);if(Vd){Wd=kd}else{break}}}}}Nd=w+28|0;ud=Ur[Nd>>2]|0;Ld=Hr(ud,52)|0;bd=x+56|0;Ur[bd>>2]=Ld;yd=Ur[Nd>>2]|0;xd=(yd|0)>0;d:do{if(xd){md=w+2868|0;zd=d+8|0;td=Ld;rA=0;while(1){Xd=td+(rA*52|0)|0;vd=(w+2852|0)+(rA<<2)|0;jd=Ur[vd>>2]|0;_d=Ur[jd>>2]|0;$d=w+(_d<<2)|0;nA=Ur[$d>>2]|0;dA=(nA|0)/2&-1;QA=Ur[zd>>2]|0;oA(Xd,jd,md,dA,QA);BA=rA+1|0;EA=Ur[Nd>>2]|0;DA=(BA|0)<(EA|0);if(!DA){break d}E=Ur[bd>>2]|0;td=E;rA=BA}}}while(0);Ur[n>>2]=1}}while(0);P=Ur[AA>>2]|0;G=n+16|0;Ur[G>>2]=P;a=d+4|0;f=Ur[a>>2]|0;I=f<<2;O=Wr(I)|0;r=n+8|0;Ur[r>>2]=O;U=Wr(I)|0;K=n+12|0;Ur[K>>2]=U;F=(f|0)>0;if(F){c=Hr(P,4)|0;Ur[O>>2]=c;s=(f|0)>1;if(s){W=1;while(1){D=Ur[r>>2]|0;T=Hr(P,4)|0;h=D+(W<<2)|0;Ur[h>>2]=T;Y=W+1|0;o=(Y|0)<(f|0);if(o){W=Y}else{break}}}}k=n+36|0;Ur[k>>2]=0;l=n+40|0;Ur[l>>2]=0;V=Ur[AA>>2]|0;N=(V|0)/2&-1;u=n+48|0;Ur[u>>2]=N;L=n+20|0;Ur[L>>2]=N;b=w+16|0;y=Ur[b>>2]|0;q=Hr(y,4)|0;m=x+48|0;Ur[m>>2]=q;z=w+20|0;X=Ur[z>>2]|0;t=Hr(X,4)|0;v=x+52|0;Ur[v>>2]=t;j=Ur[b>>2]|0;_=(j|0)>0;if(_){KA=0;while(1){An=(w+800|0)+(KA<<2)|0;Qn=Ur[An>>2]|0;Bn=25640+(Qn<<2)|0;En=Ur[Bn>>2]|0;Dn=En+8|0;Cn=Ur[Dn>>2]|0;Zn=(w+1056|0)+(KA<<2)|0;en=Ur[Zn>>2]|0;wn=fQ[Cn&15](n,en)|0;Jn=Ur[m>>2]|0;Rn=Jn+(KA<<2)|0;Ur[Rn>>2]=wn;pn=KA+1|0;Sn=Ur[b>>2]|0;Pn=(pn|0)<(Sn|0);if(Pn){KA=pn}else{break}}}$=Ur[z>>2]|0;nn=($|0)>0;if(nn){FA=0}else{Q=0;return Q|0}while(1){Gn=(w+1312|0)+(FA<<2)|0;an=Ur[Gn>>2]|0;fn=25648+(an<<2)|0;In=Ur[fn>>2]|0;Mn=In+8|0;On=Ur[Mn>>2]|0;Un=(w+1568|0)+(FA<<2)|0;Kn=Ur[Un>>2]|0;Fn=fQ[On&15](n,Kn)|0;cn=Ur[v>>2]|0;sn=cn+(FA<<2)|0;Ur[sn>>2]=Fn;Tn=FA+1|0;hn=Ur[z>>2]|0;Wn=(Tn|0)<(hn|0);if(Wn){FA=Tn}else{Q=0;break}}return Q|0}function In(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0;En=cr;cr=cr+64|0;B=En;E=n+20|0;S=Ur[E>>2]|0;F=S<<2;d=F;V=cr;cr=cr+((1*d|0)+15&-16)|0;t=n+28|0;Ur[t>>2]=1;j=n+48|0;_=Ur[j>>2]|0;$=S-_|0;nn=($|0)>32;if(!nn){cr=En;return}D=n+4|0;C=Ur[D>>2]|0;Z=C+4|0;e=Ur[Z>>2]|0;w=(e|0)>0;if(!w){cr=En;return}J=n+8|0;g=S;dn=0;while(1){R=(g|0)>0;if(R){p=Ur[J>>2]|0;i=p+(dn<<2)|0;P=Ur[i>>2]|0;An=0;while(1){G=An^-1;a=g+G|0;f=P+(a<<2)|0;I=Ur[f>>2]|0;M=V+(An<<2)|0;Ur[M>>2]=I;O=An+1|0;r=(g|0)>(O|0);if(r){An=O}else{break}}}U=Ur[j>>2]|0;K=g-U|0;+bn(V,B,K,16);c=Ur[E>>2]|0;s=Ur[j>>2]|0;A=c-s|0;T=V+(A<<2)|0;Q=A+-16|0;h=V+(Q<<2)|0;yn(B,h,16,T,s);W=Ur[E>>2]|0;H=(W|0)>0;if(H){Y=Ur[J>>2]|0;o=Y+(dn<<2)|0;k=Ur[o>>2]|0;Qn=0;while(1){l=V+(Qn<<2)|0;N=Ur[l>>2]|0;u=Qn^-1;L=W+u|0;b=k+(L<<2)|0;Ur[b>>2]=N;y=Qn+1|0;x=(W|0)>(y|0);if(x){Qn=y}else{break}}}q=dn+1|0;m=Ur[D>>2]|0;z=m+4|0;X=Ur[z>>2]|0;v=(q|0)<(X|0);if(v){g=W;dn=q}else{break}}cr=En;return}function FA(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0;var tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0;var id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0;Ud=cr;Xw(d,5653314,24);D=Ur[n>>2]|0;Xw(d,D,16);C=n+4|0;r=Ur[C>>2]|0;Xw(d,r,24);o=Ur[C>>2]|0;m=(o|0)>1;n:do{if(m){Qn=n+8|0;pn=Ur[Qn>>2]|0;B=rB[pn>>0]|0;Kn=B;gd=1;while(1){ln=Kn<<24>>24==0;if(ln){Jd=gd;break n}Xn=pn+gd|0;Z=rB[Xn>>0]|0;i=Z<<24>>24>24;if(i){Jd=gd;break n}S=gd+1|0;P=(S|0)<(o|0);if(P){Kn=Z;gd=S}else{Jd=S;break}}}else{Jd=1}}while(0);G=(Jd|0)==(o|0);n:do{if(G){Xw(d,1,1);a=n+8|0;f=Ur[a>>2]|0;I=rB[f>>0]|0;M=I<<24>>24;O=M+-1|0;Xw(d,O,5);U=Ur[C>>2]|0;K=(U|0)>1;if(K){p=U;Dd=0;pd=1;while(1){F=Ur[a>>2]|0;c=F+pd|0;s=rB[c>>0]|0;T=pd+-1|0;h=F+T|0;W=rB[h>>0]|0;H=s<<24>>24>W<<24>>24;if(H){Y=W<<24>>24;k=s<<24>>24;N=p;Cd=Dd;Id=Y;while(1){l=pd-Cd|0;V=N-Cd|0;u=KB(V)|0;Xw(d,l,u);L=Id+1|0;wd=(L|0)==(k|0);E=Ur[C>>2]|0;if(wd){x=E;Zd=pd;break}else{N=E;Cd=pd;Id=L}}}else{x=p;Zd=Dd}b=pd+1|0;y=(b|0)<(x|0);if(y){p=x;Dd=Zd;pd=b}else{Q=x;Ed=Zd;Rd=b;break}}}else{Q=U;Ed=0;Rd=1}q=Rd-Ed|0;z=Q-Ed|0;X=KB(z)|0;Xw(d,q,X)}else{Xw(d,0,1);t=Ur[C>>2]|0;v=(t|0)>0;d:do{if(v){j=n+8|0;_=Ur[j>>2]|0;Sd=0;while(1){$=_+Sd|0;nn=rB[$>>0]|0;dn=nn<<24>>24==0;if(dn){id=Sd;break d}An=Sd+1|0;Bn=(An|0)<(t|0);if(Bn){Sd=An}else{id=An;break}}}else{id=0}}while(0);En=(id|0)==(t|0);if(En){Xw(d,0,1);Dn=Ur[C>>2]|0;Cn=(Dn|0)>0;if(!Cn){break}Zn=n+8|0;Pd=0;while(1){en=Ur[Zn>>2]|0;wn=en+Pd|0;Jn=rB[wn>>0]|0;gn=Jn<<24>>24;Rn=gn+-1|0;Xw(d,Rn,5);Sn=Pd+1|0;Pn=Ur[C>>2]|0;Gn=(Sn|0)<(Pn|0);if(Gn){Pd=Sn}else{break n}}}Xw(d,1,1);an=Ur[C>>2]|0;fn=(an|0)>0;if(fn){In=n+8|0;Gd=0;while(1){Mn=Ur[In>>2]|0;On=Mn+Gd|0;rn=rB[On>>0]|0;Un=rn<<24>>24==0;if(Un){Xw(d,0,1)}else{Xw(d,1,1);Fn=Ur[In>>2]|0;cn=Fn+Gd|0;sn=rB[cn>>0]|0;Tn=sn<<24>>24;hn=Tn+-1|0;Xw(d,hn,5)}Wn=Gd+1|0;Hn=Ur[C>>2]|0;Yn=(Wn|0)<(Hn|0);if(Yn){Gd=Wn}else{break}}}}}while(0);on=n+12|0;kn=Ur[on>>2]|0;Xw(d,kn,4);Vn=Ur[on>>2]|0;if((Vn|0)==2|(Vn|0)==1){rd=28}else if(!((Vn|0)==0)){A=-1;return A|0}do{if((rd|0)==28){Nn=n+32|0;un=Ur[Nn>>2]|0;Ln=(un|0)==(0|0);if(Ln){A=-1;return A|0}bn=n+16|0;yn=Ur[bn>>2]|0;Xw(d,yn,32);xn=n+20|0;qn=Ur[xn>>2]|0;Xw(d,qn,32);mn=n+24|0;zn=Ur[mn>>2]|0;tn=zn+-1|0;Xw(d,tn,4);vn=n+28|0;jn=Ur[vn>>2]|0;Xw(d,jn,1);_n=Ur[on>>2]|0;if((_n|0)==1){$n=Kd(n)|0;Od=$n}else if((_n|0)==2){nd=Ur[C>>2]|0;dd=Ur[n>>2]|0;Ad=sr(dd,nd)|0;Od=Ad}else{break}Qd=(Od|0)>0;if(Qd){ad=0;while(1){Bd=Ur[Nn>>2]|0;e=Bd+(ad<<2)|0;w=Ur[e>>2]|0;fd=(w|0)>-1;Md=0-w|0;J=fd?w:Md;g=Ur[mn>>2]|0;Xw(d,J,g);R=ad+1|0;ed=(R|0)==(Od|0);if(ed){break}else{ad=R}}}}}while(0);A=0;return A|0}function UB(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0;var O=0,r=0,U=0,K=0;K=cr;B=(d|0)<0;if(B){Q=0;return Q|0}E=n+12|0;S=Ur[E>>2]|0;G=S+4|0;a=Ur[G>>2]|0;f=(a|0)>(d|0);if(!f){Q=0;return Q|0}I=n+20|0;M=Ur[I>>2]|0;O=M+(d<<2)|0;r=Ur[O>>2]|0;D=S+8|0;C=Ur[D>>2]|0;Z=C+d|0;e=rB[Z>>0]|0;w=e<<24>>24;Xw(A,r,w);J=Ur[E>>2]|0;g=J+8|0;R=Ur[g>>2]|0;p=R+d|0;i=rB[p>>0]|0;P=i<<24>>24;Q=P;return Q|0}function Yd(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0;R=cr;Q=n+8|0;B=Ur[Q>>2]|0;E=(B|0)>0;if(!E){A=-1;return A|0}D=Xd(n,d)|0;C=(D|0)>-1;if(!C){A=-1;return A|0}Z=n+24|0;e=Ur[Z>>2]|0;w=e+(D<<2)|0;J=Ur[w>>2]|0;A=J;return A|0}function Mn(n,d,A,Q){n=n|0;d=d|0;A=A|0;Q=Q|0;var B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0.0,P=0,G=0,a=0.0,f=0,I=0.0,M=0,O=0;var r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0;var x=0,q=0,m=0;m=cr;Z=n+8|0;e=Ur[Z>>2]|0;f=(e|0)>0;if(!f){B=0;cr=m;return B|0}h=Ur[n>>2]|0;H=(Q|0)/(h|0)&-1;Y=H<<2;E=Y;o=cr;cr=cr+((1*E|0)+15&-16)|0;k=(H|0)>0;n:do{if(k){l=n+16|0;L=0;while(1){O=Xd(n,A)|0;r=(O|0)==-1;if(r){B=-1;break}U=Ur[l>>2]|0;K=Ur[n>>2]|0;F=sr(K,O)|0;c=U+(F<<2)|0;s=o+(L<<2)|0;Ur[s>>2]=c;T=L+1|0;W=(T|0)<(H|0);if(W){L=T}else{V=K;break n}}cr=m;return B|0}else{V=h}}while(0);D=(V|0)<1;C=k^1;N=D|C;if(N){B=0;cr=m;return B|0}else{b=0;x=0}while(1){y=0;while(1){R=o+(y<<2)|0;p=Ur[R>>2]|0;i=p+(b<<2)|0;S=+Kr[i>>2];P=y+x|0;G=d+(P<<2)|0;a=+Kr[G>>2];I=a+S;Kr[G>>2]=I;M=y+1|0;u=(M|0)==(H|0);if(u){break}else{y=M}}w=b+1|0;J=x+H|0;g=(w|0)<(V|0);if(g){b=w;x=J}else{B=0;break}}cr=m;return B|0}function On(n,d,A,Q){n=n|0;d=d|0;A=A|0;Q=Q|0;var B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0;var r=0,U=0,K=0,F=0,c=0,s=0,T=0.0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0;var x=0,q=0,m=0.0,z=0,X=0,t=0.0,v=0.0,j=0,_=0,$=0,nn=0.0,dn=0,An=0,Qn=0,Bn=0.0,En=0.0,Dn=0,Cn=0,Zn=0,en=0;var wn=0,Jn=0.0,gn=0,Rn=0,pn=0,Sn=0.0,Pn=0.0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0.0,rn=0,Un=0,Kn=0,Fn=0.0,cn=0.0,sn=0,Tn=0;var hn=0,Wn=0,Hn=0,Yn=0.0,on=0,kn=0,ln=0,Vn=0.0,Nn=0.0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0.0,mn=0,zn=0,Xn=0,tn=0.0,vn=0.0;var jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0.0,Qd=0,Bd=0,Ed=0,Dd=0.0,Cd=0.0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0.0,pd=0,id=0,Sd=0;var Pd=0.0,Gd=0.0,ad=0,fd=0,Id=0,Md=0.0,Od=0,rd=0,Ud=0.0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0,kd=0;var ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0;zd=cr;F=n+8|0;c=Ur[F>>2]|0;q=(c|0)>0;if(!q){B=0;return B|0}An=Ur[n>>2]|0;Rn=(An|0)>8;if(Rn){zn=(Q|0)>0;if(!zn){B=0;return B|0}Bd=n+16|0;Kd=0;while(1){k=Xd(n,A)|0;l=(k|0)==-1;if(l){B=-1;md=29;break}V=Ur[Bd>>2]|0;N=Ur[n>>2]|0;u=sr(N,k)|0;L=(N|0)>0;if(L){b=(N|0)>1;qd=b?N:1;cd=Kd;ld=0;while(1){y=ld+1|0;K=ld+u|0;x=V+(K<<2)|0;m=+Kr[x>>2];z=cd+1|0;X=d+(cd<<2)|0;t=+Kr[X>>2];v=t+m;Kr[X>>2]=v;j=(y|0)<(N|0);if(j){cd=z;ld=y}else{break}}id=Kd+qd|0;Fd=id}else{Fd=Kd}s=(Fd|0)<(Q|0);if(s){Kd=Fd}else{B=0;md=29;break}}if((md|0)==29){return B|0}}Un=n+16|0;kn=(Q|0)>0;if(kn){sd=0}else{B=0;return B|0}n:while(1){d:while(1){W=Xd(n,A)|0;H=(W|0)==-1;if(H){B=-1;md=29;break n}Y=Ur[Un>>2]|0;o=Ur[n>>2]|0;switch(o|0){case 4:{w=W;S=Y;md=19;break d;break}case 3:{J=W;P=Y;md=21;break d;break}case 7:{C=W;R=Y;md=13;break d;break}case 6:{Z=W;p=Y;md=15;break d;break}case 8:{E=Y;D=W;md=12;break d;break}case 5:{e=W;i=Y;md=17;break d;break}case 1:{ad=W;Id=Y;kd=sd;xd=0;break d;break}case 2:{g=W;G=Y;md=23;break d;break}default:{}}}if((md|0)==12){md=0;_=D<<3;$=E+(_<<2)|0;nn=+Kr[$>>2];dn=sd+1|0;Qn=d+(sd<<2)|0;Bn=+Kr[Qn>>2];En=Bn+nn;Kr[Qn>>2]=En;Zn=_;wn=E;Td=dn;Vd=1;md=14}else if((md|0)==13){md=0;Dn=C*7|0;Zn=Dn;wn=R;Td=sd;Vd=0;md=14}else if((md|0)==15){md=0;Gn=Z*6|0;fn=Gn;Mn=p;hd=sd;Nd=0;md=16}else if((md|0)==17){md=0;sn=e*5|0;hn=sn;Hn=i;Wd=sd;ud=0;md=18}else if((md|0)==19){md=0;un=w<<2;bn=un;xn=S;Hd=sd;Ld=0;md=20}else if((md|0)==21){md=0;jn=J*3|0;$n=jn;dd=P;Yd=sd;bd=0;md=22}else if((md|0)==23){md=0;Zd=g<<1;wd=Zd;gd=G;od=sd;yd=0;md=24}if((md|0)==14){md=0;Cn=Vd+1|0;U=Vd+Zn|0;en=wn+(U<<2)|0;Jn=+Kr[en>>2];gn=Td+1|0;pn=d+(Td<<2)|0;Sn=+Kr[pn>>2];Pn=Sn+Jn;Kr[pn>>2]=Pn;fn=Zn;Mn=wn;hd=gn;Nd=Cn;md=16}if((md|0)==16){md=0;an=Nd+1|0;r=Nd+fn|0;In=Mn+(r<<2)|0;On=+Kr[In>>2];rn=hd+1|0;Kn=d+(hd<<2)|0;Fn=+Kr[Kn>>2];cn=Fn+On;Kr[Kn>>2]=cn;hn=fn;Hn=Mn;Wd=rn;ud=an;md=18}if((md|0)==18){md=0;Tn=ud+1|0;O=ud+hn|0;Wn=Hn+(O<<2)|0;Yn=+Kr[Wn>>2];on=Wd+1|0;ln=d+(Wd<<2)|0;Vn=+Kr[ln>>2];Nn=Vn+Yn;Kr[ln>>2]=Nn;bn=hn;xn=Hn;Hd=on;Ld=Tn;md=20}if((md|0)==20){md=0;Ln=Ld+1|0;M=Ld+bn|0;yn=xn+(M<<2)|0;qn=+Kr[yn>>2];mn=Hd+1|0;Xn=d+(Hd<<2)|0;tn=+Kr[Xn>>2];vn=tn+qn;Kr[Xn>>2]=vn;$n=bn;dd=xn;Yd=mn;bd=Ln;md=22}if((md|0)==22){md=0;_n=bd+1|0;I=bd+$n|0;nd=dd+(I<<2)|0;Ad=+Kr[nd>>2];Qd=Yd+1|0;Ed=d+(Yd<<2)|0;Dd=+Kr[Ed>>2];Cd=Dd+Ad;Kr[Ed>>2]=Cd;wd=$n;gd=dd;od=Qd;yd=_n;md=24}if((md|0)==24){md=0;ed=yd+1|0;f=yd+wd|0;Jd=gd+(f<<2)|0;Rd=+Kr[Jd>>2];pd=od+1|0;Sd=d+(od<<2)|0;Pd=+Kr[Sd>>2];Gd=Pd+Rd;Kr[Sd>>2]=Gd;ad=wd;Id=gd;kd=pd;xd=ed}a=xd+ad|0;fd=Id+(a<<2)|0;Md=+Kr[fd>>2];Od=kd+1|0;rd=d+(kd<<2)|0;Ud=+Kr[rd>>2];T=Ud+Md;Kr[rd>>2]=T;h=(Od|0)<(Q|0);if(h){sd=Od}else{B=0;md=29;break}}if((md|0)==29){return B|0}return 0|0}function mn(n,d,A,Q,B,E){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;var D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0.0,a=0,f=0,I=0,M=0,O=0,r=0.0,U=0.0;var K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0,q=0;q=cr;w=n+8|0;J=Ur[w>>2]|0;M=(J|0)>0;if(!M){C=0;return C|0}T=(A|0)/(Q|0)&-1;h=E+A|0;W=(h|0)/(Q|0)&-1;H=(T|0)<(W|0);if(!H){C=0;return C|0}Y=n+16|0;l=0;u=T;while(1){k=Xd(n,B)|0;g=(k|0)==-1;if(g){C=-1;x=8;break}R=Ur[Y>>2]|0;p=Ur[n>>2]|0;i=sr(p,k)|0;S=(p|0)>0;if(S){N=l;b=u;y=0;while(1){e=y+i|0;P=R+(e<<2)|0;G=+Kr[P>>2];a=N+1|0;f=d+(N<<2)|0;I=Ur[f>>2]|0;O=I+(b<<2)|0;r=+Kr[O>>2];U=r+G;Kr[O>>2]=U;K=(a|0)==(Q|0);F=K&1;Z=F+b|0;D=K?0:a;c=y+1|0;s=(c|0)<(p|0);if(s){N=D;b=Z;y=c}else{V=D;L=Z;break}}}else{V=l;L=u}o=(L|0)<(W|0);if(o){l=V;u=L}else{C=0;x=8;break}}if((x|0)==8){return C|0}return 0|0}function Xd(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0;Nn=cr;B=n+40|0;E=Ur[B>>2]|0;S=n+36|0;F=Ur[S>>2]|0;V=un(d,F)|0;t=(V|0)>-1;do{if(t){Dn=n+32|0;Gn=Ur[Dn>>2]|0;cn=Gn+(V<<2)|0;sn=Ur[cn>>2]|0;D=(sn|0)<0;if(D){C=sn>>>15;Z=C&32767;e=n+8|0;w=Ur[e>>2]|0;J=sn&32767;g=w-J|0;Tn=g;Wn=Z;break}R=sn+-1|0;p=n+28|0;i=Ur[p>>2]|0;P=i+R|0;G=rB[P>>0]|0;a=G<<24>>24;Ln(d,a);A=R;return A|0}else{f=n+8|0;I=Ur[f>>2]|0;Tn=I;Wn=0}}while(0);M=un(d,E)|0;O=(M|0)<0;r=(E|0)>1;U=O&r;if(U){ln=E;while(1){K=ln+-1|0;c=un(d,K)|0;s=(c|0)<0;T=(K|0)>1;h=s&T;if(h){ln=K}else{Q=s;on=c;kn=K;break}}}else{Q=O;on=M;kn=E}if(Q){A=-1;return A|0}W=on>>>16;H=on<<16;Y=W|H;o=Y>>>8;k=o&16711935;l=Y<<8;N=l&-16711936;u=k|N;L=u>>>4;b=L&252645135;y=u<<4;x=y&-252645136;q=b|x;m=q>>>2;z=m&858993459;X=q<<2;v=X&-858993460;j=z|v;_=j>>>1;$=_&1431655765;nn=j<<1;dn=nn&-1431655766;An=$|dn;Qn=Tn-Wn|0;Bn=(Qn|0)>1;if(Bn){En=n+20|0;Cn=Ur[En>>2]|0;en=Qn;hn=Tn;Yn=Wn;while(1){Zn=en>>1;wn=Zn+Yn|0;Jn=Cn+(wn<<2)|0;gn=Ur[Jn>>2]|0;Rn=gn>>>0>An>>>0;pn=Rn?0:Zn;Sn=pn+Yn|0;Pn=Rn?Zn:0;an=hn-Pn|0;fn=an-Sn|0;In=(fn|0)>1;if(In){en=fn;hn=an;Yn=Sn}else{Hn=Sn;break}}}else{Hn=Wn}Mn=n+28|0;On=Ur[Mn>>2]|0;rn=On+Hn|0;Un=rB[rn>>0]|0;Kn=Un<<24>>24;Fn=(Kn|0)>(kn|0);if(Fn){Ln(d,kn);A=-1;return A|0}else{Ln(d,Kn);A=Hn;return A|0}return 0|0}function rn(n,d){n=n|0;d=d|0;var A=0.0,Q=0,B=0,E=0,D=0,C=0.0,Z=0.0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0.0,f=0.0,I=0;var M=0.0,O=0.0,r=0,U=0.0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0.0,t=0,v=0.0,j=0.0,_=0.0,$=0.0,nn=0,dn=0.0,An=0.0,Qn=0,Bn=0.0,En=0.0,Dn=0,Cn=0.0;var Zn=0.0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;cn=cr;e=d+28|0;w=Ur[e>>2]|0;I=d+4|0;W=Ur[I>>2]|0;y=n+4|0;Ur[y>>2]=128;nn=n+8|0;Ur[nn>>2]=64;Jn=w+2932|0;Gn=Ur[Jn>>2]|0;an=n+12|0;Ur[an>>2]=Gn;Ur[n>>2]=W;fn=n+164|0;Ur[fn>>2]=128;J=w+4|0;g=Ur[J>>2]|0;R=(g|0)/2&-1;p=n+176|0;Ur[p>>2]=R;i=Hr(128,4)|0;S=n+36|0;Ur[S>>2]=i;P=n+16|0;YA(P,128);G=Ur[S>>2]|0;rn=0;while(1){a=+(rn|0);f=a*0.024736950028266088;M=+ne(+f);O=M;r=G+(rn<<2)|0;U=O*O;Kr[r>>2]=U;K=rn+1|0;On=(K|0)==128;if(On){break}else{rn=K}}F=n+40|0;Ur[F>>2]=2;c=n+44|0;Ur[c>>2]=4;s=n+56|0;Ur[s>>2]=4;T=n+60|0;Ur[T>>2]=5;h=n+72|0;Ur[h>>2]=6;H=n+76|0;Ur[H>>2]=6;Y=n+88|0;Ur[Y>>2]=9;o=n+92|0;Ur[o>>2]=8;k=n+104|0;Ur[k>>2]=13;l=n+108|0;Ur[l>>2]=8;V=n+120|0;Ur[V>>2]=17;N=n+124|0;Ur[N>>2]=8;u=n+136|0;Ur[u>>2]=22;L=n+140|0;Ur[L>>2]=8;x=4;Kn=0;while(1){b=x<<2;q=Wr(b)|0;m=((n+40|0)+(Kn<<4)|0)+8|0;Ur[m>>2]=q;z=(x|0)>0;if(z){X=+(x|0);t=((n+40|0)+(Kn<<4)|0)+12|0;Z=+Kr[t>>2];En=Z;Un=0;while(1){v=+(Un|0);j=v+0.5;_=j/X;$=_*3.1415926535897931;dn=+ne(+$);An=dn;Qn=q+(Un<<2)|0;Kr[Qn>>2]=An;Bn=En+An;Dn=Un+1|0;In=(Dn|0)==(x|0);if(In){A=Bn;break}else{En=Bn;Un=Dn}}Kr[t>>2]=A;D=t;Zn=A}else{B=((n+40|0)+(Kn<<4)|0)+12|0;C=+Kr[B>>2];D=B;Zn=C}Cn=1.0/Zn;Kr[D>>2]=Cn;en=Kn+1|0;Mn=(en|0)==7;if(Mn){break}Q=((n+40|0)+(en<<4)|0)+4|0;E=Ur[Q>>2]|0;x=E;Kn=en}wn=W*7|0;gn=Hr(wn,144)|0;Rn=n+152|0;Ur[Rn>>2]=gn;pn=Ur[fn>>2]|0;Sn=Hr(pn,4)|0;Pn=n+160|0;Ur[Pn>>2]=Sn;return}function bd(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0;O=cr;d=n+16|0;yd(d);A=n+48|0;R=Ur[A>>2]|0;qB(R);i=n+64|0;S=Ur[i>>2]|0;qB(S);P=n+80|0;G=Ur[P>>2]|0;qB(G);a=n+96|0;f=Ur[a>>2]|0;qB(f);I=n+112|0;Q=Ur[I>>2]|0;qB(Q);B=n+128|0;E=Ur[B>>2]|0;qB(E);D=n+144|0;C=Ur[D>>2]|0;qB(C);Z=n+36|0;e=Ur[Z>>2]|0;qB(e);w=n+152|0;J=Ur[w>>2]|0;qB(J);g=n+160|0;p=Ur[g>>2]|0;qB(p);AZ(n|0,0,180)|0;return}function LB(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0;var Cn=0,Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0;var cn=0,sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0;var Xn=0,tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0;ed=cr;E=n+4|0;D=Ur[E>>2]|0;f=D+28|0;h=Ur[f>>2]|0;b=h+2868|0;$=n+104|0;wn=Ur[$>>2]|0;Mn=Ur[wn>>2]|0;Hn=Mn+168|0;xn=Ur[Hn>>2]|0;C=Mn+8|0;J=Ur[C>>2]|0;g=(xn|0)/(J|0)&-1;R=n+20|0;p=Ur[R>>2]|0;i=(p|0)/(J|0)&-1;S=i+-4|0;P=(g|0)<0;d=P?0:g;G=i+2|0;a=Mn+164|0;I=Ur[a>>2]|0;M=(G|0)>(I|0);if(M){Ur[a>>2]=G;O=Mn+160|0;r=Ur[O>>2]|0;U=G<<2;K=mB(r,U)|0;Ur[O>>2]=K}F=(d|0)<(S|0);if(F){c=Mn+156|0;s=Mn+160|0;T=n+8|0;W=Mn+40|0;H=Mn+152|0;Qd=d;while(1){Y=Ur[c>>2]|0;o=Y+1|0;k=(Y|0)>23;Q=k?24:o;Ur[c>>2]=Q;l=Ur[Mn>>2]|0;V=(l|0)>0;if(V){Ad=0;Cd=0;while(1){y=Ur[T>>2]|0;x=y+(Ad<<2)|0;q=Ur[x>>2]|0;m=Ur[C>>2]|0;z=sr(m,Qd)|0;X=q+(z<<2)|0;t=Ur[H>>2]|0;v=Ad*7|0;j=t+(v*144|0)|0;_=wd(Mn,b,X,W,j)|0;nn=_|Cd;dn=Ad+1|0;An=Ur[Mn>>2]|0;Qn=(dn|0)<(An|0);if(Qn){Ad=dn;Cd=nn}else{B=nn;break}}Bn=Qd+2|0;En=Ur[s>>2]|0;Dn=En+(Bn<<2)|0;Ur[Dn>>2]=0;Cn=B&1;Zn=(Cn|0)==0;if(!Zn){en=En+(Qd<<2)|0;Ur[en>>2]=1;Jn=Qd+1|0;gn=En+(Jn<<2)|0;Ur[gn>>2]=1}Rn=B&2;pn=(Rn|0)==0;if(!pn){Sn=En+(Qd<<2)|0;Ur[Sn>>2]=1;Pn=(Qd|0)>0;if(Pn){Gn=Qd+-1|0;an=En+(Gn<<2)|0;Ur[an>>2]=1}}fn=B&4;In=(fn|0)==0;if(!In){Ur[c>>2]=-1}}else{N=Qd+2|0;u=Ur[s>>2]|0;L=u+(N<<2)|0;Ur[L>>2]=0}On=Qd+1|0;dd=(On|0)==(S|0);if(dd){break}else{Qd=On}}}rn=Ur[C>>2]|0;Un=sr(rn,S)|0;Ur[Hn>>2]=Un;Kn=n+48|0;Fn=Ur[Kn>>2]|0;cn=n+40|0;sn=Ur[cn>>2]|0;Tn=h+(sn<<2)|0;hn=Ur[Tn>>2]|0;Wn=(hn|0)/4&-1;Yn=Wn+Fn|0;on=h+4|0;kn=Ur[on>>2]|0;ln=(kn|0)/2&-1;Vn=Yn+ln|0;Nn=Ur[h>>2]|0;un=(Nn|0)/4&-1;Ln=Vn+un|0;bn=Mn+176|0;yn=Ur[bn>>2]|0;qn=Un-rn|0;mn=(yn|0)<(qn|0);if(!mn){A=-1;return A|0}zn=Mn+160|0;Bd=yn;while(1){vn=(Bd|0)<(Ln|0);if(!vn){A=1;Zd=22;break}Ur[bn>>2]=Bd;jn=(Bd|0)/(rn|0)&-1;_n=Ur[zn>>2]|0;$n=_n+(jn<<2)|0;nd=Ur[$n>>2]|0;Z=(nd|0)!=0;e=(Bd|0)>(Fn|0);Dd=e&Z;Xn=rn+Bd|0;if(Dd){Ed=Bd;Zd=21;break}tn=(Xn|0)<(qn|0);if(tn){Bd=Xn}else{A=-1;Zd=22;break}}if((Zd|0)==21){w=Mn+172|0;Ur[w>>2]=Ed;A=0;return A|0}else if((Zd|0)==22){return A|0}return 0|0}function bB(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0;nn=cr;B=n+104|0;E=Ur[B>>2]|0;S=Ur[E>>2]|0;F=n+4|0;V=Ur[F>>2]|0;x=V+28|0;q=Ur[x>>2]|0;m=n+48|0;z=Ur[m>>2]|0;X=n+40|0;D=Ur[X>>2]|0;C=q+(D<<2)|0;Z=Ur[C>>2]|0;e=(Z|0)/4&-1;w=z-e|0;J=e+z|0;g=(D|0)==0;if(g){r=Ur[q>>2]|0;U=(r|0)/4&-1;A=U;Q=U}else{R=n+36|0;p=Ur[R>>2]|0;i=q+(p<<2)|0;P=Ur[i>>2]|0;G=(P|0)/4&-1;a=n+44|0;f=Ur[a>>2]|0;I=q+(f<<2)|0;M=Ur[I>>2]|0;O=(M|0)/4&-1;A=O;Q=G}t=w-Q|0;v=J+A|0;K=S+172|0;c=Ur[K>>2]|0;s=(c|0)>=(t|0);T=(c|0)<(v|0);_=s&T;if(_){d=1;return d|0}h=S+8|0;W=Ur[h>>2]|0;H=(t|0)/(W|0)&-1;Y=(v|0)/(W|0)&-1;o=(H|0)<(Y|0);if(!o){d=0;return d|0}k=S+160|0;l=Ur[k>>2]|0;j=H;while(1){L=l+(j<<2)|0;b=Ur[L>>2]|0;y=(b|0)==0;N=j+1|0;if(!y){d=1;$=9;break}u=(N|0)<(Y|0);if(u){j=N}else{d=0;$=9;break}}if(($|0)==9){return d|0}return 0|0}function yB(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0;r=cr;A=n+168|0;Q=Ur[A>>2]|0;p=n+8|0;S=Ur[p>>2]|0;P=(Q|0)/(S|0)&-1;G=P+2|0;a=(d|0)/(S|0)&-1;f=n+160|0;I=Ur[f>>2]|0;M=I+(a<<2)|0;B=G-a|0;E=B<<2;XB(I|0,M|0,E|0)|0;D=Ur[A>>2]|0;C=D-d|0;Ur[A>>2]=C;Z=n+172|0;e=Ur[Z>>2]|0;w=(e|0)>-1;if(!w){g=n+176|0;R=Ur[g>>2]|0;i=R-d|0;Ur[g>>2]=i;return}J=e-d|0;Ur[Z>>2]=J;g=n+176|0;R=Ur[g>>2]|0;i=R-d|0;Ur[g>>2]=i;return}function wd(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0.0,g=0.0,R=0,p=0,i=0,S=0,P=0,G=0.0,a=0.0,f=0,I=0.0,M=0,O=0.0,r=0.0;var U=0.0,K=0.0,F=0,c=0,s=0,T=0,h=0,W=0,H=0.0,Y=0,o=0.0,k=0,l=0,V=0,N=0,u=0.0,L=0,b=0.0,y=0,x=0;var q=0.0,m=0.0,z=0.0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0.0,dn=0,An=0,Qn=0.0,Bn=0,En=0,Dn=0.0,Cn=0.0,Zn=0.0,en=0,wn=0;var Jn=0.0,gn=0.0,Rn=0.0,pn=0,Sn=0,Pn=0.0,Gn=0.0,an=0.0,fn=0.0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0.0,cn=0,sn=0,Tn=0,hn=0;var Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0.0,Nn=0,un=0.0,Ln=0.0,bn=0,yn=0.0,xn=0,qn=0,mn=0,zn=0.0,Xn=0.0,tn=0,vn=0,jn=0;var _n=0,$n=0,nd=0.0,dd=0,Ad=0.0,Qd=0,Bd=0.0,Ed=0.0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0.0,Rd=0.0,pd=0,id=0,Sd=0,Pd=0.0;var Gd=0.0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0.0,Kd=0,Fd=0.0,cd=0.0,sd=0,Td=0,hd=0,Wd=0.0,Hd=0.0,Yd=0.0,od=0.0,kd=0,ld=0.0;var Vd=0.0,Nd=0.0,ud=0.0,Ld=0.0,bd=0,yd=0.0,xd=0.0,qd=0,md=0.0,zd=0.0,Xd=0.0,td=0.0,vd=0,jd=0,_d=0,$d=0,nA=0.0,dA=0.0,AA=0,QA=0;var BA=0,EA=0.0,DA=0.0,CA=0,ZA=0.0,eA=0.0,wA=0,JA=0.0,gA=0.0,RA=0,pA=0.0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0.0,IA=0,MA=0,OA=0.0;var rA=0,UA=0.0,KA=0.0,FA=0.0,cA=0.0,sA=0.0,TA=0.0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0.0,lA=0.0,VA=0.0,NA=0,uA=0,LA=0.0,bA=0,yA=0;var xA=0,qA=0,mA=0,zA=0,XA=0.0,tA=0.0,vA=0,jA=0,_A=0,$A=0.0,nQ=0.0,dQ=0,AQ=0,QQ=0.0,BQ=0.0,EQ=0.0,DQ=0.0,CQ=0,ZQ=0,eQ=0;var wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0.0,fQ=0.0,IQ=0.0,MQ=0.0,OQ=0,rQ=0,UQ=0,KQ=0,FQ=0,cQ=0,sQ=0;var TQ=0,hQ=0;hQ=cr;F=n+4|0;c=Ur[F>>2]|0;Od=n+12|0;Yd=+Kr[Od>>2];qd=c<<2;P=qd;AA=cr;cr=cr+((1*P|0)+15&-16)|0;RA=n+156|0;rA=Ur[RA>>2]|0;oA=(rA|0)>5;mA=(rA|0)/2&-1;E=oA?mA:2;s=d+60|0;u=+Kr[s>>2];j=mA+-2|0;Zn=+(j|0);fn=u-Zn;hn=fn<0.0;aQ=hn?0.0:fn;bn=aQ>u;fQ=bn?u:aQ;$n=(c|0)>0;if($n){wd=n+36|0;Id=Ur[wd>>2]|0;JQ=0;while(1){rd=A+(JQ<<2)|0;Ud=+Kr[rd>>2];Kd=Id+(JQ<<2)|0;Fd=+Kr[Kd>>2];cd=Fd*Ud;sd=AA+(JQ<<2)|0;Kr[sd>>2]=cd;Td=JQ+1|0;ZQ=(Td|0)==(c|0);if(ZQ){break}else{JQ=Td}}}hd=n+16|0;nJ(hd,AA,AA);Wd=+Kr[AA>>2];Hd=Wd*Wd;od=Hd;kd=AA+4|0;ld=+Kr[kd>>2];Vd=ld;Nd=Vd*Vd;ud=Nd*0.69999999999999996;Ld=ud+od;bd=AA+8|0;yd=+Kr[bd>>2];xd=yd;md=xd*xd;zd=md*0.20000000000000001;Xd=Ld+zd;td=Xd;vd=B+140|0;jd=Ur[vd>>2]|0;_d=(jd|0)==0;if(_d){$d=B+136|0;nA=+Kr[$d>>2];dA=nA+td;QA=B+132|0;Kr[QA>>2]=dA;Kr[$d>>2]=td;M=QA;pA=dA}else{BA=B+132|0;EA=+Kr[BA>>2];DA=EA+td;Kr[BA>>2]=DA;CA=B+136|0;ZA=+Kr[CA>>2];eA=ZA+td;Kr[CA>>2]=eA;M=BA;pA=DA}wA=(B+72|0)+(jd<<2)|0;JA=+Kr[wA>>2];gA=pA-JA;Kr[M>>2]=gA;Kr[wA>>2]=td;iA=Ur[vd>>2]|0;SA=iA+1|0;PA=(iA|0)>13;D=PA?0:SA;Ur[vd>>2]=D;GA=(c|0)/2&-1;aA=(c|0)>1;n:do{if(aA){fA=pA*0.0625;IA=(Kr[zw>>2]=fA,Ur[zw>>2]|0);MA=IA&2147483647;OA=+(MA>>>0);UA=OA*7.1771142984289327E-7;KA=UA+-764.6162109375;FA=KA;cA=FA*0.5;sA=cA+-15.0;TA=sA;G=TA;Cn=Wd;gQ=0;while(1){Dn=Cn*Cn;en=gQ|1;wn=AA+(en<<2)|0;Jn=+Kr[wn>>2];gn=Jn*Jn;Rn=gn+Dn;pn=(Kr[zw>>2]=Rn,Ur[zw>>2]|0);Sn=pn&2147483647;Pn=+(Sn>>>0);Gn=Pn*3.5885571492144663E-7;an=Gn+-382.30810546875;In=an>1;rn=AA+(On<<2)|0;Kr[rn>>2]=K;Un=gQ+2|0;Kn=(Un|0)<(GA|0);if(!Kn){break n}Fn=G+-8.0;f=AA+(Un<<2)|0;I=+Kr[f>>2];G=Fn;Cn=I;gQ=Un}}}while(0);hA=(E|0)>0;if(hA){PQ=0;UQ=0}else{SQ=0;rQ=0;while(1){cn=(Q+(SQ<<4)|0)+4|0;sn=Ur[cn>>2]|0;Tn=(sn|0)>0;if(Tn){Wn=Q+(SQ<<4)|0;Hn=Ur[Wn>>2]|0;Yn=(Q+(SQ<<4)|0)+8|0;on=Ur[Yn>>2]|0;EQ=0.0;RQ=0;while(1){kn=Hn+RQ|0;ln=AA+(kn<<2)|0;Vn=+Kr[ln>>2];Nn=on+(RQ<<2)|0;un=+Kr[Nn>>2];Ln=un*Vn;yn=Ln+EQ;xn=RQ+1|0;qn=(xn|0)<(sn|0);if(qn){EQ=yn;RQ=xn}else{QQ=yn;break}}}else{QQ=0.0}mn=(Q+(SQ<<4)|0)+12|0;zn=+Kr[mn>>2];Xn=zn*QQ;tn=(B+(SQ*144|0)|0)+68|0;vn=Ur[tn>>2]|0;jn=(vn|0)<1;e=jn?16:-1;C=e+vn|0;_n=(B+(SQ*144|0)|0)+(C<<2)|0;nd=+Kr[_n>>2];dd=Xnnd;J=Qd?nd:Xn;Bd=J+-99999.0;Ed=Ad+99999.0;Dd=(B+(SQ*144|0)|0)+(vn<<2)|0;Kr[Dd>>2]=Xn;Cd=Ur[tn>>2]|0;Zd=Cd+1|0;ed=(Cd|0)>15;i=ed?0:Zd;Ur[tn>>2]=i;Jd=(d+4|0)+(SQ<<2)|0;gd=+Kr[Jd>>2];Rd=gd+fQ;pd=Ed>Rd;id=rQ|5;KQ=pd?id:rQ;Sd=(d+32|0)+(SQ<<2)|0;Pd=+Kr[Sd>>2];Gd=Pd-fQ;ad=Bd>2]|0;YA=(HA|0)>0;if(YA){v=Q+(PQ<<4)|0;N=Ur[v>>2]|0;_=(Q+(PQ<<4)|0)+8|0;x=Ur[_>>2]|0;DQ=0.0;pQ=0;while(1){V=N+pQ|0;L=AA+(V<<2)|0;b=+Kr[L>>2];y=x+(pQ<<2)|0;q=+Kr[y>>2];m=q*b;z=m+DQ;X=pQ+1|0;t=(X|0)<(HA|0);if(t){DQ=z;pQ=X}else{BQ=z;break}}}else{BQ=0.0}$=(Q+(PQ<<4)|0)+12|0;nn=+Kr[$>>2];LA=nn*BQ;yA=(B+(PQ*144|0)|0)+68|0;uA=Ur[yA>>2]|0;dn=(uA|0)<1;w=dn?16:-1;Z=w+uA|0;An=(B+(PQ*144|0)|0)+(Z<<2)|0;Qn=+Kr[An>>2];Bn=LAQn;g=En?Qn:LA;iQ=0;GQ=Z;IQ=-99999.0;MQ=99999.0;while(1){h=(GQ|0)<1;p=h?16:-1;R=p+GQ|0;W=(B+(PQ*144|0)|0)+(R<<2)|0;H=+Kr[W>>2];Y=IQH;O=k?H:MQ;l=iQ+1|0;eQ=(l|0)==(E|0);if(eQ){a=o;r=O;break}else{iQ=l;GQ=R;IQ=o;MQ=O}}kA=g-r;lA=VA-a;NA=(B+(PQ*144|0)|0)+(uA<<2)|0;Kr[NA>>2]=LA;bA=Ur[yA>>2]|0;xA=bA+1|0;qA=(bA|0)>15;S=qA?0:xA;Ur[yA>>2]=S;zA=(d+4|0)+(PQ<<2)|0;XA=+Kr[zA>>2];tA=XA+fQ;vA=lA>tA;jA=UQ|5;FQ=vA?jA:UQ;_A=(d+32|0)+(PQ<<2)|0;$A=+Kr[_A>>2];nQ=$A-fQ;dQ=kA>2]|0;Hd=d+1288|0;kQ=Ur[Hd>>2]|0;MB=d+1284|0;HB=Ur[MB>>2]|0;xB=(HB|0)>0;if(xB){vE=0;while(1){dE=bE+(vE<<2)|0;Ur[dE>>2]=-200;gE=vE+1|0;LE=(gE|0)==(HB|0);if(LE){break}else{vE=gE}}if(xB){jE=0;while(1){OE=yE+(jE<<2)|0;Ur[OE>>2]=-200;T=jE+1|0;uE=(T|0)==(HB|0);if(uE){break}else{jE=T}}if(xB){L=HB<<2;AZ(wD|0,0,L|0)|0;_E=0;while(1){_=qE+(_E<<2)|0;Ur[_>>2]=1;en=_E+1|0;NE=(en|0)==(HB|0);if(NE){break}else{_E=en}}if(xB){Wn=HB<<2;AZ(RD|0,-1,Wn|0)|0;yn=(HB|0)>1;if(!yn){VD=0;cr=_C;return VD|0}nd=kQ+-1|0;Jd=s+1112|0;Md=HB+-1|0;I=Ur[d>>2]|0;AE=I;$E=0;HD=0;while(1){jB=$E+1|0;_B=d+(jB<<2)|0;$B=Ur[_B>>2]|0;nE=xE+($E*56|0)|0;vC=nE;$C=vC+56|0;do{Ur[vC>>2]=0|0;vC=vC+4|0}while((vC|0)<($C|0));Ur[nE>>2]=AE;QE=(xE+($E*56|0)|0)+4|0;Ur[QE>>2]=$B;BE=($B|0)<(kQ|0);ND=BE?$B:nd;EE=(ND|0)<(AE|0);if(EE){aD=0;UD=0;LD=0;zD=0;$D=0;EC=0;JC=0;PC=0;FC=0;HC=0;NC=0;qC=0}else{tE=AE;ID=0;FD=0;yD=0;tD=0;dC=0;CC=0;RC=0;aC=0;sC=0;oC=0;LC=0;zC=0;while(1){DE=Q+(tE<<2)|0;U=+Kr[DE>>2];CE=U*7.3142857551574707;ZE=CE+1023.5;eE=~~ZE;wE=(eE|0)>1023;JE=(eE|0)<0;D=JE?0:eE;J=wE?1023:D;RE=(J|0)==0;do{if(RE){OD=ID;sD=FD;qD=yD;jD=tD;QC=dC;eC=CC;iC=RC;IC=aC;hC=sC;lC=oC;yC=LC;tC=zC}else{pE=A+(tE<<2)|0;iE=+Kr[pE>>2];SE=+Kr[Jd>>2];PE=SE+iE;GE=!(PE>=U);if(GE){sE=tE+CC|0;TE=J+zC|0;hE=sr(tE,tE)|0;WE=hE+tD|0;HE=sr(J,J)|0;h=HE+oC|0;W=sr(J,tE)|0;H=W+aC|0;Y=FD+1|0;OD=ID;sD=Y;qD=yD;jD=WE;QC=dC;eC=sE;iC=RC;IC=H;hC=sC;lC=h;yC=LC;tC=TE;break}else{aE=tE+dC|0;fE=J+LC|0;IE=sr(tE,tE)|0;ME=IE+yD|0;rE=sr(J,J)|0;UE=rE+sC|0;KE=sr(J,tE)|0;FE=KE+RC|0;cE=ID+1|0;OD=cE;sD=FD;qD=ME;jD=tD;QC=aE;eC=CC;iC=FE;IC=aC;hC=UE;lC=oC;yC=fE;tC=zC;break}}}while(0);o=tE+1|0;k=(tE|0)<(ND|0);if(k){tE=o;ID=OD;FD=sD;yD=qD;tD=jD;dC=QC;CC=eC;RC=iC;aC=IC;sC=hC;oC=lC;LC=yC;zC=tC}else{aD=OD;UD=sD;LD=qD;zD=jD;$D=QC;EC=eC;JC=iC;PC=IC;FC=hC;HC=lC;NC=yC;qC=tC;break}}}l=(xE+($E*56|0)|0)+8|0;Ur[l>>2]=$D;V=(xE+($E*56|0)|0)+12|0;Ur[V>>2]=NC;N=(xE+($E*56|0)|0)+16|0;Ur[N>>2]=LD;u=(xE+($E*56|0)|0)+20|0;Ur[u>>2]=FC;b=(xE+($E*56|0)|0)+24|0;Ur[b>>2]=JC;y=(xE+($E*56|0)|0)+28|0;Ur[y>>2]=aD;x=(xE+($E*56|0)|0)+32|0;Ur[x>>2]=EC;q=(xE+($E*56|0)|0)+36|0;Ur[q>>2]=qC;m=(xE+($E*56|0)|0)+40|0;Ur[m>>2]=zD;z=(xE+($E*56|0)|0)+44|0;Ur[z>>2]=HC;X=(xE+($E*56|0)|0)+48|0;Ur[X>>2]=PC;t=(xE+($E*56|0)|0)+52|0;Ur[t>>2]=UD;v=aD+HD|0;VE=(jB|0)==(Md|0);if(VE){YD=v;break}else{AE=$B;$E=jB;HD=v}}}else{jC=9}}else{jC=9}}else{jC=9}}else{jC=9}if((jC|0)==9){In=(HB|0)==0;if(!In){VD=0;cr=_C;return VD|0}Yd=xE+4|0;vC=xE;$C=vC+56|0;do{Ur[vC>>2]=0|0;vC=vC+4|0}while((vC|0)<($C|0));Ur[Yd>>2]=kQ;qd=(kQ|0)<1;if(qd){GD=0;rD=0;uD=0;mD=0;_D=0;BC=0;wC=0;SC=0;KC=0;WC=0;VC=0;xC=0}else{AA=s+1112|0;XE=0;fD=0;KD=0;bD=0;XD=0;nC=0;DC=0;gC=0;GC=0;cC=0;YC=0;uC=0;mC=0;while(1){RA=Q+(XE<<2)|0;r=+Kr[RA>>2];rA=r*7.3142857551574707;oA=rA+1023.5;mA=~~oA;QQ=(mA|0)>1023;pQ=(mA|0)<0;E=pQ?0:mA;w=QQ?1023:E;UQ=(w|0)==0;do{if(UQ){MD=fD;cD=KD;xD=bD;vD=XD;AC=nC;ZC=DC;pC=gC;fC=GC;TC=cC;kC=YC;bC=uC;XC=mC}else{lQ=A+(XE<<2)|0;XQ=+Kr[lQ>>2];EB=+Kr[AA>>2];iB=EB+XQ;SB=!(iB>=r);if(SB){FB=XE+DC|0;cB=w+mC|0;sB=sr(XE,XE)|0;TB=sB+XD|0;hB=sr(w,w)|0;WB=hB+YC|0;YB=sr(w,XE)|0;oB=YB+GC|0;kB=KD+1|0;MD=fD;cD=kB;xD=bD;vD=TB;AC=nC;ZC=FB;pC=gC;fC=oB;TC=cC;kC=WB;bC=uC;XC=cB;break}else{PB=XE+nC|0;GB=w+uC|0;aB=sr(XE,XE)|0;fB=aB+bD|0;IB=sr(w,w)|0;OB=IB+cC|0;rB=sr(w,XE)|0;UB=rB+gC|0;KB=fD+1|0;MD=KB;cD=KD;xD=fB;vD=XD;AC=PB;ZC=DC;pC=UB;fC=GC;TC=OB;kC=YC;bC=GB;XC=mC;break}}}while(0);lB=XE+1|0;lE=(lB|0)==(kQ|0);if(lE){GD=MD;rD=cD;uD=xD;mD=vD;_D=AC;BC=ZC;wC=pC;SC=fC;KC=TC;WC=kC;VC=bC;xC=XC;break}else{XE=lB;fD=MD;KD=cD;bD=xD;XD=vD;nC=AC;DC=ZC;gC=pC;GC=fC;cC=TC;YC=kC;uC=bC;mC=XC}}}VB=xE+8|0;Ur[VB>>2]=_D;NB=xE+12|0;Ur[NB>>2]=VC;uB=xE+16|0;Ur[uB>>2]=uD;LB=xE+20|0;Ur[LB>>2]=KC;bB=xE+24|0;Ur[bB>>2]=wC;yB=xE+28|0;Ur[yB>>2]=GD;qB=xE+32|0;Ur[qB>>2]=BC;mB=xE+36|0;Ur[mB>>2]=xC;zB=xE+40|0;Ur[zB>>2]=mD;XB=xE+44|0;Ur[XB>>2]=WC;tB=xE+48|0;Ur[tB>>2]=SC;vB=xE+52|0;Ur[vB>>2]=rD;YD=GD}j=(YD|0)==0;if(j){VD=0;cr=_C;return VD|0}Ur[rC>>2]=-200;Ur[UC>>2]=-200;$=HB+-1|0;dZ(xE,$,rC,UC,s)|0;nn=Ur[rC>>2]|0;Ur[bE>>2]=nn;Ur[yE>>2]=nn;dn=Ur[UC>>2]|0;An=yE+4|0;Ur[An>>2]=dn;Qn=bE+4|0;Ur[Qn>>2]=dn;Bn=(HB|0)>2;do{if(Bn){En=s+1112|0;Dn=s+1096|0;Cn=s+1100|0;Zn=s+1104|0;nD=2;n:while(1){wn=(d+520|0)+(nD<<2)|0;Jn=Ur[wn>>2]|0;gn=wD+(Jn<<2)|0;Rn=Ur[gn>>2]|0;pn=qE+(Jn<<2)|0;Sn=Ur[pn>>2]|0;Pn=RD+(Rn<<2)|0;Gn=Ur[Pn>>2]|0;an=(Gn|0)==(Sn|0);d:do{if(!an){fn=(d+520|0)+(Rn<<2)|0;Mn=Ur[fn>>2]|0;On=(d+520|0)+(Sn<<2)|0;rn=Ur[On>>2]|0;Ur[Pn>>2]=Sn;Un=(s+836|0)+(Rn<<2)|0;Kn=Ur[Un>>2]|0;Fn=(s+836|0)+(Sn<<2)|0;cn=Ur[Fn>>2]|0;sn=bE+(Rn<<2)|0;Tn=Ur[sn>>2]|0;hn=(Tn|0)<0;Hn=yE+(Rn<<2)|0;Yn=Ur[Hn>>2]|0;if(hn){p=Yn}else{on=(Yn|0)<0;if(on){p=Tn}else{kn=Yn+Tn|0;ln=kn>>1;p=ln}}Vn=bE+(Sn<<2)|0;Nn=Ur[Vn>>2]|0;un=(Nn|0)<0;Ln=yE+(Sn<<2)|0;bn=Ur[Ln>>2]|0;if(un){S=bn}else{xn=(bn|0)<0;if(xn){S=Nn}else{qn=bn+Nn|0;mn=qn>>1;S=mn}}zn=(p|0)==-1;Xn=(S|0)==-1;oD=zn|Xn;if(oD){jC=38;break n}tn=S-p|0;vn=cn-Kn|0;QD=(tn|0)>-1;hD=0-tn|0;jn=QD?tn:hD;_n=(tn|0)/(vn|0)&-1;$n=tn>>31;dd=$n|1;Ad=Q+(Kn<<2)|0;F=+Kr[Ad>>2];Qd=F*7.3142857551574707;Bd=Qd+1023.5;Ed=~~Bd;Dd=(Ed|0)>1023;Cd=(Ed|0)<0;C=Cd?0:Ed;g=Dd?1023:C;Zd=sr(_n,vn)|0;BD=(Zd|0)>-1;WD=0-Zd|0;ed=BD?Zd:WD;wd=jn-ed|0;gd=p-g|0;Rd=sr(gd,gd)|0;pd=A+(Kn<<2)|0;id=+Kr[pd>>2];Sd=+Kr[En>>2];Pd=Sd+id;Gd=!(Pd>=F);if(Gd){jC=42}else{ad=+(p|0);fd=+Kr[Dn>>2];Id=fd+ad;Od=+(g|0);rd=Id>2];Kd=ad-Ud;Fd=Kd>Od;if(!Fd){jC=42}}}A:do{if((jC|0)==42){jC=0;cd=Kn+1|0;sd=(cd|0)<(cn|0);if(sd){ld=cd;YE=0;iD=Rd;PD=1;MC=p;while(1){Td=YE+wd|0;hd=(Td|0)<(vn|0);Wd=hd?0:dd;od=hd?0:vn;oE=Td-od|0;f=MC+_n|0;OC=f+Wd|0;kd=Q+(ld<<2)|0;K=+Kr[kd>>2];Vd=K*7.3142857551574707;Nd=Vd+1023.5;ud=~~Nd;Ld=(ud|0)>1023;bd=(ud|0)<0;Z=bd?0:ud;i=Ld?1023:Z;yd=OC-i|0;xd=sr(yd,yd)|0;md=xd+iD|0;zd=PD+1|0;Xd=A+(ld<<2)|0;td=+Kr[Xd>>2];vd=td+Sd;jd=vd>=K;_d=(i|0)!=0;kD=jd&_d;if(kD){$d=+(OC|0);nA=+Kr[Dn>>2];dA=nA+$d;QA=+(i|0);BA=dA>2];DA=$d-EA;CA=DA>QA;if(CA){break A}}ZA=ld+1|0;eA=(ZA|0)<(cn|0);if(eA){ld=ZA;YE=oE;iD=md;PD=zd;MC=OC}else{pD=md;SD=zd;break}}}else{pD=Rd;SD=1}wA=+Kr[Dn>>2];JA=wA*wA;gA=+(SD|0);pA=JA/gA;iA=+Kr[Zn>>2];SA=pA>iA;if(!SA){PA=+Kr[Cn>>2];GA=PA*PA;aA=GA/gA;fA=aA>iA;if(!fA){IA=(pD|0)/(SD|0)&-1;MA=+(IA|0);OA=MA>iA;if(OA){break}}}DQ=bE+(nD<<2)|0;Ur[DQ>>2]=-200;CQ=yE+(nD<<2)|0;Ur[CQ>>2]=-200;break d}}while(0);Ur[JD>>2]=-200;Ur[gD>>2]=-200;Ur[mE>>2]=-200;Ur[zE>>2]=-200;UA=xE+(Mn*56|0)|0;KA=Jn-Mn|0;FA=dZ(UA,KA,JD,gD,s)|0;cA=xE+(Jn*56|0)|0;sA=rn-Jn|0;TA=dZ(cA,sA,mE,zE,s)|0;hA=(FA|0)!=0;if(hA){Ur[JD>>2]=p;WA=Ur[mE>>2]|0;Ur[gD>>2]=WA}HA=(TA|0)==0;if(!HA){YA=Ur[gD>>2]|0;Ur[mE>>2]=YA;Ur[zE>>2]=S;if(hA){kA=bE+(nD<<2)|0;Ur[kA>>2]=-200;lA=yE+(nD<<2)|0;Ur[lA>>2]=-200;break}}VA=Ur[JD>>2]|0;Ur[Hn>>2]=VA;NA=(Rn|0)==0;if(NA){Ur[bE>>2]=VA}uA=Ur[gD>>2]|0;LA=bE+(nD<<2)|0;Ur[LA>>2]=uA;bA=Ur[mE>>2]|0;yA=yE+(nD<<2)|0;Ur[yA>>2]=bA;xA=Ur[zE>>2]|0;Ur[Vn>>2]=xA;qA=(Sn|0)==1;if(qA){Ur[An>>2]=xA}zA=bA&uA;XA=(zA|0)>-1;if(XA){tA=(Jn|0)>0;A:do{if(tA){DD=Jn;while(1){ED=DD+-1|0;jA=qE+(ED<<2)|0;_A=Ur[jA>>2]|0;$A=(_A|0)==(Sn|0);if(!$A){break A}Ur[jA>>2]=nD;nQ=(DD|0)>1;if(nQ){DD=ED}else{break}}}}while(0);ZD=Jn+1|0;vA=(ZD|0)<(HB|0);if(vA){eD=ZD;while(1){dQ=wD+(eD<<2)|0;AQ=Ur[dQ>>2]|0;BQ=(AQ|0)==(Rn|0);if(!BQ){break d}Ur[dQ>>2]=nD;CD=eD+1|0;EQ=(CD|0)<(HB|0);if(EQ){eD=CD}else{break}}}}}}while(0);ZQ=nD+1|0;eQ=(ZQ|0)<(HB|0);if(eQ){nD=ZQ}else{jC=68;break}}if((jC|0)==38){nZ(1)}else if((jC|0)==68){M=Ur[bE>>2]|0;O=Ur[yE>>2]|0;gQ=M;iQ=O;break}}else{gQ=nn;iQ=nn}}while(0);wQ=HB<<2;JQ=vw(n,wQ)|0;RQ=(gQ|0)<0;if(RQ){R=iQ}else{SQ=(iQ|0)<0;if(SQ){R=gQ}else{PQ=iQ+gQ|0;GQ=PQ>>1;R=GQ}}Ur[JQ>>2]=R;aQ=Ur[Qn>>2]|0;fQ=(aQ|0)<0;IQ=Ur[An>>2]|0;if(fQ){G=IQ}else{MQ=(IQ|0)<0;if(MQ){G=aQ}else{OQ=IQ+aQ|0;rQ=OQ>>1;G=rQ}}KQ=JQ+4|0;Ur[KQ>>2]=G;if(Bn){dD=2}else{VD=JQ;cr=_C;return VD|0}while(1){FQ=dD+-2|0;cQ=(d+1032|0)+(FQ<<2)|0;sQ=Ur[cQ>>2]|0;TQ=(d+780|0)+(FQ<<2)|0;hQ=Ur[TQ>>2]|0;WQ=(s+836|0)+(sQ<<2)|0;HQ=Ur[WQ>>2]|0;YQ=(s+836|0)+(hQ<<2)|0;oQ=Ur[YQ>>2]|0;VQ=JQ+(sQ<<2)|0;NQ=Ur[VQ>>2]|0;uQ=JQ+(hQ<<2)|0;LQ=Ur[uQ>>2]|0;bQ=(s+836|0)+(dD<<2)|0;yQ=Ur[bQ>>2]|0;xQ=NQ&32767;qQ=LQ&32767;mQ=qQ-xQ|0;zQ=oQ-HQ|0;AD=(mQ|0)>-1;TD=0-mQ|0;tQ=AD?mQ:TD;vQ=yQ-HQ|0;jQ=sr(tQ,vQ)|0;_Q=(jQ|0)/(zQ|0)&-1;$Q=(mQ|0)<0;nB=0-_Q|0;a=$Q?nB:_Q;P=a+xQ|0;dB=bE+(dD<<2)|0;AB=Ur[dB>>2]|0;QB=(AB|0)<0;BB=yE+(dD<<2)|0;DB=Ur[BB>>2]|0;if(QB){e=DB}else{CB=(DB|0)<0;if(CB){e=AB}else{ZB=DB+AB|0;eB=ZB>>1;e=eB}}wB=(e|0)<0;JB=(P|0)==(e|0);lD=wB|JB;gB=P|32768;B=lD?gB:e;RB=JQ+(dD<<2)|0;Ur[RB>>2]=B;pB=dD+1|0;kE=(pB|0)==(HB|0);if(kE){VD=JQ;break}else{dD=pB}}cr=_C;return VD|0}function _w(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0;var U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0;V=cr;E=d+1284|0;D=Ur[E>>2]|0;P=(A|0)!=(0|0);K=(Q|0)!=(0|0);o=P&K;if(!o){k=0;return k|0}F=D<<2;c=vw(n,F)|0;s=(D|0)>0;if(!s){k=c;return k|0}T=65536-B|0;Y=0;while(1){h=A+(Y<<2)|0;W=Ur[h>>2]|0;C=W&32767;Z=sr(C,T)|0;e=Q+(Y<<2)|0;w=Ur[e>>2]|0;J=w&32767;g=sr(J,B)|0;R=Z+32768|0;p=R+g|0;i=p>>16;S=c+(Y<<2)|0;Ur[S>>2]=i;G=Ur[h>>2]|0;a=G&32768;f=(a|0)==0;if(!f){I=Ur[e>>2]|0;M=I&32768;O=(M|0)==0;if(!O){r=i|32768;Ur[S>>2]=r}}U=Y+1|0;H=(U|0)==(D|0);if(H){k=c;break}else{Y=U}}return k|0}function $w(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0;var U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0;var q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0,wn=0;var Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0,hn=0;var Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0,jn=0;var _n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0,Sd=0,Pd=0;var Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0,kd=0,ld=0;var Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0,dA=0,AA=0,QA=0;var BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0,IA=0,MA=0,OA=0;var rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0,LA=0,bA=0,yA=0;var xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0,DQ=0,CQ=0,ZQ=0,eQ=0;var wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0,rQ=0,UQ=0,KQ=0,FQ=0,cQ=0,sQ=0;var TQ=0,hQ=0,WQ=0,HQ=0,YQ=0,oQ=0,kQ=0,lQ=0,VQ=0,NQ=0,uQ=0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0,mQ=0,zQ=0,XQ=0,tQ=0;var vQ=0,jQ=0,_Q=0,$Q=0,nB=0,dB=0,AB=0,QB=0,BB=0,EB=0,DB=0,CB=0,ZB=0,eB=0,wB=0,JB=0,gB=0,RB=0,pB=0,iB=0;var SB=0,PB=0,GB=0,aB=0,fB=0,IB=0,MB=0,OB=0;OB=cr;cr=cr+336|0;SB=OB+64|0;cQ=OB+32|0;JB=OB;i=A+1296|0;S=Ur[i>>2]|0;fd=A+1284|0;EA=Ur[fd>>2]|0;SA=d+64|0;FA=Ur[SA>>2]|0;VA=FA+4|0;tA=Ur[VA>>2]|0;DQ=tA+28|0;PQ=Ur[DQ>>2]|0;P=PQ+2848|0;c=Ur[P>>2]|0;N=(Q|0)==(0|0);if(N){Xw(n,0,1);Xd=d+36|0;td=Ur[Xd>>2]|0;vd=(td|0)/2&-1;jd=vd<<2;AZ(B|0,0,jd|0)|0;D=0;cr=OB;return D|0}v=(EA|0)>0;if(v){Cn=S+832|0;qQ=0;while(1){an=Q+(qQ<<2)|0;Tn=Ur[an>>2]|0;Ln=Tn&32767;_n=Ur[Cn>>2]|0;if((_n|0)==4){yd=Ln>>>4;PB=yd}else if((_n|0)==1){ed=Ln>>>2;PB=ed}else if((_n|0)==2){Id=Ln>>>3;PB=Id}else if((_n|0)==3){Wd=(Ln>>>0)/12&-1;PB=Wd}else{PB=Ln}_d=Tn&32768;$d=_d|PB;Ur[an>>2]=$d;nA=qQ+1|0;LQ=(nA|0)==(EA|0);if(LQ){break}else{qQ=nA}}}dA=Ur[Q>>2]|0;Ur[SB>>2]=dA;AA=Q+4|0;QA=Ur[AA>>2]|0;BA=SB+4|0;Ur[BA>>2]=QA;DA=(EA|0)>2;CA=A+1292|0;if(DA){mQ=2;while(1){ZA=mQ+-2|0;eA=(A+1032|0)+(ZA<<2)|0;wA=Ur[eA>>2]|0;JA=(A+780|0)+(ZA<<2)|0;gA=Ur[JA>>2]|0;RA=(S+836|0)+(wA<<2)|0;pA=Ur[RA>>2]|0;iA=(S+836|0)+(gA<<2)|0;PA=Ur[iA>>2]|0;GA=Q+(wA<<2)|0;aA=Ur[GA>>2]|0;fA=Q+(gA<<2)|0;IA=Ur[fA>>2]|0;MA=(S+836|0)+(mQ<<2)|0;OA=Ur[MA>>2]|0;rA=aA&32767;UA=IA&32767;KA=UA-rA|0;cA=PA-pA|0;XQ=(KA|0)>-1;gB=0-KA|0;sA=XQ?KA:gB;TA=OA-pA|0;hA=sr(sA,TA)|0;WA=(hA|0)/(cA|0)&-1;HA=(KA|0)<0;YA=0-WA|0;Z=HA?YA:WA;C=Z+rA|0;oA=Q+(mQ<<2)|0;kA=Ur[oA>>2]|0;lA=kA&32768;NA=(lA|0)!=0;uA=(kA|0)==(C|0);iB=NA|uA;if(iB){LA=C|32768;Ur[oA>>2]=LA;bA=SB+(mQ<<2)|0;Ur[bA>>2]=0}else{yA=Ur[CA>>2]|0;xA=yA-C|0;qA=(xA|0)<(C|0);E=qA?xA:C;mA=kA-C|0;zA=(mA|0)<0;do{if(zA){XA=0-E|0;vA=(mA|0)<(XA|0);if(vA){jA=mA^-1;_A=E+jA|0;GB=_A;break}else{$A=mA<<1;nQ=$A^-1;GB=nQ;break}}else{dQ=(E|0)>(mA|0);if(dQ){QQ=mA<<1;GB=QQ;break}else{AQ=E+mA|0;GB=AQ;break}}}while(0);BQ=SB+(mQ<<2)|0;Ur[BQ>>2]=GB;Ur[GA>>2]=rA;EQ=Ur[fA>>2]|0;CQ=EQ&32767;Ur[fA>>2]=CQ}ZQ=mQ+1|0;uQ=(ZQ|0)==(EA|0);if(uQ){break}else{mQ=ZQ}}J=Ur[SB>>2]|0;g=Ur[BA>>2]|0;OQ=J;FQ=g}else{OQ=dA;FQ=QA}Xw(n,1,1);eQ=A+1308|0;wQ=Ur[eQ>>2]|0;JQ=wQ+1|0;Ur[eQ>>2]=JQ;gQ=Ur[CA>>2]|0;RQ=gQ+-1|0;pQ=KB(RQ)|0;iQ=pQ<<1;SQ=A+1304|0;GQ=Ur[SQ>>2]|0;aQ=GQ+iQ|0;Ur[SQ>>2]=aQ;fQ=Ur[CA>>2]|0;IQ=fQ+-1|0;MQ=KB(IQ)|0;Xw(n,OQ,MQ);rQ=Ur[CA>>2]|0;UQ=rQ+-1|0;KQ=KB(UQ)|0;Xw(n,FQ,KQ);G=Ur[S>>2]|0;a=(G|0)>0;if(a){f=A+1300|0;zQ=0;jQ=2;while(1){I=(S+4|0)+(zQ<<2)|0;M=Ur[I>>2]|0;O=(S+128|0)+(M<<2)|0;r=Ur[O>>2]|0;U=(S+192|0)+(M<<2)|0;K=Ur[U>>2]|0;F=1<>2]=0|0;Ur[cQ+4>>2]=0|0;Ur[cQ+8>>2]=0|0;Ur[cQ+12>>2]=0|0;Ur[cQ+16>>2]=0|0;Ur[cQ+20>>2]=0|0;Ur[cQ+24>>2]=0|0;Ur[cQ+28>>2]=0|0;s=(K|0)==0;if(!s){Ur[JB>>2]=0|0;Ur[JB+4>>2]=0|0;Ur[JB+8>>2]=0|0;Ur[JB+12>>2]=0|0;Ur[JB+16>>2]=0|0;Ur[JB+20>>2]=0|0;Ur[JB+24>>2]=0|0;Ur[JB+28>>2]=0|0;T=(K|0)==31;if(!T){nB=0;while(1){z=((S+320|0)+(M<<5)|0)+(nB<<2)|0;X=Ur[z>>2]|0;t=(X|0)<0;if(t){p=1}else{j=(PQ+1824|0)+(X<<2)|0;_=Ur[j>>2]|0;$=_+4|0;nn=Ur[$>>2]|0;p=nn}dn=JB+(nB<<2)|0;Ur[dn>>2]=p;An=nB+1|0;Qn=(An|0)<(F|0);if(Qn){nB=An}else{break}}}h=(r|0)>0;n:do{if(h){if(T){sQ=0;WQ=0;dB=0;while(1){Bn=cQ+(dB<<2)|0;En=Ur[Bn>>2]|0;Dn=En<>2]|0;BB=0;while(1){W=JB+(BB<<2)|0;H=Ur[W>>2]|0;o=(Y|0)<(H|0);if(o){EB=BB;MB=31;break}k=BB+1|0;l=(k|0)<(F|0);if(l){BB=k}else{MB=33;break}}if((MB|0)==31){MB=0;V=cQ+(AB<<2)|0;Ur[V>>2]=EB;L=EB}else if((MB|0)==33){MB=0;e=cQ+(AB<<2)|0;R=Ur[e>>2]|0;L=R}u=L<>2]|0;Rn=c+(gn*56|0)|0;pn=UB(Rn,hQ,n)|0;Sn=Ur[f>>2]|0;Pn=Sn+pn|0;Ur[f>>2]=Pn}Gn=(r|0)>0;if(Gn){QB=0;while(1){fn=cQ+(QB<<2)|0;In=Ur[fn>>2]|0;Mn=((S+320|0)+(M<<5)|0)+(In<<2)|0;On=Ur[Mn>>2]|0;rn=(On|0)>-1;if(rn){Un=QB+jQ|0;Kn=SB+(Un<<2)|0;Fn=Ur[Kn>>2]|0;cn=(c+(On*56|0)|0)+4|0;sn=Ur[cn>>2]|0;hn=(Fn|0)<(sn|0);if(hn){Wn=c+(On*56|0)|0;Hn=UB(Wn,Fn,n)|0;Yn=Ur[SQ>>2]|0;on=Yn+Hn|0;Ur[SQ>>2]=on}}kn=QB+1|0;VQ=(kn|0)==(r|0);if(VQ){break}else{QB=kn}}}ln=r+jQ|0;Vn=zQ+1|0;Nn=Ur[S>>2]|0;un=(Vn|0)<(Nn|0);if(un){zQ=Vn;jQ=ln}else{break}}}bn=Ur[Q>>2]|0;yn=S+832|0;xn=Ur[yn>>2]|0;qn=sr(xn,bn)|0;mn=d+28|0;zn=Ur[mn>>2]|0;Xn=PQ+(zn<<2)|0;tn=Ur[Xn>>2]|0;vn=(tn|0)/2&-1;jn=Ur[fd>>2]|0;$n=(jn|0)>1;if($n){yQ=0;_Q=1;DB=0;eB=qn;while(1){Bd=(A+260|0)+(_Q<<2)|0;Ed=Ur[Bd>>2]|0;Dd=Q+(Ed<<2)|0;Cd=Ur[Dd>>2]|0;Zd=Cd&32767;wd=(Zd|0)==(Cd|0);if(wd){Jd=Ur[yn>>2]|0;gd=sr(Jd,Cd)|0;Rd=(S+836|0)+(Ed<<2)|0;pd=Ur[Rd>>2]|0;id=gd-eB|0;Sd=pd-DB|0;tQ=(id|0)>-1;RB=0-id|0;Pd=tQ?id:RB;Gd=(id|0)/(Sd|0)&-1;ad=id>>31;Md=ad|1;Od=sr(Gd,Sd)|0;vQ=(Od|0)>-1;pB=0-Od|0;rd=vQ?Od:pB;Ud=Pd-rd|0;Kd=(vn|0)>(pd|0);aB=Kd?pd:vn;Fd=(aB|0)>(DB|0);if(Fd){cd=B+(DB<<2)|0;Ur[cd>>2]=eB}sd=DB+1|0;Td=(sd|0)<(aB|0);if(Td){ld=sd;YQ=0;fB=eB;while(1){hd=YQ+Ud|0;Hd=(hd|0)<(Sd|0);Yd=Hd?0:Md;od=Hd?0:Sd;oQ=hd-od|0;w=fB+Gd|0;IB=w+Yd|0;kd=B+(ld<<2)|0;Ur[kd>>2]=IB;Vd=ld+1|0;lQ=(Vd|0)==(aB|0);if(lQ){xQ=pd;CB=pd;wB=gd;break}else{ld=Vd;YQ=oQ;fB=IB}}}else{xQ=pd;CB=pd;wB=gd}}else{xQ=yQ;CB=DB;wB=eB}Nd=_Q+1|0;ud=Ur[fd>>2]|0;Ld=(Nd|0)<(ud|0);if(Ld){yQ=xQ;_Q=Nd;DB=CB;eB=wB}else{bQ=xQ;ZB=wB;break}}}else{bQ=0;ZB=qn}nd=d+36|0;dd=Ur[nd>>2]|0;Ad=(dd|0)/2&-1;Qd=(bQ|0)<(Ad|0);if(Qd){$Q=bQ}else{D=1;cr=OB;return D|0}while(1){bd=B+($Q<<2)|0;Ur[bd>>2]=ZB;xd=$Q+1|0;qd=Ur[nd>>2]|0;md=(qd|0)/2&-1;zd=(xd|0)<(md|0);if(zd){$Q=xd}else{D=1;break}}cr=OB;return D|0}function dZ(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0.0,R=0.0,p=0.0,i=0,S=0.0,P=0.0,G=0.0,a=0.0,f=0,I=0,M=0,O=0,r=0;var U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0.0,H=0.0,Y=0,o=0.0,k=0.0,l=0.0,V=0.0,N=0,u=0,L=0,b=0.0,y=0,x=0;var q=0.0,m=0.0,z=0.0,X=0.0,t=0,v=0,j=0,_=0.0,$=0,nn=0,dn=0.0,An=0.0,Qn=0.0,Bn=0.0,En=0,Dn=0,Cn=0.0,Zn=0,en=0,wn=0;var Jn=0.0,gn=0.0,Rn=0.0,pn=0.0,Sn=0,Pn=0,Gn=0.0,an=0,fn=0,In=0,Mn=0.0,On=0.0,rn=0.0,Un=0.0,Kn=0.0,Fn=0.0,cn=0.0,sn=0.0,Tn=0.0,hn=0.0;var Wn=0,Hn=0,Yn=0,on=0.0,kn=0.0,ln=0.0,Vn=0.0,Nn=0,un=0.0,Ln=0.0,bn=0,yn=0,xn=0.0,qn=0.0,mn=0.0,zn=0,Xn=0,tn=0.0,vn=0.0,jn=0.0;var _n=0.0,$n=0,nd=0,dd=0.0,Ad=0.0,Qd=0,Bd=0.0,Ed=0.0,Dd=0.0,Cd=0.0,Zd=0.0,ed=0.0,wd=0,Jd=0,gd=0.0,Rd=0.0,pd=0.0,id=0.0,Sd=0.0,Pd=0.0;var Gd=0.0,ad=0.0,fd=0.0,Id=0.0,Md=0.0,Od=0.0,rd=0.0,Ud=0,Kd=0,Fd=0.0,cd=0.0,sd=0.0,Td=0.0,hd=0.0,Wd=0.0,Hd=0.0,Yd=0.0,od=0.0,kd=0.0,ld=0.0;var Vd=0.0,Nd=0.0,ud=0.0,Ld=0.0,bd=0.0,yd=0,xd=0;xd=cr;e=Ur[n>>2]|0;w=d+-1|0;u=(n+(w*56|0)|0)+4|0;j=Ur[u>>2]|0;Zn=(d|0)>0;if(Zn){fn=B+1108|0;hn=+Kr[fn>>2];Md=0.0;Kd=0;cd=0.0;Wd=0.0;kd=0.0;ud=0.0;while(1){bn=(n+(Kd*56|0)|0)+52|0;$n=Ur[bn>>2]|0;wd=(n+(Kd*56|0)|0)+28|0;J=Ur[wd>>2]|0;M=J+$n|0;W=+(M|0);H=W*hn;Y=J+1|0;o=+(Y|0);k=H/o;l=k;V=l+1.0;N=(n+(Kd*56|0)|0)+32|0;L=Ur[N>>2]|0;b=+(L|0);y=(n+(Kd*56|0)|0)+8|0;x=Ur[y>>2]|0;q=+(x|0);m=q*V;z=b+Wd;X=z+m;t=(n+(Kd*56|0)|0)+36|0;v=Ur[t>>2]|0;_=+(v|0);$=(n+(Kd*56|0)|0)+12|0;nn=Ur[$>>2]|0;dn=+(nn|0);An=dn*V;Qn=_+ud;Bn=Qn+An;En=(n+(Kd*56|0)|0)+40|0;Dn=Ur[En>>2]|0;Cn=+(Dn|0);en=(n+(Kd*56|0)|0)+16|0;wn=Ur[en>>2]|0;Jn=+(wn|0);gn=Jn*V;Rn=Cn+cd;pn=Rn+gn;Sn=(n+(Kd*56|0)|0)+48|0;Pn=Ur[Sn>>2]|0;Gn=+(Pn|0);an=(n+(Kd*56|0)|0)+24|0;In=Ur[an>>2]|0;Mn=+(In|0);On=Mn*V;rn=Gn+kd;Un=rn+On;Kn=+($n|0);Fn=+(J|0);cn=V*Fn;sn=Kn+Md;Tn=sn+cn;Wn=Kd+1|0;Ud=(Wn|0)==(d|0);if(Ud){Id=Tn;Fd=pn;hd=X;od=Un;Nd=Bn;break}else{Md=Tn;Kd=Wn;cd=pn;Wd=X;kd=Un;ud=Bn}}}else{Id=0.0;Fd=0.0;hd=0.0;od=0.0;Nd=0.0}Hn=Ur[A>>2]|0;Yn=(Hn|0)>-1;if(Yn){on=+(e|0);kn=hd+on;ln=+(Hn|0);Vn=ln+Nd;Nn=sr(e,e)|0;un=+(Nn|0);Ln=Fd+un;yn=sr(Hn,e)|0;xn=+(yn|0);qn=xn+od;mn=Id+1.0;Od=mn;sd=Ln;Hd=kn;ld=qn;Ld=Vn}else{Od=Id;sd=Fd;Hd=hd;ld=od;Ld=Nd}zn=Ur[Q>>2]|0;Xn=(zn|0)>-1;if(Xn){tn=+(j|0);vn=Hd+tn;jn=+(zn|0);_n=jn+Ld;nd=sr(j,j)|0;dd=+(nd|0);Ad=sd+dd;Qd=sr(zn,j)|0;Bd=+(Qd|0);Ed=Bd+ld;Dd=Od+1.0;rd=Dd;Td=Ad;Yd=vn;Vd=Ed;bd=_n}else{rd=Od;Td=sd;Yd=Hd;Vd=ld;bd=Ld}Cd=Td*rd;Zd=Yd*Yd;ed=Cd-Zd;Jd=ed>0.0;if(!Jd){Ur[A>>2]=0;Ur[Q>>2]=0;E=1;return E|0}gd=bd*Td;Rd=Yd*Vd;pd=gd-Rd;id=pd/ed;Sd=Vd*rd;Pd=Yd*bd;Gd=Sd-Pd;ad=Gd/ed;fd=+(e|0);g=ad*fd;R=g+id;p=+NB(R);i=~~p;Ur[A>>2]=i;S=+(j|0);P=ad*S;G=P+id;a=+NB(G);f=~~a;Ur[Q>>2]=f;I=Ur[A>>2]|0;O=(I|0)>1023;if(O){Ur[A>>2]=1023;D=Ur[Q>>2]|0;r=D;T=1023}else{r=f;T=I}U=(r|0)>1023;if(U){Ur[Q>>2]=1023;C=Ur[A>>2]|0;K=C;h=1023}else{K=T;h=r}F=(K|0)<0;if(F){Ur[A>>2]=0;Z=Ur[Q>>2]|0;c=Z}else{c=h}s=(c|0)<0;if(!s){E=0;return E|0}Ur[Q>>2]=0;E=0;return E|0}function Kn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0;Kn=cr;D=n+836|0;C=n+840|0;G=Ur[C>>2]|0;s=Ur[n>>2]|0;Xw(d,s,5);u=Ur[n>>2]|0;j=(u|0)>0;if(j){Zn=n+4|0;Pn=0;rn=-1;while(1){w=Zn+(Pn<<2)|0;J=Ur[w>>2]|0;Xw(d,J,4);g=Ur[w>>2]|0;R=(rn|0)<(g|0);A=R?g:rn;p=Pn+1|0;i=Ur[n>>2]|0;S=(p|0)<(i|0);if(S){Pn=p;rn=A}else{Q=A;break}}wn=(Q|0)>-1;if(wn){Jn=n+128|0;gn=n+192|0;Z=n+256|0;e=n+320|0;Gn=0;while(1){P=Jn+(Gn<<2)|0;a=Ur[P>>2]|0;f=a+-1|0;Xw(d,f,3);I=gn+(Gn<<2)|0;M=Ur[I>>2]|0;Xw(d,M,2);O=Ur[I>>2]|0;r=(O|0)==0;if(r){fn=0;Un=8}else{U=Z+(Gn<<2)|0;K=Ur[U>>2]|0;Xw(d,K,8);B=Ur[I>>2]|0;F=(B|0)==31;if(!F){fn=0;Un=8}}if((Un|0)==8){while(1){Un=0;c=(e+(Gn<<5)|0)+(fn<<2)|0;T=Ur[c>>2]|0;h=T+1|0;Xw(d,h,8);W=fn+1|0;H=Ur[I>>2]|0;Y=1<>2]|0;N=V+-1|0;Xw(d,N,2);L=G+-1|0;b=KB(L)|0;Xw(d,b,4);y=KB(L)|0;x=Ur[n>>2]|0;q=(x|0)>0;if(!q){return}m=n+4|0;z=n+128|0;en=x;Rn=0;an=0;In=0;while(1){X=m+(an<<2)|0;t=Ur[X>>2]|0;v=z+(t<<2)|0;_=Ur[v>>2]|0;$=_+Rn|0;nn=(In|0)<($|0);if(nn){On=In;while(1){dn=On+2|0;An=D+(dn<<2)|0;Qn=Ur[An>>2]|0;Xw(d,Qn,y);Bn=On+1|0;pn=(Bn|0)==($|0);if(pn){break}else{On=Bn}}E=Ur[n>>2]|0;Cn=E;Mn=$}else{Cn=en;Mn=In}En=an+1|0;Dn=(En|0)<(Cn|0);if(Dn){en=Cn;Rn=$;an=En;In=Mn}else{break}}return}function Fn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0;var tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0;pd=cr;cr=cr+272|0;gd=pd;i=n+28|0;S=Ur[i>>2]|0;F=Hr(1,1120)|0;V=Hd(d,5)|0;Ur[F>>2]=V;t=(V|0)>0;n:do{if(t){Dn=F+4|0;dd=0;wd=-1;while(1){a=Hd(d,4)|0;f=Dn+(dd<<2)|0;Ur[f>>2]=a;I=(a|0)<0;if(I){break n}M=(wd|0)<(a|0);B=M?a:wd;O=dd+1|0;r=Ur[F>>2]|0;U=(O|0)<(r|0);if(U){dd=O;wd=B}else{E=B;break}}Gn=(E|0)>-1;if(Gn){sn=F+128|0;un=F+192|0;jn=F+256|0;P=S+24|0;G=F+320|0;Ad=0;while(1){K=Hd(d,3)|0;c=K+1|0;s=sn+(Ad<<2)|0;Ur[s>>2]=c;T=Hd(d,2)|0;h=un+(Ad<<2)|0;Ur[h>>2]=T;W=(T|0)<0;if(W){break n}H=(T|0)==0;if(H){D=jn+(Ad<<2)|0;C=Ur[D>>2]|0;k=C}else{Y=Hd(d,8)|0;o=jn+(Ad<<2)|0;Ur[o>>2]=Y;k=Y}l=(k|0)<0;if(l){break n}N=Ur[P>>2]|0;u=(k|0)<(N|0);if(!u){break n}L=Ur[h>>2]|0;b=(L|0)==31;if(!b){Dd=0;while(1){z=Hd(d,8)|0;X=z+-1|0;v=(G+(Ad<<5)|0)+(Dd<<2)|0;Ur[v>>2]=X;j=(z|0)<0;if(j){break n}_=Ur[P>>2]|0;$=(z|0)>(_|0);q=Dd+1|0;if($){break n}y=Ur[h>>2]|0;x=1<>2]=Qn;En=Hd(d,4)|0;Cn=(En|0)<0;if(!Cn){Zn=Ur[F>>2]|0;en=(Zn|0)>0;if(en){wn=F+4|0;Jn=F+128|0;gn=F+836|0;Rn=1<>2]|0;Pn=Jn+(Sn<<2)|0;an=Ur[Pn>>2]|0;fn=an+nd|0;In=(fn|0)>63;if(In){break n}Mn=(Cd|0)<(fn|0);if(Mn){ed=Cd;while(1){On=Hd(d,En)|0;rn=ed+2|0;Un=gn+(rn<<2)|0;Ur[Un>>2]=On;Kn=(On|0)>-1;Fn=(On|0)<(Rn|0);Jd=Kn&Fn;if(!Jd){break n}cn=ed+1|0;Tn=(cn|0)<(fn|0);if(Tn){ed=cn}else{Q=cn;break}}w=Ur[F>>2]|0;Hn=w;Zd=Q}else{Hn=_n;Zd=Cd}hn=Qd+1|0;Wn=(hn|0)<(Hn|0);if(Wn){_n=Hn;nd=fn;Qd=hn;Cd=Zd}else{Z=gn;e=Rn;$n=fn;break}}}else{R=F+836|0;p=1<>2]=0;Yn=F+840|0;Ur[Yn>>2]=e;on=$n+2|0;kn=($n|0)>-2;if(kn){Bd=0;while(1){ln=Z+(Bd<<2)|0;Vn=gd+(Bd<<2)|0;Ur[Vn>>2]=ln;Nn=Bd+1|0;Ln=(Nn|0)<(on|0);if(Ln){Bd=Nn}else{break}}}sB(gd,on,4,8);bn=(on|0)>1;d:do{if(bn){J=Ur[gd>>2]|0;g=Ur[J>>2]|0;Xn=g;Ed=1;while(1){qn=gd+(Ed<<2)|0;mn=Ur[qn>>2]|0;zn=Ur[mn>>2]|0;tn=(Xn|0)==(zn|0);yn=Ed+1|0;if(tn){break}xn=(yn|0)<(on|0);if(xn){Xn=zn;Ed=yn}else{break d}}vn=(F|0)==(0|0);if(vn){A=0}else{break n}cr=pd;return A|0}}while(0);A=F;cr=pd;return A|0}}}while(0);qB(F);A=0;cr=pd;return A|0}function cn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0;var tn=0,vn=0;vn=cr;cr=cr+272|0;Xn=vn;Q=Hr(1,1312)|0;B=Q+1296|0;Ur[B>>2]=d;i=d+836|0;K=d+840|0;l=Ur[K>>2]|0;X=Q+1288|0;Ur[X>>2]=l;En=Ur[d>>2]|0;Pn=(En|0)>0;if(Pn){rn=d+4|0;E=d+128|0;hn=0;qn=0;while(1){D=rn+(hn<<2)|0;C=Ur[D>>2]|0;Z=E+(C<<2)|0;e=Ur[Z>>2]|0;w=e+qn|0;J=hn+1|0;g=(J|0)<(En|0);if(g){hn=J;qn=w}else{A=w;break}}R=A+2|0;p=Q+1284|0;Ur[p>>2]=R;S=(A|0)>-2;if(S){I=R;xn=A;tn=7}else{sB(Xn,R,4,8);yn=A}}else{On=Q+1284|0;Ur[On>>2]=2;I=2;xn=0;tn=7}if((tn|0)==7){Wn=0;while(1){P=i+(Wn<<2)|0;G=Xn+(Wn<<2)|0;Ur[G>>2]=P;a=Wn+1|0;f=(a|0)<(I|0);if(f){Wn=a}else{break}}sB(Xn,I,4,8);M=i;O=Q+260|0;Hn=0;while(1){F=Xn+(Hn<<2)|0;c=Ur[F>>2]|0;s=c;T=s-M|0;h=T>>2;W=O+(Hn<<2)|0;Ur[W>>2]=h;H=Hn+1|0;Y=(H|0)<(I|0);if(Y){Hn=H}else{break}}r=Q+260|0;U=Q+520|0;Yn=0;while(1){k=r+(Yn<<2)|0;V=Ur[k>>2]|0;N=U+(V<<2)|0;Ur[N>>2]=Yn;u=Yn+1|0;L=(u|0)<(I|0);if(L){Yn=u}else{break}}o=Q+260|0;on=0;while(1){b=o+(on<<2)|0;y=Ur[b>>2]|0;x=i+(y<<2)|0;q=Ur[x>>2]|0;m=Q+(on<<2)|0;Ur[m>>2]=q;z=on+1|0;t=(z|0)<(I|0);if(t){on=z}else{yn=xn;break}}}v=d+832|0;j=Ur[v>>2]|0;if((j|0)==4){dn=Q+1292|0;Ur[dn>>2]=64}else if((j|0)==2){$=Q+1292|0;Ur[$>>2]=128}else if((j|0)==1){_=Q+1292|0;Ur[_>>2]=256}else if((j|0)==3){nn=Q+1292|0;Ur[nn>>2]=86}An=(yn|0)>0;if(!An){cr=vn;return Q|0}Qn=Q+1032|0;Bn=Q+780|0;kn=0;while(1){Dn=kn+2|0;Cn=i+(Dn<<2)|0;Zn=Ur[Cn>>2]|0;en=Ur[X>>2]|0;Kn=1;sn=en;ln=0;Vn=0;Ln=0;while(1){wn=i+(ln<<2)|0;Jn=Ur[wn>>2]|0;gn=(Jn|0)>(Ln|0);Rn=(Jn|0)<(Zn|0);mn=gn&Rn;Nn=mn?ln:Vn;bn=mn?Jn:Ln;pn=(Jn|0)<(sn|0);Sn=(Jn|0)>(Zn|0);zn=pn&Sn;Fn=zn?ln:Kn;Tn=zn?Jn:sn;Gn=ln+1|0;an=(Gn|0)<(Dn|0);if(an){Kn=Fn;sn=Tn;ln=Gn;Vn=Nn;Ln=bn}else{cn=Fn;un=Nn;break}}fn=Qn+(kn<<2)|0;Ur[fn>>2]=un;In=Bn+(kn<<2)|0;Ur[In>>2]=cn;Mn=kn+1|0;Un=(Mn|0)==(yn|0);if(Un){break}else{kn=Mn}}cr=vn;return Q|0}function sn(n){n=n|0;var d=0,A=0,Q=0;Q=cr;d=(n|0)==(0|0);if(!d){qB(n)}return}function Tn(n){n=n|0;var d=0,A=0,Q=0;Q=cr;d=(n|0)==(0|0);if(!d){qB(n)}return}function hn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0;var tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0;var id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0;Wd=cr;E=d+1296|0;D=Ur[E>>2]|0;L=n+64|0;_=Ur[L>>2]|0;en=_+4|0;In=Ur[en>>2]|0;Wn=In+28|0;yn=Ur[Wn>>2]|0;nd=yn+2848|0;Jd=Ur[nd>>2]|0;C=n+4|0;G=Hd(C,1)|0;s=(G|0)==1;if(!s){A=0;return A|0}Y=d+1284|0;o=Ur[Y>>2]|0;k=o<<2;l=vw(n,k)|0;V=d+1292|0;N=Ur[V>>2]|0;u=N+-1|0;b=KB(u)|0;y=Hd(C,b)|0;Ur[l>>2]=y;x=Ur[V>>2]|0;q=x+-1|0;m=KB(q)|0;z=Hd(C,m)|0;X=l+4|0;Ur[X>>2]=z;t=Ur[D>>2]|0;v=(t|0)>0;n:do{if(v){rd=0;Fd=2;d:while(1){An=(D+4|0)+(rd<<2)|0;Qn=Ur[An>>2]|0;Bn=(D+128|0)+(Qn<<2)|0;En=Ur[Bn>>2]|0;Dn=(D+192|0)+(Qn<<2)|0;Cn=Ur[Dn>>2]|0;Zn=1<>2]|0;Rn=Jd+(gn*56|0)|0;pn=Yd(Rn,C)|0;Sn=(pn|0)==-1;if(Sn){A=0;hd=25;break}else{Md=pn}}Pn=(En|0)>0;if(Pn){Gn=Zn+-1|0;Od=Md;cd=0;while(1){an=Od&Gn;fn=((D+320|0)+(Qn<<5)|0)+(an<<2)|0;Mn=Ur[fn>>2]|0;On=Od>>Cn;rn=(Mn|0)>-1;if(rn){Un=Jd+(Mn*56|0)|0;Kn=Yd(Un,C)|0;Fn=cd+Fd|0;cn=l+(Fn<<2)|0;Ur[cn>>2]=Kn;sn=(Kn|0)==-1;if(sn){A=0;hd=25;break d}}else{Tn=cd+Fd|0;hn=l+(Tn<<2)|0;Ur[hn>>2]=0}Hn=cd+1|0;Yn=(Hn|0)<(En|0);if(Yn){Od=On;cd=Hn}else{break}}}on=En+Fd|0;kn=rd+1|0;ln=Ur[D>>2]|0;Vn=(kn|0)<(ln|0);if(Vn){rd=kn;Fd=on}else{break n}}if((hd|0)==25){return A|0}}}while(0);j=Ur[Y>>2]|0;$=(j|0)>2;if(!$){A=l;return A|0}nn=d+1032|0;dn=d+780|0;Ud=2;while(1){Nn=Ud+-2|0;un=nn+(Nn<<2)|0;Ln=Ur[un>>2]|0;bn=(D+836|0)+(Ln<<2)|0;xn=Ur[bn>>2]|0;qn=dn+(Nn<<2)|0;mn=Ur[qn>>2]|0;zn=(D+836|0)+(mn<<2)|0;Xn=Ur[zn>>2]|0;tn=l+(Ln<<2)|0;vn=Ur[tn>>2]|0;jn=l+(mn<<2)|0;_n=Ur[jn>>2]|0;$n=(D+836|0)+(Ud<<2)|0;dd=Ur[$n>>2]|0;Ad=vn&32767;Qd=_n&32767;Bd=Qd-Ad|0;Ed=Xn-xn|0;Kd=(Bd|0)>-1;sd=0-Bd|0;Dd=Kd?Bd:sd;Cd=dd-xn|0;Zd=sr(Dd,Cd)|0;ed=(Zd|0)/(Ed|0)&-1;wd=(Bd|0)<0;gd=0-ed|0;B=wd?gd:ed;Q=B+Ad|0;Rd=Ur[V>>2]|0;pd=Rd-Q|0;id=l+(Ud<<2)|0;Sd=Ur[id>>2]|0;Pd=(Sd|0)==0;if(Pd){T=Q|32768;Ur[id>>2]=T}else{Gd=(pd|0)<(Q|0);ad=Gd?pd:Q;fd=ad<<1;Id=(Sd|0)<(fd|0);do{if(Id){g=Sd&1;R=(g|0)==0;if(R){P=Sd>>1;Td=P;break}else{p=Sd+1|0;i=p>>1;S=0-i|0;Td=S;break}}else{Z=(pd|0)>(Q|0);if(Z){e=Sd-Q|0;Td=e;break}else{w=Sd-pd|0;J=w^-1;Td=J;break}}}while(0);a=Td+Q|0;f=a&32767;Ur[id>>2]=f;I=Ur[un>>2]|0;M=l+(I<<2)|0;O=Ur[M>>2]|0;r=O&32767;Ur[M>>2]=r;U=Ur[qn>>2]|0;K=l+(U<<2)|0;F=Ur[K>>2]|0;c=F&32767;Ur[K>>2]=c}h=Ud+1|0;W=Ur[Y>>2]|0;H=(h|0)<(W|0);if(H){Ud=h}else{A=l;break}}return A|0}function Wn(n,d,A,Q){n=n|0;d=d|0;A=A|0;Q=Q|0;var B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0;var r=0,U=0,K=0,F=0.0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0;var x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0.0,Qn=0,Bn=0.0,En=0.0,Dn=0,Cn=0,Zn=0,en=0;var wn=0,Jn=0,gn=0,Rn=0,pn=0.0,Sn=0,Pn=0,Gn=0.0,an=0.0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0.0,Kn=0.0,Fn=0,cn=0,sn=0,Tn=0;var hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0;var jn=0,_n=0,$n=0;$n=cr;D=d+1296|0;C=Ur[D>>2]|0;G=n+64|0;s=Ur[G>>2]|0;u=s+4|0;j=Ur[u>>2]|0;Zn=j+28|0;fn=Ur[Zn>>2]|0;sn=n+28|0;Tn=Ur[sn>>2]|0;Z=fn+(Tn<<2)|0;e=Ur[Z>>2]|0;w=(e|0)/2&-1;J=(A|0)==(0|0);if(J){cn=w<<2;AZ(Q|0,0,cn|0)|0;B=0;return B|0}g=Ur[A>>2]|0;R=C+832|0;p=Ur[R>>2]|0;i=sr(p,g)|0;S=(i|0)<0;P=(i|0)>255;a=P?255:i;f=S?0:a;I=d+1284|0;M=Ur[I>>2]|0;O=(M|0)>1;if(O){r=d+260|0;kn=0;un=1;bn=0;qn=f;while(1){c=r+(un<<2)|0;T=Ur[c>>2]|0;h=A+(T<<2)|0;W=Ur[h>>2]|0;H=W&32767;Y=(H|0)==(W|0);if(Y){o=(C+836|0)+(T<<2)|0;k=Ur[o>>2]|0;l=sr(p,W)|0;V=(l|0)<0;N=(l|0)>255;L=N?255:l;b=V?0:L;y=b-qn|0;x=k-bn|0;Vn=(y|0)>-1;zn=0-y|0;q=Vn?y:zn;m=(y|0)/(x|0)&-1;z=y>>31;X=z|1;t=sr(m,x)|0;Nn=(t|0)>-1;Xn=0-t|0;v=Nn?t:Xn;_=q-v|0;$=(w|0)>(k|0);tn=$?k:w;nn=(tn|0)>(bn|0);if(nn){dn=1768+(qn<<2)|0;An=+Kr[dn>>2];Qn=Q+(bn<<2)|0;Bn=+Kr[Qn>>2];En=Bn*An;Kr[Qn>>2]=En}Dn=bn+1|0;Cn=(Dn|0)<(tn|0);if(Cn){Pn=Dn;hn=0;vn=qn;while(1){en=hn+_|0;wn=(en|0)<(x|0);Jn=wn?0:X;gn=wn?0:x;Wn=en-gn|0;E=vn+m|0;jn=E+Jn|0;Rn=1768+(jn<<2)|0;pn=+Kr[Rn>>2];Sn=Q+(Pn<<2)|0;Gn=+Kr[Sn>>2];an=Gn*pn;Kr[Sn>>2]=an;In=Pn+1|0;Yn=(In|0)==(tn|0);if(Yn){ln=k;yn=k;mn=b;break}else{Pn=In;hn=Wn;vn=jn}}}else{ln=k;yn=k;mn=b}}else{ln=kn;yn=bn;mn=qn}Mn=un+1|0;On=(Mn|0)<(M|0);if(On){kn=ln;un=Mn;bn=yn;qn=mn}else{on=ln;xn=mn;break}}}else{on=0;xn=f}U=(on|0)<(w|0);if(!U){B=1;return B|0}K=1768+(xn<<2)|0;F=+Kr[K>>2];Ln=on;while(1){rn=Q+(Ln<<2)|0;Un=+Kr[rn>>2];Kn=Un*F;Kr[rn>>2]=Kn;Fn=Ln+1|0;Hn=(Fn|0)==(w|0);if(Hn){B=1;break}else{Ln=Fn}}return B|0}function Hn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0;Z=cr;A=Ur[n>>2]|0;Q=Ur[A>>2]|0;B=Ur[d>>2]|0;E=Ur[B>>2]|0;D=Q-E|0;return D|0}function Yn(n){n=n|0;var d=0,A=0;A=cr;Ur[n>>2]=0|0;Ur[n+4>>2]=0|0;Ur[n+8>>2]=0|0;Ur[n+12>>2]=0|0;return}function on(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0;var O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0;V=cr;B=ud(d|0)|0;E=ud(A|0)|0;S=B+2|0;F=S+E|0;Q=F;s=cr;cr=cr+((1*Q|0)+15&-16)|0;vd(s|0,d|0)|0;k=ud(s|0)|0;o=s+k|0;rB[o>>0]=61&255;rB[o+1>>0]=61>>8;zd(s|0,A|0)|0;T=Ur[n>>2]|0;h=n+8|0;W=Ur[h>>2]|0;H=W<<2;Y=H+8|0;D=mB(T,Y)|0;Ur[n>>2]=D;C=n+4|0;Z=Ur[C>>2]|0;e=Ur[h>>2]|0;w=e<<2;J=w+8|0;g=mB(Z,J)|0;Ur[C>>2]=g;R=ud(s|0)|0;p=Ur[h>>2]|0;i=g+(p<<2)|0;Ur[i>>2]=R;P=R+1|0;G=Wr(P)|0;a=Ur[n>>2]|0;f=a+(p<<2)|0;Ur[f>>2]=G;I=Ur[n>>2]|0;M=I+(p<<2)|0;O=Ur[M>>2]|0;vd(O|0,s|0)|0;r=Ur[h>>2]|0;U=r+1|0;Ur[h>>2]=U;K=Ur[n>>2]|0;c=K+(U<<2)|0;Ur[c>>2]=0;cr=V;return}function kn(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0;F=cr;B=(n|0)==(0|0);if(B){return}E=Ur[n>>2]|0;S=(E|0)==(0|0);if(!S){G=n+8|0;a=Ur[G>>2]|0;f=(a|0)>0;if(f){P=a;M=E;U=0;while(1){I=M+(U<<2)|0;O=Ur[I>>2]|0;r=(O|0)==(0|0);if(r){Z=P}else{qB(O);A=Ur[G>>2]|0;Z=A}D=U+1|0;C=(D|0)<(Z|0);if(!C){break}d=Ur[n>>2]|0;P=Z;M=d;U=D}Q=Ur[n>>2]|0;e=Q}else{e=E}qB(e)}w=n+4|0;J=Ur[w>>2]|0;g=(J|0)==(0|0);if(!g){qB(J)}R=n+12|0;p=Ur[R>>2]|0;i=(p|0)==(0|0);if(!i){qB(p)}Ur[n>>2]=0|0;Ur[n+4>>2]=0|0;Ur[n+8>>2]=0|0;Ur[n+12>>2]=0|0;return}function ln(n){n=n|0;var d=0,A=0,Q=0,B=0;B=cr;Ur[n>>2]=0|0;Ur[n+4>>2]=0|0;Ur[n+8>>2]=0|0;Ur[n+12>>2]=0|0;Ur[n+16>>2]=0|0;Ur[n+20>>2]=0|0;Ur[n+24>>2]=0|0;d=Hr(1,3664)|0;A=n+28|0;Ur[A>>2]=d;return}function Vn(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0;var Cn=0,Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0;var cn=0,sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0;yn=cr;E=n+28|0;D=Ur[E>>2]|0;P=(D|0)==(0|0);if(P){Ur[n>>2]=0|0;Ur[n+4>>2]=0|0;Ur[n+8>>2]=0|0;Ur[n+12>>2]=0|0;Ur[n+16>>2]=0|0;Ur[n+20>>2]=0|0;Ur[n+24>>2]=0|0;Ur[n+28>>2]=0|0;return}c=D+8|0;N=Ur[c>>2]|0;v=(N|0)>0;if(v){hn=N;kn=0;while(1){on=(D+32|0)+(kn<<2)|0;C=Ur[on>>2]|0;Z=(C|0)==(0|0);if(Z){J=hn}else{qB(C);d=Ur[c>>2]|0;J=d}e=kn+1|0;w=(e|0)<(J|0);if(w){hn=J;kn=e}else{break}}}Cn=D+12|0;an=Ur[Cn>>2]|0;Tn=(an|0)>0;if(Tn){Wn=an;ln=0;while(1){i=(D+544|0)+(ln<<2)|0;S=Ur[i>>2]|0;G=(S|0)==(0|0);if(G){F=Wn}else{a=(D+288|0)+(ln<<2)|0;f=Ur[a>>2]|0;I=25664+(f<<2)|0;M=Ur[I>>2]|0;O=M+8|0;r=Ur[O>>2]|0;CA[r&7](S);A=Ur[Cn>>2]|0;F=A}U=ln+1|0;K=(U|0)<(F|0);if(K){Wn=F;ln=U}else{break}}}g=D+16|0;R=Ur[g>>2]|0;p=(R|0)>0;if(p){Hn=R;Vn=0;while(1){W=(D+1056|0)+(Vn<<2)|0;H=Ur[W>>2]|0;Y=(H|0)==(0|0);if(Y){x=Hn}else{o=(D+800|0)+(Vn<<2)|0;k=Ur[o>>2]|0;l=25640+(k<<2)|0;V=Ur[l>>2]|0;u=V+12|0;L=Ur[u>>2]|0;CA[L&7](H);Q=Ur[g>>2]|0;x=Q}b=Vn+1|0;y=(b|0)<(x|0);if(y){Hn=x;Vn=b}else{break}}}s=D+20|0;T=Ur[s>>2]|0;h=(T|0)>0;if(h){Yn=T;Nn=0;while(1){t=(D+1568|0)+(Nn<<2)|0;j=Ur[t>>2]|0;_=(j|0)==(0|0);if(_){Zn=Yn}else{$=(D+1312|0)+(Nn<<2)|0;nn=Ur[$>>2]|0;dn=25648+(nn<<2)|0;An=Ur[dn>>2]|0;Qn=An+12|0;Bn=Ur[Qn>>2]|0;CA[Bn&7](j);B=Ur[s>>2]|0;Zn=B}En=Nn+1|0;Dn=(En|0)<(Zn|0);if(Dn){Yn=Zn;Nn=En}else{break}}}q=D+24|0;m=Ur[q>>2]|0;z=(m|0)>0;X=D+2848|0;if(z){un=0;while(1){en=(D+1824|0)+(un<<2)|0;wn=Ur[en>>2]|0;Jn=(wn|0)==(0|0);if(!Jn){lA(wn)}gn=Ur[X>>2]|0;Rn=(gn|0)==(0|0);if(!Rn){pn=gn+(un*56|0)|0;Sd(pn)}Sn=un+1|0;Pn=Ur[q>>2]|0;Gn=(Sn|0)<(Pn|0);if(Gn){un=Sn}else{break}}}fn=Ur[X>>2]|0;In=(fn|0)==(0|0);if(!In){qB(fn)}Mn=D+28|0;On=Ur[Mn>>2]|0;rn=(On|0)>0;if(rn){Ln=0;while(1){Un=(D+2852|0)+(Ln<<2)|0;Kn=Ur[Un>>2]|0;jn(Kn);Fn=Ln+1|0;cn=Ur[Mn>>2]|0;sn=(Fn|0)<(cn|0);if(sn){Ln=Fn}else{break}}}qB(D);Ur[n>>2]=0|0;Ur[n+4>>2]=0|0;Ur[n+8>>2]=0|0;Ur[n+12>>2]=0|0;Ur[n+16>>2]=0|0;Ur[n+20>>2]=0|0;Ur[n+24>>2]=0|0;Ur[n+28>>2]=0|0;return}function Nn(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0;var U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0;var q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0,wn=0;var Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0,hn=0;var Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0,jn=0;var _n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0,Sd=0,Pd=0;var Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0,kd=0,ld=0;var Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0,dA=0,AA=0,QA=0;var BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0,IA=0,MA=0,OA=0;OA=cr;cr=cr+32|0;aA=OA;Z=n+4|0;e=Ur[Z>>2]|0;Yn=n+104|0;qn=Ur[Yn>>2]|0;Ad=(qn|0)==(0|0);if(Ad){Ur[A>>2]=0|0;Ur[A+4>>2]=0|0;Ur[A+8>>2]=0|0;Ur[A+12>>2]=0|0;Ur[A+16>>2]=0|0;Ur[A+20>>2]=0|0;Ur[A+24>>2]=0|0;Ur[A+28>>2]=0|0;Ur[Q>>2]=0|0;Ur[Q+4>>2]=0|0;Ur[Q+8>>2]=0|0;Ur[Q+12>>2]=0|0;Ur[Q+16>>2]=0|0;Ur[Q+20>>2]=0|0;Ur[Q+24>>2]=0|0;Ur[Q+28>>2]=0|0;Ur[B>>2]=0|0;Ur[B+4>>2]=0|0;Ur[B+8>>2]=0|0;Ur[B+12>>2]=0|0;Ur[B+16>>2]=0|0;Ur[B+20>>2]=0|0;Ur[B+24>>2]=0|0;Ur[B+28>>2]=0|0;E=-129;cr=OA;return E|0}Rd=e+4|0;rd=Ur[Rd>>2]|0;od=(rd|0)<1;if(od){fA=-129;MA=27}else{rA(aA);md=e+28|0;QA=Ur[md>>2]|0;w=(QA|0)==(0|0);if(w){fA=-130;MA=27}else{I=Ur[QA>>2]|0;W=(I|0)<64;if(W){fA=-130;MA=27}else{y=QA+4|0;nn=Ur[y>>2]|0;Jn=(nn|0)<(I|0);if(Jn){fA=-130;MA=27}else{Xw(aA,1,8);Xw(aA,118,8);Xw(aA,111,8);Xw(aA,114,8);Xw(aA,98,8);Xw(aA,105,8);Xw(aA,115,8);Xw(aA,0,32);On=Ur[Rd>>2]|0;Xw(aA,On,8);hn=e+8|0;Wn=Ur[hn>>2]|0;Xw(aA,Wn,32);Hn=e+12|0;on=Ur[Hn>>2]|0;Xw(aA,on,32);kn=e+16|0;ln=Ur[kn>>2]|0;Xw(aA,ln,32);Vn=e+20|0;Nn=Ur[Vn>>2]|0;Xw(aA,Nn,32);un=Ur[QA>>2]|0;Ln=un+-1|0;bn=KB(Ln)|0;Xw(aA,bn,4);yn=Ur[y>>2]|0;xn=yn+-1|0;mn=KB(xn)|0;Xw(aA,mn,4);Xw(aA,1,1);zn=qn+64|0;Xn=Ur[zn>>2]|0;tn=(Xn|0)==(0|0);if(!tn){qB(Xn)}vn=_Q(aA)|0;jn=Wr(vn)|0;Ur[zn>>2]=jn;_n=aA+8|0;$n=Ur[_n>>2]|0;nd=_Q(aA)|0;Yr(jn|0,$n|0,nd|0)|0;dd=Ur[zn>>2]|0;Ur[A>>2]=dd;Qd=_Q(aA)|0;Bd=A+4|0;Ur[Bd>>2]=Qd;Ed=A+8|0;Ur[Ed>>2]=1;Dd=A+12|0;Ur[Dd>>2]=0|0;Ur[Dd+4>>2]=0|0;Ur[Dd+8>>2]=0|0;Ur[Dd+12>>2]=0|0;Ur[Dd+16>>2]=0|0;KA(aA);cA(aA,d);Cd=qn+68|0;Zd=Ur[Cd>>2]|0;ed=(Zd|0)==(0|0);if(!ed){qB(Zd)}wd=_Q(aA)|0;Jd=Wr(wd)|0;Ur[Cd>>2]=Jd;gd=Ur[_n>>2]|0;pd=_Q(aA)|0;Yr(Jd|0,gd|0,pd|0)|0;id=Ur[Cd>>2]|0;Ur[Q>>2]=id;Sd=_Q(aA)|0;Pd=Q+4|0;Ur[Pd>>2]=Sd;Gd=Q+8|0;ad=Q+24|0;Ur[Gd>>2]=0|0;Ur[Gd+4>>2]=0|0;Ur[Gd+8>>2]=0|0;Ur[Gd+12>>2]=0|0;fd=ad;Id=fd;Ur[Id>>2]=1;Md=fd+4|0;Od=Md;Ur[Od>>2]=0;KA(aA);Ud=Ur[md>>2]|0;Kd=(Ud|0)==(0|0);n:do{if(!Kd){Xw(aA,5,8);Xw(aA,118,8);Xw(aA,111,8);Xw(aA,114,8);Xw(aA,98,8);Xw(aA,105,8);Xw(aA,115,8);Fd=Ud+24|0;cd=Ur[Fd>>2]|0;sd=cd+-1|0;Xw(aA,sd,8);Td=Ur[Fd>>2]|0;hd=(Td|0)>0;if(hd){pA=0;while(1){kd=(Ud+1824|0)+(pA<<2)|0;ld=Ur[kd>>2]|0;Vd=FA(ld,aA)|0;Nd=(Vd|0)==0;Hd=pA+1|0;if(!Nd){break n}Wd=Ur[Fd>>2]|0;Yd=(Hd|0)<(Wd|0);if(Yd){pA=Hd}else{break}}}Xw(aA,0,6);Xw(aA,0,16);ud=Ud+16|0;Ld=Ur[ud>>2]|0;bd=Ld+-1|0;Xw(aA,bd,6);yd=Ur[ud>>2]|0;xd=(yd|0)>0;if(xd){iA=0;while(1){qd=(Ud+800|0)+(iA<<2)|0;zd=Ur[qd>>2]|0;Xw(aA,zd,16);Xd=Ur[qd>>2]|0;td=25640+(Xd<<2)|0;vd=Ur[td>>2]|0;jd=Ur[vd>>2]|0;_d=(jd|0)==(0|0);if(_d){break n}$d=(Ud+1056|0)+(iA<<2)|0;nA=Ur[$d>>2]|0;sA[jd&3](nA,aA);dA=iA+1|0;AA=Ur[ud>>2]|0;BA=(dA|0)<(AA|0);if(BA){iA=dA}else{break}}}EA=Ud+20|0;DA=Ur[EA>>2]|0;CA=DA+-1|0;Xw(aA,CA,6);ZA=Ur[EA>>2]|0;eA=(ZA|0)>0;if(eA){SA=0;while(1){wA=(Ud+1312|0)+(SA<<2)|0;JA=Ur[wA>>2]|0;Xw(aA,JA,16);gA=Ur[wA>>2]|0;RA=25648+(gA<<2)|0;J=Ur[RA>>2]|0;g=Ur[J>>2]|0;R=(Ud+1568|0)+(SA<<2)|0;p=Ur[R>>2]|0;sA[g&3](p,aA);i=SA+1|0;S=Ur[EA>>2]|0;P=(i|0)<(S|0);if(P){SA=i}else{break}}}G=Ud+12|0;a=Ur[G>>2]|0;f=a+-1|0;Xw(aA,f,6);M=Ur[G>>2]|0;O=(M|0)>0;if(O){PA=0;while(1){r=(Ud+288|0)+(PA<<2)|0;U=Ur[r>>2]|0;Xw(aA,U,16);K=Ur[r>>2]|0;F=25664+(K<<2)|0;c=Ur[F>>2]|0;s=Ur[c>>2]|0;T=(Ud+544|0)+(PA<<2)|0;h=Ur[T>>2]|0;TA[s&1](e,h,aA);H=PA+1|0;Y=Ur[G>>2]|0;o=(H|0)<(Y|0);if(o){PA=H}else{break}}}k=Ud+8|0;l=Ur[k>>2]|0;V=l+-1|0;Xw(aA,V,6);N=Ur[k>>2]|0;u=(N|0)>0;if(u){GA=0;while(1){L=(Ud+32|0)+(GA<<2)|0;b=Ur[L>>2]|0;x=Ur[b>>2]|0;Xw(aA,x,1);q=Ur[L>>2]|0;m=q+4|0;z=Ur[m>>2]|0;Xw(aA,z,16);X=Ur[L>>2]|0;t=X+8|0;v=Ur[t>>2]|0;Xw(aA,v,16);j=Ur[L>>2]|0;_=j+12|0;$=Ur[_>>2]|0;Xw(aA,$,8);dn=GA+1|0;An=Ur[k>>2]|0;Qn=(dn|0)<(An|0);if(Qn){GA=dn}else{break}}}Xw(aA,1,1);Bn=qn+72|0;En=Ur[Bn>>2]|0;Dn=(En|0)==(0|0);if(!Dn){qB(En)}Cn=_Q(aA)|0;Zn=Wr(Cn)|0;Ur[Bn>>2]=Zn;en=Ur[_n>>2]|0;wn=_Q(aA)|0;Yr(Zn|0,en|0,wn|0)|0;gn=Ur[Bn>>2]|0;Ur[B>>2]=gn;Rn=_Q(aA)|0;pn=B+4|0;Ur[pn>>2]=Rn;Sn=B+8|0;Pn=B+24|0;Ur[Sn>>2]=0|0;Ur[Sn+4>>2]=0|0;Ur[Sn+8>>2]=0|0;Ur[Sn+12>>2]=0|0;Gn=Pn;an=Gn;Ur[an>>2]=2;fn=Gn+4|0;In=fn;Ur[In>>2]=0;UA(aA);E=0;cr=OA;return E|0}}while(0);Ur[A>>2]=0|0;Ur[A+4>>2]=0|0;Ur[A+8>>2]=0|0;Ur[A+12>>2]=0|0;Ur[A+16>>2]=0|0;Ur[A+20>>2]=0|0;Ur[A+24>>2]=0|0;Ur[A+28>>2]=0|0;Ur[Q>>2]=0|0;Ur[Q+4>>2]=0|0;Ur[Q+8>>2]=0|0;Ur[Q+12>>2]=0|0;Ur[Q+16>>2]=0|0;Ur[Q+20>>2]=0|0;Ur[Q+24>>2]=0|0;Ur[Q+28>>2]=0|0;Ur[B>>2]=0|0;Ur[B+4>>2]=0|0;Ur[B+8>>2]=0|0;Ur[B+12>>2]=0|0;Ur[B+16>>2]=0|0;Ur[B+20>>2]=0|0;Ur[B+24>>2]=0|0;Ur[B+28>>2]=0|0;C=zn;IA=-130}}}}if((MA|0)==27){Ur[A>>2]=0|0;Ur[A+4>>2]=0|0;Ur[A+8>>2]=0|0;Ur[A+12>>2]=0|0;Ur[A+16>>2]=0|0;Ur[A+20>>2]=0|0;Ur[A+24>>2]=0|0;Ur[A+28>>2]=0|0;Ur[Q>>2]=0|0;Ur[Q+4>>2]=0|0;Ur[Q+8>>2]=0|0;Ur[Q+12>>2]=0|0;Ur[Q+16>>2]=0|0;Ur[Q+20>>2]=0|0;Ur[Q+24>>2]=0|0;Ur[Q+28>>2]=0|0;Ur[B>>2]=0|0;Ur[B+4>>2]=0|0;Ur[B+8>>2]=0|0;Ur[B+12>>2]=0|0;Ur[B+16>>2]=0|0;Ur[B+20>>2]=0|0;Ur[B+24>>2]=0|0;Ur[B+28>>2]=0|0;D=qn+64|0;C=D;IA=fA}UA(aA);Mn=Ur[C>>2]|0;rn=(Mn|0)==(0|0);if(!rn){qB(Mn)}Un=qn+68|0;Kn=Ur[Un>>2]|0;Fn=(Kn|0)==(0|0);if(!Fn){qB(Kn)}cn=qn+72|0;sn=Ur[cn>>2]|0;Tn=(sn|0)==(0|0);if(!Tn){qB(sn)}Ur[C>>2]=0;Ur[Un>>2]=0;Ur[cn>>2]=0;E=IA;cr=OA;return E|0}function cA(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;u=cr;Xw(n,3,8);Xw(n,118,8);Xw(n,111,8);Xw(n,114,8);Xw(n,98,8);Xw(n,105,8);Xw(n,115,8);Xw(n,44,32);A=1200;B=44;while(1){D=B+-1|0;C=A+1|0;G=rB[A>>0]|0;s=G<<24>>24;Xw(n,s,8);W=(D|0)==0;if(W){break}else{A=C;B=D}}H=d+8|0;Y=Ur[H>>2]|0;Xw(n,Y,32);o=Ur[H>>2]|0;k=(o|0)>0;if(!k){Xw(n,1,1);return}l=d+4|0;V=0;while(1){Z=Ur[d>>2]|0;e=Z+(V<<2)|0;w=Ur[e>>2]|0;J=(w|0)==(0|0);if(J){Xw(n,0,32)}else{g=Ur[l>>2]|0;R=g+(V<<2)|0;p=Ur[R>>2]|0;Xw(n,p,32);i=Ur[l>>2]|0;S=i+(V<<2)|0;P=Ur[S>>2]|0;a=(P|0)==0;if(!a){f=Ur[d>>2]|0;I=f+(V<<2)|0;M=Ur[I>>2]|0;Q=M;E=P;while(1){O=E+-1|0;r=Q+1|0;U=rB[Q>>0]|0;K=U<<24>>24;Xw(n,K,8);F=(O|0)==0;if(F){break}else{Q=r;E=O}}}}c=V+1|0;T=Ur[H>>2]|0;h=(c|0)<(T|0);if(h){V=c}else{break}}Xw(n,1,1);return}function bn(n,d,A,Q){n=n|0;d=d|0;A=A|0;Q=Q|0;var B=0,E=0,D=0.0,C=0.0,Z=0,e=0,w=0.0,J=0,g=0,R=0.0,p=0.0,i=0.0,S=0.0,P=0,G=0,a=0,f=0,I=0,M=0.0,O=0.0;var r=0.0,U=0.0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0.0,Y=0.0,o=0,k=0.0,l=0,V=0,N=0.0,u=0,L=0,b=0,y=0.0;var x=0.0,q=0.0,m=0,z=0.0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0.0,An=0,Qn=0,Bn=0.0,En=0.0,Dn=0.0,Cn=0.0,Zn=0.0,en=0.0;var wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0.0,Gn=0.0,an=0.0,fn=0.0,In=0.0,Mn=0,On=0.0,rn=0.0,Un=0,Kn=0,Fn=0.0,cn=0.0,sn=0.0,Tn=0;var hn=0,Wn=0.0,Hn=0,Yn=0.0,on=0,kn=0,ln=0.0,Vn=0.0,Nn=0.0,un=0.0,Ln=0.0,bn=0.0,yn=0.0,xn=0.0,qn=0.0,mn=0,zn=0,Xn=0,tn=0,vn=0;var jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0.0,Dd=0,Cd=0,Zd=0;Zd=cr;Z=Q+1|0;e=Z<<3;B=e;f=cr;cr=cr+((1*B|0)+15&-16)|0;h=Q<<3;E=h;b=cr;cr=cr+((1*E|0)+15&-16)|0;$=(Z|0)==0;if($){O=0.0}else{wn=Q;while(1){Mn=(wn|0)<(A|0);if(Mn){un=0.0;vn=wn;while(1){Hn=n+(vn<<2)|0;Vn=+Kr[Hn>>2];w=Vn;J=vn-wn|0;g=n+(J<<2)|0;R=+Kr[g>>2];p=R;i=p*w;S=i+un;P=vn+1|0;tn=(P|0)==(A|0);if(tn){Nn=S;break}else{un=S;vn=P}}}else{Nn=0.0}G=f+(wn<<3)|0;Fr[G>>3]=Nn;a=wn+-1|0;I=(wn|0)==0;if(I){break}else{wn=a}}C=+Fr[f>>3];O=C}M=O*1.0000000001;r=O*1.0000000000000001E-9;U=r+1.0E-10;K=(Q|0)>0;if(K){bn=M;jn=0}else{qn=M;ln=qn;cr=Zd;return+ln}while(1){$n=jn+1|0;F=bn>3];Y=-H;o=(jn|0)>0;if(o){nd=0;Ed=Y;while(1){V=b+(nd<<3)|0;N=+Fr[V>>3];u=jn-nd|0;L=f+(u<<3)|0;y=+Fr[L>>3];x=y*N;q=Ed-x;m=nd+1|0;Xn=(m|0)==(jn|0);if(Xn){D=q;break}else{nd=m;Ed=q}}z=D/bn;X=b+(jn<<3)|0;Fr[X>>3]=z;t=(jn|0)/2&-1;v=(jn|0)>1;if(v){j=jn+-1|0;_=(t|0)>1;Ad=0;while(1){nn=b+(Ad<<3)|0;dn=+Fr[nn>>3];An=j-Ad|0;Qn=b+(An<<3)|0;Bn=+Fr[Qn>>3];En=Bn*z;Dn=En+dn;Fr[nn>>3]=Dn;Cn=dn*z;Zn=+Fr[Qn>>3];en=Zn+Cn;Fr[Qn>>3]=en;Jn=Ad+1|0;gn=(Jn|0)<(t|0);if(gn){Ad=Jn}else{break}}Dd=_?t:1;an=z;dd=Dd}else{an=z;dd=0}}else{k=Y/bn;l=b+(jn<<3)|0;Fr[l>>3]=k;an=k;dd=0}Rn=jn&1;pn=(Rn|0)==0;if(!pn){Sn=b+(dd<<3)|0;Pn=+Fr[Sn>>3];Gn=Pn*an;fn=Gn+Pn;Fr[Sn>>3]=fn}In=an*an;On=1.0-In;rn=On*bn;Un=($n|0)<(Q|0);if(Un){bn=rn;jn=$n}else{xn=rn;break}}if((Cd|0)==8){c=b+(_n<<3)|0;s=Q-_n|0;T=s<<3;AZ(c|0,0,T|0)|0;xn=yn}if(K){Ln=0.98999999999999999;Qd=0}else{qn=xn;ln=qn;cr=Zd;return+ln}while(1){Kn=b+(Qd<<3)|0;Fn=+Fr[Kn>>3];cn=Fn*Ln;Fr[Kn>>3]=cn;sn=Ln*0.98999999999999999;Tn=Qd+1|0;zn=(Tn|0)==(Q|0);if(zn){break}else{Ln=sn;Qd=Tn}}if(K){Bd=0}else{qn=xn;ln=qn;cr=Zd;return+ln}while(1){hn=b+(Bd<<3)|0;Wn=+Fr[hn>>3];Yn=Wn;on=d+(Bd<<2)|0;Kr[on>>2]=Yn;kn=Bd+1|0;mn=(kn|0)==(Q|0);if(mn){qn=xn;break}else{Bd=kn}}ln=qn;cr=Zd;return+ln}function yn(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0.0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0.0,i=0,S=0,P=0.0,G=0.0,a=0,f=0.0,I=0,M=0,O=0,r=0;var U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0.0,k=0,l=0;l=cr;C=B+A|0;Z=C<<2;E=Z;a=cr;cr=cr+((1*E|0)+15&-16)|0;I=(d|0)==(0|0);M=(A|0)>0;if(I){if(M){r=A<<2;AZ(a|0,0,r|0)|0}}else{if(M){O=A<<2;Yr(a|0,d|0,O|0)|0}}U=(B|0)>0;if(!U){cr=l;return}K=(A|0)>0;if(K){T=0;h=A}else{F=B<<2;AZ(a|0,0,F|0)|0;AZ(Q|0,0,F|0)|0;cr=l;return}while(1){H=T;Y=A;o=0.0;while(1){g=H+1|0;R=a+(H<<2)|0;p=+Kr[R>>2];i=Y+-1|0;S=n+(i<<2)|0;P=+Kr[S>>2];G=P*p;f=o-G;c=(g|0)==(h|0);if(c){D=f;break}else{H=g;Y=i;o=f}}e=a+(h<<2)|0;Kr[e>>2]=D;w=Q+(T<<2)|0;Kr[w>>2]=D;J=T+1|0;W=h+1|0;s=(J|0)==(B|0);if(s){break}else{T=J;h=W}}cr=l;return}function xn(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0;var O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0;var y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0;Qn=cr;B=Ur[d>>2]|0;E=(B|0)>1;if(E){Xw(A,1,1);S=Ur[d>>2]|0;F=S+-1|0;Xw(A,F,4)}else{Xw(A,0,1)}V=d+1156|0;X=Ur[V>>2]|0;t=(X|0)>0;if(t){Xw(A,1,1);v=Ur[V>>2]|0;j=v+-1|0;Xw(A,j,8);_=Ur[V>>2]|0;D=(_|0)>0;if(D){C=d+1160|0;Z=n+4|0;e=d+2184|0;$=0;while(1){w=C+($<<2)|0;J=Ur[w>>2]|0;g=Ur[Z>>2]|0;R=g+-1|0;p=KB(R)|0;Xw(A,J,p);i=e+($<<2)|0;P=Ur[i>>2]|0;G=Ur[Z>>2]|0;a=G+-1|0;f=KB(a)|0;Xw(A,P,f);I=$+1|0;M=Ur[V>>2]|0;O=(I|0)<(M|0);if(O){$=I}else{break}}}}else{Xw(A,0,1)}Xw(A,0,2);r=Ur[d>>2]|0;U=(r|0)>1;if(U){K=n+4|0;c=Ur[K>>2]|0;s=(c|0)>0;if(s){T=d+4|0;nn=0;while(1){o=T+(nn<<2)|0;k=Ur[o>>2]|0;Xw(A,k,4);l=nn+1|0;N=Ur[K>>2]|0;u=(l|0)<(N|0);if(u){nn=l}else{break}}Q=Ur[d>>2]|0;h=Q;An=13}}else{h=r;An=13}if((An|0)==13){W=(h|0)>0;if(!W){return}}H=d+1028|0;Y=d+1092|0;dn=0;while(1){Xw(A,0,8);L=H+(dn<<2)|0;b=Ur[L>>2]|0;Xw(A,b,8);y=Y+(dn<<2)|0;x=Ur[y>>2]|0;Xw(A,x,8);q=dn+1|0;m=Ur[d>>2]|0;z=(q|0)<(m|0);if(z){dn=q}else{break}}return}function qn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0;on=cr;B=Hr(1,3208)|0;E=n+28|0;S=Ur[E>>2]|0;AZ(B|0,0,3208)|0;F=n+4|0;V=Ur[F>>2]|0;t=(V|0)<1;n:do{if(t){Yn=24}else{Dn=Hd(d,1)|0;Gn=(Dn|0)<0;if(Gn){Yn=24}else{rn=(Dn|0)==0;if(rn){Ur[B>>2]=1}else{Un=Hd(d,4)|0;D=Un+1|0;Ur[B>>2]=D;C=(Un|0)<0;if(C){break}}Z=Hd(d,1)|0;e=(Z|0)<0;if(!e){w=(Z|0)==0;if(!w){J=Hd(d,8)|0;g=J+1|0;R=B+1156|0;Ur[R>>2]=g;p=(J|0)<0;if(p){break}i=B+1160|0;P=B+2184|0;Q=Ur[F>>2]|0;M=Q;Kn=0;while(1){I=M+-1|0;O=KB(I)|0;r=Hd(d,O)|0;U=i+(Kn<<2)|0;Ur[U>>2]=r;K=Ur[F>>2]|0;c=K+-1|0;s=KB(c)|0;T=Hd(d,s)|0;h=P+(Kn<<2)|0;Ur[h>>2]=T;W=T|r;H=(W|0)<0;Y=(r|0)==(T|0);sn=Y|H;if(sn){break n}o=Ur[F>>2]|0;k=(r|0)<(o|0);l=(T|0)<(o|0);Tn=k&l;a=Kn+1|0;if(!Tn){break n}G=Ur[R>>2]|0;f=(a|0)<(G|0);if(f){M=o;Kn=a}else{break}}}N=Hd(d,2)|0;u=(N|0)==0;if(u){L=Ur[B>>2]|0;b=(L|0)>1;if(b){y=Ur[F>>2]|0;x=(y|0)>0;if(x){q=B+4|0;Fn=0;while(1){An=Hd(d,4)|0;Qn=q+(Fn<<2)|0;Ur[Qn>>2]=An;Bn=Ur[B>>2]|0;En=(An|0)>=(Bn|0);Cn=(An|0)<0;hn=Cn|En;nn=Fn+1|0;if(hn){break n}$=Ur[F>>2]|0;dn=(nn|0)<($|0);if(dn){Fn=nn}else{m=Bn;Yn=17;break}}}}else{m=L;Yn=17}if((Yn|0)==17){z=(m|0)>0;if(!z){A=B;return A|0}}X=B+1028|0;v=S+16|0;j=B+1092|0;_=S+20|0;cn=0;while(1){Hd(d,8)|0;Jn=Hd(d,8)|0;gn=X+(cn<<2)|0;Ur[gn>>2]=Jn;Rn=Ur[v>>2]|0;pn=(Jn|0)>=(Rn|0);Sn=(Jn|0)<0;Wn=Sn|pn;if(Wn){break n}Pn=Hd(d,8)|0;an=j+(cn<<2)|0;Ur[an>>2]=Pn;fn=Ur[_>>2]|0;In=(Pn|0)>=(fn|0);Mn=(Pn|0)<0;Hn=Mn|In;en=cn+1|0;if(Hn){break n}Zn=Ur[B>>2]|0;wn=(en|0)<(Zn|0);if(wn){cn=en}else{A=B;break}}return A|0}}}}}while(0);if((Yn|0)==24){On=(B|0)==(0|0);if(On){A=0;return A|0}}qB(B);A=0;return A|0}function zn(n){n=n|0;var d=0,A=0,Q=0;Q=cr;d=(n|0)==(0|0);if(!d){qB(n)}return}function Xn(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0.0;var I=0.0,M=0,O=0,r=0,U=0.0,K=0,F=0,c=0,s=0.0,T=0,h=0,W=0.0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0.0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0;var Cn=0,Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0;var cn=0,sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0;var Xn=0,tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0;var pd=0,id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0;var Yd=0,od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0;var nA=0,dA=0,AA=0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0.0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0;var fA=0,IA=0,MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0;var uA=0,LA=0,bA=0,yA=0,xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0;var DQ=0,CQ=0,ZQ=0,eQ=0,wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0,rQ=0,UQ=0;var KQ=0,FQ=0,cQ=0,sQ=0.0,TQ=0.0,hQ=0.0,WQ=0.0,HQ=0.0,YQ=0.0,oQ=0,kQ=0,lQ=0,VQ=0,NQ=0,uQ=0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0;var mQ=0,zQ=0,XQ=0,tQ=0,vQ=0,jQ=0,_Q=0,$Q=0,nB=0,dB=0,AB=0.0,QB=0,BB=0,EB=0,DB=0,CB=0,ZB=0,eB=0,wB=0,JB=0;var gB=0,RB=0,pB=0,iB=0,SB=0,PB=0,GB=0,aB=0,fB=0,IB=0,MB=0,OB=0,rB=0,UB=0,KB=0,FB=0,cB=0,sB=0,TB=0,hB=0;var WB=0,HB=0,YB=0,oB=0,kB=0,lB=0,VB=0,NB=0,uB=0,LB=0,bB=0,yB=0,xB=0,qB=0,mB=0,zB=0,XB=0,tB=0,vB=0,jB=0;var _B=0,$B=0,nE=0,dE=0,AE=0,QE=0,BE=0,EE=0,DE=0,CE=0,ZE=0,eE=0,wE=0,JE=0,gE=0,RE=0,pE=0,iE=0,SE=0,PE=0;var GE=0,aE=0,fE=0,IE=0,ME=0,OE=0,rE=0,UE=0,KE=0,FE=0,cE=0,sE=0,TE=0,hE=0,WE=0,HE=0,YE=0,oE=0,kE=0,lE=0;var VE=0,NE=0,uE=0.0,LE=0,bE=0,yE=0,xE=0,qE=0,mE=0,zE=0,XE=0,tE=0,vE=0,jE=0.0,_E=0,$E=0,nD=0,dD=0,AD=0,QD=0;var BD=0,ED=0,DD=0,CD=0,ZD=0,eD=0,wD=0,JD=0,gD=0,RD=0,pD=0,iD=0,SD=0,PD=0,GD=0,aD=0,fD=0,ID=0,MD=0,OD=0;var rD=0,UD=0,KD=0,FD=0,cD=0,sD=0,TD=0,hD=0,WD=0,HD=0,YD=0,oD=0,kD=0,lD=0,VD=0,ND=0,uD=0,LD=0,bD=0,yD=0;var xD=0,qD=0,mD=0,zD=0,XD=0,tD=0,vD=0,jD=0,_D=0.0,$D=0,nC=0,dC=0,AC=0,QC=0,BC=0,EC=0,DC=0,CC=0,ZC=0,eC=0.0;var wC=0,JC=0,gC=0,RC=0,pC=0,iC=0,SC=0,PC=0,GC=0,aC=0,fC=0.0,IC=0,MC=0,OC=0,rC=0,UC=0,KC=0,FC=0,cC=0,sC=0;var TC=0,hC=0,WC=0.0,HC=0,YC=0,oC=0,kC=0,lC=0,VC=0,NC=0,uC=0,LC=0,bC=0,yC=0.0,xC=0,qC=0,mC=0,zC=0,XC=0,tC=0;var vC=0,jC=0,_C=0,$C=0,nZ=0.0,dZ=0,AZ=0,QZ=0,BZ=0,EZ=0,DZ=0,CZ=0,ZZ=0,eZ=0,wZ=0,JZ=0,gZ=0,RZ=0,pZ=0,iZ=0;var SZ=0,PZ=0,GZ=0,aZ=0,fZ=0,IZ=0,MZ=0,OZ=0,rZ=0,UZ=0,KZ=0,FZ=0,cZ=0,sZ=0,TZ=0,hZ=0,WZ=0,HZ=0,YZ=0,oZ=0;var kZ=0,lZ=0,VZ=0,NZ=0,uZ=0,LZ=0,bZ=0,yZ=0,xZ=0.0,qZ=0,mZ=0,zZ=0,XZ=0,tZ=0,vZ=0,jZ=0,_Z=0,$Z=0,ne=0,de=0;var Ae=0,Qe=0,Be=0,Ee=0,De=0,Ce=0,Ze=0,ee=0,we=0,Je=0,ge=0,Re=0,pe=0,ie=0,Se=0,Pe=0,Ge=0,ae=0,fe=0,Ie=0;var Me=0,Oe=0.0,re=0,Ue=0,Ke=0,Fe=0,ce=0,se=0,Te=0,he=0.0,We=0,He=0,Ye=0,oe=0,ke=0,le=0,Ve=0,Ne=0,ue=0,Le=0;var be=0,ye=0,xe=0,qe=0,me=0,ze=0,Xe=0,te=0,ve=0,je=0,_e=0,$e=0,nw=0.0,dw=0,Aw=0.0,Qw=0.0,Bw=0.0,Ew=0.0,Dw=0.0,Cw=0;var Zw=0,ew=0.0,ww=0.0,Jw=0,gw=0,Rw=0,pw=0.0,iw=0.0,Sw=0.0,Pw=0,Gw=0,aw=0.0,fw=0.0,Iw=0.0,Mw=0.0,Ow=0,rw=0,Uw=0,Kw=0,Fw=0;var cw=0,sw=0.0,Tw=0.0,hw=0.0,Ww=0,Hw=0,Yw=0,ow=0,kw=0,lw=0,Vw=0,Nw=0,uw=0,Lw=0,bw=0,yw=0,xw=0,qw=0,mw=0;qw=cr;P=n+64|0;G=Ur[P>>2]|0;Md=G+4|0;UQ=Ur[Md>>2]|0;cE=UQ+28|0;hC=Ur[cE>>2]|0;He=G+104|0;xe=Ur[He>>2]|0;dw=n+104|0;gw=Ur[dw>>2]|0;a=n+36|0;T=Ur[a>>2]|0;L=UQ+4|0;_=Ur[L>>2]|0;en=_<<2;Q=en;In=cr;cr=cr+((1*Q|0)+15&-16)|0;Wn=vw(n,en)|0;yn=Ur[L>>2]|0;nd=yn<<2;Jd=vw(n,nd)|0;Od=Ur[L>>2]|0;Yd=Od<<2;qd=vw(n,Yd)|0;AA=gw+4|0;RA=+Kr[AA>>2];rA=Ur[L>>2]|0;oA=rA<<2;B=oA;mA=cr;cr=cr+((1*B|0)+15&-16)|0;QQ=gw+8|0;pQ=Ur[QQ>>2]|0;KQ=n+28|0;lQ=Ur[KQ>>2]|0;XQ=(hC+544|0)+(lQ<<2)|0;EB=Ur[XQ>>2]|0;SB=xe+56|0;FB=Ur[SB>>2]|0;VB=(lQ|0)!=0;tB=VB?2:0;i=tB+pQ|0;DE=FB+(i*52|0)|0;PE=n+40|0;Ur[PE>>2]=lQ;sE=(rA|0)>0;if(sE){uE=+(T|0);jE=4.0/uE;ZD=(Kr[zw>>2]=jE,Ur[zw>>2]|0);aD=(T|0)/2&-1;TD=aD<<2;LD=ZD&2147483647;_D=+(LD>>>0);eC=_D*7.1771142984289327E-7;fC=eC+-764.6162109375;WC=fC;yC=WC+0.34499999999999997;nZ=yC;JZ=xe+4|0;MZ=n+24|0;HZ=n+32|0;xZ=nZ+-764.6162109375;de=T+-1|0;ge=(de|0)>1;Oe=nZ+-382.30810546875;Tw=RA;Ww=0;while(1){Ye=Ur[n>>2]|0;oe=Ye+(Ww<<2)|0;ke=Ur[oe>>2]|0;le=vw(n,TD)|0;Ve=Jd+(Ww<<2)|0;Ur[Ve>>2]=le;Ne=vw(n,TD)|0;ue=Wn+(Ww<<2)|0;Ur[ue>>2]=Ne;Le=Ur[MZ>>2]|0;be=Ur[KQ>>2]|0;ye=Ur[HZ>>2]|0;DJ(ke,JZ,hC,Le,be,ye);qe=Ur[KQ>>2]|0;me=(xe+12|0)+(qe<<2)|0;ze=Ur[me>>2]|0;Xe=Ur[ze>>2]|0;te=Ur[ue>>2]|0;nJ(Xe,ke,te);ve=Ur[KQ>>2]|0;je=(xe+20|0)+(ve*12|0)|0;EJ(je,ke);_e=Ur[ke>>2]|0;$e=_e&2147483647;nw=+($e>>>0);Aw=nw*7.1771142984289327E-7;Qw=xZ+Aw;Bw=Qw;Ew=Bw+0.34499999999999997;Dw=Ew;Kr[ke>>2]=Dw;Cw=mA+(Ww<<2)|0;Kr[Cw>>2]=Dw;if(ge){U=Dw;lw=1;while(1){Zw=ke+(lw<<2)|0;ew=+Kr[Zw>>2];ww=ew*ew;Jw=lw+1|0;Rw=ke+(Jw<<2)|0;pw=+Kr[Rw>>2];iw=pw*pw;Sw=iw+ww;Pw=(Kr[zw>>2]=Sw,Ur[zw>>2]|0);Gw=Pw&2147483647;aw=+(Gw>>>0);fw=aw*3.5885571492144663E-7;Iw=Oe+fw;Mw=Iw;f=Mw+0.34499999999999997;I=f;M=Jw>>1;O=ke+(M<<2)|0;Kr[O>>2]=I;r=I>U;if(r){Kr[Cw>>2]=I;he=I}else{he=U}K=lw+2|0;F=(K|0)<(de|0);if(F){U=he;lw=K}else{s=he;break}}}else{s=Dw}c=s>0.0;if(c){Kr[Cw>>2]=0.0;W=0.0}else{W=s}h=W>Tw;hw=h?W:Tw;H=Ww+1|0;Y=Ur[L>>2]|0;o=(H|0)<(Y|0);if(o){Tw=hw;Ww=H}else{e=TD;J=aD;sw=hw;break}}}else{g=(T|0)/2&-1;R=g<<2;e=R;J=g;sw=RA}k=vw(n,e)|0;l=vw(n,e)|0;V=Ur[L>>2]|0;N=(V|0)>0;n:do{if(N){u=(T|0)>1;b=xe+48|0;if(u){Yw=0}else{Hw=0;while(1){xQ=(EB+4|0)+(Hw<<2)|0;qQ=Ur[xQ>>2]|0;mQ=Wn+(Hw<<2)|0;zQ=Ur[mQ>>2]|0;tQ=Ur[n>>2]|0;vQ=tQ+(Hw<<2)|0;jQ=Ur[vQ>>2]|0;_Q=jQ+(J<<2)|0;Ur[PE>>2]=lQ;$Q=vw(n,60)|0;nB=qd+(Hw<<2)|0;Ur[nB>>2]=$Q;yw=$Q;mw=yw+60|0;do{Ur[yw>>2]=0|0;yw=yw+4|0}while((yw|0)<(mw|0));dJ(DE,_Q,k);dB=mA+(Hw<<2)|0;AB=+Kr[dB>>2];AJ(DE,jQ,l,sw,AB);QJ(DE,k,l,1,jQ,zQ,_Q);QB=(EB+1028|0)+(qQ<<2)|0;BB=Ur[QB>>2]|0;DB=(hC+800|0)+(BB<<2)|0;CB=Ur[DB>>2]|0;ZB=(CB|0)==1;if(!ZB){A=-1;break}eB=Ur[b>>2]|0;wB=eB+(BB<<2)|0;JB=Ur[wB>>2]|0;gB=jw(n,JB,_Q,jQ)|0;RB=Ur[nB>>2]|0;pB=RB+28|0;Ur[pB>>2]=gB;iB=tw(n)|0;PB=(iB|0)==0;if(!PB){GB=Ur[nB>>2]|0;aB=GB+28|0;fB=Ur[aB>>2]|0;IB=(fB|0)==(0|0);if(!IB){QJ(DE,k,l,2,jQ,zQ,_Q);MB=Ur[QB>>2]|0;OB=Ur[b>>2]|0;rB=OB+(MB<<2)|0;UB=Ur[rB>>2]|0;KB=jw(n,UB,_Q,jQ)|0;cB=Ur[nB>>2]|0;sB=cB+56|0;Ur[sB>>2]=KB;QJ(DE,k,l,0,jQ,zQ,_Q);TB=Ur[QB>>2]|0;hB=Ur[b>>2]|0;WB=hB+(TB<<2)|0;HB=Ur[WB>>2]|0;YB=jw(n,HB,_Q,jQ)|0;oB=Ur[nB>>2]|0;Ur[oB>>2]=YB;kB=Ur[QB>>2]|0;lB=Ur[b>>2]|0;NB=lB+(kB<<2)|0;uB=Ur[NB>>2]|0;LB=Ur[nB>>2]|0;bB=Ur[LB>>2]|0;yB=LB+28|0;xB=Ur[yB>>2]|0;qB=_w(n,uB,bB,xB,9362)|0;mB=Ur[nB>>2]|0;zB=mB+4|0;Ur[zB>>2]=qB;XB=Ur[QB>>2]|0;vB=Ur[b>>2]|0;jB=vB+(XB<<2)|0;_B=Ur[jB>>2]|0;$B=Ur[nB>>2]|0;nE=Ur[$B>>2]|0;dE=$B+28|0;AE=Ur[dE>>2]|0;QE=_w(n,_B,nE,AE,18724)|0;BE=Ur[nB>>2]|0;EE=BE+8|0;Ur[EE>>2]=QE;CE=Ur[QB>>2]|0;ZE=Ur[b>>2]|0;eE=ZE+(CE<<2)|0;wE=Ur[eE>>2]|0;JE=Ur[nB>>2]|0;gE=Ur[JE>>2]|0;RE=JE+28|0;pE=Ur[RE>>2]|0;iE=_w(n,wE,gE,pE,28086)|0;SE=Ur[nB>>2]|0;GE=SE+12|0;Ur[GE>>2]=iE;aE=Ur[QB>>2]|0;fE=Ur[b>>2]|0;IE=fE+(aE<<2)|0;ME=Ur[IE>>2]|0;OE=Ur[nB>>2]|0;rE=Ur[OE>>2]|0;UE=OE+28|0;KE=Ur[UE>>2]|0;FE=_w(n,ME,rE,KE,37449)|0;TE=Ur[nB>>2]|0;hE=TE+16|0;Ur[hE>>2]=FE;WE=Ur[QB>>2]|0;HE=Ur[b>>2]|0;YE=HE+(WE<<2)|0;oE=Ur[YE>>2]|0;kE=Ur[nB>>2]|0;lE=Ur[kE>>2]|0;VE=kE+28|0;NE=Ur[VE>>2]|0;LE=_w(n,oE,lE,NE,46811)|0;bE=Ur[nB>>2]|0;yE=bE+20|0;Ur[yE>>2]=LE;xE=Ur[QB>>2]|0;qE=Ur[b>>2]|0;mE=qE+(xE<<2)|0;zE=Ur[mE>>2]|0;XE=Ur[nB>>2]|0;tE=Ur[XE>>2]|0;vE=XE+28|0;_E=Ur[vE>>2]|0;$E=_w(n,zE,tE,_E,56173)|0;nD=Ur[nB>>2]|0;dD=nD+24|0;Ur[dD>>2]=$E;AD=Ur[QB>>2]|0;QD=Ur[b>>2]|0;BD=QD+(AD<<2)|0;ED=Ur[BD>>2]|0;DD=Ur[nB>>2]|0;CD=DD+28|0;eD=Ur[CD>>2]|0;wD=DD+56|0;JD=Ur[wD>>2]|0;gD=_w(n,ED,eD,JD,9362)|0;RD=Ur[nB>>2]|0;pD=RD+32|0;Ur[pD>>2]=gD;iD=Ur[QB>>2]|0;SD=Ur[b>>2]|0;PD=SD+(iD<<2)|0;GD=Ur[PD>>2]|0;fD=Ur[nB>>2]|0;ID=fD+28|0;MD=Ur[ID>>2]|0;OD=fD+56|0;rD=Ur[OD>>2]|0;UD=_w(n,GD,MD,rD,18724)|0;KD=Ur[nB>>2]|0;FD=KD+36|0;Ur[FD>>2]=UD;cD=Ur[QB>>2]|0;sD=Ur[b>>2]|0;hD=sD+(cD<<2)|0;WD=Ur[hD>>2]|0;HD=Ur[nB>>2]|0;YD=HD+28|0;oD=Ur[YD>>2]|0;kD=HD+56|0;lD=Ur[kD>>2]|0;VD=_w(n,WD,oD,lD,28086)|0;ND=Ur[nB>>2]|0;uD=ND+40|0;Ur[uD>>2]=VD;bD=Ur[QB>>2]|0;yD=Ur[b>>2]|0;xD=yD+(bD<<2)|0;qD=Ur[xD>>2]|0;mD=Ur[nB>>2]|0;zD=mD+28|0;XD=Ur[zD>>2]|0;tD=mD+56|0;vD=Ur[tD>>2]|0;jD=_w(n,qD,XD,vD,37449)|0;$D=Ur[nB>>2]|0;nC=$D+44|0;Ur[nC>>2]=jD;dC=Ur[QB>>2]|0;AC=Ur[b>>2]|0;QC=AC+(dC<<2)|0;BC=Ur[QC>>2]|0;EC=Ur[nB>>2]|0;DC=EC+28|0;CC=Ur[DC>>2]|0;ZC=EC+56|0;wC=Ur[ZC>>2]|0;JC=_w(n,BC,CC,wC,46811)|0;gC=Ur[nB>>2]|0;RC=gC+48|0;Ur[RC>>2]=JC;pC=Ur[QB>>2]|0;iC=Ur[b>>2]|0;SC=iC+(pC<<2)|0;PC=Ur[SC>>2]|0;GC=Ur[nB>>2]|0;aC=GC+28|0;IC=Ur[aC>>2]|0;MC=GC+56|0;OC=Ur[MC>>2]|0;rC=_w(n,PC,IC,OC,56173)|0;UC=Ur[nB>>2]|0;KC=UC+52|0;Ur[KC>>2]=rC}}FC=Hw+1|0;cC=Ur[L>>2]|0;sC=(FC|0)<(cC|0);if(sC){Hw=FC}else{w=b;HC=cC;break n}}cr=qw;return A|0}while(1){NQ=(EB+4|0)+(Yw<<2)|0;t=Ur[NQ>>2]|0;uQ=Wn+(Yw<<2)|0;z=Ur[uQ>>2]|0;LQ=Ur[n>>2]|0;bQ=LQ+(Yw<<2)|0;m=Ur[bQ>>2]|0;y=m+(J<<2)|0;Ur[PE>>2]=lQ;yQ=vw(n,60)|0;Dn=qd+(Yw<<2)|0;Ur[Dn>>2]=yQ;yw=yQ;mw=yw+60|0;do{Ur[yw>>2]=0|0;yw=yw+4|0}while((yw|0)<(mw|0));Vw=0;while(1){rQ=z+(Vw<<2)|0;FQ=Ur[rQ>>2]|0;cQ=FQ&2147483647;sQ=+(cQ>>>0);TQ=sQ*7.1771142984289327E-7;hQ=TQ+-764.6162109375;WQ=hQ;HQ=WQ+0.34499999999999997;YQ=HQ;S=Vw+J|0;oQ=m+(S<<2)|0;Kr[oQ>>2]=YQ;kQ=Vw+1|0;VQ=(kQ|0)<(J|0);if(VQ){Vw=kQ}else{break}}dJ(DE,y,k);x=mA+(Yw<<2)|0;q=+Kr[x>>2];AJ(DE,m,l,sw,q);QJ(DE,k,l,1,m,z,y);X=(EB+1028|0)+(t<<2)|0;v=Ur[X>>2]|0;j=(hC+800|0)+(v<<2)|0;$=Ur[j>>2]|0;nn=($|0)==1;if(!nn){A=-1;break}dn=Ur[b>>2]|0;An=dn+(v<<2)|0;Qn=Ur[An>>2]|0;Bn=jw(n,Qn,y,m)|0;En=Ur[Dn>>2]|0;Cn=En+28|0;Ur[Cn>>2]=Bn;Zn=tw(n)|0;wn=(Zn|0)==0;if(!wn){Jn=Ur[Dn>>2]|0;gn=Jn+28|0;Rn=Ur[gn>>2]|0;pn=(Rn|0)==(0|0);if(!pn){QJ(DE,k,l,2,m,z,y);Sn=Ur[X>>2]|0;Pn=Ur[b>>2]|0;Gn=Pn+(Sn<<2)|0;an=Ur[Gn>>2]|0;fn=jw(n,an,y,m)|0;Mn=Ur[Dn>>2]|0;On=Mn+56|0;Ur[On>>2]=fn;QJ(DE,k,l,0,m,z,y);rn=Ur[X>>2]|0;Un=Ur[b>>2]|0;Kn=Un+(rn<<2)|0;Fn=Ur[Kn>>2]|0;cn=jw(n,Fn,y,m)|0;sn=Ur[Dn>>2]|0;Ur[sn>>2]=cn;Tn=Ur[X>>2]|0;hn=Ur[b>>2]|0;Hn=hn+(Tn<<2)|0;Yn=Ur[Hn>>2]|0;on=Ur[Dn>>2]|0;kn=Ur[on>>2]|0;ln=on+28|0;Vn=Ur[ln>>2]|0;Nn=_w(n,Yn,kn,Vn,9362)|0;un=Ur[Dn>>2]|0;Ln=un+4|0;Ur[Ln>>2]=Nn;bn=Ur[X>>2]|0;xn=Ur[b>>2]|0;qn=xn+(bn<<2)|0;mn=Ur[qn>>2]|0;zn=Ur[Dn>>2]|0;Xn=Ur[zn>>2]|0;tn=zn+28|0;vn=Ur[tn>>2]|0;jn=_w(n,mn,Xn,vn,18724)|0;_n=Ur[Dn>>2]|0;$n=_n+8|0;Ur[$n>>2]=jn;dd=Ur[X>>2]|0;Ad=Ur[b>>2]|0;Qd=Ad+(dd<<2)|0;Bd=Ur[Qd>>2]|0;Ed=Ur[Dn>>2]|0;Dd=Ur[Ed>>2]|0;Cd=Ed+28|0;Zd=Ur[Cd>>2]|0;ed=_w(n,Bd,Dd,Zd,28086)|0;wd=Ur[Dn>>2]|0;gd=wd+12|0;Ur[gd>>2]=ed;Rd=Ur[X>>2]|0;pd=Ur[b>>2]|0;id=pd+(Rd<<2)|0;Sd=Ur[id>>2]|0;Pd=Ur[Dn>>2]|0;Gd=Ur[Pd>>2]|0;ad=Pd+28|0;fd=Ur[ad>>2]|0;Id=_w(n,Sd,Gd,fd,37449)|0;rd=Ur[Dn>>2]|0;Ud=rd+16|0;Ur[Ud>>2]=Id;Kd=Ur[X>>2]|0;Fd=Ur[b>>2]|0;cd=Fd+(Kd<<2)|0;sd=Ur[cd>>2]|0;Td=Ur[Dn>>2]|0;hd=Ur[Td>>2]|0;Wd=Td+28|0;Hd=Ur[Wd>>2]|0;od=_w(n,sd,hd,Hd,46811)|0;kd=Ur[Dn>>2]|0;ld=kd+20|0;Ur[ld>>2]=od;Vd=Ur[X>>2]|0;Nd=Ur[b>>2]|0;ud=Nd+(Vd<<2)|0;Ld=Ur[ud>>2]|0;bd=Ur[Dn>>2]|0;yd=Ur[bd>>2]|0;xd=bd+28|0;md=Ur[xd>>2]|0;zd=_w(n,Ld,yd,md,56173)|0;Xd=Ur[Dn>>2]|0;td=Xd+24|0;Ur[td>>2]=zd;vd=Ur[X>>2]|0;jd=Ur[b>>2]|0;_d=jd+(vd<<2)|0;$d=Ur[_d>>2]|0;nA=Ur[Dn>>2]|0;dA=nA+28|0;QA=Ur[dA>>2]|0;BA=nA+56|0;EA=Ur[BA>>2]|0;DA=_w(n,$d,QA,EA,9362)|0;CA=Ur[Dn>>2]|0;ZA=CA+32|0;Ur[ZA>>2]=DA;eA=Ur[X>>2]|0;wA=Ur[b>>2]|0;JA=wA+(eA<<2)|0;gA=Ur[JA>>2]|0;pA=Ur[Dn>>2]|0;iA=pA+28|0;SA=Ur[iA>>2]|0;PA=pA+56|0;GA=Ur[PA>>2]|0;aA=_w(n,gA,SA,GA,18724)|0;fA=Ur[Dn>>2]|0;IA=fA+36|0;Ur[IA>>2]=aA;MA=Ur[X>>2]|0;OA=Ur[b>>2]|0;UA=OA+(MA<<2)|0;KA=Ur[UA>>2]|0;FA=Ur[Dn>>2]|0;cA=FA+28|0;sA=Ur[cA>>2]|0;TA=FA+56|0;hA=Ur[TA>>2]|0;WA=_w(n,KA,sA,hA,28086)|0;HA=Ur[Dn>>2]|0;YA=HA+40|0;Ur[YA>>2]=WA;kA=Ur[X>>2]|0;lA=Ur[b>>2]|0;VA=lA+(kA<<2)|0;NA=Ur[VA>>2]|0;uA=Ur[Dn>>2]|0;LA=uA+28|0;bA=Ur[LA>>2]|0;yA=uA+56|0;xA=Ur[yA>>2]|0;qA=_w(n,NA,bA,xA,37449)|0;zA=Ur[Dn>>2]|0;XA=zA+44|0;Ur[XA>>2]=qA;tA=Ur[X>>2]|0;vA=Ur[b>>2]|0;jA=vA+(tA<<2)|0;_A=Ur[jA>>2]|0;$A=Ur[Dn>>2]|0;nQ=$A+28|0;dQ=Ur[nQ>>2]|0;AQ=$A+56|0;BQ=Ur[AQ>>2]|0;EQ=_w(n,_A,dQ,BQ,46811)|0;DQ=Ur[Dn>>2]|0;CQ=DQ+48|0;Ur[CQ>>2]=EQ;ZQ=Ur[X>>2]|0;eQ=Ur[b>>2]|0;wQ=eQ+(ZQ<<2)|0;JQ=Ur[wQ>>2]|0;gQ=Ur[Dn>>2]|0;RQ=gQ+28|0;iQ=Ur[RQ>>2]|0;SQ=gQ+56|0;PQ=Ur[SQ>>2]|0;GQ=_w(n,JQ,iQ,PQ,56173)|0;aQ=Ur[Dn>>2]|0;fQ=aQ+52|0;Ur[fQ>>2]=GQ}}IQ=Yw+1|0;MQ=Ur[L>>2]|0;OQ=(IQ|0)<(MQ|0);if(OQ){Yw=IQ}else{w=b;HC=MQ;break n}}cr=qw;return A|0}else{p=xe+48|0;w=p;HC=V}}while(0);Kr[AA>>2]=sw;TC=HC<<2;E=TC;YC=cr;cr=cr+((1*E|0)+15&-16)|0;D=TC;oC=cr;cr=cr+((1*D|0)+15&-16)|0;kC=tw(n)|0;lC=(kC|0)!=0;VC=lC?0:7;NC=xe+44|0;uC=n+24|0;LC=n+32|0;bC=hC+2868|0;xC=xe+52|0;Lw=VC;while(1){qC=(gw+12|0)+(Lw<<2)|0;mC=Ur[qC>>2]|0;Xw(mC,0,1);zC=Ur[NC>>2]|0;Xw(mC,lQ,zC);XC=Ur[KQ>>2]|0;tC=(XC|0)==0;if(!tC){vC=Ur[uC>>2]|0;Xw(mC,vC,1);jC=Ur[LC>>2]|0;Xw(mC,jC,1)}_C=Ur[L>>2]|0;$C=(_C|0)>0;if($C){ow=0;while(1){dZ=(EB+4|0)+(ow<<2)|0;AZ=Ur[dZ>>2]|0;QZ=Jd+(ow<<2)|0;BZ=Ur[QZ>>2]|0;EZ=(EB+1028|0)+(AZ<<2)|0;DZ=Ur[EZ>>2]|0;CZ=Ur[w>>2]|0;ZZ=CZ+(DZ<<2)|0;eZ=Ur[ZZ>>2]|0;wZ=qd+(ow<<2)|0;gZ=Ur[wZ>>2]|0;RZ=gZ+(Lw<<2)|0;pZ=Ur[RZ>>2]|0;iZ=$w(mC,n,eZ,pZ,BZ)|0;SZ=In+(ow<<2)|0;Ur[SZ>>2]=iZ;PZ=ow+1|0;GZ=Ur[L>>2]|0;aZ=(PZ|0)<(GZ|0);if(aZ){ow=PZ}else{C=GZ;break}}}else{C=_C}fZ=Ur[KQ>>2]|0;IZ=((hC+3240|0)+(fZ*60|0)|0)+(Lw<<2)|0;OZ=Ur[IZ>>2]|0;BJ(Lw,bC,DE,EB,Wn,Jd,In,OZ,C);rZ=Ur[EB>>2]|0;UZ=(rZ|0)>0;if(UZ){kw=0;while(1){KZ=(EB+1092|0)+(kw<<2)|0;FZ=Ur[KZ>>2]|0;cZ=Ur[L>>2]|0;sZ=(cZ|0)>0;if(sZ){We=cZ;rw=0;Nw=0;while(1){TZ=(EB+4|0)+(Nw<<2)|0;hZ=Ur[TZ>>2]|0;WZ=(hZ|0)==(kw|0);if(WZ){YZ=oC+(rw<<2)|0;oZ=In+(Nw<<2)|0;kZ=Ur[oZ>>2]|0;bw=(kZ|0)!=0;d=bw&1;Ur[YZ>>2]=d;lZ=Jd+(Nw<<2)|0;VZ=Ur[lZ>>2]|0;NZ=rw+1|0;uZ=YC+(rw<<2)|0;Ur[uZ>>2]=VZ;Z=Ur[L>>2]|0;yZ=Z;Uw=NZ}else{yZ=We;Uw=rw}LZ=Nw+1|0;bZ=(LZ|0)<(yZ|0);if(bZ){We=yZ;rw=Uw;Nw=LZ}else{Ow=Uw;break}}}else{Ow=0}qZ=(hC+1312|0)+(FZ<<2)|0;mZ=Ur[qZ>>2]|0;zZ=25648+(mZ<<2)|0;XZ=Ur[zZ>>2]|0;tZ=XZ+20|0;vZ=Ur[tZ>>2]|0;jZ=Ur[xC>>2]|0;_Z=jZ+(FZ<<2)|0;$Z=Ur[_Z>>2]|0;ne=ZJ[vZ&7](n,$Z,YC,oC,Ow)|0;Ae=Ur[L>>2]|0;Qe=(Ae|0)>0;if(Qe){Fw=0;uw=0;while(1){Be=(EB+4|0)+(uw<<2)|0;Ee=Ur[Be>>2]|0;De=(Ee|0)==(kw|0);if(De){Ce=Jd+(uw<<2)|0;Ze=Ur[Ce>>2]|0;ee=Fw+1|0;we=YC+(Fw<<2)|0;Ur[we>>2]=Ze;cw=ee}else{cw=Fw}Je=uw+1|0;Re=(Je|0)<(Ae|0);if(Re){Fw=cw;uw=Je}else{Kw=cw;break}}}else{Kw=0}pe=Ur[qZ>>2]|0;ie=25648+(pe<<2)|0;Se=Ur[ie>>2]|0;Pe=Se+24|0;Ge=Ur[Pe>>2]|0;ae=Ur[xC>>2]|0;fe=ae+(FZ<<2)|0;Ie=Ur[fe>>2]|0;CJ[Ge&3](mC,n,Ie,YC,oC,Kw,ne,kw)|0;Me=kw+1|0;re=Ur[EB>>2]|0;Ue=(Me|0)<(re|0);if(Ue){kw=Me}else{break}}}Ke=Lw+1|0;Fe=tw(n)|0;ce=(Fe|0)!=0;se=ce?14:7;Te=(Lw|0)<(se|0);if(Te){Lw=Ke}else{A=0;break}}cr=qw;return A|0}function tn(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0.0;var b=0,y=0.0,x=0,q=0,m=0.0,z=0,X=0.0,t=0.0,v=0.0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0;var tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0;var id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0;var od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0;var dA=0,AA=0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0;var IA=0,MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0;oA=cr;g=n+64|0;R=Ur[g>>2]|0;un=R+4|0;jn=Ur[un>>2]|0;Zd=jn+28|0;ad=Ur[Zd>>2]|0;Td=R+104|0;Ld=Ur[Td>>2]|0;_d=n+28|0;eA=Ur[_d>>2]|0;p=ad+(eA<<2)|0;U=Ur[p>>2]|0;k=n+36|0;Ur[k>>2]=U;z=jn+4|0;Bn=Ur[z>>2]|0;Sn=Bn<<2;B=Sn;Fn=cr;cr=cr+((1*B|0)+15&-16)|0;E=Sn;ln=cr;cr=cr+((1*E|0)+15&-16)|0;D=Sn;Vn=cr;cr=cr+((1*D|0)+15&-16)|0;C=Sn;Nn=cr;cr=cr+((1*C|0)+15&-16)|0;Ln=Ur[z>>2]|0;bn=(Ln|0)>0;if(bn){yn=d+4|0;xn=d+1028|0;qn=Ld+48|0;mn=U<<1;zn=mn&2147483646;OA=0;while(1){nd=yn+(OA<<2)|0;dd=Ur[nd>>2]|0;Ad=xn+(dd<<2)|0;Qd=Ur[Ad>>2]|0;Bd=(ad+800|0)+(Qd<<2)|0;Ed=Ur[Bd>>2]|0;Dd=25640+(Ed<<2)|0;Cd=Ur[Dd>>2]|0;ed=Cd+20|0;wd=Ur[ed>>2]|0;Jd=Ur[qn>>2]|0;gd=Jd+(Qd<<2)|0;Rd=Ur[gd>>2]|0;pd=fQ[wd&15](n,Rd)|0;id=Nn+(OA<<2)|0;Ur[id>>2]=pd;Sd=Vn+(OA<<2)|0;HA=(pd|0)!=(0|0);A=HA&1;Ur[Sd>>2]=A;Pd=Ur[n>>2]|0;Gd=Pd+(OA<<2)|0;fd=Ur[Gd>>2]|0;AZ(fd|0,0,zn|0)|0;Id=OA+1|0;Md=Ur[z>>2]|0;Od=(Id|0)<(Md|0);if(Od){OA=Id}else{on=Md;break}}}else{on=Ln}Xn=d+1156|0;tn=Ur[Xn>>2]|0;vn=(tn|0)>0;if(vn){_n=d+1160|0;$n=d+2184|0;rA=0;while(1){sd=_n+(rA<<2)|0;hd=Ur[sd>>2]|0;Wd=Vn+(hd<<2)|0;Hd=Ur[Wd>>2]|0;Yd=(Hd|0)==0;od=$n+(rA<<2)|0;kd=Ur[od>>2]|0;if(Yd){ld=Vn+(kd<<2)|0;Vd=Ur[ld>>2]|0;Nd=(Vd|0)==0;if(!Nd){YA=10}}else{YA=10}if((YA|0)==10){YA=0;Ur[Wd>>2]=1;ud=Vn+(kd<<2)|0;Ur[ud>>2]=1}bd=rA+1|0;yd=(bd|0)<(tn|0);if(yd){rA=bd}else{break}}}rd=Ur[d>>2]|0;Ud=(rd|0)>0;if(Ud){Kd=d+1092|0;Fd=Ld+52|0;cd=d+4|0;xd=on;UA=0;while(1){qd=(xd|0)>0;if(qd){kn=xd;IA=0;TA=0;while(1){md=cd+(TA<<2)|0;zd=Ur[md>>2]|0;Xd=(zd|0)==(UA|0);if(Xd){td=Vn+(TA<<2)|0;vd=Ur[td>>2]|0;jd=ln+(IA<<2)|0;WA=(vd|0)!=0;Q=WA&1;Ur[jd>>2]=Q;$d=Ur[n>>2]|0;nA=$d+(TA<<2)|0;dA=Ur[nA>>2]|0;AA=IA+1|0;QA=Fn+(IA<<2)|0;Ur[QA>>2]=dA;w=Ur[z>>2]|0;DA=w;MA=AA}else{DA=kn;MA=IA}BA=TA+1|0;EA=(BA|0)<(DA|0);if(EA){kn=DA;IA=MA;TA=BA}else{fA=MA;break}}}else{fA=0}CA=Kd+(UA<<2)|0;ZA=Ur[CA>>2]|0;wA=(ad+1312|0)+(ZA<<2)|0;JA=Ur[wA>>2]|0;gA=25648+(JA<<2)|0;RA=Ur[gA>>2]|0;pA=RA+28|0;iA=Ur[pA>>2]|0;SA=Ur[Fd>>2]|0;PA=SA+(ZA<<2)|0;GA=Ur[PA>>2]|0;ZJ[iA&7](n,GA,Fn,ln,fA)|0;aA=UA+1|0;i=Ur[d>>2]|0;S=(aA|0)<(i|0);if(!S){break}e=Ur[z>>2]|0;xd=e;UA=aA}J=Ur[Xn>>2]|0;P=J}else{P=tn}G=(P|0)>0;if(G){a=d+1160|0;f=Ur[n>>2]|0;I=d+2184|0;M=(U|0)/2&-1;O=(U|0)>1;FA=P;while(1){KA=FA+-1|0;h=a+(KA<<2)|0;W=Ur[h>>2]|0;H=f+(W<<2)|0;Y=Ur[H>>2]|0;o=I+(KA<<2)|0;l=Ur[o>>2]|0;V=f+(l<<2)|0;N=Ur[V>>2]|0;if(O){hA=0;while(1){u=Y+(hA<<2)|0;L=+Kr[u>>2];b=N+(hA<<2)|0;y=+Kr[b>>2];x=L>0.0;q=y>0.0;do{if(x){if(q){Kr[u>>2]=L;m=L-y;Kr[b>>2]=m;break}else{Kr[b>>2]=L;X=y+L;Kr[u>>2]=X;break}}else{if(q){Kr[u>>2]=L;t=y+L;Kr[b>>2]=t;break}else{Kr[b>>2]=L;v=L-y;Kr[u>>2]=v;break}}}while(0);j=hA+1|0;_=(j|0)<(M|0);if(_){hA=j}else{break}}}r=(FA|0)>1;if(r){FA=KA}else{break}}}K=Ur[z>>2]|0;F=(K|0)>0;if(!F){cr=oA;return 0}c=d+4|0;s=d+1028|0;T=Ld+48|0;cA=0;while(1){nn=Ur[n>>2]|0;dn=nn+(cA<<2)|0;An=Ur[dn>>2]|0;Qn=c+(cA<<2)|0;En=Ur[Qn>>2]|0;Dn=s+(En<<2)|0;Cn=Ur[Dn>>2]|0;Zn=(ad+800|0)+(Cn<<2)|0;en=Ur[Zn>>2]|0;wn=25640+(en<<2)|0;Jn=Ur[wn>>2]|0;gn=Jn+24|0;Rn=Ur[gn>>2]|0;pn=Ur[T>>2]|0;Pn=pn+(Cn<<2)|0;Gn=Ur[Pn>>2]|0;an=Nn+(cA<<2)|0;fn=Ur[an>>2]|0;xA[Rn&3](n,Gn,fn,An)|0;In=cA+1|0;Mn=Ur[z>>2]|0;On=(In|0)<(Mn|0);if(On){cA=In}else{Z=Mn;break}}$=(Z|0)>0;if(!$){cr=oA;return 0}sA=0;while(1){rn=Ur[n>>2]|0;Un=rn+(sA<<2)|0;Kn=Ur[Un>>2]|0;cn=Ur[_d>>2]|0;sn=(Ld+12|0)+(cn<<2)|0;Tn=Ur[sn>>2]|0;hn=Ur[Tn>>2]|0;kA(hn,Kn,Kn);Wn=sA+1|0;Hn=Ur[z>>2]|0;Yn=(Wn|0)<(Hn|0);if(Yn){sA=Wn}else{break}}cr=oA;return 0}function YA(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0.0,E=0.0,D=0,C=0,Z=0,e=0,w=0,J=0.0,g=0.0,R=0,p=0,i=0.0,S=0.0,P=0,G=0,a=0.0,f=0.0,I=0;var M=0.0,O=0.0,r=0.0,U=0,K=0.0,F=0,c=0,s=0.0,T=0.0,h=0.0,W=0,H=0,Y=0.0,o=0.0,k=0,l=0.0,V=0.0,N=0,u=0,L=0.0;var b=0.0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0.0,j=0.0,_=0.0,$=0.0,nn=0.0,dn=0,An=0,Qn=0,Bn=0,En=0.0,Dn=0.0,Cn=0.0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0.0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0.0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0.0,Vn=0.0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0;Xn=cr;A=(d|0)/4&-1;Q=A<<2;p=Wr(Q)|0;U=A+d|0;k=U<<2;z=Wr(k)|0;Bn=d>>1;Sn=+(d|0);Fn=Sn;Vn=+uC(+Fn);B=Vn*1.4426950408889634;E=+NB(B);D=~~E;C=n+4|0;Ur[C>>2]=D;Ur[n>>2]=d;Z=n+8|0;Ur[Z>>2]=z;e=n+12|0;Ur[e>>2]=p;w=(d|0)>3;if(!w){ln=4.0/Sn;Nn=n+16|0;Kr[Nn>>2]=ln;return}J=+(d|0);g=3.1415926535897931/J;R=d<<1;i=+(R|0);S=3.1415926535897931/i;yn=0;while(1){I=yn<<2;M=+(I|0);O=g*M;r=+$Z(+O);K=r;F=yn<<1;c=z+(F<<2)|0;Kr[c>>2]=K;s=+ne(+O);T=s;h=-T;W=F|1;H=z+(W<<2)|0;Kr[H>>2]=h;Y=+(W|0);o=S*Y;l=+$Z(+o);V=l;N=F+Bn|0;u=z+(N<<2)|0;Kr[u>>2]=V;L=+ne(+o);b=L;y=N+1|0;x=z+(y<<2)|0;Kr[x>>2]=b;q=yn+1|0;m=(q|0)<(A|0);if(m){yn=q}else{break}}P=(d|0)/8&-1;G=(d|0)>7;if(!G){ln=4.0/Sn;Nn=n+16|0;Kr[Nn>>2]=ln;return}a=+(d|0);f=3.1415926535897931/a;xn=0;while(1){X=xn<<2;t=X|2;v=+(t|0);j=f*v;_=+$Z(+j);$=_*0.5;nn=$;dn=xn<<1;An=dn+d|0;Qn=z+(An<<2)|0;Kr[Qn>>2]=nn;En=+ne(+j);Dn=En*-0.5;Cn=Dn;Zn=An+1|0;en=z+(Zn<<2)|0;Kr[en>>2]=Cn;wn=xn+1|0;Jn=(wn|0)<(P|0);if(Jn){xn=wn}else{break}}gn=D+-1|0;Rn=1<>2]=ln;return}while(1){fn=Gn;un=0;mn=0;while(1){an=fn&qn;In=(an|0)==0;Mn=1<>rn;Kn=(Un|0)==0;if(Kn){bn=Ln;break}else{fn=Un;un=Ln;mn=rn}}cn=bn^-1;sn=pn&cn;Tn=sn+-1|0;hn=qn<<1;Wn=p+(hn<<2)|0;Ur[Wn>>2]=Tn;Hn=hn|1;Yn=p+(Hn<<2)|0;Ur[Yn>>2]=bn;on=qn+1|0;kn=(on|0)<(P|0);if(kn){qn=on}else{break}}ln=4.0/Sn;Nn=n+16|0;Kr[Nn>>2]=ln;return}function yd(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0;e=cr;d=(n|0)==(0|0);if(d){return}A=n+8|0;Q=Ur[A>>2]|0;B=(Q|0)==(0|0);if(!B){qB(Q)}E=n+12|0;D=Ur[E>>2]|0;C=(D|0)==(0|0);if(!C){qB(D)}Ur[n>>2]=0|0;Ur[n+4>>2]=0|0;Ur[n+8>>2]=0|0;Ur[n+12>>2]=0|0;Ur[n+16>>2]=0|0;return}function kA(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0,B=0,E=0,D=0,C=0,Z=0.0,e=0.0,w=0,J=0.0,g=0.0,R=0.0,p=0.0,i=0,S=0.0,P=0.0,G=0.0,a=0,f=0.0,I=0.0,M=0.0;var O=0.0,r=0.0,U=0,K=0.0,F=0,c=0.0,s=0.0,T=0.0,h=0,W=0.0,H=0,Y=0.0,o=0.0,k=0.0,l=0,V=0.0,N=0.0,u=0.0,L=0.0,b=0.0;var y=0.0,x=0.0,q=0.0,m=0.0,z=0,X=0,t=0.0,v=0,j=0.0,_=0.0,$=0.0,nn=0,dn=0.0,An=0,Qn=0.0,Bn=0.0,En=0.0,Dn=0,Cn=0.0,Zn=0.0;var en=0.0,wn=0.0,Jn=0.0,gn=0.0,Rn=0.0,pn=0.0,Sn=0.0,Pn=0,Gn=0,an=0.0,fn=0,In=0,Mn=0.0,On=0.0,rn=0,Un=0.0,Kn=0,Fn=0.0,cn=0.0,sn=0.0;var Tn=0.0,hn=0.0,Wn=0.0,Hn=0.0,Yn=0.0,on=0.0,kn=0.0,ln=0.0,Vn=0.0,Nn=0,un=0,Ln=0,bn=0,yn=0.0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0.0;var vn=0,jn=0.0,_n=0,$n=0.0,nd=0.0,dd=0,Ad=0.0,Qd=0,Bd=0,Ed=0.0,Dd=0,Cd=0.0,Zd=0,ed=0.0,wd=0.0,Jd=0,gd=0.0,Rd=0,pd=0,id=0;var Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0.0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0.0,hd=0.0,Wd=0.0,Hd=0.0,Yd=0.0,od=0;var kd=0,ld=0.0,Vd=0,Nd=0,ud=0.0,Ld=0.0,bd=0.0,yd=0,xd=0.0,qd=0.0,md=0.0,zd=0.0,Xd=0,td=0,vd=0.0,jd=0.0,_d=0.0,$d=0.0,nA=0.0,dA=0.0;var AA=0.0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0.0,RA=0,pA=0.0,iA=0.0,SA=0,PA=0,GA=0.0,aA=0,fA=0.0,IA=0.0;var MA=0.0,OA=0.0,rA=0.0,UA=0.0,KA=0.0,FA=0.0,cA=0,sA=0.0,TA=0.0,hA=0,WA=0.0,HA=0,YA=0.0,oA=0.0,kA=0,lA=0.0,VA=0.0,NA=0,uA=0.0,LA=0.0;var bA=0,yA=0.0,xA=0.0,qA=0.0,mA=0.0,zA=0.0,XA=0.0,tA=0.0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0.0,EQ=0,DQ=0.0,CQ=0;var ZQ=0,eQ=0,wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0,rQ=0,UQ=0,KQ=0,FQ=0;var cQ=0,sQ=0;sQ=cr;D=Ur[n>>2]|0;C=D>>1;Jd=D>>2;Q=C+-7|0;Vd=d+(Q<<2)|0;B=C+Jd|0;td=A+(B<<2)|0;DA=n+8|0;PA=Ur[DA>>2]|0;cA=PA+(Jd<<2)|0;CQ=cA;wQ=Vd;IQ=td;while(1){NA=IQ+-16|0;vA=wQ+8|0;Z=+Kr[vA>>2];a=CQ+12|0;T=+Kr[a>>2];L=Z*T;_=-L;en=+Kr[wQ>>2];In=CQ+8|0;Wn=+Kr[In>>2];yn=Wn*en;nd=_-yn;Kr[NA>>2]=nd;gd=+Kr[wQ>>2];Od=+Kr[a>>2];Td=Od*gd;hd=+Kr[vA>>2];Wd=+Kr[In>>2];Hd=Wd*hd;Yd=Td-Hd;od=IQ+-12|0;Kr[od>>2]=Yd;kd=wQ+24|0;ld=+Kr[kd>>2];Nd=CQ+4|0;ud=+Kr[Nd>>2];Ld=ld*ud;bd=-Ld;yd=wQ+16|0;xd=+Kr[yd>>2];qd=+Kr[CQ>>2];md=qd*xd;zd=bd-md;Xd=IQ+-8|0;Kr[Xd>>2]=zd;vd=+Kr[yd>>2];jd=+Kr[Nd>>2];_d=jd*vd;$d=+Kr[kd>>2];nA=+Kr[CQ>>2];dA=nA*$d;AA=_d-dA;QA=IQ+-4|0;Kr[QA>>2]=AA;BA=wQ+-32|0;EA=CQ+16|0;CA=BA>>>0>>0;if(CA){break}else{CQ=EA;wQ=BA;IQ=NA}}ZA=A+(C<<2)|0;E=C+-8|0;eA=d+(E<<2)|0;ZQ=cA;JQ=eA;MQ=td;while(1){wA=ZQ+-16|0;JA=JQ+16|0;gA=+Kr[JA>>2];RA=ZQ+-4|0;pA=+Kr[RA>>2];iA=pA*gA;SA=JQ+24|0;GA=+Kr[SA>>2];aA=ZQ+-8|0;fA=+Kr[aA>>2];IA=fA*GA;MA=IA+iA;Kr[MQ>>2]=MA;OA=+Kr[JA>>2];rA=+Kr[aA>>2];UA=rA*OA;KA=+Kr[SA>>2];FA=+Kr[RA>>2];sA=FA*KA;TA=UA-sA;hA=MQ+4|0;Kr[hA>>2]=TA;WA=+Kr[JQ>>2];HA=ZQ+-12|0;YA=+Kr[HA>>2];oA=YA*WA;kA=JQ+8|0;lA=+Kr[kA>>2];VA=+Kr[wA>>2];uA=VA*lA;LA=uA+oA;bA=MQ+8|0;Kr[bA>>2]=LA;yA=+Kr[JQ>>2];xA=+Kr[wA>>2];qA=xA*yA;mA=+Kr[kA>>2];zA=+Kr[HA>>2];XA=zA*mA;tA=qA-XA;jA=MQ+12|0;Kr[jA>>2]=tA;_A=JQ+-32|0;$A=MQ+16|0;nQ=_A>>>0>>0;if(nQ){break}else{ZQ=wA;JQ=_A;MQ=$A}}iQ=n+4|0;SQ=Ur[iQ>>2]|0;TQ(SQ,PA,ZA,C);PQ=Ur[n>>2]|0;GQ=Ur[DA>>2]|0;aQ=n+12|0;fQ=Ur[aQ>>2]|0;hQ(PQ,GQ,fQ,A);dQ=Ur[DA>>2]|0;AQ=dQ+(C<<2)|0;eQ=AQ;gQ=A;OQ=td;KQ=td;while(1){QQ=OQ+-16|0;BQ=+Kr[gQ>>2];EQ=eQ+4|0;DQ=+Kr[EQ>>2];e=DQ*BQ;w=gQ+4|0;J=+Kr[w>>2];g=+Kr[eQ>>2];R=g*J;p=e-R;i=OQ+-4|0;Kr[i>>2]=p;S=+Kr[gQ>>2];P=+Kr[eQ>>2];G=P*S;f=+Kr[w>>2];I=+Kr[EQ>>2];M=I*f;O=G+M;r=-O;Kr[KQ>>2]=r;U=gQ+8|0;K=+Kr[U>>2];F=eQ+12|0;c=+Kr[F>>2];s=c*K;h=gQ+12|0;W=+Kr[h>>2];H=eQ+8|0;Y=+Kr[H>>2];o=Y*W;k=s-o;l=OQ+-8|0;Kr[l>>2]=k;V=+Kr[U>>2];N=+Kr[H>>2];u=N*V;b=+Kr[h>>2];y=+Kr[F>>2];x=y*b;q=u+x;m=-q;z=KQ+4|0;Kr[z>>2]=m;X=gQ+16|0;t=+Kr[X>>2];v=eQ+20|0;j=+Kr[v>>2];$=j*t;nn=gQ+20|0;dn=+Kr[nn>>2];An=eQ+16|0;Qn=+Kr[An>>2];Bn=Qn*dn;En=$-Bn;Dn=OQ+-12|0;Kr[Dn>>2]=En;Cn=+Kr[X>>2];Zn=+Kr[An>>2];wn=Zn*Cn;Jn=+Kr[nn>>2];gn=+Kr[v>>2];Rn=gn*Jn;pn=wn+Rn;Sn=-pn;Pn=KQ+8|0;Kr[Pn>>2]=Sn;Gn=gQ+24|0;an=+Kr[Gn>>2];fn=eQ+28|0;Mn=+Kr[fn>>2];On=Mn*an;rn=gQ+28|0;Un=+Kr[rn>>2];Kn=eQ+24|0;Fn=+Kr[Kn>>2];cn=Fn*Un;sn=On-cn;Kr[QQ>>2]=sn;Tn=+Kr[Gn>>2];hn=+Kr[Kn>>2];Hn=hn*Tn;Yn=+Kr[rn>>2];on=+Kr[fn>>2];kn=on*Yn;ln=Hn+kn;Vn=-ln;Nn=KQ+12|0;Kr[Nn>>2]=Vn;un=KQ+16|0;Ln=gQ+32|0;bn=eQ+32|0;xn=Ln>>>0>>0;if(xn){eQ=bn;gQ=Ln;OQ=QQ;KQ=un}else{break}}qn=A+(Jd<<2)|0;RQ=td;rQ=qn;FQ=qn;while(1){mn=rQ+-16|0;zn=RQ+-16|0;Xn=RQ+-4|0;tn=+Kr[Xn>>2];vn=rQ+-4|0;Kr[vn>>2]=tn;jn=-tn;Kr[FQ>>2]=jn;_n=RQ+-8|0;$n=+Kr[_n>>2];dd=rQ+-8|0;Kr[dd>>2]=$n;Ad=-$n;Qd=FQ+4|0;Kr[Qd>>2]=Ad;Bd=RQ+-12|0;Ed=+Kr[Bd>>2];Dd=rQ+-12|0;Kr[Dd>>2]=Ed;Cd=-Ed;Zd=FQ+8|0;Kr[Zd>>2]=Cd;ed=+Kr[zn>>2];Kr[mn>>2]=ed;wd=-ed;Rd=FQ+12|0;Kr[Rd>>2]=wd;pd=FQ+16|0;id=pd>>>0>>0;if(id){RQ=zn;rQ=mn;FQ=pd}else{pQ=td;UQ=td;break}}while(1){Sd=UQ+-16|0;Pd=pQ+12|0;Gd=Ur[Pd>>2]|0;Ur[Sd>>2]=Gd;ad=pQ+8|0;fd=Ur[ad>>2]|0;Id=UQ+-12|0;Ur[Id>>2]=fd;Md=pQ+4|0;rd=Ur[Md>>2]|0;Ud=UQ+-8|0;Ur[Ud>>2]=rd;Kd=Ur[pQ>>2]|0;Fd=UQ+-4|0;Ur[Fd>>2]=Kd;cd=pQ+16|0;sd=Sd>>>0>ZA>>>0;if(sd){pQ=cd;UQ=Sd}else{break}}return}function nJ(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0.0,P=0,G=0.0,a=0.0,f=0,I=0.0,M=0.0;var O=0.0,r=0.0,U=0.0,K=0,F=0,c=0.0,s=0.0,T=0.0,h=0.0,W=0.0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0;var y=0,x=0,q=0.0,m=0.0,z=0.0,X=0,t=0,v=0.0,j=0,_=0.0,$=0.0,nn=0.0,dn=0.0,An=0.0,Qn=0,Bn=0.0,En=0,Dn=0.0,Cn=0.0,Zn=0.0;var en=0.0,wn=0.0,Jn=0.0,gn=0.0,Rn=0.0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0.0,sn=0.0;var Tn=0.0,hn=0.0,Wn=0,Hn=0.0,Yn=0,on=0.0,kn=0,ln=0.0,Vn=0.0,Nn=0.0,un=0.0,Ln=0.0,bn=0,yn=0.0,xn=0.0,qn=0,mn=0.0,zn=0.0,Xn=0.0,tn=0;var vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0;var Sd=0,Pd=0,Gd=0.0,ad=0.0,fd=0.0,Id=0.0,Md=0,Od=0.0,rd=0,Ud=0.0,Kd=0,Fd=0.0,cd=0.0,sd=0.0,Td=0.0,hd=0.0,Wd=0,Hd=0.0,Yd=0.0,od=0;var kd=0.0,ld=0.0,Vd=0.0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0.0,$d=0.0,nA=0.0,dA=0.0;var AA=0.0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0,IA=0;var MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0;lA=cr;R=Ur[n>>2]|0;p=R>>1;On=R>>2;Yn=R>>3;qn=R<<2;Q=qn;Ad=cr;cr=cr+((1*Q|0)+15&-16)|0;Rd=Ad+(p<<2)|0;B=p+On|0;rd=d+(B<<2)|0;od=n+8|0;md=Ur[od>>2]|0;i=md+(p<<2)|0;K=(Yn|0)>0;if(K){E=B+1|0;l=d+(E<<2)|0;X=Yn+-1|0;En=X>>>1;Pn=En<<1;an=p+-2|0;fn=an-Pn|0;In=B+-4|0;Mn=En<<2;rn=In-Mn|0;BA=i;JA=0;cA=rd;WA=l;while(1){Un=cA+-16|0;Kn=BA+-8|0;Fn=cA+-8|0;cn=+Kr[Fn>>2];sn=+Kr[WA>>2];Tn=sn+cn;hn=+Kr[Un>>2];Wn=WA+8|0;Hn=+Kr[Wn>>2];on=Hn+hn;kn=BA+-4|0;ln=+Kr[kn>>2];Vn=on*ln;Nn=+Kr[Kn>>2];un=Nn*Tn;Ln=un+Vn;J=JA+p|0;bn=Ad+(J<<2)|0;Kr[bn>>2]=Ln;yn=+Kr[Kn>>2];xn=yn*on;mn=+Kr[kn>>2];zn=mn*Tn;Xn=xn-zn;tn=JA|1;g=tn+p|0;vn=Ad+(g<<2)|0;Kr[vn>>2]=Xn;jn=WA+16|0;_n=JA+2|0;$n=(_n|0)<(Yn|0);if($n){BA=Kn;JA=_n;cA=Un;WA=jn}else{break}}nd=Pn+2|0;rA=md+(fn<<2)|0;UA=d+(rn<<2)|0;qd=fn;QA=rA;wA=nd;FA=UA}else{qd=p;QA=i;wA=0;FA=rd}dd=d+4|0;Qd=p-Yn|0;Bd=(wA|0)<(Qd|0);if(Bd){Ed=p+-1|0;Dd=Ed-wA|0;Cd=Dd-Yn|0;Zd=Cd>>>1;ed=Zd<<1;wd=wA+ed|0;Jd=Zd<<2;gd=Jd+5|0;pd=-2-ed|0;DA=QA;RA=wA;sA=FA;YA=dd;while(1){id=DA+-8|0;Sd=sA+-16|0;Pd=sA+-8|0;Gd=+Kr[Pd>>2];ad=+Kr[YA>>2];fd=Gd-ad;Id=+Kr[Sd>>2];Md=YA+8|0;Od=+Kr[Md>>2];Ud=Id-Od;Kd=DA+-4|0;Fd=+Kr[Kd>>2];cd=Ud*Fd;sd=+Kr[id>>2];Td=sd*fd;hd=Td+cd;Z=RA+p|0;Wd=Ad+(Z<<2)|0;Kr[Wd>>2]=hd;Hd=+Kr[id>>2];Yd=Hd*Ud;kd=+Kr[Kd>>2];ld=kd*fd;Vd=Yd-ld;Nd=RA|1;e=Nd+p|0;ud=Ad+(e<<2)|0;Kr[ud>>2]=Vd;Ld=YA+16|0;bd=RA+2|0;yd=(bd|0)<(Qd|0);if(yd){DA=id;RA=bd;sA=Sd;YA=Ld}else{break}}xd=wd+2|0;MA=d+(gd<<2)|0;w=qd+pd|0;OA=md+(w<<2)|0;EA=OA;gA=xd;HA=MA}else{EA=QA;gA=wA;HA=dd}zd=(gA|0)<(p|0);if(zd){Xd=d+(R<<2)|0;CA=EA;pA=gA;TA=Xd;oA=HA;while(1){td=CA+-8|0;vd=TA+-16|0;jd=TA+-8|0;_d=+Kr[jd>>2];$d=-_d;nA=+Kr[oA>>2];dA=$d-nA;AA=+Kr[vd>>2];S=-AA;P=oA+8|0;G=+Kr[P>>2];a=S-G;f=CA+-4|0;I=+Kr[f>>2];M=a*I;O=+Kr[td>>2];r=O*dA;U=r+M;D=pA+p|0;F=Ad+(D<<2)|0;Kr[F>>2]=U;c=+Kr[td>>2];s=c*a;T=+Kr[f>>2];h=T*dA;W=s-h;H=pA|1;C=H+p|0;Y=Ad+(C<<2)|0;Kr[Y>>2]=W;o=oA+16|0;k=pA+2|0;V=(k|0)<(p|0);if(V){CA=td;pA=k;TA=vd;oA=o}else{break}}}SA=n+4|0;PA=Ur[SA>>2]|0;TQ(PA,md,Rd,p);IA=Ur[n>>2]|0;GA=Ur[od>>2]|0;aA=n+12|0;fA=Ur[aA>>2]|0;hQ(IA,GA,fA,Ad);N=(On|0)>0;if(!N){cr=lA;return}u=A+(p<<2)|0;L=Ur[od>>2]|0;b=L+(p<<2)|0;y=n+16|0;ZA=b;iA=0;KA=Ad;hA=u;while(1){x=hA+-4|0;q=+Kr[KA>>2];m=+Kr[ZA>>2];z=m*q;t=KA+4|0;v=+Kr[t>>2];j=ZA+4|0;_=+Kr[j>>2];$=_*v;nn=$+z;dn=+Kr[y>>2];An=nn*dn;Qn=A+(iA<<2)|0;Kr[Qn>>2]=An;Bn=+Kr[KA>>2];Dn=+Kr[j>>2];Cn=Dn*Bn;Zn=+Kr[t>>2];en=+Kr[ZA>>2];wn=en*Zn;Jn=Cn-wn;gn=+Kr[y>>2];Rn=Jn*gn;Kr[x>>2]=Rn;pn=KA+8|0;Sn=ZA+8|0;Gn=iA+1|0;eA=(Gn|0)==(On|0);if(eA){break}else{ZA=Sn;iA=Gn;KA=pn;hA=x}}cr=lA;return}function TQ(n,d,A,Q){n=n|0;d=d|0;A=A|0;Q=Q|0;var B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0;var r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0;var x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0.0,$=0.0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0.0,en=0;var wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0.0,an=0,fn=0,In=0.0,Mn=0.0,On=0,rn=0.0,Un=0,Kn=0.0,Fn=0.0,cn=0.0,sn=0.0,Tn=0.0;var hn=0.0,Wn=0,Hn=0.0,Yn=0.0,on=0.0,kn=0.0,ln=0.0,Vn=0.0,Nn=0.0,un=0.0,Ln=0.0,bn=0.0,yn=0.0,xn=0,qn=0,mn=0.0,zn=0,Xn=0.0,tn=0.0,vn=0;var jn=0.0,_n=0,$n=0.0,nd=0.0,dd=0.0,Ad=0.0,Qd=0.0,Bd=0.0,Ed=0,Dd=0.0,Cd=0.0,Zd=0.0,ed=0.0,wd=0.0,Jd=0.0,gd=0.0,Rd=0.0,pd=0.0,id=0.0,Sd=0.0;var Pd=0,Gd=0,ad=0.0,fd=0,Id=0.0,Md=0.0,Od=0.0,rd=0,Ud=0.0,Kd=0,Fd=0.0,cd=0.0,sd=0.0,Td=0.0,hd=0.0,Wd=0,Hd=0,Yd=0.0,od=0.0,kd=0.0;var ld=0.0,Vd=0.0,Nd=0.0,ud=0.0,Ld=0.0,bd=0.0,yd=0.0,xd=0.0,qd=0,md=0.0,zd=0.0,Xd=0.0,td=0,vd=0.0,jd=0,_d=0.0,$d=0.0,nA=0,dA=0.0,AA=0.0;var QA=0.0,BA=0.0,EA=0,DA=0.0,CA=0.0,ZA=0.0,eA=0.0,wA=0.0,JA=0.0,gA=0.0,RA=0.0,pA=0.0,iA=0.0,SA=0.0,PA=0,GA=0,aA=0,fA=0,IA=0,MA=0;var OA=0.0,rA=0,UA=0,KA=0,FA=0.0,cA=0,sA=0.0,TA=0.0,hA=0,WA=0.0,HA=0,YA=0.0,oA=0.0,kA=0.0,lA=0.0,VA=0.0,NA=0,uA=0.0,LA=0,bA=0.0;var yA=0.0,xA=0,qA=0.0,mA=0.0,zA=0,XA=0.0,tA=0.0,vA=0.0,jA=0.0,_A=0.0,$A=0.0,nQ=0.0,dQ=0.0,AQ=0.0,QQ=0.0,BQ=0.0,EQ=0,DQ=0.0,CQ=0,ZQ=0.0;var eQ=0.0,wQ=0,JQ=0.0,gQ=0,RQ=0.0,pQ=0.0,iQ=0.0,SQ=0.0,PQ=0.0,GQ=0.0,aQ=0.0,fQ=0.0,IQ=0.0,MQ=0,OQ=0.0,rQ=0.0,UQ=0,KQ=0.0,FQ=0.0,cQ=0;var sQ=0.0,TQ=0,hQ=0.0,WQ=0.0,HQ=0.0,YQ=0.0,oQ=0.0,kQ=0.0,lQ=0.0,VQ=0.0,NQ=0.0,uQ=0.0,LQ=0.0,bQ=0,yQ=0.0,xQ=0,qQ=0.0,mQ=0,zQ=0.0,XQ=0;var tQ=0.0,vQ=0,jQ=0.0,_Q=0.0,$Q=0.0,nB=0.0,dB=0,AB=0.0,QB=0,BB=0.0,EB=0,DB=0.0,CB=0.0,ZB=0,eB=0.0,wB=0,JB=0.0,gB=0.0,RB=0.0,pB=0.0;var iB=0,SB=0.0,PB=0.0,GB=0.0,aB=0.0,fB=0.0,IB=0.0,MB=0,OB=0.0,rB=0,UB=0.0,KB=0.0,FB=0.0,cB=0,sB=0.0,TB=0,hB=0.0,WB=0.0,HB=0.0,YB=0.0;var oB=0.0,kB=0.0,lB=0.0,VB=0.0,NB=0.0,uB=0.0,LB=0,bB=0.0,yB=0.0,xB=0,qB=0.0,mB=0,zB=0.0,XB=0,tB=0.0,vB=0.0,jB=0.0,_B=0.0,$B=0.0,nE=0.0;var dE=0.0,AE=0.0,QE=0.0,BE=0.0,EE=0.0,DE=0.0,CE=0.0,ZE=0.0,eE=0.0,wE=0.0,JE=0.0,gE=0.0,RE=0.0,pE=0.0,iE=0.0,SE=0,PE=0.0,GE=0.0,aE=0.0,fE=0.0;var IE=0.0,ME=0.0,OE=0.0,rE=0.0,UE=0.0,KE=0.0,FE=0.0,cE=0.0,sE=0.0,TE=0.0,hE=0.0,WE=0.0,HE=0.0,YE=0.0,oE=0.0,kE=0.0,lE=0.0,VE=0.0,NE=0.0,uE=0.0;var LE=0.0,bE=0.0,yE=0.0,xE=0.0,qE=0.0,mE=0.0,zE=0.0,XE=0.0,tE=0.0,vE=0.0,jE=0.0,_E=0.0,$E=0.0,nD=0.0,dD=0.0,AD=0.0,QD=0.0,BD=0.0,ED=0.0,DD=0;var CD=0.0,ZD=0.0,eD=0.0,wD=0.0,JD=0.0,gD=0.0,RD=0.0,pD=0.0,iD=0.0,SD=0.0,PD=0.0,GD=0.0,aD=0.0,fD=0.0,ID=0.0,MD=0.0,OD=0.0,rD=0.0,UD=0.0,KD=0.0;var FD=0.0,cD=0.0,sD=0,TD=0.0,hD=0.0,WD=0.0,HD=0.0,YD=0.0,oD=0.0,kD=0.0,lD=0.0,VD=0.0,ND=0.0,uD=0.0,LD=0.0,bD=0.0,yD=0.0,xD=0.0,qD=0.0,mD=0.0;var zD=0.0,XD=0.0,tD=0.0,vD=0.0,jD=0.0,_D=0.0,$D=0.0,nC=0.0,dC=0.0,AC=0.0,QC=0.0,BC=0.0,EC=0.0,DC=0.0,CC=0.0,ZC=0,eC=0.0,wC=0.0,JC=0.0,gC=0.0;var RC=0.0,pC=0.0,iC=0.0,SC=0.0,PC=0.0,GC=0.0,aC=0.0,fC=0.0,IC=0.0,MC=0.0,OC=0.0,rC=0.0,UC=0.0,KC=0.0,FC=0.0,cC=0.0,sC=0.0,TC=0.0,hC=0.0,WC=0.0;var HC=0.0,YC=0.0,oC=0.0,kC=0.0,lC=0.0,VC=0.0,NC=0.0,uC=0.0,LC=0.0,bC=0.0,yC=0,xC=0,qC=0.0,mC=0,zC=0.0,XC=0.0,tC=0.0,vC=0.0,jC=0,_C=0.0;var $C=0,nZ=0.0,dZ=0.0,AZ=0,QZ=0.0,BZ=0.0,EZ=0,DZ=0.0,CZ=0.0,ZZ=0.0,eZ=0.0,wZ=0.0,JZ=0,gZ=0.0,RZ=0.0,pZ=0,iZ=0,SZ=0.0,PZ=0.0,GZ=0.0;var aZ=0.0,fZ=0.0,IZ=0.0,MZ=0.0,OZ=0.0,rZ=0.0,UZ=0.0,KZ=0.0,FZ=0.0,cZ=0,sZ=0.0,TZ=0,hZ=0.0,WZ=0.0,HZ=0.0,YZ=0.0,oZ=0.0,kZ=0.0,lZ=0,VZ=0.0;var NZ=0.0,uZ=0,LZ=0.0,bZ=0.0,yZ=0.0,xZ=0.0,qZ=0.0,mZ=0.0,zZ=0,XZ=0,tZ=0,vZ=0,jZ=0,_Z=0,$Z=0,ne=0,de=0,Ae=0;Ae=cr;t=n+-6|0;v=(n|0)>6;if(v){C=Q+-8|0;nA=A+(C<<2)|0;QB=Q>>1;w=QB+-8|0;DD=A+(w<<2)|0;B=d;jZ=nA;$Z=DD;while(1){mC=jZ+24|0;QZ=+Kr[mC>>2];pZ=$Z+24|0;UZ=+Kr[pZ>>2];kZ=QZ-UZ;j=jZ+28|0;Zn=+Kr[j>>2];fn=$Z+28|0;hn=+Kr[fn>>2];bn=Zn-hn;$n=UZ+QZ;Kr[mC>>2]=$n;wd=+Kr[fn>>2];Id=wd+Zn;Kr[j>>2]=Id;Wd=B+4|0;yd=+Kr[Wd>>2];dA=yd*bn;gA=+Kr[B>>2];OA=gA*kZ;YA=OA+dA;Kr[pZ>>2]=YA;qA=+Kr[B>>2];AQ=qA*bn;RQ=+Kr[Wd>>2];rQ=RQ*kZ;oQ=AQ-rQ;Kr[fn>>2]=oQ;mQ=jZ+16|0;BB=+Kr[mQ>>2];iB=$Z+16|0;KB=+Kr[iB>>2];lB=BB-KB;XB=jZ+20|0;EE=+Kr[XB>>2];SE=$Z+20|0;FE=+Kr[SE>>2];VE=EE-FE;tE=KB+BB;Kr[mQ>>2]=tE;CD=+Kr[SE>>2];GD=CD+EE;Kr[XB>>2]=GD;sD=B+20|0;uD=+Kr[sD>>2];jD=uD*VE;ZC=B+16|0;aC=+Kr[ZC>>2];TC=aC*lB;LC=TC+jD;Kr[iB>>2]=LC;qC=+Kr[ZC>>2];zC=qC*VE;XC=+Kr[sD>>2];tC=XC*lB;vC=zC-tC;Kr[SE>>2]=vC;jC=jZ+8|0;_C=+Kr[jC>>2];$C=$Z+8|0;nZ=+Kr[$C>>2];dZ=_C-nZ;AZ=jZ+12|0;BZ=+Kr[AZ>>2];EZ=$Z+12|0;DZ=+Kr[EZ>>2];CZ=BZ-DZ;ZZ=nZ+_C;Kr[jC>>2]=ZZ;eZ=+Kr[EZ>>2];wZ=eZ+BZ;Kr[AZ>>2]=wZ;JZ=B+36|0;gZ=+Kr[JZ>>2];RZ=gZ*CZ;iZ=B+32|0;SZ=+Kr[iZ>>2];PZ=SZ*dZ;GZ=PZ+RZ;Kr[$C>>2]=GZ;aZ=+Kr[iZ>>2];fZ=aZ*CZ;IZ=+Kr[JZ>>2];MZ=IZ*dZ;OZ=fZ-MZ;Kr[EZ>>2]=OZ;rZ=+Kr[jZ>>2];KZ=+Kr[$Z>>2];FZ=rZ-KZ;cZ=jZ+4|0;sZ=+Kr[cZ>>2];TZ=$Z+4|0;hZ=+Kr[TZ>>2];WZ=sZ-hZ;HZ=KZ+rZ;Kr[jZ>>2]=HZ;YZ=+Kr[TZ>>2];oZ=YZ+sZ;Kr[cZ>>2]=oZ;lZ=B+52|0;VZ=+Kr[lZ>>2];NZ=VZ*WZ;uZ=B+48|0;LZ=+Kr[uZ>>2];bZ=LZ*FZ;yZ=bZ+NZ;Kr[$Z>>2]=yZ;xZ=+Kr[uZ>>2];qZ=xZ*WZ;mZ=+Kr[lZ>>2];_=mZ*FZ;$=qZ-_;Kr[TZ>>2]=$;nn=jZ+-32|0;dn=$Z+-32|0;An=B+64|0;Qn=dn>>>0
>>0;if(Qn){break}else{B=An;jZ=nn;$Z=dn}}}Bn=(t|0)>1;if(Bn){XZ=1;while(1){En=1<>XZ;en=4<>1;J=wn+-8|0;O=en+1|0;o=en<<1;u=o|1;y=en*3|0;q=y+1|0;z=en<<2;tZ=0;while(1){gn=sr(tZ,Cn)|0;Rn=A+(gn<<2)|0;D=Z+gn|0;pn=A+(D<<2)|0;V=J+gn|0;Sn=A+(V<<2)|0;E=d;_Z=pn;ne=Sn;while(1){Pn=_Z+24|0;Gn=+Kr[Pn>>2];an=ne+24|0;In=+Kr[an>>2];Mn=Gn-In;On=_Z+28|0;rn=+Kr[On>>2];Un=ne+28|0;Kn=+Kr[Un>>2];Fn=rn-Kn;cn=In+Gn;Kr[Pn>>2]=cn;sn=+Kr[Un>>2];Tn=sn+rn;Kr[On>>2]=Tn;Wn=E+4|0;Hn=+Kr[Wn>>2];Yn=Hn*Fn;on=+Kr[E>>2];kn=on*Mn;ln=kn+Yn;Kr[an>>2]=ln;Vn=+Kr[E>>2];Nn=Vn*Fn;un=+Kr[Wn>>2];Ln=un*Mn;yn=Nn-Ln;Kr[Un>>2]=yn;xn=E+(en<<2)|0;qn=_Z+16|0;mn=+Kr[qn>>2];zn=ne+16|0;Xn=+Kr[zn>>2];tn=mn-Xn;vn=_Z+20|0;jn=+Kr[vn>>2];_n=ne+20|0;nd=+Kr[_n>>2];dd=jn-nd;Ad=Xn+mn;Kr[qn>>2]=Ad;Qd=+Kr[_n>>2];Bd=Qd+jn;Kr[vn>>2]=Bd;Ed=E+(O<<2)|0;Dd=+Kr[Ed>>2];Cd=Dd*dd;Zd=+Kr[xn>>2];ed=Zd*tn;Jd=ed+Cd;Kr[zn>>2]=Jd;gd=+Kr[xn>>2];Rd=gd*dd;pd=+Kr[Ed>>2];id=pd*tn;Sd=Rd-id;Kr[_n>>2]=Sd;Pd=E+(o<<2)|0;Gd=_Z+8|0;ad=+Kr[Gd>>2];fd=ne+8|0;Md=+Kr[fd>>2];Od=ad-Md;rd=_Z+12|0;Ud=+Kr[rd>>2];Kd=ne+12|0;Fd=+Kr[Kd>>2];cd=Ud-Fd;sd=Md+ad;Kr[Gd>>2]=sd;Td=+Kr[Kd>>2];hd=Td+Ud;Kr[rd>>2]=hd;Hd=E+(u<<2)|0;Yd=+Kr[Hd>>2];od=Yd*cd;kd=+Kr[Pd>>2];ld=kd*Od;Vd=ld+od;Kr[fd>>2]=Vd;Nd=+Kr[Pd>>2];ud=Nd*cd;Ld=+Kr[Hd>>2];bd=Ld*Od;xd=ud-bd;Kr[Kd>>2]=xd;qd=E+(y<<2)|0;md=+Kr[_Z>>2];zd=+Kr[ne>>2];Xd=md-zd;td=_Z+4|0;vd=+Kr[td>>2];jd=ne+4|0;_d=+Kr[jd>>2];$d=vd-_d;AA=zd+md;Kr[_Z>>2]=AA;QA=+Kr[jd>>2];BA=QA+vd;Kr[td>>2]=BA;EA=E+(q<<2)|0;DA=+Kr[EA>>2];CA=DA*$d;ZA=+Kr[qd>>2];eA=ZA*Xd;wA=eA+CA;Kr[ne>>2]=wA;JA=+Kr[qd>>2];RA=JA*$d;pA=+Kr[EA>>2];iA=pA*Xd;SA=RA-iA;Kr[jd>>2]=SA;PA=E+(z<<2)|0;GA=_Z+-32|0;aA=ne+-32|0;fA=aA>>>0>>0;if(fA){break}else{E=PA;_Z=GA;ne=aA}}IA=tZ+1|0;MA=(IA|0)<(En|0);if(MA){tZ=IA}else{break}}}rA=XZ+1|0;zZ=(rA|0)==(t|0);if(zZ){break}else{XZ=rA}}}Jn=(Q|0)>0;if(Jn){vZ=0}else{return}while(1){UA=A+(vZ<<2)|0;e=vZ|30;KA=A+(e<<2)|0;FA=+Kr[KA>>2];M=vZ|14;cA=A+(M<<2)|0;sA=+Kr[cA>>2];TA=FA-sA;Y=vZ|31;hA=A+(Y<<2)|0;WA=+Kr[hA>>2];N=vZ|15;HA=A+(N<<2)|0;oA=+Kr[HA>>2];kA=WA-oA;lA=sA+FA;Kr[KA>>2]=lA;VA=oA+WA;Kr[hA>>2]=VA;Kr[cA>>2]=TA;Kr[HA>>2]=kA;L=vZ|28;NA=A+(L<<2)|0;uA=+Kr[NA>>2];b=vZ|12;LA=A+(b<<2)|0;bA=+Kr[LA>>2];yA=uA-bA;x=vZ|29;xA=A+(x<<2)|0;mA=+Kr[xA>>2];m=vZ|13;zA=A+(m<<2)|0;XA=+Kr[zA>>2];tA=mA-XA;vA=bA+uA;Kr[NA>>2]=vA;jA=XA+mA;Kr[xA>>2]=jA;_A=yA*0.92387950420379638;$A=tA*0.38268342614173889;nQ=_A-$A;Kr[LA>>2]=nQ;dQ=yA*0.38268342614173889;QQ=tA*0.92387950420379638;BQ=QQ+dQ;Kr[zA>>2]=BQ;X=vZ|26;EQ=A+(X<<2)|0;DQ=+Kr[EQ>>2];g=vZ|10;CQ=A+(g<<2)|0;ZQ=+Kr[CQ>>2];eQ=DQ-ZQ;R=vZ|27;wQ=A+(R<<2)|0;JQ=+Kr[wQ>>2];p=vZ|11;gQ=A+(p<<2)|0;pQ=+Kr[gQ>>2];iQ=JQ-pQ;SQ=ZQ+DQ;Kr[EQ>>2]=SQ;PQ=pQ+JQ;Kr[wQ>>2]=PQ;GQ=eQ-iQ;aQ=GQ*0.70710676908493042;Kr[CQ>>2]=aQ;fQ=iQ+eQ;IQ=fQ*0.70710676908493042;Kr[gQ>>2]=IQ;i=vZ|24;MQ=A+(i<<2)|0;OQ=+Kr[MQ>>2];S=vZ|8;UQ=A+(S<<2)|0;KQ=+Kr[UQ>>2];FQ=OQ-KQ;P=vZ|25;cQ=A+(P<<2)|0;sQ=+Kr[cQ>>2];G=vZ|9;TQ=A+(G<<2)|0;hQ=+Kr[TQ>>2];WQ=sQ-hQ;HQ=KQ+OQ;Kr[MQ>>2]=HQ;YQ=hQ+sQ;Kr[cQ>>2]=YQ;kQ=FQ*0.38268342614173889;lQ=WQ*0.92387950420379638;VQ=kQ-lQ;NQ=WQ*0.38268342614173889;uQ=FQ*0.92387950420379638;LQ=NQ+uQ;a=vZ|22;bQ=A+(a<<2)|0;yQ=+Kr[bQ>>2];f=vZ|6;xQ=A+(f<<2)|0;qQ=+Kr[xQ>>2];zQ=yQ-qQ;I=vZ|7;XQ=A+(I<<2)|0;tQ=+Kr[XQ>>2];r=vZ|23;vQ=A+(r<<2)|0;jQ=+Kr[vQ>>2];_Q=tQ-jQ;$Q=qQ+yQ;Kr[bQ>>2]=$Q;nB=jQ+tQ;Kr[vQ>>2]=nB;Kr[xQ>>2]=_Q;Kr[XQ>>2]=zQ;U=vZ|4;dB=A+(U<<2)|0;AB=+Kr[dB>>2];K=vZ|20;EB=A+(K<<2)|0;DB=+Kr[EB>>2];CB=AB-DB;F=vZ|5;ZB=A+(F<<2)|0;eB=+Kr[ZB>>2];c=vZ|21;wB=A+(c<<2)|0;JB=+Kr[wB>>2];gB=eB-JB;RB=DB+AB;Kr[EB>>2]=RB;pB=JB+eB;Kr[wB>>2]=pB;SB=gB*0.92387950420379638;PB=CB*0.38268342614173889;GB=SB+PB;aB=gB*0.38268342614173889;fB=CB*0.92387950420379638;IB=aB-fB;s=vZ|2;MB=A+(s<<2)|0;OB=+Kr[MB>>2];T=vZ|18;rB=A+(T<<2)|0;UB=+Kr[rB>>2];FB=OB-UB;h=vZ|3;cB=A+(h<<2)|0;sB=+Kr[cB>>2];W=vZ|19;TB=A+(W<<2)|0;hB=+Kr[TB>>2];WB=sB-hB;HB=UB+OB;Kr[rB>>2]=HB;YB=hB+sB;Kr[TB>>2]=YB;oB=WB+FB;kB=oB*0.70710676908493042;VB=WB-FB;NB=VB*0.70710676908493042;uB=+Kr[UA>>2];H=vZ|16;LB=A+(H<<2)|0;bB=+Kr[LB>>2];yB=uB-bB;k=vZ|1;xB=A+(k<<2)|0;qB=+Kr[xB>>2];l=vZ|17;mB=A+(l<<2)|0;zB=+Kr[mB>>2];tB=qB-zB;vB=bB+uB;Kr[LB>>2]=vB;jB=zB+qB;Kr[mB>>2]=jB;_B=tB*0.38268342614173889;$B=yB*0.92387950420379638;nE=_B+$B;dE=tB*0.92387950420379638;AE=yB*0.38268342614173889;QE=dE-AE;BE=QE-LQ;DE=nE-VQ;CE=nE+VQ;ZE=QE+LQ;eE=DE+BE;wE=BE-DE;JE=+Kr[gQ>>2];gE=NB-JE;RE=+Kr[CQ>>2];pE=RE-kB;iE=RE+kB;PE=JE+NB;GE=+Kr[LA>>2];aE=GE-GB;fE=+Kr[zA>>2];IE=fE-IB;ME=GE+GB;OE=fE+IB;rE=aE-IE;UE=IE+aE;KE=+Kr[cA>>2];cE=KE-_Q;sE=+Kr[HA>>2];TE=sE-zQ;hE=_Q+KE;WE=zQ+sE;HE=cE+gE;YE=cE-gE;oE=rE+eE;kE=oE*0.70710676908493042;lE=rE-eE;NE=lE*0.70710676908493042;uE=kE+HE;Kr[xQ>>2]=uE;LE=HE-kE;Kr[dB>>2]=LE;bE=UE-wE;yE=bE*0.70710676908493042;xE=TE-pE;qE=yE+YE;Kr[UA>>2]=qE;mE=YE-yE;Kr[MB>>2]=mE;zE=UE+wE;XE=zE*0.70710676908493042;vE=TE+pE;jE=xE+NE;Kr[cB>>2]=jE;_E=xE-NE;Kr[xB>>2]=_E;$E=vE+XE;Kr[XQ>>2]=$E;nD=vE-XE;Kr[ZB>>2]=nD;dD=hE+iE;AD=hE-iE;QD=CE+ME;BD=ME-CE;ED=dD+QD;Kr[cA>>2]=ED;ZD=dD-QD;Kr[LA>>2]=ZD;eD=OE-ZE;wD=WE-PE;JD=AD+eD;Kr[UQ>>2]=JD;gD=AD-eD;Kr[CQ>>2]=gD;RD=OE+ZE;pD=WE+PE;iD=wD+BD;Kr[gQ>>2]=iD;SD=wD-BD;Kr[TQ>>2]=SD;PD=pD+RD;Kr[HA>>2]=PD;aD=pD-RD;Kr[zA>>2]=aD;fD=+Kr[cQ>>2];ID=jB-fD;MD=+Kr[MQ>>2];OD=vB-MD;rD=MD+vB;UD=fD+jB;KD=OD+ID;FD=ID-OD;cD=+Kr[TB>>2];TD=+Kr[wQ>>2];hD=cD-TD;WD=+Kr[EQ>>2];HD=+Kr[rB>>2];YD=WD-HD;oD=HD+WD;kD=TD+cD;lD=+Kr[NA>>2];VD=+Kr[EB>>2];ND=lD-VD;LD=+Kr[xA>>2];bD=+Kr[wB>>2];yD=LD-bD;xD=VD+lD;qD=bD+LD;mD=ND-yD;zD=yD+ND;XD=+Kr[KA>>2];tD=+Kr[bQ>>2];vD=XD-tD;_D=+Kr[hA>>2];$D=+Kr[vQ>>2];nC=_D-$D;dC=tD+XD;AC=$D+_D;QC=vD+hD;BC=vD-hD;EC=mD+KD;DC=EC*0.70710676908493042;CC=mD-KD;eC=CC*0.70710676908493042;wC=DC+QC;Kr[bQ>>2]=wC;JC=QC-DC;Kr[EB>>2]=JC;gC=zD-FD;RC=gC*0.70710676908493042;pC=nC-YD;iC=RC+BC;Kr[LB>>2]=iC;SC=BC-RC;Kr[rB>>2]=SC;PC=zD+FD;GC=PC*0.70710676908493042;fC=nC+YD;IC=pC+eC;Kr[TB>>2]=IC;MC=pC-eC;Kr[mB>>2]=MC;OC=fC+GC;Kr[vQ>>2]=OC;rC=fC-GC;Kr[wB>>2]=rC;UC=dC+oD;KC=dC-oD;FC=xD+rD;cC=xD-rD;sC=UC+FC;Kr[KA>>2]=sC;hC=UC-FC;Kr[NA>>2]=hC;WC=qD-UD;HC=AC-kD;YC=KC+WC;Kr[MQ>>2]=YC;oC=KC-WC;Kr[EQ>>2]=oC;kC=qD+UD;lC=AC+kD;VC=HC+cC;Kr[wQ>>2]=VC;NC=HC-cC;Kr[cQ>>2]=NC;uC=lC+kC;Kr[hA>>2]=uC;bC=lC-kC;Kr[xA>>2]=bC;yC=vZ+32|0;xC=(yC|0)<(Q|0);if(xC){vZ=yC}else{break}}return}function hQ(n,d,A,Q){n=n|0;d=d|0;A=A|0;Q=Q|0;var B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0.0,S=0.0,P=0.0,G=0.0,a=0.0,f=0.0,I=0.0,M=0,O=0.0;var r=0,U=0.0,K=0.0,F=0.0,c=0.0,s=0.0,T=0,h=0.0,W=0.0,H=0.0,Y=0.0,o=0,k=0.0,l=0.0,V=0,N=0.0,u=0,L=0.0,b=0,y=0;var x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0.0,_=0,$=0.0,nn=0.0,dn=0.0,An=0.0,Qn=0,Bn=0.0,En=0,Dn=0.0,Cn=0.0,Zn=0,en=0.0;var wn=0.0,Jn=0.0,gn=0.0,Rn=0.0,pn=0,Sn=0.0,Pn=0.0,Gn=0.0,an=0.0,fn=0.0,In=0.0,Mn=0,On=0.0,rn=0.0,Un=0,Kn=0,Fn=0.0,cn=0,sn=0,Tn=0;var hn=0,Wn=0,Hn=0,Yn=0.0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0;un=cr;g=n>>1;R=Q+(g<<2)|0;r=d+(n<<2)|0;on=r;kn=A;ln=Q;Vn=R;while(1){o=Ur[kn>>2]|0;B=o+g|0;m=Q+(B<<2)|0;Qn=kn+4|0;pn=Ur[Qn>>2]|0;E=pn+g|0;Kn=Q+(E<<2)|0;D=B+1|0;Hn=Q+(D<<2)|0;Yn=+Kr[Hn>>2];C=E+1|0;p=Q+(C<<2)|0;i=+Kr[p>>2];S=Yn-i;P=+Kr[m>>2];G=+Kr[Kn>>2];a=G+P;f=+Kr[on>>2];I=a*f;M=on+4|0;O=+Kr[M>>2];U=O*S;K=U+I;F=O*a;c=f*S;s=F-c;T=Vn+-16|0;h=i+Yn;W=h*0.5;H=P-G;Y=H*0.5;k=K+W;Kr[ln>>2]=k;l=W-K;V=Vn+-8|0;Kr[V>>2]=l;N=s+Y;u=ln+4|0;Kr[u>>2]=N;L=s-Y;b=Vn+-4|0;Kr[b>>2]=L;y=kn+8|0;x=Ur[y>>2]|0;Z=x+g|0;q=Q+(Z<<2)|0;z=kn+12|0;X=Ur[z>>2]|0;e=X+g|0;t=Q+(e<<2)|0;w=Z+1|0;v=Q+(w<<2)|0;j=+Kr[v>>2];J=e+1|0;_=Q+(J<<2)|0;$=+Kr[_>>2];nn=j-$;dn=+Kr[q>>2];An=+Kr[t>>2];Bn=An+dn;En=on+8|0;Dn=+Kr[En>>2];Cn=Bn*Dn;Zn=on+12|0;en=+Kr[Zn>>2];wn=en*nn;Jn=wn+Cn;gn=en*Bn;Rn=Dn*nn;Sn=gn-Rn;Pn=$+j;Gn=Pn*0.5;an=dn-An;fn=an*0.5;In=Jn+Gn;Mn=ln+8|0;Kr[Mn>>2]=In;On=Gn-Jn;Kr[T>>2]=On;rn=Sn+fn;Un=ln+12|0;Kr[Un>>2]=rn;Fn=Sn-fn;cn=Vn+-12|0;Kr[cn>>2]=Fn;sn=on+16|0;Tn=kn+16|0;hn=ln+16|0;Wn=hn>>>0>>0;if(Wn){on=sn;kn=Tn;ln=hn;Vn=T}else{break}}return}function vn(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0;w=cr;d=n+28|0;A=Ur[d>>2]|0;Q=A+2868|0;B=Hr(1,36)|0;E=n+4|0;D=Ur[E>>2]|0;C=B+4|0;Ur[C>>2]=D;Kr[B>>2]=-9999.0;Z=B+8|0;Ur[Z>>2]=Q;return B|0}function xd(n){n=n|0;var d=0,A=0,Q=0;Q=cr;d=(n|0)==(0|0);if(d){return}qB(n);return}function jn(n){n=n|0;var d=0,A=0,Q=0;Q=cr;d=(n|0)==(0|0);if(!d){qB(n)}return}function oA(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0.0,p=0,i=0,S=0.0,P=0,G=0,a=0,f=0,I=0,M=0.0,O=0,r=0;var U=0,K=0.0,F=0,c=0.0,s=0.0,T=0.0,h=0.0,W=0.0,H=0.0,Y=0,o=0.0,k=0.0,l=0.0,V=0.0,N=0.0,u=0.0,L=0.0,b=0.0,y=0.0,x=0.0;var q=0.0,m=0,z=0,X=0.0,t=0.0,v=0.0,j=0,_=0.0,$=0.0,nn=0.0,dn=0.0,An=0.0,Qn=0.0,Bn=0,En=0.0,Dn=0.0,Cn=0.0,Zn=0.0,en=0.0,wn=0.0;var Jn=0.0,gn=0.0,Rn=0.0,pn=0.0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0.0,Mn=0,On=0,rn=0,Un=0,Kn=0.0,Fn=0.0,cn=0.0,sn=0.0,Tn=0.0,hn=0;var Wn=0.0,Hn=0.0,Yn=0.0,on=0.0,kn=0.0,ln=0.0,Vn=0.0,Nn=0.0,un=0.0,Ln=0.0,bn=0.0,yn=0.0,xn=0.0,qn=0.0,mn=0,zn=0,Xn=0,tn=0,vn=0,jn=0;var _n=0,$n=0,nd=0.0,dd=0.0,Ad=0.0,Qd=0.0,Bd=0.0,Ed=0.0,Dd=0.0,Cd=0.0,Zd=0.0,ed=0.0,wd=0.0,Jd=0.0,gd=0,Rd=0,pd=0,id=0,Sd=0.0,Pd=0.0;var Gd=0,ad=0.0,fd=0,Id=0.0,Md=0.0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0.0,kd=0.0,ld=0.0;var Vd=0.0,Nd=0.0,ud=0.0,Ld=0.0,bd=0.0,yd=0,xd=0,qd=0.0,md=0.0,zd=0.0,Xd=0.0,td=0.0,vd=0,jd=0,_d=0.0,$d=0.0,nA=0.0,dA=0,AA=0.0,QA=0.0;var BA=0.0,EA=0.0,DA=0.0,CA=0.0,ZA=0,eA=0,wA=0.0,JA=0.0,gA=0.0,RA=0.0,pA=0,iA=0.0,SA=0.0,PA=0.0,GA=0.0,aA=0.0,fA=0,IA=0,MA=0.0,OA=0.0;var rA=0.0,UA=0.0,KA=0,FA=0.0,cA=0.0,sA=0.0,TA=0.0,hA=0.0,WA=0,HA=0,YA=0,oA=0,kA=0.0,lA=0.0,VA=0.0,NA=0.0,uA=0.0,LA=0.0,bA=0.0,yA=0.0;var xA=0.0,qA=0.0,mA=0.0,zA=0.0,XA=0,tA=0.0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0,DQ=0.0,CQ=0,ZQ=0,eQ=0;var wQ=0,JQ=0,gQ=0,RQ=0.0,pQ=0.0,iQ=0,SQ=0,PQ=0.0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0.0,rQ=0.0,UQ=0.0,KQ=0.0,FQ=0.0,cQ=0.0,sQ=0.0;var TQ=0.0,hQ=0,WQ=0,HQ=0,YQ=0.0,oQ=0,kQ=0.0,lQ=0.0,VQ=0,NQ=0.0,uQ=0.0,LQ=0.0,bQ=0,yQ=0,xQ=0,qQ=0.0,mQ=0,zQ=0.0,XQ=0,tQ=0;var vQ=0,jQ=0,_Q=0,$Q=0,nB=0,dB=0,AB=0,QB=0,BB=0,EB=0,DB=0,CB=0.0,ZB=0,eB=0,wB=0,JB=0,gB=0,RB=0,pB=0.0,iB=0.0;var SB=0,PB=0,GB=0,aB=0,fB=0,IB=0,MB=0,OB=0,rB=0,UB=0,KB=0,FB=0,cB=0,sB=0,TB=0,hB=0,WB=0,HB=0,YB=0,oB=0;var kB=0;oB=cr;HB=n;kB=HB+48|0;do{Ur[HB>>2]=0|0;HB=HB+4|0}while((HB|0)<(kB|0));P=Ur[A>>2]|0;G=n+36|0;Ur[G>>2]=P;Md=+(P|0);VA=Md*8.0;tA=VA;DQ=+uC(+tA);PQ=DQ*1.4426950408889634;cQ=+NB(PQ);NQ=cQ+-1.0;vQ=~~NQ;a=n+32|0;Ur[a>>2]=vQ;T=+(B|0);L=T*0.25;_=L;en=_*0.5;In=+(Q|0);Wn=en/In;yn=+uC(+Wn);nd=yn*1.4426950216293335;Jd=nd+-5.9657840728759766;Od=vQ+1|0;Yd=1<>2]=YA;kA=+(Q|0);lA=kA+0.25;NA=lA*T;uA=NA;LA=uA*0.5;bA=LA/In;yA=+uC(+bA);xA=yA*1.4426950216293335;qA=xA+-5.9657840728759766;mA=qd*qA;zA=mA+0.5;XA=~~zA;vA=1-YA|0;jA=vA+XA|0;_A=n+40|0;Ur[_A>>2]=jA;$A=Q<<2;nQ=Wr($A)|0;dQ=n+16|0;Ur[dQ>>2]=nQ;AQ=Wr($A)|0;QQ=n+20|0;Ur[QQ>>2]=AQ;BQ=Wr($A)|0;EQ=n+24|0;Ur[EQ>>2]=BQ;CQ=n+4|0;Ur[CQ>>2]=d;Ur[n>>2]=Q;ZQ=n+44|0;Ur[ZQ>>2]=B;eQ=n+48|0;Kr[eQ>>2]=1.0;wQ=(B|0)<26e3;do{if(wQ){Kr[eQ>>2]=0.0}else{JQ=(B|0)<38e3;if(JQ){Kr[eQ>>2]=0.93999999761581421;break}gQ=(B|0)>46e3;if(gQ){Kr[eQ>>2]=1.2749999761581421}}}while(0);RQ=In*2.0;pQ=+(B|0);iQ=(Q|0)>0;fQ=iQ;aB=0;KB=0;n:while(1){e=fQ^1;fB=aB;while(1){MQ=fB+1|0;OQ=+(MQ|0);rQ=OQ*0.08664337545633316;UQ=rQ+2.7488713472395148;KQ=+NC(+UQ);FQ=RQ*KQ;sQ=FQ/pQ;TQ=+NB(sQ);hQ=~~TQ;Z=(hQ|0)<=(KB|0);ZB=Z|e;if(!ZB){D=MQ;C=hQ;IB=fB;break}WQ=(MQ|0)<87;if(WQ){fB=MQ}else{UB=KB;break n}}HQ=1272+(IB<<2)|0;YQ=+Kr[HQ>>2];oQ=1272+(D<<2)|0;kQ=+Kr[oQ>>2];lQ=kQ-YQ;VQ=C-KB|0;uQ=+(VQ|0);LQ=lQ/uQ;bQ=KB-C|0;yQ=KB-Q|0;xQ=bQ>>>0>yQ>>>0;WB=xQ?bQ:yQ;SQ=KB-WB|0;CB=YQ;FB=KB;while(1){qQ=CB+100.0;mQ=nQ+(FB<<2)|0;Kr[mQ>>2]=qQ;zQ=CB+LQ;XQ=FB+1|0;RB=(XQ|0)==(SQ|0);if(RB){break}else{CB=zQ;FB=XQ}}GQ=(SQ|0)<(Q|0);aQ=(D|0)<87;if(aQ){fQ=GQ;aB=D;KB=SQ}else{UB=SQ;break}}IQ=(UB|0)<(Q|0);if(IQ){cB=UB;while(1){BB=cB+-1|0;EB=nQ+(BB<<2)|0;DB=Ur[EB>>2]|0;f=nQ+(cB<<2)|0;Ur[f>>2]=DB;I=cB+1|0;gB=(I|0)==(Q|0);if(gB){break}else{cB=I}}}tQ=(Q|0)>0;if(tQ){jQ=Q<<1;_Q=(B|0)/(jQ|0)&-1;$Q=d+120|0;nB=Ur[$Q>>2]|0;dB=d+124|0;AB=d+116|0;QB=d+112|0;SB=1;MB=0;sB=-99;while(1){F=sr(_Q,MB)|0;c=+(F|0);s=c*7.3999998858198524E-4;h=s;W=+lB(+h);H=W*13.100000381469727;Y=sr(F,F)|0;o=+(Y|0);k=o*1.8499999754340024E-8;l=k;V=+lB(+l);N=V*2.2400000095367432;u=N+H;b=c*9.9999997473787516E-5;y=b;x=u+y;q=x;m=nB+sB|0;z=(m|0)<(MB|0);n:do{if(z){X=+Kr[QB>>2];t=q-X;v=t;hB=sB;while(1){j=sr(hB,_Q)|0;$=+(j|0);nn=$*7.3999998858198524E-4;dn=nn;An=+lB(+dn);Qn=An*13.100000381469727;Bn=sr(j,j)|0;En=+(Bn|0);Dn=En*1.8499999754340024E-8;Cn=Dn;Zn=+lB(+Cn);wn=Zn*2.2400000095367432;Jn=$*9.9999997473787516E-5;gn=Jn;Rn=Qn+gn;pn=Rn+wn;Sn=pn(Q|0);n:do{if(Pn){PB=SB}else{Gn=Ur[dB>>2]|0;an=Gn+MB|0;GB=SB;while(1){rn=(GB|0)<(an|0);if(!rn){Un=sr(GB,_Q)|0;Kn=+(Un|0);Fn=Kn*7.3999998858198524E-4;cn=Fn;sn=+lB(+cn);Tn=sn*13.100000381469727;hn=sr(Un,Un)|0;Hn=+(hn|0);Yn=Hn*1.8499999754340024E-8;on=Yn;kn=+lB(+on);ln=kn*2.2400000095367432;Vn=Kn*9.9999997473787516E-5;Nn=Vn;un=Tn+Nn;Ln=un+ln;bn=+Kr[AB>>2];xn=bn+q;qn=xn;mn=Ln>2]=jn;$n=MB+1|0;JB=($n|0)==(Q|0);if(JB){break}else{SB=PB;MB=$n;sB=TB}}if(tQ){M=pQ*0.5;O=Ur[a>>2]|0;r=O+1|0;U=1<>2]=gd;pd=OB+1|0;wB=(pd|0)==(Q|0);if(wB){R=M;break}else{OB=pd}}}else{YB=19}}else{YB=19}if((YB|0)==19){S=pQ*0.5;R=S}id=d+36|0;Sd=R/In;Pd=Sd;Gd=d+24|0;ad=+Kr[Gd>>2];fd=d+28|0;Id=+Kr[fd>>2];rd=VB(id,Pd,Q,ad,Id)|0;Ud=n+8|0;Ur[Ud>>2]=rd;Kd=Wr(12)|0;Fd=n+12|0;Ur[Fd>>2]=Kd;cd=Wr($A)|0;Ur[Kd>>2]=cd;sd=Wr($A)|0;Td=Kd+4|0;Ur[Td>>2]=sd;hd=Wr($A)|0;Wd=Kd+8|0;Ur[Wd>>2]=hd;if(!tQ){return}Hd=Ur[CQ>>2]|0;g=Ur[Kd>>2]|0;w=Kd+4|0;p=Ur[w>>2]|0;J=Kd+8|0;i=Ur[J>>2]|0;rB=0;while(1){od=+(rB|0);kd=od+0.5;ld=kd*pQ;Vd=ld/RQ;Nd=+uC(+Vd);ud=Nd*2.885390043258667;Ld=ud+-11.931568145751953;bd=Ld;yd=bd<0.0;pB=yd?0.0:bd;E=pB>=16.0;iB=E?16.0:pB;xd=~~iB;md=+(xd|0);zd=iB-md;Xd=zd;td=1.0-Xd;vd=xd+1|0;jd=(Hd+132|0)+(xd<<2)|0;_d=+Kr[jd>>2];$d=_d;nA=$d*td;dA=(Hd+132|0)+(vd<<2)|0;QA=+Kr[dA>>2];BA=QA*zd;EA=BA;DA=EA+nA;CA=DA;ZA=g+(rB<<2)|0;Kr[ZA>>2]=CA;eA=(Hd+200|0)+(xd<<2)|0;wA=+Kr[eA>>2];JA=wA;gA=JA*td;pA=(Hd+200|0)+(vd<<2)|0;iA=+Kr[pA>>2];SA=iA*zd;PA=SA;GA=PA+gA;aA=GA;fA=p+(rB<<2)|0;Kr[fA>>2]=aA;IA=(Hd+268|0)+(xd<<2)|0;MA=+Kr[IA>>2];OA=MA;UA=OA*td;KA=(Hd+268|0)+(vd<<2)|0;FA=+Kr[KA>>2];cA=FA*zd;sA=cA;TA=sA+UA;hA=TA;WA=i+(rB<<2)|0;Kr[WA>>2]=hA;HA=rB+1|0;eB=(HA|0)==(Q|0);if(eB){break}else{rB=HA}}return}function qd(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0;var Cn=0,Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0;In=cr;A=(n|0)==(0|0);if(A){return}Q=n+16|0;p=Ur[Q>>2]|0;U=(p|0)==(0|0);if(!U){qB(p)}k=n+20|0;z=Ur[k>>2]|0;Bn=(z|0)==(0|0);if(!Bn){qB(z)}Rn=n+24|0;pn=Ur[Rn>>2]|0;Sn=(pn|0)==(0|0);if(!Sn){qB(pn)}B=n+8|0;E=Ur[B>>2]|0;D=(E|0)==(0|0);if(!D){Z=E;Gn=0;while(1){C=Z+(Gn<<2)|0;e=Ur[C>>2]|0;w=Ur[e>>2]|0;qB(w);J=Ur[B>>2]|0;g=J+(Gn<<2)|0;R=Ur[g>>2]|0;i=R+4|0;S=Ur[i>>2]|0;qB(S);P=Ur[B>>2]|0;G=P+(Gn<<2)|0;a=Ur[G>>2]|0;f=a+8|0;I=Ur[f>>2]|0;qB(I);M=Ur[B>>2]|0;O=M+(Gn<<2)|0;r=Ur[O>>2]|0;K=r+12|0;F=Ur[K>>2]|0;qB(F);c=Ur[B>>2]|0;s=c+(Gn<<2)|0;T=Ur[s>>2]|0;h=T+16|0;W=Ur[h>>2]|0;qB(W);H=Ur[B>>2]|0;Y=H+(Gn<<2)|0;o=Ur[Y>>2]|0;l=o+20|0;V=Ur[l>>2]|0;qB(V);N=Ur[B>>2]|0;u=N+(Gn<<2)|0;L=Ur[u>>2]|0;b=L+24|0;y=Ur[b>>2]|0;qB(y);x=Ur[B>>2]|0;q=x+(Gn<<2)|0;m=Ur[q>>2]|0;X=m+28|0;t=Ur[X>>2]|0;qB(t);v=Ur[B>>2]|0;j=v+(Gn<<2)|0;_=Ur[j>>2]|0;qB(_);$=Gn+1|0;Pn=($|0)==17;if(Pn){break}d=Ur[B>>2]|0;Z=d;Gn=$}nn=Ur[B>>2]|0;qB(nn)}dn=n+12|0;An=Ur[dn>>2]|0;Qn=(An|0)==(0|0);if(!Qn){En=Ur[An>>2]|0;qB(En);Dn=Ur[dn>>2]|0;Cn=Dn+4|0;Zn=Ur[Cn>>2]|0;qB(Zn);en=Ur[dn>>2]|0;wn=en+8|0;Jn=Ur[wn>>2]|0;qB(Jn);gn=Ur[dn>>2]|0;qB(gn)}an=n;Mn=an+52|0;do{Ur[an>>2]=0|0;an=an+4|0}while((an|0)<(Mn|0));return}function dJ(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0,B=0,E=0,D=0,C=0,Z=0.0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0.0,f=0,I=0.0,M=0.0;var O=0,r=0,U=0.0,K=0.0,F=0.0,c=0,s=0,T=0,h=0,W=0,H=0.0,Y=0,o=0.0,k=0.0,l=0,V=0,N=0,u=0,L=0.0,b=0;var y=0.0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0;j=cr;D=Ur[n>>2]|0;C=D<<2;E=C;G=cr;cr=cr+((1*E|0)+15&-16)|0;s=n+24|0;V=Ur[s>>2]|0;_n(D,V,d,A,140.0,-1);N=(D|0)>0;if(N){z=0;while(1){u=d+(z<<2)|0;L=+Kr[u>>2];b=A+(z<<2)|0;y=+Kr[b>>2];Z=L-y;e=G+(z<<2)|0;Kr[e>>2]=Z;w=z+1|0;q=(w|0)==(D|0);if(q){break}else{z=w}}}J=Ur[s>>2]|0;g=n+4|0;R=Ur[g>>2]|0;p=R+128|0;i=Ur[p>>2]|0;_n(D,J,G,A,0.0,i);if(N){X=0}else{cr=j;return}while(1){P=d+(X<<2)|0;a=+Kr[P>>2];f=G+(X<<2)|0;I=+Kr[f>>2];M=a-I;Kr[f>>2]=M;O=X+1|0;m=(O|0)==(D|0);if(m){break}else{X=O}}if(!N){cr=j;return}S=Ur[g>>2]|0;t=0;while(1){r=A+(t<<2)|0;U=+Kr[r>>2];K=U;F=K+0.5;c=~~F;T=(c|0)>39;Q=T?39:c;h=(Q|0)<0;B=h?0:Q;W=G+(t<<2)|0;H=+Kr[W>>2];Y=(S+336|0)+(B<<2)|0;o=+Kr[Y>>2];k=o+H;Kr[r>>2]=k;l=t+1|0;x=(l|0)==(D|0);if(x){break}else{t=l}}cr=j;return}function AJ(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=+Q;B=+B;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0.0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0;var U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0.0,L=0,b=0,y=0,x=0;var q=0,m=0,z=0,X=0,t=0.0,v=0,j=0,_=0,$=0,nn=0,dn=0.0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0,wn=0;var Jn=0.0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0.0,Mn=0,On=0,rn=0.0,Un=0.0,Kn=0,Fn=0,cn=0,sn=0,Tn=0,hn=0;var Wn=0,Hn=0,Yn=0.0,on=0.0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0.0,bn=0.0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0.0,jn=0;var _n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0.0,Cd=0,Zd=0.0,ed=0,wd=0.0,Jd=0,gd=0,Rd=0,pd=0,id=0,Sd=0,Pd=0;var Gd=0,ad=0,fd=0.0,Id=0.0,Md=0,Od=0.0,rd=0.0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0.0,od=0,kd=0.0,ld=0;var Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0.0,xd=0.0,qd=0,md=0.0,zd=0.0,Xd=0.0,td=0.0,vd=0.0,jd=0.0,_d=0,$d=0,nA=0,dA=0.0,AA=0.0,QA=0.0;var BA=0,EA=0.0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0.0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0,IA=0,MA=0,OA=0;var rA=0,UA=0,KA=0,FA=0.0,cA=0.0,sA=0.0,TA=0.0,hA=0.0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0;NA=cr;I=Ur[n>>2]|0;M=n+40|0;Wn=Ur[M>>2]|0;yn=Wn<<2;C=yn;nd=cr;cr=cr+((1*C|0)+15&-16)|0;Jd=n+4|0;Md=Ur[Jd>>2]|0;Hd=Md+4|0;xd=+Kr[Hd>>2];dA=xd+B;O=(Wn|0)>0;if(O){SA=0;while(1){Y=nd+(SA<<2)|0;Kr[Y>>2]=-9999.0;q=SA+1|0;An=(q|0)<(Wn|0);if(An){SA=q}else{break}}}Rn=Md+8|0;Un=+Kr[Rn>>2];cn=dA0;if(sn){Tn=n+16|0;hn=Ur[Tn>>2]|0;IA=0;while(1){Hn=hn+(IA<<2)|0;Yn=+Kr[Hn>>2];on=Yn+gA;kn=A+(IA<<2)|0;Kr[kn>>2]=on;ln=IA+1|0;pA=(ln|0)==(I|0);if(pA){break}else{IA=ln}}Vn=n+8|0;Nn=Ur[Vn>>2]|0;un=Md+496|0;Ln=+Kr[un>>2];bn=Ln-Q;if(sn){xn=n+20|0;qn=Ur[xn>>2]|0;mn=n+32|0;zn=n+36|0;Xn=n+28|0;PA=0;while(1){tn=d+(PA<<2)|0;vn=+Kr[tn>>2];jn=qn+(PA<<2)|0;_n=Ur[jn>>2]|0;fA=PA;FA=vn;n:while(1){GA=fA;while(1){$n=GA+1|0;dd=($n|0)<(I|0);if(!dd){J=0;R=$n;aA=GA;cA=FA;break n}Ad=qn+($n<<2)|0;Qd=Ur[Ad>>2]|0;Bd=(Qd|0)==(_n|0);if(!Bd){J=1;R=$n;aA=GA;cA=FA;break n}Ed=d+($n<<2)|0;Dd=+Kr[Ed>>2];Cd=Dd>FA;if(Cd){fA=$n;FA=Dd;continue n}else{GA=$n}}}Zd=cA+6.0;ed=A+(aA<<2)|0;wd=+Kr[ed>>2];gd=Zd>wd;if(gd){Rd=Ur[mn>>2]|0;pd=_n>>Rd;id=(pd|0)>16;D=id?16:pd;Sd=(D|0)<0;E=Sd?0:D;Pd=Nn+(E<<2)|0;Gd=Ur[Pd>>2]|0;ad=Ur[zn>>2]|0;fd=bn+cA;Id=fd;Od=Id+-30.0;rd=Od*0.10000000149011612;Ud=~~rd;Kd=(Ud|0)<0;Fd=Kd?0:Ud;cd=(Fd|0)>7;sd=cd?7:Fd;Td=Gd+(sd<<2)|0;hd=Ur[Td>>2]|0;Wd=hd+4|0;Yd=+Kr[Wd>>2];od=~~Yd;kd=+Kr[hd>>2];ld=~~kd;Vd=(ld|0)<(od|0);if(Vd){Nd=qn+(aA<<2)|0;ud=Ur[Nd>>2]|0;Ld=Ur[Xn>>2]|0;bd=ud-Ld|0;yd=+(bd|0);qd=ad>>1;md=+(qd|0);zd=kd+-16.0;Xd=+(ad|0);td=zd*Xd;vd=td-md;jd=vd+yd;_d=~~jd;iA=ld;lA=_d;while(1){$d=(lA|0)>0;if($d){f=iA+2|0;nA=hd+(f<<2)|0;AA=+Kr[nA>>2];QA=AA+cA;BA=nd+(lA<<2)|0;EA=+Kr[BA>>2];DA=EA>2]=QA}}CA=lA+ad|0;ZA=(CA|0)<(Wn|0);eA=iA+1|0;wA=(eA|0)<(od|0);YA=wA&ZA;if(YA){iA=eA;lA=CA}else{break}}}}if(J){PA=R}else{G=zn;break}}}else{VA=7}}else{VA=7}if((VA|0)==7){S=n+36|0;G=S}JA=Ur[G>>2]|0;uA(nd,JA,Wn);r=Ur[n>>2]|0;U=(r|0)>1;n:do{if(U){K=n+20|0;F=n+28|0;c=Ur[K>>2]|0;s=Ur[c>>2]|0;T=JA>>1;h=s-T|0;W=Ur[F>>2]|0;H=h-W|0;o=Ur[Jd>>2]|0;k=o+32|0;b=1;m=s;OA=0;oA=H;while(1){N=nd+(oA<<2)|0;u=+Kr[N>>2];L=c+(b<<2)|0;y=Ur[L>>2]|0;x=y+m|0;z=x>>1;X=z-W|0;t=+Kr[k>>2];v=u>t;sA=v?t:u;j=(oA|0)<(X|0);d:do{if(j){Z=oA;hA=sA;while(1){_=hA==-9999.0;e=Z;while(1){$=e+1|0;nn=nd+($<<2)|0;dn=+Kr[nn>>2];Qn=dn>-9999.0;if(Qn){Bn=dn=(r|0);en=(m|0)>(Cn|0);WA=Zn|en;d:do{if(WA){rA=OA}else{UA=OA;while(1){wn=A+(UA<<2)|0;Jn=+Kr[wn>>2];gn=Jn>2]=TA}pn=UA+1|0;Sn=(pn|0)<(r|0);if(!Sn){rA=pn;break d}i=c+(pn<<2)|0;a=Ur[i>>2]|0;Pn=(a|0)>(Cn|0);if(Pn){rA=pn;break}else{UA=pn}}}}while(0);l=rA+1|0;V=(l|0)<(r|0);if(!V){MA=rA;break n}p=c+(rA<<2)|0;P=Ur[p>>2]|0;b=l;m=P;OA=rA;oA=kA}}else{MA=0}}while(0);Gn=Ur[M>>2]|0;an=Gn+-1|0;fn=nd+(an<<2)|0;In=+Kr[fn>>2];Mn=(MA|0)<(r|0);if(Mn){KA=MA}else{cr=NA;return}while(1){On=A+(KA<<2)|0;rn=+Kr[On>>2];Kn=rn>2]=In}Fn=KA+1|0;RA=(Fn|0)==(r|0);if(RA){break}else{KA=Fn}}cr=NA;return}function QJ(n,d,A,Q,B,E,D){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;D=D|0;var C=0.0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0.0,i=0.0,S=0.0,P=0,G=0.0,a=0,f=0,I=0.0,M=0.0,O=0.0,r=0,U=0,K=0.0;var F=0.0,c=0,s=0,T=0,h=0,W=0.0,H=0.0,Y=0,o=0.0,k=0.0,l=0.0,V=0.0,N=0.0,u=0,L=0.0,b=0.0,y=0.0,x=0.0,q=0,m=0.0;var z=0.0,X=0,t=0,v=0,j=0.0,_=0,$=0,nn=0.0,dn=0,An=0,Qn=0.0,Bn=0,En=0;En=cr;Z=Ur[n>>2]|0;e=n+4|0;f=Ur[e>>2]|0;h=(f+12|0)+(Q<<2)|0;b=+Kr[h>>2];t=(Z|0)>0;if(!t){return}v=n+48|0;j=+Kr[v>>2];_=n+12|0;$=Ur[_>>2]|0;w=$+(Q<<2)|0;J=Ur[w>>2]|0;g=f+108|0;R=(Q|0)==1;p=j;i=p*0.0050000000000000001;S=p*2.9999999999999997E-4;An=0;while(1){P=d+(An<<2)|0;G=+Kr[P>>2];a=J+(An<<2)|0;I=+Kr[a>>2];M=I+G;O=+Kr[g>>2];r=M>O;Qn=r?O:M;U=A+(An<<2)|0;K=+Kr[U>>2];F=K+b;c=Qn>2]=C;if(R){T=D+(An<<2)|0;W=+Kr[T>>2];H=Qn-W;Y=H>-17.200000762939453;o=H+17.200000762939453;k=o;if(Y){l=i*k;V=1.0-l;N=V;u=N<0.0;if(u){nn=9.9999997473787516E-5}else{nn=N}}else{L=S*k;y=1.0-L;x=y;nn=x}q=E+(An<<2)|0;m=+Kr[q>>2];z=m*nn;Kr[q>>2]=z}X=An+1|0;dn=(X|0)==(Z|0);if(dn){break}else{An=X}}return}function xB(n,d){n=+n;d=d|0;var A=0.0,Q=0,B=0,E=0,D=0,C=0.0,Z=0.0,e=0,w=0.0,J=0.0,g=0.0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0.0;var M=0,O=0;O=cr;Q=d+4|0;B=Ur[Q>>2]|0;p=B+28|0;i=Ur[p>>2]|0;S=d+40|0;P=Ur[S>>2]|0;G=i+(P<<2)|0;a=Ur[G>>2]|0;f=(a|0)/2&-1;I=+(f|0);E=B+8|0;D=Ur[E>>2]|0;C=+(D|0);Z=I/C;e=i+2936|0;w=+Kr[e>>2];J=w*Z;g=J+n;R=g<-9999.0;A=R?-9999.0:g;return+A}function BJ(n,d,A,Q,B,E,D,C,Z){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;D=D|0;C=C|0;Z=Z|0;var e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0;var s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0.0,N=0,u=0,L=0,b=0,y=0.0,x=0.0,q=0,m=0,z=0,X=0;var t=0,v=0,j=0,_=0,$=0,nn=0.0,dn=0.0,An=0,Qn=0,Bn=0.0,En=0,Dn=0.0,Cn=0.0,Zn=0,en=0,wn=0.0,Jn=0.0,gn=0,Rn=0,pn=0;var Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0,hn=0,Wn=0.0,Hn=0,Yn=0,on=0;var kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0;var Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0.0,pd=0,id=0.0,Sd=0.0,Pd=0,Gd=0.0,ad=0,fd=0.0,Id=0.0;var Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0;var bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0.0,_d=0,$d=0.0,nA=0.0,dA=0,AA=0,QA=0,BA=0.0,EA=0,DA=0.0,CA=0.0;var ZA=0,eA=0.0,wA=0,JA=0.0,gA=0,RA=0,pA=0,iA=0,SA=0.0,PA=0,GA=0.0,aA=0.0,fA=0,IA=0,MA=0,OA=0,rA=0,UA=0,KA=0,FA=0;var cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0,LA=0,bA=0,yA=0,xA=0,qA=0,mA=0,zA=0;var XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0,DQ=0,CQ=0,ZQ=0,eQ=0,wQ=0,JQ=0,gQ=0,RQ=0;var pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0,rQ=0,UQ=0,KQ=0,FQ=0,cQ=0,sQ=0,TQ=0,hQ=0,WQ=0,HQ=0;var YQ=0,oQ=0,kQ=0,lQ=0,VQ=0,NQ=0,uQ=0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0,mQ=0,zQ=0,XQ=0,tQ=0,vQ=0,jQ=0,_Q=0,$Q=0;var nB=0,dB=0,AB=0,QB=0,BB=0,EB=0,DB=0,CB=0,ZB=0,eB=0,wB=0,JB=0,gB=0,RB=0,pB=0,iB=0,SB=0,PB=0.0,GB=0,aB=0.0;var fB=0,IB=0,MB=0,OB=0,rB=0,UB=0,KB=0,FB=0,cB=0.0,sB=0.0,TB=0.0,hB=0.0,WB=0.0,HB=0.0,YB=0,oB=0,kB=0,lB=0,VB=0,NB=0;var uB=0,LB=0,bB=0,yB=0,xB=0,qB=0,mB=0,zB=0,XB=0,tB=0,vB=0,jB=0,_B=0,$B=0.0,nE=0,dE=0,AE=0,QE=0,BE=0,EE=0;EE=cr;N=Ur[A>>2]|0;u=A+4|0;xd=Ur[u>>2]|0;jA=xd+500|0;ZQ=Ur[jA>>2]|0;aQ=(ZQ|0)==0;if(aQ){zA=16}else{TQ=xd+508|0;LQ=Ur[TQ>>2]|0;zA=LQ}_Q=Ur[xd>>2]|0;eB=((d+132|0)+(_Q*60|0)|0)+(n<<2)|0;L=Ur[eB>>2]|0;_=(d+252|0)+(n<<2)|0;en=Ur[_>>2]|0;In=1624+(en<<3)|0;Wn=+Fr[In>>3];yn=(d+312|0)+(n<<2)|0;nd=Ur[yn>>2]|0;Jd=Z<<2;J=Jd;Md=cr;cr=cr+((1*J|0)+15&-16)|0;g=Jd;Hd=cr;cr=cr+((1*g|0)+15&-16)|0;S=Jd;qd=cr;cr=cr+((1*S|0)+15&-16)|0;P=Jd;AA=cr;cr=cr+((1*P|0)+15&-16)|0;G=Jd;RA=cr;cr=cr+((1*G|0)+15&-16)|0;rA=Q+1156|0;oA=(N|0)>1e3;QE=oA?1696:1624;nE=QE+(nd<<3)|0;$B=+Fr[nE>>3];mA=sr(Jd,zA)|0;a=mA;XA=cr;cr=cr+((1*a|0)+15&-16)|0;Ur[Md>>2]=XA;R=mA;tA=cr;cr=cr+((1*R|0)+15&-16)|0;Ur[Hd>>2]=tA;p=mA;vA=cr;cr=cr+((1*p|0)+15&-16)|0;Ur[qd>>2]=vA;i=mA;_A=cr;cr=cr+((1*i|0)+15&-16)|0;Ur[AA>>2]=_A;$A=(Z|0)>1;if($A){nQ=XA+(zA<<2)|0;dQ=Md+4|0;Ur[dQ>>2]=nQ;AQ=tA+(zA<<2)|0;QQ=Hd+4|0;Ur[QQ>>2]=AQ;BQ=vA+(zA<<2)|0;EQ=qd+4|0;Ur[EQ>>2]=BQ;DQ=_A+(zA<<2)|0;CQ=AA+4|0;Ur[CQ>>2]=DQ;FB=(Z|0)==2;if(!FB){gQ=2;while(1){I=Ur[Md>>2]|0;r=Ur[Hd>>2]|0;U=Ur[qd>>2]|0;K=Ur[AA>>2]|0;JQ=sr(gQ,zA)|0;RQ=I+(JQ<<2)|0;pQ=Md+(gQ<<2)|0;Ur[pQ>>2]=RQ;iQ=r+(JQ<<2)|0;SQ=Hd+(gQ<<2)|0;Ur[SQ>>2]=iQ;PQ=U+(JQ<<2)|0;GQ=qd+(gQ<<2)|0;Ur[GQ>>2]=PQ;fQ=K+(JQ<<2)|0;IQ=AA+(gQ<<2)|0;Ur[IQ>>2]=fQ;MQ=gQ+1|0;KB=(MQ|0)==(Z|0);if(KB){break}else{gQ=MQ}}}}eQ=Ur[rA>>2]|0;wQ=(N|0)>0;if(wQ){OQ=Ur[AA>>2]|0;rQ=(Z|0)>0;UQ=N^-1;KQ=zA^-1;YB=0;lB=UQ;while(1){sQ=(lB|0)>(KQ|0);dE=sQ?lB:KQ;hQ=dE^-1;WQ=N-YB|0;HQ=(zA|0)>(WQ|0);e=HQ?WQ:zA;Yr(RA|0,D|0,Jd|0)|0;AZ(OQ|0,0,mA|0)|0;if(rQ){YQ=(e|0)>0;oQ=L-YB|0;mB=0;while(1){bQ=E+(mB<<2)|0;yQ=Ur[bQ>>2]|0;xQ=yQ+(YB<<2)|0;qQ=RA+(mB<<2)|0;mQ=Ur[qQ>>2]|0;zQ=(mQ|0)==0;if(zQ){if(YQ){vQ=qd+(mB<<2)|0;jQ=Ur[vQ>>2]|0;$Q=Md+(mB<<2)|0;nB=Ur[$Q>>2]|0;dB=Hd+(mB<<2)|0;AB=Ur[dB>>2]|0;QB=AA+(mB<<2)|0;BB=Ur[QB>>2]|0;xB=0;while(1){Sn=jQ+(xB<<2)|0;Kr[Sn>>2]=1.000000013351432E-10;Pn=nB+(xB<<2)|0;Kr[Pn>>2]=0.0;Gn=AB+(xB<<2)|0;Kr[Gn>>2]=0.0;an=BB+(xB<<2)|0;Ur[an>>2]=0;Y=xB+YB|0;fn=yQ+(Y<<2)|0;Ur[fn>>2]=0;Mn=xB+1|0;OB=(Mn|0)==(hQ|0);if(OB){break}else{xB=Mn}}}}else{XQ=qd+(mB<<2)|0;tQ=Ur[XQ>>2]|0;if(YQ){bB=0;while(1){o=bB+YB|0;EB=yQ+(o<<2)|0;DB=Ur[EB>>2]|0;CB=1768+(DB<<2)|0;ZB=Ur[CB>>2]|0;wB=tQ+(bB<<2)|0;Ur[wB>>2]=ZB;JB=bB+1|0;fB=(JB|0)==(hQ|0);if(fB){break}else{bB=JB}}gB=B+(mB<<2)|0;RB=Ur[gB>>2]|0;pB=AA+(mB<<2)|0;iB=Ur[pB>>2]|0;if(YQ){LB=0;while(1){SB=(LB|0)>=(oQ|0);V=SB?$B:Wn;PB=V;k=LB+YB|0;GB=RB+(k<<2)|0;aB=+Kr[GB>>2];sB=+DE(+aB);b=tQ+(LB<<2)|0;y=+Kr[b>>2];x=sB/y;q=iB+(LB<<2)|0;vB=!(x>2]=w;m=LB+1|0;IB=(m|0)==(e|0);if(IB){break}else{LB=m}}if(YQ){z=Md+(mB<<2)|0;X=Ur[z>>2]|0;t=Hd+(mB<<2)|0;v=Ur[t>>2]|0;yB=0;while(1){j=yB+YB|0;$=RB+(j<<2)|0;nn=+Kr[$>>2];dn=nn*nn;An=X+(yB<<2)|0;Kr[An>>2]=dn;Qn=v+(yB<<2)|0;Kr[Qn>>2]=dn;Bn=+Kr[$>>2];En=Bn<0.0;if(En){Dn=+Kr[An>>2];Cn=-Dn;Kr[An>>2]=Cn}Zn=tQ+(yB<<2)|0;wn=+Kr[Zn>>2];Jn=wn*wn;Kr[Zn>>2]=Jn;gn=yB+1|0;MB=(gn|0)==(hQ|0);if(MB){M=t;pn=X;break}else{yB=gn}}}else{BE=21}}else{BE=21}}else{BE=21}if((BE|0)==21){BE=0;f=Md+(mB<<2)|0;F=Ur[f>>2]|0;W=Hd+(mB<<2)|0;M=W;pn=F}Rn=Ur[M>>2]|0;jB=Ur[u>>2]|0;+CE(jB,L,pn,Rn,tQ,0,YB,e,xQ)}On=mB+1|0;rB=(On|0)==(Z|0);if(rB){break}else{mB=On}}}kQ=Ur[rA>>2]|0;lQ=(kQ|0)>0;if(lQ){VQ=(e|0)>0;NQ=C-YB|0;uQ=L-YB|0;qA=kQ;AE=0;while(1){rn=(Q+1160|0)+(AE<<2)|0;Un=Ur[rn>>2]|0;Kn=(Q+2184|0)+(AE<<2)|0;Fn=Ur[Kn>>2]|0;cn=E+(Un<<2)|0;sn=Ur[cn>>2]|0;Tn=sn+(YB<<2)|0;hn=E+(Fn<<2)|0;Hn=Ur[hn>>2]|0;Yn=Md+(Un<<2)|0;on=Ur[Yn>>2]|0;kn=Md+(Fn<<2)|0;ln=Ur[kn>>2]|0;Vn=Hd+(Un<<2)|0;Nn=Ur[Vn>>2]|0;un=Hd+(Fn<<2)|0;Ln=Ur[un>>2]|0;bn=qd+(Un<<2)|0;xn=Ur[bn>>2]|0;qn=qd+(Fn<<2)|0;mn=Ur[qn>>2]|0;zn=AA+(Un<<2)|0;Xn=Ur[zn>>2]|0;tn=AA+(Fn<<2)|0;vn=Ur[tn>>2]|0;jn=RA+(Un<<2)|0;_n=Ur[jn>>2]|0;$n=(_n|0)==0;dd=RA+(Fn<<2)|0;if($n){Ad=Ur[dd>>2]|0;Qd=(Ad|0)==0;if(Qd){OA=qA}else{BE=31}}else{BE=31}if((BE|0)==31){BE=0;Ur[dd>>2]=1;Ur[jn>>2]=1;if(VQ){qB=0;while(1){Bd=(qB|0)<(NQ|0);do{if(Bd){Ed=Xn+(qB<<2)|0;Dd=Ur[Ed>>2]|0;Cd=(Dd|0)==0;Zd=vn+(qB<<2)|0;if(Cd){ed=Ur[Zd>>2]|0;wd=(ed|0)==0;if(wd){td=(qB|0)<(uQ|0);do{if(td){vd=ln+(qB<<2)|0;jd=+Kr[vd>>2];_d=on+(qB<<2)|0;$d=+Kr[_d>>2];nA=$d+jd;Kr[_d>>2]=nA;hB=+DE(+nA);dA=Nn+(qB<<2)|0;Kr[dA>>2]=hB;O=vd}else{QA=on+(qB<<2)|0;BA=+Kr[QA>>2];EA=ln+(qB<<2)|0;DA=+Kr[EA>>2];CA=DA+BA;ZA=CA<0.0;cB=+DE(+BA);TB=+DE(+DA);eA=TB+cB;wA=Nn+(qB<<2)|0;Kr[wA>>2]=eA;if(ZA){JA=-eA;Kr[QA>>2]=JA;O=EA;break}else{Kr[QA>>2]=eA;O=EA;break}}}while(0);gA=Ln+(qB<<2)|0;Kr[gA>>2]=0.0;Kr[O>>2]=0.0;Ur[Zd>>2]=1;H=qB+YB|0;pA=Hn+(H<<2)|0;Ur[pA>>2]=0;break}}gd=on+(qB<<2)|0;Rd=+Kr[gd>>2];WB=+DE(+Rd);pd=ln+(qB<<2)|0;id=+Kr[pd>>2];HB=+DE(+id);Sd=HB+WB;Kr[gd>>2]=Sd;Pd=Nn+(qB<<2)|0;Gd=+Kr[Pd>>2];ad=Ln+(qB<<2)|0;fd=+Kr[ad>>2];Id=fd+Gd;Kr[Pd>>2]=Id;Ur[Zd>>2]=1;Ur[Ed>>2]=1;l=qB+YB|0;Od=sn+(l<<2)|0;rd=Ur[Od>>2]|0;Ud=Hn+(l<<2)|0;Kd=Ur[Ud>>2]|0;VB=(rd|0)>-1;zB=0-rd|0;Fd=VB?rd:zB;NB=(Kd|0)>-1;tB=0-Kd|0;cd=NB?Kd:tB;sd=(Fd|0)>(cd|0);if(sd){Td=(rd|0)>0;hd=rd-Kd|0;Wd=Kd-rd|0;Yd=Td?hd:Wd;Ur[Ud>>2]=Yd;s=Ur[Od>>2]|0;Nd=s;bd=Yd}else{od=(Kd|0)>0;kd=rd-Kd|0;ld=Kd-rd|0;Vd=od?kd:ld;Ur[Ud>>2]=Vd;Ur[Od>>2]=Kd;c=Ur[Ud>>2]|0;Nd=Kd;bd=c}uB=(Nd|0)>-1;XB=0-Nd|0;ud=uB?Nd:XB;Ld=ud<<1;yd=(bd|0)<(Ld|0);if(!yd){md=0-bd|0;Ur[Ud>>2]=md;zd=Ur[Od>>2]|0;Xd=0-zd|0;Ur[Od>>2]=Xd}}}while(0);iA=xn+(qB<<2)|0;SA=+Kr[iA>>2];PA=mn+(qB<<2)|0;GA=+Kr[PA>>2];aA=GA+SA;Kr[PA>>2]=aA;Kr[iA>>2]=aA;fA=qB+1|0;UB=(fA|0)==(hQ|0);if(UB){break}else{qB=fA}}}_B=Ur[u>>2]|0;+CE(_B,L,on,Nn,xn,Xn,YB,e,Tn);T=Ur[rA>>2]|0;OA=T}IA=AE+1|0;MA=(IA|0)<(OA|0);if(MA){qA=OA;AE=IA}else{xA=OA;break}}}else{xA=kQ}UA=YB+zA|0;KA=(N|0)>(UA|0);kB=lB+zA|0;if(KA){YB=UA;lB=kB}else{FQ=xA;break}}}else{FQ=eQ}cQ=(FQ|0)>0;if(cQ){yA=FQ;oB=0}else{cr=EE;return}while(1){FA=(Q+1160|0)+(oB<<2)|0;cA=Ur[FA>>2]|0;sA=D+(cA<<2)|0;TA=Ur[sA>>2]|0;hA=(TA|0)==0;WA=(Q+2184|0)+(oB<<2)|0;if(hA){HA=Ur[WA>>2]|0;YA=D+(HA<<2)|0;kA=Ur[YA>>2]|0;lA=(kA|0)==0;if(lA){bA=yA}else{BE=52}}else{BE=52}if((BE|0)==52){BE=0;Ur[sA>>2]=1;VA=Ur[WA>>2]|0;NA=D+(VA<<2)|0;Ur[NA>>2]=1;h=Ur[rA>>2]|0;bA=h}uA=oB+1|0;LA=(uA|0)<(bA|0);if(LA){yA=bA;oB=uA}else{break}}cr=EE;return}function VB(n,d,A,Q,B){n=n|0;d=+d;A=A|0;Q=+Q;B=+B;var E=0.0,D=0.0,C=0.0,Z=0.0,e=0,w=0,J=0,g=0,R=0.0,p=0.0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0.0,O=0,r=0.0;var U=0,K=0,F=0,c=0.0,s=0,T=0.0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0.0,N=0.0,u=0.0,L=0.0,b=0.0,y=0,x=0.0;var q=0.0,m=0,z=0.0,X=0.0,t=0.0,v=0.0,j=0.0,_=0.0,$=0.0,nn=0,dn=0.0,An=0,Qn=0,Bn=0.0,En=0.0,Dn=0.0,Cn=0.0,Zn=0.0,en=0.0,wn=0.0;var Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0.0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0.0,Fn=0.0,cn=0,sn=0,Tn=0.0,hn=0.0;var Wn=0.0,Hn=0.0,Yn=0,on=0.0,kn=0.0,ln=0.0,Vn=0.0,Nn=0,un=0.0,Ln=0.0,bn=0.0,yn=0.0,xn=0.0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0,jn=0;var _n=0,$n=0,nd=0,dd=0.0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0,Sd=0,Pd=0;var Gd=0,ad=0,fd=0.0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0.0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0,kd=0,ld=0;var Vd=0.0,Nd=0.0,ud=0.0,Ld=0.0,bd=0.0,yd=0.0,xd=0.0,qd=0.0,md=0,zd=0,Xd=0.0,td=0.0,vd=0.0,jd=0.0,_d=0.0,$d=0,nA=0,dA=0,AA=0,QA=0;var BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0.0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0,IA=0,MA=0,OA=0;var rA=0,UA=0,KA=0,FA=0,cA=0.0,sA=0,TA=0,hA=0,WA=0,HA=0.0,YA=0,oA=0,kA=0,lA=0.0,VA=0.0,NA=0,uA=0.0,LA=0.0,bA=0.0,yA=0.0;var xA=0.0,qA=0.0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0,DQ=0,CQ=0,ZQ=0,eQ=0;var wQ=0.0,JQ=0,gQ=0,RQ=0,pQ=0.0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0.0,fQ=0,IQ=0,MQ=0,OQ=0.0,rQ=0,UQ=0,KQ=0.0,FQ=0,cQ=0,sQ=0;var TQ=0,hQ=0.0,WQ=0,HQ=0,YQ=0.0,oQ=0,kQ=0,lQ=0.0,VQ=0,NQ=0,uQ=0,LQ=0.0,bQ=0,yQ=0,xQ=0.0,qQ=0,mQ=0,zQ=0.0,XQ=0,tQ=0;var vQ=0.0,jQ=0.0,_Q=0,$Q=0,nB=0.0,dB=0,AB=0,QB=0.0,BB=0,EB=0,DB=0.0,CB=0.0,ZB=0,eB=0,wB=0.0,JB=0,gB=0,RB=0.0,pB=0,iB=0;var SB=0,PB=0.0,GB=0.0,aB=0,fB=0,IB=0,MB=0,OB=0,rB=0.0,UB=0,KB=0,FB=0,cB=0,sB=0,TB=0,hB=0.0,WB=0,HB=0,YB=0,oB=0;var kB=0.0,lB=0.0,VB=0,NB=0,uB=0,LB=0,bB=0.0,yB=0.0,xB=0.0,qB=0,mB=0,zB=0,XB=0.0,tB=0.0,vB=0.0,jB=0,_B=0,$B=0.0,nE=0.0,dE=0;var AE=0,QE=0.0,BE=0.0,EE=0.0,DE=0,CE=0,ZE=0,eE=0.0,wE=0.0,JE=0,gE=0,RE=0,pE=0.0,iE=0.0,SE=0.0,PE=0,GE=0,aE=0.0,fE=0.0,IE=0;var ME=0,OE=0,rE=0.0,UE=0.0,KE=0.0,FE=0.0,cE=0,sE=0,TE=0.0,hE=0.0,WE=0,HE=0,YE=0.0,oE=0.0,kE=0.0,lE=0,VE=0.0,NE=0.0,uE=0,LE=0;var bE=0,yE=0.0,xE=0,qE=0.0,mE=0,zE=0,XE=0,tE=0,vE=0,jE=0,_E=0,$E=0,nD=0,dD=0,AD=0,QD=0,BD=0,ED=0,DD=0,CD=0;var ZD=0,eD=0,wD=0,JD=0,gD=0,RD=0,pD=0,iD=0,SD=0,PD=0,GD=0,aD=0,fD=0,ID=0,MD=0,OD=0,rD=0,UD=0,KD=0,FD=0;var cD=0,sD=0,TD=0,hD=0,WD=0,HD=0,YD=0,oD=0,kD=0,lD=0,VD=0,ND=0,uD=0,LD=0,bD=0,yD=0,xD=0,qD=0,mD=0,zD=0;var XD=0,tD=0.0,vD=0,jD=0,_D=0,$D=0,nC=0,dC=0,AC=0,QC=0,BC=0,EC=0,DC=0,CC=0,ZC=0,eC=0,wC=0,JC=0,gC=0,RC=0;var pC=0,iC=0,SC=0,PC=0.0,GC=0.0,aC=0.0,fC=0.0,IC=0,MC=0,OC=0,rC=0,UC=0,KC=0,FC=0,cC=0,sC=0,TC=0,hC=0,WC=0,HC=0;var YC=0,oC=0,kC=0,lC=0;lC=cr;cr=cr+32480|0;jE=lC+32256|0;oC=lC+1792|0;_E=lC;a=A<<2;g=a;f=cr;cr=cr+((1*g|0)+15&-16)|0;rd=Wr(68)|0;AZ(oC|0,0,30464)|0;FQ=Q>0.0;NB=Q<0.0;hD=0;while(1){sE=hD<<2;VD=0;while(1){BA=VD+sE|0;iA=(BA|0)<88;if(iA){KA=1272+(BA<<2)|0;lA=+Kr[KA>>2];PC=lA}else{PC=-30.0}XA=BA+1|0;EQ=(XA|0)<88;if(EQ){SB=1272+(XA<<2)|0;PB=+Kr[SB>>2];aB=PC>PB;if(aB){GC=PB}else{GC=PC}}else{iB=PC>-30.0;if(iB){GC=-30.0}else{GC=PC}}fB=BA+2|0;IB=(fB|0)<88;if(IB){OB=1272+(fB<<2)|0;rB=+Kr[OB>>2];UB=GC>rB;if(UB){aC=rB}else{aC=GC}}else{MB=GC>-30.0;if(MB){aC=-30.0}else{aC=GC}}KB=BA+3|0;FB=(KB|0)<88;if(FB){TB=1272+(KB<<2)|0;hB=+Kr[TB>>2];WB=aC>hB;if(WB){fC=hB}else{fC=aC}}else{cB=aC>-30.0;if(cB){fC=-30.0}else{fC=aC}}HB=jE+(VD<<2)|0;Kr[HB>>2]=fC;YB=VD+1|0;JD=(YB|0)==56;if(JD){break}else{VD=YB}}uE=(oC+(hD*1792|0)|0)+448|0;I=2792+(hD*1344|0)|0;Yr(uE|0,I|0,224)|0;W=(oC+(hD*1792|0)|0)+672|0;y=(2792+(hD*1344|0)|0)+224|0;Yr(W|0,y|0,224)|0;nn=(oC+(hD*1792|0)|0)+896|0;Jn=(2792+(hD*1344|0)|0)+448|0;Yr(nn|0,Jn|0,224)|0;On=(oC+(hD*1792|0)|0)+1120|0;Yn=(2792+(hD*1344|0)|0)+672|0;Yr(On|0,Yn|0,224)|0;qn=(oC+(hD*1792|0)|0)+1344|0;Ad=(2792+(hD*1344|0)|0)+896|0;Yr(qn|0,Ad|0,224)|0;Rd=(oC+(hD*1792|0)|0)+1568|0;Ud=(2792+(hD*1344|0)|0)+1120|0;Yr(Rd|0,Ud|0,224)|0;kd=oC+(hD*1792|0)|0;Yr(kd|0,I|0,224)|0;zd=(oC+(hD*1792|0)|0)+224|0;Yr(zd|0,I|0,224)|0;if(FQ){bD=0;while(1){if(NB){jD=0;while(1){uB=16-jD|0;oD=(uB|0)>-1;rC=0-uB|0;LB=oD?uB:rC;bB=+(LB|0);yB=bB*B;xB=yB+Q;qB=xB<0.0;C=qB?0.0:xB;mB=C>0.0;E=mB?0.0:C;zB=((oC+(hD*1792|0)|0)+(bD*224|0)|0)+(jD<<2)|0;XB=+Kr[zB>>2];tB=XB+E;Kr[zB>>2]=tB;jB=jD+1|0;GD=(jB|0)==56;if(GD){break}else{jD=jB}}}else{_D=0;while(1){cQ=16-_D|0;kD=(cQ|0)>-1;UC=0-cQ|0;NQ=kD?cQ:UC;vQ=+(NQ|0);CB=vQ*B;GB=CB+Q;sB=GB<0.0;Z=sB?0.0:GB;oB=((oC+(hD*1792|0)|0)+(bD*224|0)|0)+(_D<<2)|0;kB=+Kr[oB>>2];lB=kB+Z;Kr[oB>>2]=lB;VB=_D+1|0;PD=(VB|0)==56;if(PD){break}else{_D=VB}}}SQ=bD+1|0;aD=(SQ|0)==8;if(aD){break}else{bD=SQ}}}else{LD=0;while(1){if(NB){$D=0;while(1){dE=16-$D|0;lD=(dE|0)>-1;KC=0-dE|0;AE=lD?dE:KC;QE=+(AE|0);BE=QE*B;EE=BE+Q;DE=EE>0.0;D=DE?0.0:EE;ZE=((oC+(hD*1792|0)|0)+(LD*224|0)|0)+($D<<2)|0;eE=+Kr[ZE>>2];wE=eE+D;Kr[ZE>>2]=wE;JE=$D+1|0;RD=(JE|0)==56;if(RD){break}else{$D=JE}}}else{vD=0;while(1){gE=16-vD|0;YD=(gE|0)>-1;OC=0-gE|0;RE=YD?gE:OC;pE=+(RE|0);iE=pE*B;SE=iE+Q;PE=((oC+(hD*1792|0)|0)+(LD*224|0)|0)+(vD<<2)|0;aE=+Kr[PE>>2];fE=aE+SE;Kr[PE>>2]=fE;IE=vD+1|0;gD=(IE|0)==56;if(gD){break}else{vD=IE}}}ME=LD+1|0;pD=(ME|0)==8;if(pD){break}else{LD=ME}}}_B=n+(hD<<2)|0;$B=+Kr[_B>>2];nE=$B;yD=0;while(1){OE=(yD|0)<2;rE=+(yD|0);R=rE*10.0;p=70.0-R;UE=OE?50.0:p;KE=UE+nE;FE=KE;KD=0;while(1){cE=((oC+(hD*1792|0)|0)+(yD*224|0)|0)+(KD<<2)|0;TE=+Kr[cE>>2];hE=TE+FE;Kr[cE>>2]=hE;WE=KD+1|0;nD=(WE|0)==56;if(nD){break}else{KD=WE}}HE=_E+(yD*224|0)|0;Yr(HE|0,jE|0,224)|0;YE=+(yD|0);oE=YE*10.0;kE=70.0-oE;TD=0;while(1){lE=(_E+(yD*224|0)|0)+(TD<<2)|0;VE=+Kr[lE>>2];NE=kE+VE;Kr[lE>>2]=NE;LE=TD+1|0;BD=(LE|0)==56;if(BD){sD=0;break}else{TD=LE}}while(1){bE=((oC+(hD*1792|0)|0)+(yD*224|0)|0)+(sD<<2)|0;yE=+Kr[bE>>2];xE=(_E+(yD*224|0)|0)+(sD<<2)|0;qE=+Kr[xE>>2];mE=yE>qE;if(mE){Kr[xE>>2]=yE}zE=sD+1|0;QD=(zE|0)==56;if(QD){break}else{sD=zE}}XE=yD+1|0;iD=(XE|0)==8;if(iD){xD=1;break}else{yD=XE}}while(1){tE=xD+-1|0;cD=0;while(1){vE=(_E+(tE*224|0)|0)+(cD<<2)|0;M=+Kr[vE>>2];O=(_E+(xD*224|0)|0)+(cD<<2)|0;r=+Kr[O>>2];U=M>2]=M}K=cD+1|0;AD=(K|0)==56;if(AD){FD=0;break}else{cD=K}}while(1){F=(_E+(xD*224|0)|0)+(FD<<2)|0;c=+Kr[F>>2];s=((oC+(hD*1792|0)|0)+(xD*224|0)|0)+(FD<<2)|0;T=+Kr[s>>2];h=c>2]=c}H=FD+1|0;dD=(H|0)==56;if(dD){break}else{FD=H}}Y=xD+1|0;SD=(Y|0)==8;if(SD){break}else{xD=Y}}o=hD+1|0;fD=(o|0)==17;if(fD){break}else{hD=o}}vB=d;CE=(A|0)>0;GE=A^-1;HD=0;while(1){k=Wr(32)|0;l=rd+(HD<<2)|0;Ur[l>>2]=k;V=+(HD|0);N=V*0.5;u=V*0.34657350182533264;L=u+4.1351653545408453;b=+NC(+L);x=b/vB;q=+VC(+x);m=~~q;z=+(m|0);X=z*d;t=X+1.0;v=t;j=+uC(+v);_=j*2.885390043258667;$=_+-11.931568145751953;dn=+LC(+$);An=~~dn;Qn=m+1|0;Bn=+(Qn|0);En=Bn*d;Dn=En;Cn=+uC(+Dn);Zn=Cn*2.885390043258667;en=Zn+-11.931568145751953;wn=+VC(+en);gn=~~wn;Rn=(An|0)>(HD|0);WD=Rn?HD:An;pn=(WD|0)<0;iC=pn?0:WD;Sn=(gn|0)>16;e=Sn?16:gn;Pn=(iC|0)>(e|0);Gn=HD+1|0;an=(Gn|0)<17;fn=N+3.9657840728759766;SC=0;while(1){In=Wr(232)|0;Mn=k+(SC<<2)|0;Ur[Mn>>2]=In;if(CE){qD=0;while(1){rn=f+(qD<<2)|0;Kr[rn>>2]=999.0;Un=qD+1|0;$E=(Un|0)==(A|0);if($E){break}else{qD=Un}}}if(!Pn){nC=iC;while(1){Kn=+(nC|0);Fn=Kn*0.5;mD=0;dC=0;while(1){hn=+(mD|0);Wn=hn*0.125;Hn=Wn+Fn;on=Hn+3.9032840728759766;kn=on*0.69314700365066528;ln=+NC(+kn);Vn=ln/vB;Nn=~~Vn;un=Hn+4.0282840728759766;Ln=un*0.69314700365066528;bn=+NC(+Ln);yn=bn/vB;xn=yn+1.0;mn=~~xn;zn=(Nn|0)<0;w=zn?0:Nn;Xn=(w|0)>(A|0);JC=Xn?A:w;tn=(JC|0)<(dC|0);gC=tn?JC:dC;vn=(mn|0)<0;rD=vn?0:mn;jn=(rD|0)>(A|0);IC=jn?A:rD;_n=(gC|0)<(IC|0);$n=(gC|0)<(A|0);FC=_n&$n;if(FC){nd=((oC+(nC*1792|0)|0)+(SC*224|0)|0)+(mD<<2)|0;dd=+Kr[nd>>2];Qd=(dC|0)<(A|0);Bd=Qd?dC:A;Ed=Bd^-1;Dd=(Nn|0)>0;P=Nn^-1;Cd=Dd?P:-1;Zd=(Cd|0)<(Ed|0);hC=Zd?Ed:Cd;ed=hC^-1;wd=(mn|0)>0;G=mn^-1;Jd=wd?G:-1;gd=(Jd|0)<(GE|0);WC=gd?GE:Jd;pd=WC-hC|0;id=hC+A|0;Sd=id^-1;Pd=pd>>>0>Sd>>>0;HC=Pd?pd:Sd;Gd=ed-HC|0;BC=gC;while(1){ad=f+(BC<<2)|0;fd=+Kr[ad>>2];Id=fd>dd;if(Id){Kr[ad>>2]=dd}Md=BC+1|0;ID=(Md|0)==(Gd|0);if(ID){AC=Gd;break}else{BC=Md}}}else{AC=gC}Od=mD+1|0;MD=(Od|0)==56;if(MD){QC=AC;break}else{mD=Od;dC=AC}}cn=(QC|0)<(A|0);if(cn){sn=((oC+(nC*1792|0)|0)+(SC*224|0)|0)+220|0;Tn=+Kr[sn>>2];EC=QC;while(1){Kd=f+(EC<<2)|0;Fd=+Kr[Kd>>2];cd=Fd>Tn;if(cd){Kr[Kd>>2]=Tn}sd=EC+1|0;OD=(sd|0)==(A|0);if(OD){break}else{EC=sd}}}Td=nC+1|0;hd=(nC|0)<(e|0);if(hd){nC=Td}else{break}}}if(an){zD=0;DC=0;while(1){Nd=+(zD|0);ud=Nd*0.125;Ld=ud+N;bd=Ld+3.9032840728759766;yd=bd*0.69314700365066528;xd=+NC(+yd);qd=xd/vB;md=~~qd;Xd=Ld+4.0282840728759766;td=Xd*0.69314700365066528;vd=+NC(+td);jd=vd/vB;_d=jd+1.0;$d=~~_d;nA=(md|0)<0;J=nA?0:md;dA=(J|0)>(A|0);RC=dA?A:J;AA=(RC|0)<(DC|0);pC=AA?RC:DC;QA=($d|0)<0;UD=QA?0:$d;EA=(UD|0)>(A|0);MC=EA?A:UD;DA=(pC|0)<(MC|0);CA=(pC|0)<(A|0);cC=DA&CA;if(cC){ZA=((oC+(Gn*1792|0)|0)+(SC*224|0)|0)+(zD<<2)|0;eA=+Kr[ZA>>2];wA=(DC|0)<(A|0);JA=wA?DC:A;gA=JA^-1;RA=(md|0)>0;i=md^-1;pA=RA?i:-1;SA=(pA|0)<(gA|0);sC=SA?gA:pA;PA=sC^-1;GA=($d|0)>0;S=$d^-1;aA=GA?S:-1;fA=(aA|0)<(GE|0);TC=fA?GE:aA;IA=TC-sC|0;MA=sC+A|0;OA=MA^-1;rA=IA>>>0>OA>>>0;YC=rA?IA:OA;UA=PA-YC|0;eC=pC;while(1){FA=f+(eC<<2)|0;cA=+Kr[FA>>2];sA=cA>eA;if(sA){Kr[FA>>2]=eA}TA=eC+1|0;ED=(TA|0)==(UA|0);if(ED){CC=UA;break}else{eC=TA}}}else{CC=pC}hA=zD+1|0;DD=(hA|0)==56;if(DD){ZC=CC;break}else{zD=hA;DC=CC}}od=(ZC|0)<(A|0);if(od){ld=((oC+(Gn*1792|0)|0)+(SC*224|0)|0)+220|0;Vd=+Kr[ld>>2];wC=ZC;while(1){WA=f+(wC<<2)|0;HA=+Kr[WA>>2];YA=HA>Vd;if(YA){Kr[WA>>2]=Vd}oA=wC+1|0;CD=(oA|0)==(A|0);if(CD){break}else{wC=oA}}}}Wd=k+(SC<<2)|0;Hd=k+(SC<<2)|0;Yd=k+(SC<<2)|0;XD=0;while(1){uA=+(XD|0);LA=uA*0.125;bA=fn+LA;yA=bA*0.69314700365066528;xA=+NC(+yA);qA=xA/vB;mA=~~qA;zA=(mA|0)<0;do{if(zA){tA=XD+2|0;vA=Ur[Wd>>2]|0;jA=vA+(tA<<2)|0;Kr[jA>>2]=-999.0}else{_A=(mA|0)<(A|0);if(_A){AQ=f+(mA<<2)|0;QQ=Ur[AQ>>2]|0;BQ=XD+2|0;DQ=Ur[Hd>>2]|0;CQ=DQ+(BQ<<2)|0;Ur[CQ>>2]=QQ;break}else{$A=XD+2|0;nQ=Ur[Yd>>2]|0;dQ=nQ+($A<<2)|0;Kr[dQ>>2]=-999.0;break}}}while(0);ZQ=XD+1|0;ZD=(ZQ|0)==56;if(ZD){break}else{XD=ZQ}}kA=In+8|0;VA=+Kr[kA>>2];NA=VA>-200.0;do{if(NA){tD=0.0}else{eQ=In+12|0;wQ=+Kr[eQ>>2];JQ=wQ>-200.0;if(JQ){tD=1.0}else{MQ=In+16|0;OQ=+Kr[MQ>>2];rQ=OQ>-200.0;if(rQ){tD=2.0}else{UQ=In+20|0;KQ=+Kr[UQ>>2];sQ=KQ>-200.0;if(sQ){tD=3.0}else{TQ=In+24|0;hQ=+Kr[TQ>>2];WQ=hQ>-200.0;if(WQ){tD=4.0}else{HQ=In+28|0;YQ=+Kr[HQ>>2];oQ=YQ>-200.0;if(oQ){tD=5.0}else{kQ=In+32|0;lQ=+Kr[kQ>>2];VQ=lQ>-200.0;if(VQ){tD=6.0}else{uQ=In+36|0;LQ=+Kr[uQ>>2];bQ=LQ>-200.0;if(bQ){tD=7.0}else{yQ=In+40|0;xQ=+Kr[yQ>>2];qQ=xQ>-200.0;if(qQ){tD=8.0}else{mQ=In+44|0;zQ=+Kr[mQ>>2];XQ=zQ>-200.0;if(XQ){tD=9.0}else{tQ=In+48|0;jQ=+Kr[tQ>>2];_Q=jQ>-200.0;if(_Q){tD=10.0}else{$Q=In+52|0;nB=+Kr[$Q>>2];dB=nB>-200.0;if(dB){tD=11.0}else{AB=In+56|0;QB=+Kr[AB>>2];BB=QB>-200.0;if(BB){tD=12.0}else{EB=In+60|0;DB=+Kr[EB>>2];ZB=DB>-200.0;if(ZB){tD=13.0}else{eB=In+64|0;wB=+Kr[eB>>2];JB=wB>-200.0;if(JB){tD=14.0;break}gB=In+68|0;RB=+Kr[gB>>2];pB=RB>-200.0;if(pB){tD=15.0;break}tD=16.0}}}}}}}}}}}}}}}while(0);Kr[In>>2]=tD;uD=55;while(1){gQ=uD+2|0;RQ=In+(gQ<<2)|0;pQ=+Kr[RQ>>2];iQ=pQ>-200.0;if(iQ){ND=uD;break}PQ=uD+-1|0;GQ=(PQ|0)>17;if(GQ){uD=PQ}else{ND=PQ;break}}aQ=+(ND|0);fQ=In+4|0;Kr[fQ>>2]=aQ;IQ=SC+1|0;eD=(IQ|0)==8;if(eD){break}else{SC=IQ}}wD=(Gn|0)==17;if(wD){break}else{HD=Gn}}cr=lC;return rd|0}function _n(n,d,A,Q,B,E){n=n|0;d=d|0;A=A|0;Q=Q|0;B=+B;E=E|0;var D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0.0,S=0,P=0.0,G=0.0,a=0,f=0.0,I=0,M=0.0,O=0.0,r=0,U=0.0;var K=0.0,F=0,c=0.0,s=0.0,T=0,h=0.0,W=0,H=0.0,Y=0.0,o=0.0,k=0.0,l=0,V=0.0,N=0.0,u=0.0,L=0.0,b=0.0,y=0.0,x=0.0,q=0.0;var m=0.0,z=0.0,X=0,t=0,v=0.0,j=0,_=0,$=0.0,nn=0,dn=0,An=0,Qn=0,Bn=0.0,En=0,Dn=0.0,Cn=0.0,Zn=0,en=0.0,wn=0,Jn=0;var gn=0.0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0.0,Kn=0,Fn=0,cn=0,sn=0,Tn=0.0,hn=0.0,Wn=0;var Hn=0.0,Yn=0,on=0.0,kn=0.0,ln=0,Vn=0.0,Nn=0.0,un=0,Ln=0.0,bn=0.0,yn=0,xn=0.0,qn=0,mn=0.0,zn=0.0,Xn=0,tn=0.0,vn=0.0,jn=0,_n=0.0;var $n=0.0,nd=0.0,dd=0.0,Ad=0.0,Qd=0.0,Bd=0.0,Ed=0.0,Dd=0.0,Cd=0,Zd=0.0,ed=0.0,wd=0.0,Jd=0.0,gd=0.0,Rd=0.0,pd=0,id=0.0,Sd=0,Pd=0,Gd=0;var ad=0.0,fd=0.0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0.0,Fd=0,cd=0.0,sd=0.0,Td=0.0,hd=0,Wd=0.0,Hd=0,Yd=0.0,od=0.0,kd=0,ld=0.0,Vd=0;var Nd=0.0,ud=0.0,Ld=0.0,bd=0,yd=0.0,xd=0,qd=0.0,md=0.0,zd=0,Xd=0.0,td=0,vd=0.0,jd=0.0,_d=0.0,$d=0.0,nA=0.0,dA=0.0,AA=0.0,QA=0.0,BA=0.0;var EA=0.0,DA=0.0,CA=0.0,ZA=0.0,eA=0.0,wA=0.0,JA=0.0,gA=0.0,RA=0,pA=0.0,iA=0,SA=0,PA=0.0,GA=0,aA=0.0,fA=0.0,IA=0.0,MA=0.0,OA=0.0,rA=0;var UA=0.0,KA=0,FA=0,cA=0.0,sA=0.0,TA=0.0,hA=0.0,WA=0.0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0.0,LA=0,bA=0,yA=0,xA=0;var qA=0,mA=0,zA=0,XA=0.0,tA=0,vA=0,jA=0,_A=0.0,$A=0.0,nQ=0,dQ=0,AQ=0.0,QQ=0,BQ=0.0,EQ=0.0,DQ=0,CQ=0.0,ZQ=0,eQ=0.0,wQ=0.0;var JQ=0,gQ=0.0,RQ=0.0,pQ=0,iQ=0.0,SQ=0.0,PQ=0,GQ=0.0,aQ=0,fQ=0.0,IQ=0.0,MQ=0.0,OQ=0.0,rQ=0.0,UQ=0.0,KQ=0.0,FQ=0.0,cQ=0.0,sQ=0.0,TQ=0.0;var hQ=0.0,WQ=0.0,HQ=0.0,YQ=0,oQ=0.0,kQ=0,lQ=0.0,VQ=0,NQ=0,uQ=0.0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0.0,mQ=0,zQ=0,XQ=0,tQ=0,vQ=0.0;var jQ=0,_Q=0.0,$Q=0.0,nB=0,dB=0.0,AB=0.0,QB=0.0,BB=0.0,EB=0.0,DB=0.0,CB=0.0,ZB=0.0,eB=0.0,wB=0.0,JB=0.0,gB=0.0,RB=0.0,pB=0.0,iB=0.0,SB=0.0;var PB=0,GB=0,aB=0,fB=0,IB=0,MB=0,OB=0,rB=0,UB=0,KB=0,FB=0,cB=0,sB=0,TB=0,hB=0,WB=0,HB=0.0,YB=0.0,oB=0.0,kB=0.0;var lB=0.0,VB=0.0,NB=0.0,uB=0.0,LB=0.0,bB=0.0,yB=0.0,xB=0.0,qB=0.0,mB=0.0,zB=0.0,XB=0.0,tB=0.0,vB=0.0,jB=0,_B=0;_B=cr;R=n<<2;D=R;p=cr;cr=cr+((1*D|0)+15&-16)|0;C=R;Gd=cr;cr=cr+((1*C|0)+15&-16)|0;Z=R;HA=cr;cr=cr+((1*Z|0)+15&-16)|0;e=R;xA=cr;cr=cr+((1*e|0)+15&-16)|0;w=R;dQ=cr;cr=cr+((1*w|0)+15&-16)|0;gQ=+Kr[A>>2];OQ=gQ+B;YQ=OQ<1.0;tB=YQ?1.0:OQ;qQ=tB*tB;i=qQ*0.5;K=i*tB;Kr[p>>2]=i;Kr[Gd>>2]=i;Kr[HA>>2]=0.0;Kr[xA>>2]=K;Kr[dQ>>2]=0.0;l=(n|0)>1;if(l){MB=1;HB=i;YB=i;oB=0.0;kB=0.0;lB=K;VB=1.0;while(1){cn=A+(MB<<2)|0;Nn=+Kr[cn>>2];vn=Nn+B;Cd=vn<1.0;vB=Cd?1.0:vn;ad=vB*vB;Td=ad+HB;Ld=ad*VB;_d=Ld+YB;eA=Ld*VB;fA=eA+oB;sA=ad*vB;TA=sA+lB;hA=Ld*vB;WA=hA+kB;YA=p+(MB<<2)|0;Kr[YA>>2]=Td;oA=Gd+(MB<<2)|0;Kr[oA>>2]=_d;kA=HA+(MB<<2)|0;Kr[kA>>2]=fA;lA=xA+(MB<<2)|0;Kr[lA>>2]=TA;VA=dQ+(MB<<2)|0;Kr[VA>>2]=WA;NA=MB+1|0;uA=VB+1.0;IB=(NA|0)==(n|0);if(IB){break}else{MB=NA;HB=Td;YB=_d;oB=fA;kB=WA;lB=TA;VB=uA}}}X=Ur[d>>2]|0;En=X>>16;Pn=(En|0)>-1;if(Pn){bA=X;AB=0.0;DB=0.0;wB=1.0;OB=0;NB=0.0}else{mA=X;vA=En;rB=0;uB=0.0;while(1){qA=mA&65535;zA=p+(qA<<2)|0;XA=+Kr[zA>>2];tA=0-vA|0;jA=p+(tA<<2)|0;_A=+Kr[jA>>2];$A=_A+XA;nQ=Gd+(qA<<2)|0;AQ=+Kr[nQ>>2];QQ=Gd+(tA<<2)|0;BQ=+Kr[QQ>>2];EQ=AQ-BQ;DQ=HA+(qA<<2)|0;CQ=+Kr[DQ>>2];ZQ=HA+(tA<<2)|0;eQ=+Kr[ZQ>>2];wQ=eQ+CQ;JQ=xA+(qA<<2)|0;RQ=+Kr[JQ>>2];pQ=xA+(tA<<2)|0;iQ=+Kr[pQ>>2];SQ=iQ+RQ;PQ=dQ+(qA<<2)|0;GQ=+Kr[PQ>>2];aQ=dQ+(tA<<2)|0;fQ=+Kr[aQ>>2];IQ=GQ-fQ;MQ=SQ*wQ;rQ=IQ*EQ;UQ=MQ-rQ;KQ=IQ*$A;FQ=SQ*EQ;cQ=KQ-FQ;sQ=wQ*$A;TQ=EQ*EQ;hQ=sQ-TQ;WQ=cQ*uB;HQ=WQ+UQ;oQ=HQ/hQ;kQ=oQ<0.0;pB=kQ?0.0:oQ;lQ=pB-B;VQ=Q+(rB<<2)|0;Kr[VQ>>2]=lQ;NQ=rB+1|0;uQ=uB+1.0;LQ=d+(NQ<<2)|0;bQ=Ur[LQ>>2]|0;yQ=bQ>>16;xQ=(yQ|0)>-1;if(xQ){bA=bQ;AB=UQ;DB=cQ;wB=hQ;OB=NQ;NB=uQ;break}else{mA=bQ;vA=yQ;rB=NQ;uB=uQ}}}LA=bA&65535;yA=(LA|0)<(n|0);if(yA){J=bA;tQ=LA;KB=OB;bB=NB;while(1){zQ=J>>16;XQ=p+(tQ<<2)|0;vQ=+Kr[XQ>>2];jQ=p+(zQ<<2)|0;_Q=+Kr[jQ>>2];$Q=vQ-_Q;nB=Gd+(tQ<<2)|0;dB=+Kr[nB>>2];S=Gd+(zQ<<2)|0;P=+Kr[S>>2];G=dB-P;a=HA+(tQ<<2)|0;f=+Kr[a>>2];I=HA+(zQ<<2)|0;M=+Kr[I>>2];O=f-M;r=xA+(tQ<<2)|0;U=+Kr[r>>2];F=xA+(zQ<<2)|0;c=+Kr[F>>2];s=U-c;T=dQ+(tQ<<2)|0;h=+Kr[T>>2];W=dQ+(zQ<<2)|0;H=+Kr[W>>2];Y=h-H;o=s*O;k=Y*G;V=o-k;N=Y*$Q;u=s*G;L=N-u;b=O*$Q;y=G*G;x=b-y;q=L*bB;m=q+V;z=m/x;t=z<0.0;iB=t?0.0:z;v=iB-B;j=Q+(KB<<2)|0;Kr[j>>2]=v;_=KB+1|0;$=bB+1.0;nn=d+(_<<2)|0;dn=Ur[nn>>2]|0;An=dn&65535;Qn=(An|0)<(n|0);if(Qn){J=dn;tQ=An;KB=_;bB=$}else{QB=V;CB=L;JB=x;UB=_;LB=$;break}}}else{QB=AB;CB=DB;JB=wB;UB=OB;LB=NB}mQ=(UB|0)<(n|0);if(mQ){FB=UB;yB=LB;while(1){Bn=yB*CB;Dn=Bn+QB;Cn=Dn/JB;Zn=Cn<0.0;SB=Zn?0.0:Cn;en=SB-B;wn=Q+(FB<<2)|0;Kr[wn>>2]=en;Jn=FB+1|0;gn=yB+1.0;fB=(Jn|0)==(n|0);if(fB){break}else{FB=Jn;yB=gn}}}Rn=(E|0)<1;if(Rn){cr=_B;return}pn=(E|0)/2&-1;Sn=pn-E|0;Gn=(Sn|0)>-1;if(Gn){BB=QB;ZB=CB;gB=JB;cB=0;xB=0.0}else{an=E-pn|0;rn=pn;Fn=Sn;sB=0;qB=0.0;while(1){On=p+(rn<<2)|0;Un=+Kr[On>>2];Kn=0-Fn|0;sn=p+(Kn<<2)|0;Tn=+Kr[sn>>2];hn=Tn+Un;Wn=Gd+(rn<<2)|0;Hn=+Kr[Wn>>2];Yn=Gd+(Kn<<2)|0;on=+Kr[Yn>>2];kn=Hn-on;ln=HA+(rn<<2)|0;Vn=+Kr[ln>>2];un=HA+(Kn<<2)|0;Ln=+Kr[un>>2];bn=Ln+Vn;yn=xA+(rn<<2)|0;xn=+Kr[yn>>2];qn=xA+(Kn<<2)|0;mn=+Kr[qn>>2];zn=mn+xn;Xn=dQ+(rn<<2)|0;tn=+Kr[Xn>>2];jn=dQ+(Kn<<2)|0;_n=+Kr[jn>>2];$n=tn-_n;nd=zn*bn;dd=$n*kn;Ad=nd-dd;Qd=$n*hn;Bd=zn*kn;Ed=Qd-Bd;Dd=bn*hn;Zd=kn*kn;ed=Dd-Zd;wd=Ed*qB;Jd=wd+Ad;gd=Jd/ed;Rd=gd-B;pd=Q+(sB<<2)|0;id=+Kr[pd>>2];Sd=Rd>2]=Rd}Pd=sB+1|0;fd=qB+1.0;Id=pn+Pd|0;Md=Id-E|0;aB=(Pd|0)==(an|0);if(aB){BB=Ad;ZB=Ed;gB=ed;cB=an;xB=fd;break}else{rn=Id;Fn=Md;sB=Pd;qB=fd}}}fn=cB+pn|0;In=(fn|0)<(n|0);if(In){Mn=n-pn|0;g=fn;hB=cB;zB=xB;while(1){rd=g-E|0;Ud=p+(g<<2)|0;Kd=+Kr[Ud>>2];Fd=p+(rd<<2)|0;cd=+Kr[Fd>>2];sd=Kd-cd;hd=Gd+(g<<2)|0;Wd=+Kr[hd>>2];Hd=Gd+(rd<<2)|0;Yd=+Kr[Hd>>2];od=Wd-Yd;kd=HA+(g<<2)|0;ld=+Kr[kd>>2];Vd=HA+(rd<<2)|0;Nd=+Kr[Vd>>2];ud=ld-Nd;bd=xA+(g<<2)|0;yd=+Kr[bd>>2];xd=xA+(rd<<2)|0;qd=+Kr[xd>>2];md=yd-qd;zd=dQ+(g<<2)|0;Xd=+Kr[zd>>2];td=dQ+(rd<<2)|0;vd=+Kr[td>>2];jd=Xd-vd;$d=md*ud;nA=jd*od;dA=$d-nA;AA=jd*sd;QA=md*od;BA=AA-QA;EA=ud*sd;DA=od*od;CA=EA-DA;ZA=BA*zB;wA=ZA+dA;JA=wA/CA;gA=JA-B;RA=Q+(hB<<2)|0;pA=+Kr[RA>>2];iA=gA>2]=gA}SA=hB+1|0;PA=zB+1.0;GA=SA+pn|0;GB=(SA|0)==(Mn|0);if(GB){EB=dA;eB=BA;RB=CA;TB=Mn;mB=PA;break}else{g=GA;hB=SA;zB=PA}}}else{EB=BB;eB=ZB;RB=gB;TB=cB;mB=xB}Od=(TB|0)<(n|0);if(Od){WB=TB;XB=mB}else{cr=_B;return}while(1){aA=XB*eB;IA=aA+EB;MA=IA/RB;OA=MA-B;rA=Q+(WB<<2)|0;UA=+Kr[rA>>2];KA=OA>2]=OA}FA=WB+1|0;cA=XB+1.0;PB=(FA|0)==(n|0);if(PB){break}else{WB=FA;XB=cA}}cr=_B;return}function uA(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0.0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0;var O=0,r=0.0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0.0,V=0,N=0,u=0.0,L=0,b=0;var y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0.0,Dn=0,Cn=0,Zn=0;var en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;cn=cr;E=A<<2;Q=E;D=cr;cr=cr+((1*Q|0)+15&-16)|0;B=E;P=cr;cr=cr+((1*B|0)+15&-16)|0;c=(A|0)>0;if(c){Jn=0;an=0}else{cr=cn;return}while(1){Qn=(an|0)<2;do{if(Qn){Dn=D+(an<<2)|0;Ur[Dn>>2]=Jn;C=n+(Jn<<2)|0;Z=Ur[C>>2]|0;e=P+(an<<2)|0;Ur[e>>2]=Z;rn=an}else{Bn=n+(Jn<<2)|0;En=+Kr[Bn>>2];fn=an;while(1){w=fn+-1|0;J=P+(w<<2)|0;g=+Kr[J>>2];R=En>2]|0;a=G+d|0;f=(Jn|0)<(a|0);I=(fn|0)>1;pn=I&f;if(!pn){Mn=fn;Fn=12;break}M=fn+-2|0;O=P+(M<<2)|0;r=+Kr[O>>2];U=!(g<=r);if(U){Mn=fn;Fn=12;break}K=D+(M<<2)|0;F=Ur[K>>2]|0;s=F+d|0;T=(Jn|0)<(s|0);if(T){fn=w}else{Mn=fn;Fn=12;break}}if((Fn|0)==8){Fn=0;p=D+(In<<2)|0;Ur[p>>2]=Jn;i=P+(In<<2)|0;Kr[i>>2]=En;rn=In;break}else if((Fn|0)==12){Fn=0;h=D+(Mn<<2)|0;Ur[h>>2]=Jn;W=P+(Mn<<2)|0;Kr[W>>2]=En;rn=Mn;break}}}while(0);On=rn+1|0;H=Jn+1|0;wn=(H|0)==(A|0);if(wn){Un=rn;Kn=On;break}else{Jn=H;an=On}}N=(Un|0)>-1;if(!N){cr=cn;return}v=d+1|0;gn=0;Sn=0;while(1){Y=(gn|0)<(Un|0);if(Y){o=gn+1|0;k=P+(o<<2)|0;l=+Kr[k>>2];V=P+(gn<<2)|0;u=+Kr[V>>2];L=l>u;if(L){b=D+(o<<2)|0;y=Ur[b>>2]|0;Cn=y}else{Fn=17}}else{Fn=17}if((Fn|0)==17){Fn=0;x=D+(gn<<2)|0;q=Ur[x>>2]|0;m=v+q|0;Cn=m}z=(Cn|0)>(A|0);Rn=z?A:Cn;X=(Sn|0)<(Rn|0);if(X){t=P+(gn<<2)|0;j=Ur[t>>2]|0;_=(Cn|0)<(A|0);$=_?Cn:A;Gn=Sn;while(1){nn=n+(Gn<<2)|0;Ur[nn>>2]=j;dn=Gn+1|0;Zn=(dn|0)==($|0);if(Zn){Pn=$;break}else{Gn=dn}}}else{Pn=Sn}An=gn+1|0;en=(An|0)==(Kn|0);if(en){break}else{gn=An;Sn=Pn}}cr=cn;return}function CE(n,d,A,Q,B,E,D,C,Z){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;D=D|0;C=C|0;Z=Z|0;var e=0.0,w=0.0,J=0.0,g=0.0,R=0.0,p=0.0,i=0,S=0,P=0.0,G=0,a=0,f=0,I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0;var s=0,T=0,h=0,W=0,H=0.0,Y=0,o=0.0,k=0.0,l=0,V=0.0,N=0,u=0.0,L=0.0,b=0,y=0.0,x=0.0,q=0,m=0,z=0,X=0;var t=0,v=0,j=0,_=0,$=0,nn=0,dn=0.0,An=0,Qn=0.0,Bn=0.0,En=0,Dn=0,Cn=0.0,Zn=0,en=0,wn=0,Jn=0,gn=0.0,Rn=0,pn=0.0;var Sn=0.0,Pn=0.0,Gn=0.0,an=0,fn=0,In=0.0,Mn=0,On=0.0,rn=0.0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0.0,hn=0,Wn=0,Hn=0,Yn=0,on=0;var kn=0,ln=0.0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0.0,xn=0,qn=0,mn=0.0,zn=0,Xn=0.0,tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0;var Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0.0,gd=0,Rd=0;Rd=cr;a=C<<2;i=a;f=cr;cr=cr+((1*i|0)+15&-16)|0;h=n+500|0;b=Ur[h>>2]|0;$=(b|0)==0;if($){xn=C}else{wn=n+504|0;Mn=Ur[wn>>2]|0;Hn=Mn-D|0;xn=Hn}jn=(xn|0)>(C|0);Zd=jn?C:xn;I=(Zd|0)>0;if(I){M=(E|0)==(0|0);O=(xn|0)<(C|0);r=O?xn:C;Ed=0;while(1){if(M){gd=9}else{c=E+(Ed<<2)|0;s=Ur[c>>2]|0;T=(s|0)==0;if(T){gd=9}}do{if((gd|0)==9){gd=0;W=Q+(Ed<<2)|0;H=+Kr[W>>2];Y=B+(Ed<<2)|0;o=+Kr[Y>>2];k=H/o;l=A+(Ed<<2)|0;V=+Kr[l>>2];N=V<0.0;u=k;L=+pd(+u);y=+NB(L);if(N){x=-y;q=~~x;m=Z+(Ed<<2)|0;Ur[m>>2]=q;break}else{z=~~y;X=Z+(Ed<<2)|0;Ur[X>>2]=z;break}}}while(0);t=Ed+1|0;Qd=(t|0)==(r|0);if(Qd){Bd=r;break}else{Ed=t}}}else{Bd=0}U=(Bd|0)<(C|0);if(!U){p=0.0;cr=Rd;return+p}K=(E|0)!=(0|0);F=d-D|0;e=0.0;_n=0;Dd=Bd;while(1){if(K){v=E+(Dd<<2)|0;j=Ur[v>>2]|0;_=(j|0)==0;if(_){gd=15}else{w=e;$n=_n}}else{gd=15}do{if((gd|0)==15){gd=0;nn=Q+(Dd<<2)|0;dn=+Kr[nn>>2];An=B+(Dd<<2)|0;Qn=+Kr[An>>2];Bn=dn/Qn;En=!(Bn<0.25);Dn=(Dd|0)<(F|0);ed=K&Dn;wd=En|ed;if(wd){Jn=A+(Dd<<2)|0;gn=+Kr[Jn>>2];Rn=gn<0.0;pn=Bn;Sn=+pd(+pn);Pn=+NB(Sn);Gn=-Pn;P=Rn?Gn:Pn;S=~~P;an=Z+(Dd<<2)|0;Ur[an>>2]=S;fn=sr(S,S)|0;In=+(fn|0);On=+Kr[An>>2];rn=In*On;Kr[nn>>2]=rn;w=e;$n=_n;break}else{Cn=Bn+e;Zn=_n+1|0;en=f+(_n<<2)|0;Ur[en>>2]=nn;w=Cn;$n=Zn;break}}}while(0);Un=Dd+1|0;Ad=(Un|0)==(C|0);if(Ad){J=w;nd=$n;break}else{e=w;_n=$n;Dd=Un}}Kn=(nd|0)==0;if(Kn){p=J;cr=Rd;return+p}sB(f,nd,4,9);Fn=(nd|0)>0;if(!Fn){p=J;cr=Rd;return+p}cn=Q;sn=n+512|0;Tn=+Fr[sn>>3];g=J;Cd=0;while(1){hn=f+(Cd<<2)|0;Wn=Ur[hn>>2]|0;Yn=Wn;on=Yn-cn|0;kn=on>>2;ln=g;Vn=!(ln>=Tn);if(Vn){R=g;G=0;Jd=0.0}else{Nn=A+(kn<<2)|0;un=Ur[Nn>>2]|0;Ln=un&-2147483648;bn=Ln|1065353216;yn=(Ur[zw>>2]=bn,+Kr[zw>>2]);qn=~~yn;mn=g+-1.0;zn=B+(kn<<2)|0;Xn=+Kr[zn>>2];R=mn;G=qn;Jd=Xn}tn=Z+(kn<<2)|0;Ur[tn>>2]=G;Kr[Wn>>2]=Jd;vn=Cd+1|0;dd=(vn|0)==(nd|0);if(dd){p=R;break}else{g=R;Cd=vn}}cr=Rd;return+p}function $n(n,d){n=n|0;d=d|0;var A=0,Q=0.0,B=0,E=0.0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0;g=cr;A=Ur[n>>2]|0;Q=+Kr[A>>2];B=Ur[d>>2]|0;E=+Kr[B>>2];D=QE;e=Z&1;w=C-e|0;return w|0}function nd(n){n=n|0;var d=0,A=0,Q=0;Q=cr;d=(n|0)==(0|0);if(!d){qB(n)}return}function dd(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0;T=cr;A=(n|0)==(0|0);if(A){return}Q=n+4|0;p=Ur[Q>>2]|0;f=(p|0)>0;I=n+20|0;if(f){a=p;F=0;while(1){M=Ur[I>>2]|0;O=M+(F<<2)|0;r=Ur[O>>2]|0;U=(r|0)==(0|0);if(U){E=a}else{qB(r);d=Ur[Q>>2]|0;E=d}K=F+1|0;B=(K|0)<(E|0);if(B){a=E;F=K}else{break}}}D=Ur[I>>2]|0;qB(D);C=n+24|0;Z=Ur[C>>2]|0;e=(Z|0)>0;w=n+28|0;if(e){c=0;while(1){J=Ur[w>>2]|0;g=J+(c<<2)|0;R=Ur[g>>2]|0;qB(R);i=c+1|0;S=Ur[C>>2]|0;P=(i|0)<(S|0);if(P){c=i}else{break}}}G=Ur[w>>2]|0;qB(G);qB(n);return}function Ad(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0;z=cr;B=Ur[n>>2]|0;Xw(d,B,24);E=n+4|0;S=Ur[E>>2]|0;Xw(d,S,24);F=n+8|0;Y=Ur[F>>2]|0;o=Y+-1|0;Xw(d,o,24);k=n+12|0;l=Ur[k>>2]|0;V=l+-1|0;Xw(d,V,6);N=n+20|0;D=Ur[N>>2]|0;Xw(d,D,8);C=Ur[k>>2]|0;Z=(C|0)>0;if(!Z){return}e=n+24|0;u=0;b=0;while(1){g=e+(b<<2)|0;R=Ur[g>>2]|0;p=KB(R)|0;i=(p|0)>3;P=Ur[g>>2]|0;if(i){Xw(d,P,3);Xw(d,1,1);G=Ur[g>>2]|0;a=G>>3;Xw(d,a,5)}else{Xw(d,P,4)}f=Ur[g>>2]|0;I=(f|0)==0;if(I){x=0}else{A=f;q=0;while(1){M=A&1;O=M+q|0;r=A>>>1;U=(r|0)==0;if(U){x=O;break}else{A=r;q=O}}}K=x+u|0;c=b+1|0;s=Ur[k>>2]|0;T=(c|0)<(s|0);if(T){u=K;b=c}else{Q=K;break}}w=(Q|0)>0;if(!w){return}J=n+280|0;y=0;while(1){h=J+(y<<2)|0;W=Ur[h>>2]|0;Xw(d,W,8);H=y+1|0;L=(H|0)==(Q|0);if(L){break}else{y=H}}return}function Qd(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0;on=cr;D=Hr(1,2840)|0;C=n+28|0;G=Ur[C>>2]|0;s=Hd(d,24)|0;Ur[D>>2]=s;u=Hd(d,24)|0;j=D+4|0;Ur[j>>2]=u;Zn=Hd(d,24)|0;fn=Zn+1|0;Mn=D+8|0;Ur[Mn>>2]=fn;On=Hd(d,6)|0;Z=On+1|0;e=D+12|0;Ur[e>>2]=Z;w=Hd(d,8)|0;J=D+20|0;Ur[J>>2]=w;g=(w|0)<0;n:do{if(g){Yn=26}else{R=(On|0)>-1;if(R){p=D+24|0;Un=0;cn=0;while(1){P=Hd(d,3)|0;a=Hd(d,1)|0;f=(a|0)<0;if(f){Yn=26;break n}I=(a|0)==0;if(I){Kn=P}else{M=Hd(d,5)|0;O=(M|0)<0;if(O){Yn=26;break n}r=M<<3;U=r|P;Kn=U}K=p+(cn<<2)|0;Ur[K>>2]=Kn;F=(Kn|0)==0;if(F){Wn=0}else{Q=Kn;Hn=0;while(1){c=Q&1;T=c+Hn|0;h=Q>>>1;W=(h|0)==0;if(W){Wn=T;break}else{Q=h;Hn=T}}}H=Wn+Un|0;Y=cn+1|0;o=Ur[e>>2]|0;k=(Y|0)<(o|0);if(k){Un=H;cn=Y}else{E=H;break}}i=(E|0)>0;if(i){S=D+280|0;sn=0;while(1){l=Hd(d,8)|0;V=(l|0)<0;if(V){break n}N=S+(sn<<2)|0;Ur[N>>2]=l;L=sn+1|0;b=(L|0)<(E|0);if(b){sn=L}else{In=i;rn=E;break}}}else{In=0;rn=E}}else{In=0;rn=0}y=Ur[J>>2]|0;x=G+24|0;q=Ur[x>>2]|0;m=(y|0)<(q|0);if(m){if(In){z=D+280|0;Tn=0;while(1){v=z+(Tn<<2)|0;_=Ur[v>>2]|0;$=(_|0)<(q|0);if(!$){break n}nn=(G+1824|0)+(_<<2)|0;dn=Ur[nn>>2]|0;An=dn+12|0;Qn=Ur[An>>2]|0;Bn=(Qn|0)==0;X=Tn+1|0;if(Bn){break n}t=(X|0)<(rn|0);if(t){Tn=X}else{break}}}En=(G+1824|0)+(y<<2)|0;Dn=Ur[En>>2]|0;Cn=Dn+4|0;en=Ur[Cn>>2]|0;wn=Ur[Dn>>2]|0;Jn=(wn|0)<1;if(!Jn){gn=Ur[e>>2]|0;Fn=wn;hn=1;while(1){Sn=sr(gn,hn)|0;Pn=(Sn|0)>(en|0);if(Pn){break n}Rn=Fn+-1|0;pn=(Fn|0)>1;if(pn){Fn=Rn;hn=Sn}else{B=Sn;break}}Gn=D+16|0;Ur[Gn>>2]=B;A=D;return A|0}}}}while(0);if((Yn|0)==26){an=(D|0)==(0|0);if(an){A=0;return A|0}}qB(D);A=0;return A|0}function Bd(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0;xn=cr;E=Hr(1,44)|0;D=n+4|0;P=Ur[D>>2]|0;c=P+28|0;N=Ur[c>>2]|0;Ur[E>>2]=d;v=d+12|0;Cn=Ur[v>>2]|0;an=E+4|0;Ur[an>>2]=Cn;On=N+2848|0;rn=Ur[On>>2]|0;C=E+12|0;Ur[C>>2]=rn;Z=rn;e=d+20|0;w=Ur[e>>2]|0;J=Z+(w*56|0)|0;g=E+16|0;Ur[g>>2]=J;R=Ur[J>>2]|0;p=Hr(Cn,4)|0;i=E+20|0;Ur[i>>2]=p;S=(Cn|0)>0;if(S){G=d+24|0;a=d+280|0;Un=0;Wn=0;Nn=0;while(1){f=G+(Wn<<2)|0;I=Ur[f>>2]|0;M=KB(I)|0;O=(M|0)==0;if(O){cn=Un;un=Nn}else{r=(M|0)>(Nn|0);Q=r?M:Nn;U=Hr(M,4)|0;K=p+(Wn<<2)|0;Ur[K>>2]=U;F=(M|0)>0;if(F){s=Ur[f>>2]|0;T=p+(Wn<<2)|0;Kn=Un;kn=0;while(1){h=1<>2]|0;o=Kn+1|0;k=a+(Kn<<2)|0;l=Ur[k>>2]|0;V=Y+(l*56|0)|0;u=Ur[T>>2]|0;L=u+(kn<<2)|0;Ur[L>>2]=V;Fn=o}b=kn+1|0;Tn=(b|0)==(M|0);if(Tn){cn=Fn;un=Q;break}else{Kn=Fn;kn=b}}}else{cn=Un;un=Q}}y=Wn+1|0;x=(y|0)<(Cn|0);if(x){Un=cn;Wn=y;Nn=un}else{Vn=un;break}}}else{Vn=0}q=E+24|0;Ur[q>>2]=1;m=(R|0)>0;if(m){X=1;Hn=0;while(1){z=sr(X,Cn)|0;t=Hn+1|0;sn=(t|0)==(R|0);if(sn){A=z;break}else{X=z;Hn=t}}Ur[q>>2]=A;$=A}else{$=1}j=E+8|0;Ur[j>>2]=Vn;_=$<<2;nn=Wr(_)|0;dn=E+28|0;Ur[dn>>2]=nn;An=($|0)>0;if(!An){return E|0}Qn=R<<2;if(!m){Yn=0;while(1){Gn=Wr(Qn)|0;fn=nn+(Yn<<2)|0;Ur[fn>>2]=Gn;In=Yn+1|0;Mn=(In|0)<($|0);if(Mn){Yn=In}else{break}}return E|0}Bn=Ur[dn>>2]|0;on=0;while(1){pn=Wr(Qn)|0;Sn=nn+(on<<2)|0;Ur[Sn>>2]=pn;Pn=Bn+(on<<2)|0;gn=Ur[Pn>>2]|0;B=$;ln=0;bn=on;while(1){Ln=(B|0)/(Cn|0)&-1;Zn=(bn|0)/(Ln|0)&-1;en=sr(Zn,Ln)|0;wn=bn-en|0;Jn=gn+(ln<<2)|0;Ur[Jn>>2]=Zn;Rn=ln+1|0;hn=(Rn|0)==(R|0);if(hn){break}else{B=Ln;ln=Rn;bn=wn}}En=on+1|0;Dn=(En|0)<($|0);if(Dn){on=En}else{break}}return E|0}function Ed(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;I=cr;E=(B|0)>0;if(E){S=0;P=0}else{return 0}while(1){D=Q+(S<<2)|0;C=Ur[D>>2]|0;Z=(C|0)==0;if(Z){G=P}else{e=A+(S<<2)|0;w=Ur[e>>2]|0;J=P+1|0;g=A+(P<<2)|0;Ur[g>>2]=w;G=J}R=S+1|0;i=(R|0)==(B|0);if(i){a=G;break}else{S=R;P=G}}p=(a|0)==0;if(p){return 0}Rd(n,d,A,a,2);return 0}function Dd(n,d,A,Q,B,E,D,C){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;D=D|0;C=C|0;var Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0;r=cr;Z=(E|0)>0;if(Z){a=0;f=0}else{return 0}while(1){e=B+(a<<2)|0;w=Ur[e>>2]|0;J=(w|0)==0;if(J){I=f}else{g=Q+(a<<2)|0;R=Ur[g>>2]|0;p=f+1|0;i=Q+(f<<2)|0;Ur[i>>2]=R;I=p}S=a+1|0;G=(S|0)==(E|0);if(G){M=I;break}else{a=S;f=I}}P=(M|0)==0;if(P){return 0}id(n,A,Q,M,D);return 0}function Cd(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0.0,O=0.0,r=0.0;var U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0;var q=0,m=0,z=0,X=0.0,t=0.0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0,wn=0;var Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0,hn=0;var Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0;yn=cr;C=(B|0)>0;if(C){Fn=0;Nn=0}else{E=0;return E|0}while(1){Z=Q+(Fn<<2)|0;a=Ur[Z>>2]|0;T=(a|0)==0;if(T){un=Nn}else{L=A+(Fn<<2)|0;_=Ur[L>>2]|0;en=Nn+1|0;Pn=A+(Nn<<2)|0;Ur[Pn>>2]=_;un=en}Gn=Fn+1|0;Mn=(Gn|0)==(B|0);if(Mn){Ln=un;break}else{Fn=Gn;Nn=un}}an=(Ln|0)==0;if(an){E=0;return E|0}e=Ur[d>>2]|0;w=e+8|0;J=Ur[w>>2]|0;g=e+12|0;R=Ur[g>>2]|0;p=e+4|0;i=Ur[p>>2]|0;S=Ur[e>>2]|0;P=i-S|0;G=(P|0)/(J|0)&-1;f=Ln<<2;I=vw(n,f)|0;M=+(J|0);O=100.0/M;r=O;U=(Ln|0)>0;if(U){K=G<<2;cn=0;while(1){W=vw(n,K)|0;H=I+(cn<<2)|0;Ur[H>>2]=W;AZ(W|0,0,K|0)|0;Y=cn+1|0;Kn=(Y|0)==(Ln|0);if(Kn){break}else{cn=Y}}}F=(G|0)>0;if(F){c=(J|0)>0;s=R+-1|0;h=(R|0)>1;sn=0;while(1){o=sr(sn,J)|0;k=Ur[e>>2]|0;l=k+o|0;if(U){hn=0;while(1){if(c){V=A+(hn<<2)|0;N=Ur[V>>2]|0;In=0;Wn=0;kn=0;while(1){u=l+Wn|0;b=N+(u<<2)|0;y=Ur[b>>2]|0;Tn=(y|0)>-1;ln=0-y|0;x=Tn?y:ln;q=(x|0)>(kn|0);D=q?x:kn;m=x+In|0;z=Wn+1|0;On=(z|0)==(J|0);if(On){fn=m;on=D;break}else{In=m;Wn=z;kn=D}}}else{fn=0;on=0}X=+(fn|0);t=X*r;v=~~t;n:do{if(h){Yn=0;while(1){j=(e+2328|0)+(Yn<<2)|0;$=Ur[j>>2]|0;nn=(on|0)>($|0);if(!nn){dn=(e+2584|0)+(Yn<<2)|0;An=Ur[dn>>2]|0;Qn=(An|0)<0;Bn=(v|0)<(An|0);Vn=Qn|Bn;if(Vn){Hn=Yn;break n}}En=Yn+1|0;Dn=(En|0)<(s|0);if(Dn){Yn=En}else{Hn=En;break}}}else{Hn=0}}while(0);Cn=I+(hn<<2)|0;Zn=Ur[Cn>>2]|0;wn=Zn+(sn<<2)|0;Ur[wn>>2]=Hn;Jn=hn+1|0;rn=(Jn|0)==(Ln|0);if(rn){break}else{hn=Jn}}}gn=sn+1|0;Un=(gn|0)==(G|0);if(Un){break}else{sn=gn}}}Rn=d+40|0;pn=Ur[Rn>>2]|0;Sn=pn+1|0;Ur[Rn>>2]=Sn;E=I;return E|0}function Zd(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;I=cr;E=(B|0)>0;if(E){S=0;P=0}else{return 0}while(1){D=Q+(S<<2)|0;C=Ur[D>>2]|0;Z=(C|0)==0;if(Z){G=P}else{e=A+(S<<2)|0;w=Ur[e>>2]|0;J=P+1|0;g=A+(P<<2)|0;Ur[g>>2]=w;G=J}R=S+1|0;i=(R|0)==(B|0);if(i){a=G;break}else{S=R;P=G}}p=(a|0)==0;if(p){return 0}Rd(n,d,A,a,3);return 0}function ed(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0;var U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0;var q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0,wn=0;var Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0,hn=0;var Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0;ln=cr;Z=(B|0)>0;if(Z){Sn=0;on=0}else{E=0;return E|0}while(1){e=Q+(Sn<<2)|0;f=Ur[e>>2]|0;hn=(f|0)!=0;h=hn&1;Hn=h+on|0;b=Sn+1|0;gn=(b|0)==(B|0);if(gn){Yn=Hn;break}else{Sn=b;on=Hn}}Wn=(Yn|0)==0;if(Wn){E=0;return E|0}$=Ur[d>>2]|0;Bn=$+8|0;En=Ur[Bn>>2]|0;Dn=$+12|0;Cn=Ur[Dn>>2]|0;w=$+4|0;J=Ur[w>>2]|0;g=Ur[$>>2]|0;R=J-g|0;p=(R|0)/(En|0)&-1;i=vw(n,4)|0;S=p<<2;P=vw(n,S)|0;Ur[i>>2]=P;AZ(P|0,0,S|0)|0;G=(p|0)>0;if(G){a=Ur[$>>2]|0;I=(a|0)/(B|0)&-1;M=(En|0)>0;O=Cn+-1|0;r=(Cn|0)>1;U=Ur[i>>2]|0;K=(B|0)>1;Pn=0;rn=I;while(1){if(M){F=Ur[A>>2]|0;en=0;fn=0;Kn=rn;cn=0;while(1){c=F+(Kn<<2)|0;s=Ur[c>>2]|0;Gn=(s|0)>-1;sn=0-s|0;T=Gn?s:sn;W=(T|0)>(cn|0);C=W?T:cn;if(K){Jn=en;On=1;while(1){H=A+(On<<2)|0;Y=Ur[H>>2]|0;o=Y+(Kn<<2)|0;k=Ur[o>>2]|0;an=(k|0)>-1;Tn=0-k|0;l=an?k:Tn;V=(l|0)>(Jn|0);D=V?l:Jn;N=On+1|0;Rn=(N|0)==(B|0);if(Rn){wn=D;break}else{Jn=D;On=N}}}else{wn=en}u=Kn+1|0;L=fn+B|0;y=(L|0)<(En|0);if(y){en=wn;fn=L;Kn=u;cn=C}else{Zn=wn;Un=u;Fn=C;break}}}else{Zn=0;Un=rn;Fn=0}n:do{if(r){Mn=0;while(1){x=($+2328|0)+(Mn<<2)|0;q=Ur[x>>2]|0;m=(Fn|0)>(q|0);if(!m){z=($+2584|0)+(Mn<<2)|0;X=Ur[z>>2]|0;t=(Zn|0)>(X|0);if(!t){In=Mn;break n}}v=Mn+1|0;j=(v|0)<(O|0);if(j){Mn=v}else{In=v;break}}}else{In=0}}while(0);_=U+(Pn<<2)|0;Ur[_>>2]=In;nn=Pn+1|0;pn=(nn|0)==(p|0);if(pn){break}else{Pn=nn;rn=Un}}}dn=d+40|0;An=Ur[dn>>2]|0;Qn=An+1|0;Ur[dn>>2]=Qn;E=i;return E|0}function Jd(n,d,A,Q,B,E,D,C){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;D=D|0;C=C|0;var Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0,U=0,K=0,F=0;var c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0;N=cr;cr=cr+16|0;l=N;Z=d+36|0;e=Ur[Z>>2]|0;f=(e|0)/2&-1;I=E<<2;M=sr(I,f)|0;O=vw(d,M)|0;Ur[l>>2]=O;r=(E|0)>0;if(!r){cr=N;return 0}U=(e|0)>1;s=0;k=0;while(1){K=Q+(s<<2)|0;F=Ur[K>>2]|0;w=B+(s<<2)|0;J=Ur[w>>2]|0;W=(J|0)!=0;g=W&1;Y=g+k|0;if(U){T=0;h=s;while(1){R=F+(T<<2)|0;p=Ur[R>>2]|0;i=O+(h<<2)|0;Ur[i>>2]=p;S=T+1|0;P=h+E|0;G=(S|0)<(f|0);if(G){T=S;h=P}else{break}}}a=s+1|0;c=(a|0)==(E|0);if(c){o=Y;break}else{s=a;k=Y}}H=(o|0)==0;if(H){cr=N;return 0}id(n,A,l,1,D);cr=N;return 0}function gd(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0;var U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0;var q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0,wn=0;var Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0,hn=0;var Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0;qn=cr;C=Ur[d>>2]|0;Z=C+8|0;a=Ur[Z>>2]|0;T=d+16|0;L=Ur[T>>2]|0;_=Ur[L>>2]|0;en=n+36|0;In=Ur[en>>2]|0;Wn=sr(In,B)|0;Hn=Wn>>1;e=C+4|0;w=Ur[e>>2]|0;J=(w|0)<(Hn|0);E=J?w:Hn;g=Ur[C>>2]|0;R=E-g|0;p=(R|0)>0;if(!p){return 0}i=(R|0)/(a|0)&-1;S=_+-1|0;P=S+i|0;G=(P|0)/(_|0)&-1;f=G<<2;I=vw(n,f)|0;M=(B|0)>0;n:do{if(M){on=0;while(1){O=Q+(on<<2)|0;r=Ur[O>>2]|0;U=(r|0)==0;if(!U){Yn=on;break n}K=on+1|0;F=(K|0)<(B|0);if(F){on=K}else{Yn=K;break}}}else{Yn=0}}while(0);c=(Yn|0)==(B|0);if(c){return 0}s=d+8|0;h=Ur[s>>2]|0;W=(h|0)>0;if(!W){return 0}H=(i|0)>0;Y=n+4|0;o=C+16|0;k=d+28|0;l=(_|0)>0;V=d+20|0;hn=h;yn=0;n:while(1){if(H){N=(yn|0)==0;u=1<>2]|0;y=Yd(b,Y)|0;x=(y|0)==-1;if(x){xn=23;break n}q=Ur[o>>2]|0;m=(y|0)<(q|0);if(!m){xn=23;break n}z=Ur[k>>2]|0;X=z+(y<<2)|0;t=Ur[X>>2]|0;v=I+(un<<2)|0;Ur[v>>2]=t;j=(t|0)==(0|0);if(j){xn=23;break n}}$=(kn|0)<(i|0);bn=l&$;if(bn){nn=I+(un<<2)|0;Vn=kn;Nn=0;while(1){dn=Ur[nn>>2]|0;An=dn+(Nn<<2)|0;Qn=Ur[An>>2]|0;Bn=(C+24|0)+(Qn<<2)|0;En=Ur[Bn>>2]|0;Dn=En&u;Cn=(Dn|0)==0;if(!Cn){Zn=Ur[V>>2]|0;wn=Zn+(Qn<<2)|0;Jn=Ur[wn>>2]|0;gn=Jn+(yn<<2)|0;Rn=Ur[gn>>2]|0;pn=(Rn|0)==(0|0);if(!pn){Sn=sr(Vn,a)|0;Pn=Ur[C>>2]|0;Gn=Pn+Sn|0;an=mn(Rn,A,Gn,B,Y,a)|0;fn=(an|0)==-1;if(fn){xn=23;break n}}}Mn=Nn+1|0;On=Vn+1|0;rn=(Mn|0)<(_|0);Un=(On|0)<(i|0);Ln=rn&Un;if(Ln){Vn=On;Nn=Mn}else{ln=On;break}}}else{ln=kn}Kn=un+1|0;Fn=(ln|0)<(i|0);if(Fn){kn=ln;un=Kn}else{break}}D=Ur[s>>2]|0;Tn=D}else{Tn=hn}cn=yn+1|0;sn=(cn|0)<(Tn|0);if(sn){hn=Tn;yn=cn}else{xn=23;break}}if((xn|0)==23){return 0}return 0|0}function Rd(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0;var U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0;var q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0,wn=0;var Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0,hn=0;var Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0,jn=0;var _n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0;ed=cr;e=Ur[d>>2]|0;w=e+8|0;I=Ur[w>>2]|0;W=d+16|0;y=Ur[W>>2]|0;nn=Ur[y>>2]|0;Jn=n+36|0;On=Ur[Jn>>2]|0;Yn=On>>1;qn=e+4|0;J=Ur[qn>>2]|0;g=(J|0)<(Yn|0);E=g?J:Yn;R=Ur[e>>2]|0;p=E-R|0;i=(p|0)>0;if(!i){cr=ed;return}S=(p|0)/(I|0)&-1;P=Q<<2;D=P;G=cr;cr=cr+((1*D|0)+15&-16)|0;a=(Q|0)>0;if(a){f=nn+-1|0;M=f+S|0;O=(M|0)/(nn|0)&-1;r=O<<2;_n=0;while(1){o=vw(n,r)|0;k=G+(_n<<2)|0;Ur[k>>2]=o;l=_n+1|0;zn=(l|0)==(Q|0);if(zn){break}else{_n=l}}}U=d+8|0;K=Ur[U>>2]|0;F=(K|0)>0;if(!F){cr=ed;return}c=(S|0)>0;s=n+4|0;T=e+16|0;h=d+28|0;H=(nn|0)>0;Y=d+20|0;Z=a^1;Cd=0;n:while(1){if(c){V=1<>2]|0;rn=Yd(Mn,s)|0;Un=(rn|0)==-1;if(Un){Zd=25;break n}Kn=Ur[T>>2]|0;Fn=(rn|0)<(Kn|0);if(!Fn){Zd=25;break n}cn=Ur[h>>2]|0;sn=cn+(rn<<2)|0;Tn=Ur[sn>>2]|0;hn=G+($n<<2)|0;Wn=Ur[hn>>2]|0;Hn=Wn+(Qd<<2)|0;Ur[Hn>>2]=Tn;on=(Tn|0)==0;fn=$n+1|0;if(on){Zd=25;break n}In=(fn|0)<(Q|0);if(In){$n=fn}else{break}}}N=(Xn|0)<(S|0);Dd=H&N;d:do{if(Dd){if(a){jn=Xn;Ad=0}else{vn=Xn;dd=0;while(1){kn=dd+1|0;ln=vn+1|0;Vn=(kn|0)<(nn|0);Nn=(ln|0)<(S|0);Bd=Vn&Nn;if(Bd){vn=ln;dd=kn}else{tn=ln;break d}}}while(1){z=sr(jn,I)|0;nd=0;while(1){q=Ur[e>>2]|0;m=q+z|0;X=G+(nd<<2)|0;t=Ur[X>>2]|0;v=t+(Qd<<2)|0;j=Ur[v>>2]|0;_=j+(Ad<<2)|0;$=Ur[_>>2]|0;dn=(e+24|0)+($<<2)|0;An=Ur[dn>>2]|0;Qn=An&V;Bn=(Qn|0)==0;if(!Bn){En=Ur[Y>>2]|0;Dn=En+($<<2)|0;Cn=Ur[Dn>>2]|0;Zn=Cn+(Cd<<2)|0;en=Ur[Zn>>2]|0;wn=(en|0)==(0|0);if(!wn){gn=A+(nd<<2)|0;Rn=Ur[gn>>2]|0;pn=Rn+(m<<2)|0;Sn=xA[B&3](en,pn,s,I)|0;Pn=(Sn|0)==-1;if(Pn){Zd=25;break n}}}Gn=nd+1|0;an=(Gn|0)<(Q|0);if(an){nd=Gn}else{break}}u=Ad+1|0;L=jn+1|0;b=(u|0)<(nn|0);x=(L|0)<(S|0);Ed=b&x;if(Ed){jn=L;Ad=u}else{tn=L;break}}}else{tn=Xn}}while(0);un=Qd+1|0;Ln=(tn|0)<(S|0);if(Ln){Xn=tn;Qd=un}else{break}}}bn=Cd+1|0;yn=Ur[U>>2]|0;xn=(bn|0)<(yn|0);if(xn){Cd=bn}else{Zd=25;break}}if((Zd|0)==25){cr=ed;return}}function id(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0;var U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0;var q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0,wn=0;var Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0,hn=0;var Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0,jn=0;var _n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0,Sd=0,Pd=0;var Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0,kd=0,ld=0;var Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0,dA=0,AA=0,QA=0;var BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0,IA=0,MA=0,OA=0;var rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0,LA=0,bA=0,yA=0;var xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0,DQ=0,CQ=0,ZQ=0,eQ=0;var wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0,rQ=0,UQ=0,KQ=0,FQ=0,cQ=0,sQ=0;var TQ=0,hQ=0,WQ=0,HQ=0,YQ=0,oQ=0,kQ=0,lQ=0,VQ=0,NQ=0,uQ=0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0,mQ=0,zQ=0,XQ=0,tQ=0;var vQ=0,jQ=0,_Q=0,$Q=0,nB=0,dB=0,AB=0,QB=0,BB=0,EB=0,DB=0,CB=0,ZB=0,eB=0;eB=cr;cr=cr+1088|0;_Q=eB+1056|0;pQ=eB+1024|0;$Q=eB+512|0;nB=eB;S=Ur[d>>2]|0;P=S+8|0;Id=Ur[P>>2]|0;ud=S+12|0;jd=Ur[ud>>2]|0;ZA=d+16|0;aA=Ur[ZA>>2]|0;TA=Ur[aA>>2]|0;LA=S+4|0;_A=Ur[LA>>2]|0;G=Ur[S>>2]|0;s=_A-G|0;u=(s|0)/(Id|0)&-1;AZ($Q|0,0,512)|0;AZ(nB|0,0,512)|0;j=d+8|0;Zn=Ur[j>>2]|0;fn=(Zn|0)>0;if(!fn){cr=eB;return}hn=(u|0)>0;bn=(Q|0)>0;$n=(TA|0)>1;wd=d+36|0;Md=(TA|0)>0;hd=d+20|0;Wd=d+32|0;Hd=0-TA|0;Td=Zn;dB=0;while(1){if(hn){Yd=(dB|0)==0;od=1<>2]|0;gA=JA+(KQ<<2)|0;RA=Ur[gA>>2]|0;pA=Ur[ZA>>2]|0;iA=pA+4|0;SA=Ur[iA>>2]|0;PA=(RA|0)<(SA|0);if(PA){GA=UB(pA,RA,n)|0;fA=Ur[wd>>2]|0;IA=fA+GA|0;Ur[wd>>2]=IA}MA=LQ+1|0;iQ=(MA|0)==(Q|0);if(iQ){break n}else{LQ=MA}}}while(1){AA=B+(bQ<<2)|0;_d=Ur[AA>>2]|0;QA=_d+(KQ<<2)|0;BA=Ur[QA>>2]|0;qQ=1;EB=BA;while(1){zd=sr(EB,jd)|0;Xd=qQ+KQ|0;td=(Xd|0)<(u|0);if(td){vd=_d+(Xd<<2)|0;$d=Ur[vd>>2]|0;nA=$d+zd|0;DB=nA}else{DB=zd}dA=qQ+1|0;IQ=(dA|0)==(TA|0);if(IQ){CB=DB;break}else{qQ=dA;EB=DB}}Vd=Ur[ZA>>2]|0;Nd=Vd+4|0;Ld=Ur[Nd>>2]|0;bd=(CB|0)<(Ld|0);if(bd){yd=UB(Vd,CB,n)|0;xd=Ur[wd>>2]|0;qd=xd+yd|0;Ur[wd>>2]=qd}md=bQ+1|0;MQ=(md|0)==(Q|0);if(MQ){break}else{bQ=md}}}}while(0);EA=(KQ|0)<(u|0);vQ=Md&EA;if(vQ){DA=KQ-u|0;CA=DA>>>0>>0;BB=CA?Hd:DA;eA=0-BB|0;TQ=KQ;mQ=0;while(1){OA=sr(TQ,Id)|0;rA=Ur[S>>2]|0;UA=rA+OA|0;if(bn){xQ=0;while(1){KA=B+(xQ<<2)|0;FA=Ur[KA>>2]|0;cA=FA+(TQ<<2)|0;sA=Ur[cA>>2]|0;if(Yd){hA=nB+(sA<<2)|0;WA=Ur[hA>>2]|0;HA=WA+Id|0;Ur[hA>>2]=HA}YA=(S+24|0)+(sA<<2)|0;oA=Ur[YA>>2]|0;kA=oA&od;lA=(kA|0)==0;if(!lA){VA=Ur[hd>>2]|0;NA=VA+(sA<<2)|0;uA=Ur[NA>>2]|0;bA=uA+(dB<<2)|0;yA=Ur[bA>>2]|0;xA=(yA|0)==(0|0);if(!xA){qA=A+(xQ<<2)|0;mA=Ur[qA>>2]|0;zA=Ur[yA>>2]|0;XA=(Id|0)/(zA|0)&-1;tA=(XA|0)>0;if(tA){vA=yA+48|0;jA=yA+52|0;$A=yA+44|0;nQ=yA+12|0;dQ=yA+4|0;a=zA;gQ=0;cQ=0;while(1){AQ=sr(cQ,zA)|0;g=AQ+UA|0;QQ=mA+(g<<2)|0;BQ=Ur[vA>>2]|0;EQ=Ur[jA>>2]|0;DQ=Ur[$A>>2]|0;CQ=DQ>>1;Ur[_Q>>2]=0|0;Ur[_Q+4>>2]=0|0;Ur[_Q+8>>2]=0|0;Ur[_Q+12>>2]=0|0;Ur[_Q+16>>2]=0|0;Ur[_Q+20>>2]=0|0;Ur[_Q+24>>2]=0|0;Ur[_Q+28>>2]=0|0;ZQ=(EQ|0)==1;f=(a|0)>0;do{if(ZQ){if(!f){kQ=0;break}r=DQ+-1|0;hQ=0;oQ=0;XQ=a;while(1){t=XQ+-1|0;i=g+t|0;v=mA+(i<<2)|0;_=Ur[v>>2]|0;$=_-BQ|0;nn=($|0)<(CQ|0);if(nn){dn=CQ-$|0;An=dn<<1;Qn=An+-1|0;Cn=Qn}else{Bn=$-CQ|0;En=Bn<<1;Cn=En}Dn=sr(oQ,DQ)|0;en=(Cn|0)<0;wn=(Cn|0)>=(DQ|0);Jn=wn?r:Cn;gn=en?0:Jn;Rn=gn+Dn|0;pn=_Q+(t<<2)|0;Ur[pn>>2]=_;Sn=hQ+1|0;rQ=(Sn|0)==(a|0);if(rQ){kQ=Rn;break}else{hQ=Sn;oQ=Rn;XQ=t}}}else{if(!f){kQ=0;break}I=EQ>>1;M=I-BQ|0;O=DQ+-1|0;FQ=0;YQ=0;zQ=a;while(1){U=zQ+-1|0;p=g+U|0;K=mA+(p<<2)|0;F=Ur[K>>2]|0;c=M+F|0;T=(c|0)/(EQ|0)&-1;h=(T|0)<(CQ|0);if(h){W=CQ-T|0;H=W<<1;Y=H+-1|0;V=Y}else{o=T-CQ|0;k=o<<1;V=k}l=sr(YQ,DQ)|0;N=(V|0)<0;L=(V|0)>=(DQ|0);b=L?O:V;y=N?0:b;x=y+l|0;q=sr(T,EQ)|0;m=q+BQ|0;z=_Q+(U<<2)|0;Ur[z>>2]=m;X=FQ+1|0;UQ=(X|0)==(a|0);if(UQ){kQ=x;break}else{FQ=X;YQ=x;zQ=U}}}}while(0);Pn=Ur[nQ>>2]|0;Gn=Pn+8|0;an=Ur[Gn>>2]|0;In=an+kQ|0;Mn=rB[In>>0]|0;On=Mn<<24>>24<1;do{if(On){Ur[pQ>>2]=0|0;Ur[pQ+4>>2]=0|0;Ur[pQ+8>>2]=0|0;Ur[pQ+12>>2]=0|0;Ur[pQ+16>>2]=0|0;Ur[pQ+20>>2]=0|0;Ur[pQ+24>>2]=0|0;Ur[pQ+28>>2]=0|0;rn=DQ+-1|0;Un=sr(rn,EQ)|0;Kn=Un+BQ|0;Fn=Ur[dQ>>2]|0;cn=(Fn|0)>0;if(cn){eQ=-1;WQ=0;lQ=kQ}else{NQ=kQ;break}while(1){sn=an+WQ|0;Tn=rB[sn>>0]|0;Wn=Tn<<24>>24>0;do{if(Wn){if(f){uQ=0;QB=0;while(1){Hn=pQ+(uQ<<2)|0;Yn=Ur[Hn>>2]|0;R=g+uQ|0;on=mA+(R<<2)|0;kn=Ur[on>>2]|0;ln=Yn-kn|0;Vn=sr(ln,ln)|0;Nn=Vn+QB|0;un=uQ+1|0;OQ=(un|0)==(a|0);if(OQ){AB=Nn;break}else{uQ=un;QB=Nn}}}else{AB=0}Ln=(eQ|0)==-1;yn=(AB|0)<(eQ|0);tQ=Ln|yn;if(!tQ){wQ=eQ;VQ=lQ;break}Ur[_Q>>2]=Ur[pQ>>2]|0;Ur[_Q+4>>2]=Ur[pQ+4>>2]|0;Ur[_Q+8>>2]=Ur[pQ+8>>2]|0;Ur[_Q+12>>2]=Ur[pQ+12>>2]|0;Ur[_Q+16>>2]=Ur[pQ+16>>2]|0;Ur[_Q+20>>2]=Ur[pQ+20>>2]|0;Ur[_Q+24>>2]=Ur[pQ+24>>2]|0;Ur[_Q+28>>2]=Ur[pQ+28>>2]|0;wQ=AB;VQ=WQ}else{wQ=eQ;VQ=lQ}}while(0);xn=Ur[pQ>>2]|0;qn=(xn|0)<(Kn|0);if(qn){D=pQ;C=xn}else{zn=pQ;yQ=0;while(1){mn=yQ+1|0;Ur[zn>>2]=0;Xn=pQ+(mn<<2)|0;tn=Ur[Xn>>2]|0;vn=(tn|0)<(Kn|0);if(vn){D=Xn;C=tn;break}else{zn=Xn;yQ=mn}}}jn=(C|0)>-1;if(jn){_n=C+EQ|0;Ur[D>>2]=_n;dd=_n}else{dd=C}nd=0-dd|0;Ur[D>>2]=nd;Ad=WQ+1|0;SQ=(Ad|0)==(Fn|0);if(SQ){NQ=VQ;break}else{eQ=wQ;WQ=Ad;lQ=VQ}}}else{NQ=kQ}}while(0);Qd=(NQ|0)>-1;jQ=f&Qd;if(jQ){E=QQ;HQ=0;while(1){Bd=_Q+(HQ<<2)|0;Ed=Ur[Bd>>2]|0;Dd=E+4|0;Cd=Ur[E>>2]|0;Zd=Cd-Ed|0;Ur[E>>2]=Zd;ed=HQ+1|0;PQ=(ed|0)==(a|0);if(PQ){break}else{E=Dd;HQ=ed}}}Jd=UB(yA,NQ,n)|0;gd=Jd+gQ|0;Rd=cQ+1|0;GQ=(Rd|0)==(XA|0);if(GQ){Z=gd;break}e=Ur[yA>>2]|0;a=e;gQ=gd;cQ=Rd}w=Ur[KA>>2]|0;Pd=w;JQ=Z}else{Pd=FA;JQ=0}pd=Ur[Wd>>2]|0;id=pd+JQ|0;Ur[Wd>>2]=id;Sd=Pd+(TQ<<2)|0;Gd=Ur[Sd>>2]|0;ad=$Q+(Gd<<2)|0;fd=Ur[ad>>2]|0;Od=fd+JQ|0;Ur[ad>>2]=Od}}rd=xQ+1|0;aQ=(rd|0)==(Q|0);if(aQ){break}else{xQ=rd}}}Ud=mQ+1|0;Kd=TQ+1|0;fQ=(Ud|0)==(eA|0);if(fQ){break}else{TQ=Kd;mQ=Ud}}kd=KQ-BB|0;sQ=kd}else{sQ=KQ}ld=(sQ|0)<(u|0);if(ld){KQ=sQ}else{break}}J=Ur[j>>2]|0;sd=J}else{sd=Td}Fd=dB+1|0;cd=(Fd|0)<(sd|0);if(cd){Td=sd;dB=Fd}else{break}}cr=eB;return}function KB(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0;e=cr;A=(n|0)==0;if(A){D=0}else{d=n;C=0;while(1){Q=d>>>1;B=C+1|0;E=(Q|0)==0;if(E){D=B;break}else{d=Q;C=B}}}return D|0}function FB(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0;var O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0;var y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0;var en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0;var Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0;var vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0;var Sd=0,Pd=0,Gd=0,ad=0,fd=0;fd=cr;cr=cr+144|0;gd=fd;Z=(A|0)!=0;e=Z?A:d;f=e<<2;h=Wr(f)|0;AZ(gd|0,0,132)|0;b=(d|0)>0;do{if(b){$=gd+4|0;wn=(A|0)==0;Mn=wn&1;xn=0;$n=0;n:while(1){Hn=n+$n|0;yn=rB[Hn>>0]|0;w=yn<<24>>24;J=yn<<24>>24>0;d:do{if(J){g=gd+(w<<2)|0;R=Ur[g>>2]|0;p=yn<<24>>24>31;i=R>>>w;S=(i|0)==0;Rd=p|S;if(!Rd){ad=5;break n}P=h+(xn<<2)|0;Ur[P>>2]=R;G=gd+(w<<2)|0;a=R&1;I=(a|0)==0;A:do{if(I){W=R;H=G;Bd=w;while(1){T=W+1|0;Ur[H>>2]=T;Y=Bd+-1|0;o=(Bd|0)>1;if(!o){break A}E=gd+(Y<<2)|0;C=Ur[E>>2]|0;k=gd+(Y<<2)|0;l=C&1;V=(l|0)==0;if(V){W=C;H=k;Bd=Y}else{B=k;Qd=Y;ad=8;break}}}else{B=G;Qd=w;ad=8}}while(0);do{if((ad|0)==8){ad=0;O=(Qd|0)==1;if(O){r=Ur[$>>2]|0;U=r+1|0;Ur[$>>2]=U;break}else{K=Qd+-1|0;F=gd+(K<<2)|0;c=Ur[F>>2]|0;s=c<<1;Ur[B>>2]=s;break}}}while(0);Zd=w+1|0;M=(Zd|0)<33;if(M){vn=R;Dd=w;ed=Zd;while(1){N=gd+(ed<<2)|0;u=Ur[N>>2]|0;L=u>>>1;y=(L|0)==(vn|0);if(!y){D=1;break d}x=gd+(Dd<<2)|0;q=Ur[x>>2]|0;m=q<<1;Ur[N>>2]=m;Ed=ed+1|0;z=(Ed|0)<33;if(z){Cd=ed;vn=u;ed=Ed;Dd=Cd}else{D=1;break}}}else{D=1}}else{D=Mn}}while(0);qn=xn+D|0;X=$n+1|0;t=(X|0)<(d|0);if(t){xn=qn;$n=X}else{mn=qn;ad=16;break}}if((ad|0)==5){qB(h);Q=0;cr=fd;return Q|0}else if((ad|0)==16){pd=(mn|0)==1;if(!pd){nd=1;ad=27;break}v=gd+8|0;j=Ur[v>>2]|0;_=(j|0)==2;if(_){break}else{nd=1;ad=27;break}}}else{nd=1;ad=27}}while(0);n:do{if((ad|0)==27){while(1){ad=0;fn=gd+(nd<<2)|0;In=Ur[fn>>2]|0;On=32-nd|0;rn=-1>>>On;Un=In&rn;Kn=(Un|0)==0;Gn=nd+1|0;if(!Kn){break}an=(Gn|0)<33;if(an){nd=Gn;ad=27}else{break n}}qB(h);Q=0;cr=fd;return Q|0}}while(0);if(!b){Q=h;cr=fd;return Q|0}if(Z){Xn=0;Ad=0}else{zn=0;dd=0;while(1){Fn=n+dd|0;cn=rB[Fn>>0]|0;sn=cn<<24>>24>0;if(sn){Tn=h+(zn<<2)|0;hn=Ur[Tn>>2]|0;Wn=cn<<24>>24;wd=0;Pd=0;while(1){Yn=Pd<<1;on=hn>>>wd;kn=on&1;ln=kn|Yn;Vn=wd+1|0;Nn=(Vn|0)<(Wn|0);if(Nn){wd=Vn;Pd=ln}else{id=ln;break}}}else{id=0}un=zn+1|0;Ln=h+(zn<<2)|0;Ur[Ln>>2]=id;bn=dd+1|0;jn=(bn|0)==(d|0);if(jn){Q=h;break}else{zn=un;dd=bn}}cr=fd;return Q|0}while(1){nn=n+Ad|0;dn=rB[nn>>0]|0;An=dn<<24>>24>0;if(An){Pn=h+(Xn<<2)|0;en=Ur[Pn>>2]|0;Sn=dn<<24>>24;Jd=0;Gd=0;while(1){Cn=Gd<<1;Zn=en>>>Jd;Jn=Zn&1;gn=Jn|Cn;Rn=Jd+1|0;pn=(Rn|0)<(Sn|0);if(pn){Jd=Rn;Gd=gn}else{Sd=gn;break}}}else{Sd=0}Qn=dn<<24>>24==0;if(Qn){tn=Xn}else{Bn=Xn+1|0;En=h+(Xn<<2)|0;Ur[En>>2]=Sd;tn=Bn}Dn=Ad+1|0;_n=(Dn|0)==(d|0);if(_n){Q=h;break}else{Xn=tn;Ad=Dn}}cr=fd;return Q|0}function Kd(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0.0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0.0,G=0.0,a=0.0,f=0.0;var I=0.0,M=0.0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0;W=cr;Q=n+4|0;B=Ur[Q>>2]|0;i=Ur[n>>2]|0;S=(i|0)>0;if(!S){while(1){}}P=+(B|0);G=P;a=+(i|0);f=1.0/a;I=f;M=+VA(+G,+I);E=+VC(+M);D=~~E;F=D;while(1){g=F+1|0;O=1;r=1;U=0;while(1){w=sr(O,F)|0;J=sr(r,g)|0;R=U+1|0;p=(R|0)<(i|0);if(p){O=w;r=J;U=R}else{d=w;A=J;break}}C=(d|0)<=(B|0);Z=(A|0)>(B|0);K=C&Z;if(K){T=F;break}e=(d|0)>(B|0);s=e?-1:1;c=F+s|0;F=c}return T|0}function cB(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0.0,B=0.0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0.0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0.0;var O=0.0,r=0.0,U=0.0,K=0.0,F=0.0,c=0.0,s=0.0,T=0,h=0,W=0,H=0.0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0;var y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0.0,nn=0.0,dn=0,An=0.0,Qn=0.0,Bn=0.0,En=0.0,Dn=0.0,Cn=0,Zn=0;var en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0.0,In=0,Mn=0,On=0,rn=0,Un=0.0,Kn=0,Fn=0.0,cn=0.0,sn=0;var Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0.0,un=0.0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0.0,Xn=0.0,tn=0.0;var vn=0.0,jn=0.0,_n=0.0,$n=0.0,nd=0,dd=0,Ad=0,Qd=0.0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0.0,ed=0.0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0;var Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0;var kd=0,ld=0.0,Vd=0.0,Nd=0.0,ud=0.0,Ld=0.0,bd=0.0,yd=0.0,xd=0,qd=0,md=0,zd=0.0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0.0,dA=0.0;var AA=0.0,QA=0.0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0.0,gA=0.0,RA=0.0,pA=0.0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0,IA=0;var MA=0,OA=0,rA=0,UA=0.0,KA=0.0,FA=0.0,cA=0.0,sA=0.0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0;lA=cr;e=n+12|0;w=Ur[e>>2]|0;Z=w+-1|0;hA=Z>>>0<2;if(!hA){E=0;return E|0}rn=n+16|0;on=Ur[rn>>2]|0;mn=on&2097151;Qd=+(mn|0);pd=on>>>21;Ud=pd&1023;kd=(on|0)<0;zd=-Qd;Q=kd?zd:Qd;J=Ud+-788|0;M=+yA(Q,J);H=M;x=n+20|0;dn=Ur[x>>2]|0;gn=dn&2097151;fn=+(gn|0);In=dn>>>21;Mn=In&1023;On=(dn|0)<0;Un=-fn;B=On?Un:fn;Kn=Mn+-788|0;Fn=+yA(B,Kn);cn=Fn;sn=Ur[n>>2]|0;Tn=sr(sn,d)|0;hn=Hr(Tn,4)|0;if((w|0)==1){yn=n+4|0;xn=Ur[yn>>2]|0;qn=(sn|0)>0;if(!qn){while(1){}}zn=+(xn|0);Xn=zn;tn=+(sn|0);vn=1.0/tn;jn=vn;_n=+VA(+Xn,+jn);$n=+VC(+_n);nd=~~$n;YA=nd;while(1){id=YA+1|0;BA=1;EA=1;iA=0;while(1){gd=sr(BA,YA)|0;Rd=sr(EA,id)|0;Sd=iA+1|0;wA=(Sd|0)==(sn|0);if(wA){D=gd;C=Rd;break}else{BA=gd;EA=Rd;iA=Sd}}dd=(D|0)<=(xn|0);Ad=(C|0)>(xn|0);TA=Adⅆif(TA){oA=YA;break}Jd=(D|0)>(xn|0);HA=Jd?-1:1;WA=HA+YA|0;YA=WA}Bd=(xn|0)>0;if(!Bd){E=hn;return E|0}Ed=(A|0)==(0|0);Dd=n+8|0;Cd=n+32|0;Zd=cn;ed=H;wd=n+28|0;DA=0;aA=0;while(1){if(Ed){Id=Ur[Cd>>2]|0;Md=Ur[wd>>2]|0;Od=(Md|0)==0;rd=sr(sn,DA)|0;if(Od){GA=1;OA=0;while(1){vd=(aA|0)/(GA|0)&-1;jd=(vd|0)%(oA|0)&-1;_d=Id+(jd<<2)|0;$d=Ur[_d>>2]|0;nA=+($d|0);pA=+DE(+nA);dA=pA;AA=dA*Zd;QA=ed+AA;g=QA;R=rd+OA|0;p=hn+(R<<2)|0;Kr[p>>2]=g;i=sr(GA,oA)|0;S=OA+1|0;P=(S|0)<(sn|0);if(P){GA=i;OA=S}else{kA=21;break}}}else{SA=1;IA=0;KA=0.0;while(1){G=(aA|0)/(SA|0)&-1;a=(G|0)%(oA|0)&-1;f=Id+(a<<2)|0;I=Ur[f>>2]|0;O=+(I|0);gA=+DE(+O);r=gA;U=r*Zd;K=KA;F=K+ed;c=F+U;s=c;T=rd+IA|0;h=hn+(T<<2)|0;Kr[h>>2]=s;W=sr(SA,oA)|0;Y=IA+1|0;o=(Y|0)<(sn|0);if(o){SA=W;IA=Y;KA=s}else{kA=21;break}}}}else{Pd=Ur[Dd>>2]|0;Gd=Pd+aA|0;ad=rB[Gd>>0]|0;fd=ad<<24>>24==0;if(fd){CA=DA}else{Kd=Ur[Cd>>2]|0;Fd=Ur[wd>>2]|0;cd=(Fd|0)==0;sd=A+(DA<<2)|0;Td=Ur[sd>>2]|0;hd=sr(Td,sn)|0;PA=1;MA=0;FA=0.0;while(1){Wd=(aA|0)/(PA|0)&-1;Hd=(Wd|0)%(oA|0)&-1;Yd=Kd+(Hd<<2)|0;od=Ur[Yd>>2]|0;ld=+(od|0);RA=+DE(+ld);Vd=RA;Nd=Vd*Zd;ud=FA;Ld=ud+ed;bd=Ld+Nd;yd=bd;UA=cd?FA:yd;xd=hd+MA|0;qd=hn+(xd<<2)|0;Kr[qd>>2]=yd;md=sr(PA,oA)|0;Xd=MA+1|0;td=(Xd|0)<(sn|0);if(td){PA=md;MA=Xd;FA=UA}else{kA=21;break}}}}if((kA|0)==21){kA=0;k=DA+1|0;CA=k}l=aA+1|0;V=(l|0)<(xn|0);if(V){DA=CA;aA=l}else{E=hn;break}}return E|0}else if((w|0)==2){Wn=n+4|0;Hn=Ur[Wn>>2]|0;Yn=(Hn|0)>0;if(!Yn){E=hn;return E|0}kn=(A|0)!=(0|0);ln=n+8|0;Vn=n+32|0;Nn=cn;un=H;Ln=n+28|0;bn=(sn|0)>0;ZA=0;fA=0;while(1){if(kn){N=Ur[ln>>2]|0;u=N+fA|0;L=rB[u>>0]|0;b=L<<24>>24==0;if(b){eA=ZA}else{kA=25}}else{kA=25}if((kA|0)==25){kA=0;if(bn){y=Ur[Vn>>2]|0;q=Ur[Ln>>2]|0;m=(q|0)==0;z=A+(ZA<<2)|0;X=sr(sn,fA)|0;t=sr(sn,ZA)|0;rA=0;sA=0.0;while(1){v=X+rA|0;j=y+(v<<2)|0;_=Ur[j>>2]|0;$=+(_|0);JA=+DE(+$);nn=JA;An=nn*Nn;Qn=sA;Bn=Qn+un;En=Bn+An;Dn=En;cA=m?sA:Dn;if(kn){Cn=Ur[z>>2]|0;Zn=sr(Cn,sn)|0;en=Zn+rA|0;wn=hn+(en<<2)|0;Kr[wn>>2]=Dn}else{Jn=t+rA|0;Rn=hn+(Jn<<2)|0;Kr[Rn>>2]=Dn}pn=rA+1|0;Sn=(pn|0)<(sn|0);if(Sn){rA=pn;sA=cA}else{break}}}Pn=ZA+1|0;eA=Pn}Gn=fA+1|0;an=(Gn|0)<(Hn|0);if(an){ZA=eA;fA=Gn}else{E=hn;break}}return E|0}else{E=hn;return E|0}return 0|0}function lA(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0;J=cr;d=n+36|0;A=Ur[d>>2]|0;Q=(A|0)==0;if(Q){return}B=n+32|0;E=Ur[B>>2]|0;D=(E|0)==(0|0);if(!D){qB(E)}C=n+8|0;Z=Ur[C>>2]|0;e=(Z|0)==(0|0);if(!e){qB(Z)}qB(n);return}function Sd(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0;G=cr;d=n+16|0;A=Ur[d>>2]|0;Z=(A|0)==(0|0);if(!Z){qB(A)}e=n+20|0;w=Ur[e>>2]|0;J=(w|0)==(0|0);if(!J){qB(w)}g=n+24|0;R=Ur[g>>2]|0;p=(R|0)==(0|0);if(!p){qB(R)}i=n+28|0;Q=Ur[i>>2]|0;B=(Q|0)==(0|0);if(!B){qB(Q)}E=n+32|0;D=Ur[E>>2]|0;C=(D|0)==(0|0);if(!C){qB(D)}S=n;a=S+56|0;do{Ur[S>>2]=0|0;S=S+4|0}while((S|0)<(a|0));return}function NA(n,d){n=n|0;d=d|0;var A=0.0,Q=0.0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0.0,g=0.0,R=0.0,p=0.0,i=0.0,S=0.0,P=0.0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0.0,H=0,Y=0,o=0,k=0.0,l=0,V=0.0,N=0.0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0.0,z=0,X=0,t=0,v=0.0,j=0,_=0,$=0.0,nn=0.0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0.0,Rn=0.0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0;In=cr;an=n;Mn=an+56|0;do{Ur[an>>2]=0|0;an=an+4|0}while((an|0)<(Mn|0));D=n+12|0;Ur[D>>2]=d;C=d+4|0;G=Ur[C>>2]|0;s=n+4|0;Ur[s>>2]=G;u=n+8|0;Ur[u>>2]=G;j=Ur[d>>2]|0;Ur[n>>2]=j;Qn=d+8|0;Bn=Ur[Qn>>2]|0;En=FB(Bn,G,0)|0;Dn=n+20|0;Ur[Dn>>2]=En;Z=Ur[C>>2]|0;e=Ur[d>>2]|0;w=(e|0)>0;if(!w){while(1){}}J=+(Z|0);g=J;R=+(e|0);p=1.0/R;i=p;S=+VA(+g,+i);P=+VC(+S);a=~~P;Pn=a;while(1){U=Pn+1|0;Cn=1;Zn=1;wn=0;while(1){O=sr(Cn,Pn)|0;r=sr(Zn,U)|0;K=wn+1|0;en=(K|0)==(e|0);if(en){B=O;E=r;break}else{Cn=O;Zn=r;wn=K}}f=(B|0)<=(Z|0);I=(E|0)>(Z|0);Jn=I&f;if(Jn){Gn=Pn;break}M=(B|0)>(Z|0);Sn=M?-1:1;pn=Sn+Pn|0;Pn=pn}F=n+44|0;Ur[F>>2]=Gn;c=d+16|0;T=Ur[c>>2]|0;h=T&2097151;W=+(h|0);H=T>>>21;Y=H&1023;o=(T|0)<0;k=-W;A=o?k:W;l=Y+-788|0;V=+yA(A,l);N=V;gn=+Wd(N);L=~~gn;b=n+48|0;Ur[b>>2]=L;y=d+20|0;x=Ur[y>>2]|0;q=x&2097151;m=+(q|0);z=x>>>21;X=z&1023;t=(x|0)<0;v=-m;Q=t?v:m;_=X+-788|0;$=+yA(Q,_);nn=$;Rn=+Wd(nn);dn=~~Rn;An=n+52|0;Ur[An>>2]=dn;return 0}function LA(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0;var tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0;var id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0;var od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0;var dA=0,AA=0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0;var IA=0,MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0;var LA=0,bA=0,yA=0,xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0,DQ=0;var CQ=0,ZQ=0,eQ=0,wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0,rQ=0,UQ=0,KQ=0;var FQ=0,cQ=0,sQ=0,TQ=0,hQ=0,WQ=0,HQ=0,YQ=0,oQ=0,kQ=0,lQ=0,VQ=0,NQ=0,uQ=0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0,mQ=0;var zQ=0,XQ=0,tQ=0,vQ=0,jQ=0,_Q=0,$Q=0,nB=0,dB=0,AB=0,QB=0,BB=0,EB=0,DB=0,CB=0,ZB=0,eB=0,wB=0,JB=0,gB=0;var RB=0,pB=0,iB=0,SB=0,PB=0,GB=0,aB=0,fB=0,IB=0,MB=0,OB=0;MB=cr;fB=n;OB=fB+56|0;do{Ur[fB>>2]=0|0;fB=fB+4|0}while((fB|0)<(OB|0));g=d+4|0;R=Ur[g>>2]|0;Pd=(R|0)>0;if(Pd){pA=d+8|0;UA=Ur[pA>>2]|0;mQ=0;CB=0;while(1){kA=UA+mQ|0;zA=rB[kA>>0]|0;BQ=zA<<24>>24>0;iQ=BQ&1;Z=iQ+CB|0;KQ=mQ+1|0;p=(KQ|0)<(R|0);if(p){mQ=KQ;CB=Z}else{z=Z;break}}}else{z=0}U=n+4|0;Ur[U>>2]=R;k=n+8|0;Ur[k>>2]=z;Bn=Ur[d>>2]|0;Ur[n>>2]=Bn;Sn=(z|0)>0;if(!Sn){Q=0;cr=MB;return Q|0}Fn=d+8|0;Vn=Ur[Fn>>2]|0;tn=FB(Vn,R,z)|0;Dd=z<<2;E=Dd;Gd=cr;cr=cr+((1*E|0)+15&-16)|0;sd=(tn|0)==(0|0);if(sd){bd=n+16|0;yd=Ur[bd>>2]|0;xd=(yd|0)==(0|0);if(!xd){qB(yd)}qd=n+20|0;md=Ur[qd>>2]|0;zd=(md|0)==(0|0);if(!zd){qB(md)}Xd=n+24|0;td=Ur[Xd>>2]|0;vd=(td|0)==(0|0);if(!vd){qB(td)}_d=n+28|0;$d=Ur[_d>>2]|0;nA=($d|0)==(0|0);if(!nA){qB($d)}dA=n+32|0;AA=Ur[dA>>2]|0;QA=(AA|0)==(0|0);if(!QA){qB(AA)}fB=n;OB=fB+56|0;do{Ur[fB>>2]=0|0;fB=fB+4|0}while((fB|0)<(OB|0));Q=-1;cr=MB;return Q|0}else{zQ=0}while(1){ud=tn+(zQ<<2)|0;jd=Ur[ud>>2]|0;ZA=jd>>>16;eA=jd<<16;wA=ZA|eA;JA=wA>>>8;gA=JA&16711935;RA=wA<<8;iA=RA&-16711936;SA=gA|iA;PA=SA>>>4;GA=PA&252645135;aA=SA<<4;fA=aA&-252645136;IA=GA|fA;MA=IA>>>2;OA=MA&858993459;rA=IA<<2;KA=rA&-858993460;FA=OA|KA;cA=FA>>>1;sA=cA&1431655765;TA=FA<<1;hA=TA&-1431655766;WA=sA|hA;Ur[ud>>2]=WA;HA=Gd+(zQ<<2)|0;Ur[HA>>2]=ud;YA=zQ+1|0;uQ=(YA|0)==(z|0);if(uQ){break}else{zQ=YA}}sB(Gd,z,4,10);D=Dd;oA=cr;cr=cr+((1*D|0)+15&-16)|0;lA=Wr(Dd)|0;VA=n+20|0;Ur[VA>>2]=lA;NA=tn;XQ=0;while(1){uA=Gd+(XQ<<2)|0;LA=Ur[uA>>2]|0;bA=LA;yA=bA-NA|0;xA=yA>>2;qA=oA+(xA<<2)|0;Ur[qA>>2]=XQ;mA=XQ+1|0;NQ=(mA|0)==(z|0);if(NQ){tQ=0;break}else{XQ=mA}}while(1){XA=tn+(tQ<<2)|0;tA=Ur[XA>>2]|0;vA=oA+(tQ<<2)|0;jA=Ur[vA>>2]|0;_A=lA+(jA<<2)|0;Ur[_A>>2]=tA;$A=tQ+1|0;VQ=($A|0)==(z|0);if(VQ){break}else{tQ=$A}}qB(tn);nQ=cB(d,z,oA)|0;dQ=n+16|0;Ur[dQ>>2]=nQ;AQ=Wr(Dd)|0;QQ=n+24|0;Ur[QQ>>2]=AQ;EQ=Ur[g>>2]|0;DQ=(EQ|0)>0;if(DQ){e=Ur[Fn>>2]|0;vQ=0;eB=0;while(1){CQ=e+vQ|0;ZQ=rB[CQ>>0]|0;eQ=ZQ<<24>>24>0;if(eQ){wQ=eB+1|0;JQ=oA+(eB<<2)|0;gQ=Ur[JQ>>2]|0;RQ=AQ+(gQ<<2)|0;Ur[RQ>>2]=vQ;wB=wQ}else{wB=eB}pQ=vQ+1|0;SQ=(pQ|0)<(EQ|0);if(SQ){vQ=pQ;eB=wB}else{ZB=wB;break}}}else{ZB=0}PQ=Wr(ZB)|0;GQ=n+28|0;Ur[GQ>>2]=PQ;aQ=n+40|0;Ur[aQ>>2]=0;if(DQ){w=Ur[Fn>>2]|0;BA=0;IQ=w;jQ=0;gB=0;while(1){fQ=IQ+jQ|0;MQ=rB[fQ>>0]|0;OQ=MQ<<24>>24>0;if(OQ){rQ=gB+1|0;UQ=oA+(gB<<2)|0;FQ=Ur[UQ>>2]|0;cQ=Ur[GQ>>2]|0;sQ=cQ+FQ|0;rB[sQ>>0]=MQ;TQ=Ur[Fn>>2]|0;hQ=TQ+jQ|0;WQ=rB[hQ>>0]|0;HQ=WQ<<24>>24;YQ=Ur[aQ>>2]|0;oQ=(HQ|0)>(YQ|0);if(oQ){Ur[aQ>>2]=HQ;EA=HQ;DA=TQ;RB=rQ}else{EA=YQ;DA=TQ;RB=rQ}}else{EA=BA;DA=IQ;RB=gB}kQ=jQ+1|0;i=Ur[g>>2]|0;S=(kQ|0)<(i|0);if(S){BA=EA;IQ=DA;jQ=kQ;gB=RB}else{C=EA;pB=RB;break}}P=(pB|0)==1;if(P){G=(C|0)==1;if(G){a=n+36|0;Ur[a>>2]=1;f=Hr(2,4)|0;I=n+32|0;Ur[I>>2]=f;M=f+4|0;Ur[M>>2]=1;Ur[f>>2]=1;Q=0;cr=MB;return Q|0}else{JB=1}}else{JB=pB}}else{JB=0}O=Ur[k>>2]|0;r=(O|0)==0;if(r){SB=-4}else{B=O;PB=0;while(1){K=B>>>1;F=PB+1|0;c=(K|0)==0;if(c){GB=PB;break}else{B=K;PB=F}}iB=GB+-3|0;SB=iB}s=n+36|0;T=(SB|0)<5;A=T?5:SB;h=(A|0)>8;aB=h?8:A;Ur[s>>2]=aB;W=1<>2]=H;o=(JB|0)>0;if(o){L=aB;_Q=0;while(1){l=Ur[GQ>>2]|0;V=l+_Q|0;N=rB[V>>0]|0;u=N<<24>>24;b=(L|0)<(u|0);if(b){CA=L}else{y=Ur[VA>>2]|0;x=y+(_Q<<2)|0;q=Ur[x>>2]|0;m=q>>>16;X=q<<16;t=m|X;v=t>>>8;j=v&16711935;_=t<<8;$=_&-16711936;nn=j|$;dn=nn>>>4;An=dn&252645135;Qn=nn<<4;En=Qn&-252645136;Dn=An|En;Cn=Dn>>>2;Zn=Cn&858993459;en=Dn<<2;wn=en&-858993460;Jn=Zn|wn;gn=Jn>>>1;Rn=gn&1431655765;pn=Jn<<1;Pn=pn&-1431655766;Gn=Rn|Pn;an=L-u|0;fn=(an|0)==31;if(fn){CA=L}else{In=_Q+1|0;On=u;nB=0;while(1){Mn=nB<>2]=In;Kn=nB+1|0;cn=Ur[s>>2]|0;sn=rB[V>>0]|0;Tn=sn<<24>>24;hn=cn-Tn|0;Wn=1<>>16;xn=bn<<16;qn=yn|xn;mn=qn>>>8;zn=mn&16711935;Xn=qn<<8;vn=Xn&-16711936;jn=zn|vn;_n=jn>>>4;$n=_n&252645135;nd=jn<<4;dd=nd&-252645136;Ad=$n|dd;Qd=Ad>>>2;Bd=Qd&858993459;Ed=Ad<<2;Cd=Ed&-858993460;Zd=Bd|Cd;ed=Zd>>>1;wd=ed&1431655765;Jd=Zd<<1;gd=Jd&-1431655766;Rd=wd|gd;pd=H+(Rd<<2)|0;id=Ur[pd>>2]|0;Sd=(id|0)==0;if(Sd){AB=dB;while(1){ad=AB+1|0;fd=(ad|0)<(JB|0);if(!fd){QB=AB;break}Id=Ur[VA>>2]|0;Md=Id+(ad<<2)|0;Od=Ur[Md>>2]|0;rd=Od>>>0>bn>>>0;if(rd){QB=AB;break}else{AB=ad}}Ud=(JB|0)>(LQ|0);n:do{if(Ud){Kd=Ur[VA>>2]|0;yQ=LQ;while(1){Fd=Kd+(yQ<<2)|0;cd=Ur[Fd>>2]|0;Td=cd&ln;hd=bn>>>0>>0;if(hd){bQ=yQ;break n}Wd=yQ+1|0;Hd=(JB|0)>(Wd|0);if(Hd){yQ=Wd}else{bQ=Wd;break}}}else{bQ=LQ}}while(0);Yd=JB-bQ|0;od=QB>>>0>32767;kd=Yd>>>0>32767;qQ=kd?32767:Yd;BB=QB<<15;EB=BB|-2147483648;ld=od?-1073774592:EB;Vd=ld|qQ;Ur[pd>>2]=Vd;xQ=bQ;DB=QB}else{xQ=LQ;DB=dB}Nd=$Q+1|0;Ld=(Nd|0)<(W|0);if(!Ld){Q=0;break}J=Ur[s>>2]|0;Ln=J;LQ=xQ;$Q=Nd;dB=DB}cr=MB;return Q|0}function Pd(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0;g=cr;A=Ur[n>>2]|0;Q=Ur[A>>2]|0;B=Ur[d>>2]|0;E=Ur[B>>2]|0;D=Q>>>0>E>>>0;C=D&1;Z=Q>>>0>>0;e=Z&1;w=C-e|0;return w|0}function EJ(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0;Bn=cr;e=Ur[n>>2]|0;w=(e|0)==1;if(w){return}I=n+4|0;W=Ur[I>>2]|0;u=n+8|0;L=Ur[u>>2]|0;b=L+4|0;y=Ur[b>>2]|0;x=(y|0)>0;if(!x){return}q=y+1|0;Z=e+-1|0;t=e;v=0;j=e;$=1;while(1){J=q-v|0;g=L+(J<<2)|0;R=Ur[g>>2]|0;p=(j|0)/(R|0)&-1;i=(e|0)/(j|0)&-1;S=sr(i,p)|0;P=R+-1|0;G=sr(i,P)|0;a=t-G|0;f=1-$|0;do{if((R|0)==2){F=(f|0)==0;A=Z+a|0;c=W+(A<<2)|0;if(F){ad(i,p,d,W,c);nn=0;break}else{ad(i,p,W,d,c);nn=f;break}}else if((R|0)==4){M=a+i|0;O=(f|0)==0;Q=Z+a|0;r=W+(Q<<2)|0;B=Z+M|0;U=W+(B<<2)|0;E=Z+i|0;D=E+M|0;K=W+(D<<2)|0;if(O){Gd(i,p,d,W,r,U,K);nn=0;break}else{Gd(i,p,W,d,r,U,K);nn=f;break}}else{s=(i|0)==1;_=s?$:f;T=(_|0)==0;C=Z+a|0;h=W+(C<<2)|0;if(T){fd(i,R,p,S,d,d,d,W,W,h);nn=1;break}else{fd(i,R,p,S,W,W,W,d,d,h);nn=0;break}}}while(0);H=v+1|0;z=(H|0)==(y|0);if(z){dn=nn;break}else{t=a;v=H;j=p;$=nn}}Y=(dn|0)!=1;o=(e|0)>0;An=o&Y;if(An){X=0}else{return}while(1){k=W+(X<<2)|0;l=Ur[k>>2]|0;V=d+(X<<2)|0;Ur[V>>2]=l;N=X+1|0;m=(N|0)==(e|0);if(m){break}else{X=N}}return}function bA(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0.0,s=0,T=0.0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0.0,x=0.0,q=0.0,m=0.0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0.0,en=0,wn=0,Jn=0,gn=0.0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0.0,ln=0,Vn=0;Vn=cr;Ur[n>>2]=d;D=d*3|0;C=Hr(D,4)|0;G=n+4|0;Ur[G>>2]=C;s=Hr(32,4)|0;u=n+8|0;Ur[u>>2]=s;j=(d|0)==1;if(j){return}Bn=s+8|0;rn=-1;sn=0;Tn=d;Wn=0;n:while(1){En=rn+1|0;Dn=(En|0)<4;if(Dn){Cn=25768+(En<<2)|0;Z=Ur[Cn>>2]|0;Hn=Z}else{e=Wn+2|0;Hn=e}w=(Hn|0)!=2;an=sn;hn=Tn;while(1){Pn=an+1|0;J=(hn|0)/(Hn|0)&-1;g=sr(J,Hn)|0;R=(hn|0)==(g|0);if(!R){rn=En;sn=an;Tn=hn;Wn=Hn;continue n}p=an+2|0;i=s+(p<<2)|0;Ur[i>>2]=Hn;S=(an|0)==0;Yn=w|S;if(!Yn){P=(an|0)<1;if(!P){Rn=1;while(1){a=Pn-Rn|0;f=a+1|0;I=s+(f<<2)|0;M=Ur[I>>2]|0;O=a+2|0;r=s+(O<<2)|0;Ur[r>>2]=M;U=Rn+1|0;Jn=(U|0)==(Pn|0);if(Jn){break}else{Rn=U}}}Ur[Bn>>2]=2}K=(J|0)==1;if(K){A=S;Gn=Pn;fn=an;break n}else{an=Pn;hn=J}}}Ur[s>>2]=d;F=s+4|0;Ur[F>>2]=Gn;c=+(d|0);T=6.2831854820251465/c;Q=A^1;h=(fn|0)>0;on=h&Q;if(!on){return}W=d+1|0;In=0;Kn=0;Fn=1;while(1){H=Kn+2|0;Y=s+(H<<2)|0;o=Ur[Y>>2]|0;k=sr(o,Fn)|0;l=(d|0)/(k|0)&-1;V=(o|0)>1;if(V){N=(l|0)>2;L=o+-1|0;On=In;Un=0;cn=0;while(1){b=cn+Fn|0;y=+(b|0);x=y*T;if(N){gn=0.0;pn=On;Sn=2;while(1){q=gn+1.0;m=x*q;Zn=+$Z(+m);B=pn+d|0;z=C+(B<<2)|0;Kr[z>>2]=Zn;kn=+ne(+m);X=pn+2|0;E=W+pn|0;t=C+(E<<2)|0;Kr[t>>2]=kn;v=Sn+2|0;_=(v|0)<(l|0);if(_){gn=q;pn=X;Sn=v}else{break}}}$=On+l|0;nn=Un+1|0;en=(nn|0)==(L|0);if(en){break}else{On=$;Un=nn;cn=b}}dn=sr(l,L)|0;An=dn+In|0;Mn=An}else{Mn=In}Qn=Kn+1|0;wn=(Qn|0)==(fn|0);if(wn){break}else{In=Mn;Kn=Qn;Fn=k}}return}function md(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0;e=cr;d=(n|0)==(0|0);if(d){return}A=n+4|0;Q=Ur[A>>2]|0;B=(Q|0)==(0|0);if(!B){qB(Q)}E=n+8|0;D=Ur[E>>2]|0;C=(D|0)==(0|0);if(!C){qB(D)}Ur[n>>2]=0|0;Ur[n+4>>2]=0|0;Ur[n+8>>2]=0|0;return}function Gd(n,d,A,Q,B,E,D){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;D=D|0;var C=0,Z=0,e=0.0,w=0,J=0.0,g=0.0,R=0.0,p=0,i=0,S=0.0,P=0.0,G=0.0,a=0.0,f=0.0,I=0,M=0,O=0.0,r=0,U=0.0,K=0;var F=0,c=0.0,s=0,T=0.0,h=0,W=0,H=0,Y=0,o=0.0,k=0,l=0.0,V=0,N=0,u=0,L=0.0,b=0.0,y=0,x=0,q=0,m=0;var z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0.0,Bn=0,En=0.0,Dn=0.0,Cn=0.0,Zn=0.0,en=0.0,wn=0.0,Jn=0,gn=0;var Rn=0.0,pn=0.0,Sn=0,Pn=0,Gn=0.0,an=0.0,fn=0,In=0,Mn=0.0,On=0,rn=0,Un=0,Kn=0.0,Fn=0.0,cn=0,sn=0.0,Tn=0.0,hn=0,Wn=0,Hn=0.0;var Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0.0,bn=0,yn=0,xn=0.0,qn=0.0,mn=0.0,zn=0,Xn=0,tn=0,vn=0.0,jn=0,_n=0.0,$n=0.0;var nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0,Sd=0,Pd=0,Gd=0.0,ad=0;var fd=0,Id=0,Md=0.0,Od=0.0,rd=0,Ud=0,Kd=0.0,Fd=0,cd=0.0,sd=0.0,Td=0,hd=0.0,Wd=0.0,Hd=0.0,Yd=0.0,od=0,kd=0,ld=0.0,Vd=0,Nd=0;var ud=0.0,Ld=0,bd=0.0,yd=0,xd=0.0,qd=0,md=0.0,zd=0.0,Xd=0.0,td=0.0,vd=0.0,jd=0.0,_d=0.0,$d=0,nA=0,dA=0.0,AA=0,QA=0,BA=0.0,EA=0.0;var DA=0,CA=0.0,ZA=0,eA=0,wA=0.0,JA=0.0,gA=0.0,RA=0.0,pA=0.0,iA=0.0,SA=0.0,PA=0.0,GA=0.0,aA=0.0,fA=0,IA=0,MA=0,OA=0,rA=0,UA=0;var KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0;uA=cr;C=sr(d,n)|0;Z=C<<1;un=(d|0)>0;if(un){jn=C*3|0;Zd=n<<2;ad=Zd+-1|0;Td=n<<1;rA=0;FA=C;TA=jn;HA=0;YA=Z;while(1){Ld=A+(FA<<2)|0;_d=+Kr[Ld>>2];eA=A+(TA<<2)|0;e=+Kr[eA>>2];f=e+_d;h=A+(HA<<2)|0;b=+Kr[h>>2];$=A+(YA<<2)|0;wn=+Kr[$>>2];Mn=wn+b;Hn=Mn+f;Vn=HA<<2;Nn=Q+(Vn<<2)|0;Kr[Nn>>2]=Hn;Ln=Mn-f;bn=ad+Vn|0;yn=Q+(bn<<2)|0;Kr[yn>>2]=Ln;xn=+Kr[h>>2];qn=+Kr[$>>2];mn=xn-qn;zn=Vn+Td|0;Xn=zn+-1|0;tn=Q+(Xn<<2)|0;Kr[tn>>2]=mn;vn=+Kr[eA>>2];_n=+Kr[Ld>>2];$n=vn-_n;nd=Q+(zn<<2)|0;Kr[nd>>2]=$n;dd=FA+n|0;Ad=TA+n|0;Qd=HA+n|0;Bd=YA+n|0;Ed=rA+1|0;IA=(Ed|0)==(d|0);if(IA){break}else{rA=Ed;FA=dd;TA=Ad;HA=Qd;YA=Bd}}}Dd=(n|0)<2;if(Dd){return}Cd=(n|0)==2;if(!Cd){if(un){ed=n<<1;UA=0;cA=0;while(1){m=cA<<2;z=m+ed|0;OA=2;hA=cA;oA=m;lA=z;while(1){gd=hA+2|0;Rd=oA+2|0;pd=lA+-2|0;id=gd+C|0;Sd=OA+-2|0;Pd=B+(Sd<<2)|0;Gd=+Kr[Pd>>2];fd=id+-1|0;Id=A+(fd<<2)|0;Md=+Kr[Id>>2];Od=Md*Gd;rd=OA+-1|0;Ud=B+(rd<<2)|0;Kd=+Kr[Ud>>2];Fd=A+(id<<2)|0;cd=+Kr[Fd>>2];sd=cd*Kd;hd=sd+Od;Wd=cd*Gd;Hd=Kd*Md;Yd=Wd-Hd;od=id+C|0;kd=E+(Sd<<2)|0;ld=+Kr[kd>>2];Vd=od+-1|0;Nd=A+(Vd<<2)|0;ud=+Kr[Nd>>2];bd=ud*ld;yd=E+(rd<<2)|0;xd=+Kr[yd>>2];qd=A+(od<<2)|0;md=+Kr[qd>>2];zd=md*xd;Xd=zd+bd;td=md*ld;vd=xd*ud;jd=td-vd;$d=od+C|0;nA=D+(Sd<<2)|0;dA=+Kr[nA>>2];AA=$d+-1|0;QA=A+(AA<<2)|0;BA=+Kr[QA>>2];EA=BA*dA;DA=D+(rd<<2)|0;CA=+Kr[DA>>2];ZA=A+($d<<2)|0;wA=+Kr[ZA>>2];JA=wA*CA;gA=JA+EA;RA=wA*dA;pA=CA*BA;iA=RA-pA;SA=gA+hd;PA=gA-hd;GA=iA+Yd;aA=Yd-iA;w=A+(gd<<2)|0;J=+Kr[w>>2];g=J+jd;R=J-jd;p=hA+1|0;i=A+(p<<2)|0;S=+Kr[i>>2];P=S+Xd;G=S-Xd;a=SA+P;I=oA|1;M=Q+(I<<2)|0;Kr[M>>2]=a;O=GA+g;r=Q+(Rd<<2)|0;Kr[r>>2]=O;U=G-aA;K=lA+-3|0;F=Q+(K<<2)|0;Kr[F>>2]=U;c=PA-R;s=Q+(pd<<2)|0;Kr[s>>2]=c;T=aA+G;W=Rd+ed|0;H=W+-1|0;Y=Q+(H<<2)|0;Kr[Y>>2]=T;o=PA+R;k=Q+(W<<2)|0;Kr[k>>2]=o;l=P-SA;V=pd+ed|0;N=V+-1|0;u=Q+(N<<2)|0;Kr[u>>2]=l;L=GA-g;y=Q+(V<<2)|0;Kr[y>>2]=L;x=OA+2|0;q=(x|0)<(n|0);if(q){OA=x;hA=gd;oA=Rd;lA=pd}else{break}}wd=cA+n|0;Jd=UA+1|0;MA=(Jd|0)==(d|0);if(MA){break}else{UA=Jd;cA=wd}}}X=n&1;t=(X|0)==0;if(!t){return}}v=n+-1|0;j=v+C|0;_=n<<2;nn=n<<1;if(!un){return}dn=j+Z|0;KA=0;sA=j;WA=dn;kA=n;VA=n;while(1){An=A+(sA<<2)|0;Qn=+Kr[An>>2];Bn=A+(WA<<2)|0;En=+Kr[Bn>>2];Dn=En+Qn;Cn=Dn*-0.70710676908493042;Zn=Qn-En;en=Zn*0.70710676908493042;Jn=VA+-1|0;gn=A+(Jn<<2)|0;Rn=+Kr[gn>>2];pn=en+Rn;Sn=kA+-1|0;Pn=Q+(Sn<<2)|0;Kr[Pn>>2]=pn;Gn=+Kr[gn>>2];an=Gn-en;fn=kA+nn|0;In=fn+-1|0;On=Q+(In<<2)|0;Kr[On>>2]=an;rn=sA+C|0;Un=A+(rn<<2)|0;Kn=+Kr[Un>>2];Fn=Cn-Kn;cn=Q+(kA<<2)|0;Kr[cn>>2]=Fn;sn=+Kr[Un>>2];Tn=sn+Cn;hn=Q+(fn<<2)|0;Kr[hn>>2]=Tn;Wn=sA+n|0;Yn=WA+n|0;on=kA+_|0;kn=VA+n|0;ln=KA+1|0;fA=(ln|0)==(d|0);if(fA){break}else{KA=ln;sA=Wn;WA=Yn;kA=on;VA=kn}}return}function ad(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;var E=0,D=0,C=0,Z=0.0,e=0.0,w=0.0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0;var U=0,K=0,F=0,c=0,s=0.0,T=0,h=0,W=0.0,H=0.0,Y=0,o=0,k=0.0,l=0,V=0.0,N=0,u=0.0,L=0.0,b=0.0,y=0.0,x=0.0;var q=0,m=0.0,z=0.0,X=0,t=0.0,v=0.0,j=0.0,_=0,$=0,nn=0,dn=0.0,An=0.0,Qn=0,Bn=0,En=0.0,Dn=0.0,Cn=0,Zn=0,en=0,wn=0;var Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0.0,fn=0,In=0.0,Mn=0.0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0.0,hn=0;var Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0,jn=0;var _n=0,$n=0;$n=cr;E=sr(d,n)|0;D=n<<1;P=(d|0)>0;if(P){c=D+-1|0;Vn=0;Ln=0;xn=E;while(1){N=A+(Ln<<2)|0;v=+Kr[N>>2];Cn=A+(xn<<2)|0;an=+Kr[Cn>>2];Tn=an+v;Hn=Ln<<1;C=Q+(Hn<<2)|0;Kr[C>>2]=Tn;Z=+Kr[N>>2];e=+Kr[Cn>>2];w=Z-e;J=c+Hn|0;g=Q+(J<<2)|0;Kr[g>>2]=w;R=Ln+n|0;p=xn+n|0;i=Vn+1|0;on=(i|0)==(d|0);if(on){break}else{Vn=i;Ln=R;xn=p}}}S=(n|0)<2;if(S){return}G=(n|0)==2;if(!G){if(P){Nn=0;bn=0;qn=E;while(1){gn=bn<<1;Rn=gn+D|0;ln=2;zn=qn;tn=Rn;vn=bn;jn=gn;while(1){M=zn+2|0;O=tn+-2|0;r=vn+2|0;U=jn+2|0;K=ln+-2|0;F=B+(K<<2)|0;s=+Kr[F>>2];T=zn+1|0;h=A+(T<<2)|0;W=+Kr[h>>2];H=W*s;Y=ln+-1|0;o=B+(Y<<2)|0;k=+Kr[o>>2];l=A+(M<<2)|0;V=+Kr[l>>2];u=V*k;L=u+H;b=V*s;y=k*W;x=b-y;q=A+(r<<2)|0;m=+Kr[q>>2];z=x+m;X=Q+(U<<2)|0;Kr[X>>2]=z;t=+Kr[q>>2];j=x-t;_=Q+(O<<2)|0;Kr[_>>2]=j;$=vn+1|0;nn=A+($<<2)|0;dn=+Kr[nn>>2];An=dn+L;Qn=jn|1;Bn=Q+(Qn<<2)|0;Kr[Bn>>2]=An;En=+Kr[nn>>2];Dn=En-L;Zn=tn+-3|0;en=Q+(Zn<<2)|0;Kr[en>>2]=Dn;wn=ln+2|0;Jn=(wn|0)<(n|0);if(Jn){ln=wn;zn=M;tn=O;vn=r;jn=U}else{break}}a=bn+n|0;f=qn+n|0;I=Nn+1|0;kn=(I|0)==(d|0);if(kn){break}else{Nn=I;bn=a;qn=f}}}pn=(n|0)%2&-1;Sn=(pn|0)==1;if(Sn){return}}Pn=n+-1|0;if(!P){return}Gn=E+Pn|0;un=0;yn=n;mn=Gn;Xn=Pn;while(1){fn=A+(mn<<2)|0;In=+Kr[fn>>2];Mn=-In;On=Q+(yn<<2)|0;Kr[On>>2]=Mn;rn=A+(Xn<<2)|0;Un=Ur[rn>>2]|0;Kn=yn+-1|0;Fn=Q+(Kn<<2)|0;Ur[Fn>>2]=Un;cn=yn+D|0;sn=mn+n|0;hn=Xn+n|0;Wn=un+1|0;Yn=(Wn|0)==(d|0);if(Yn){break}else{un=Wn;yn=cn;mn=sn;Xn=hn}}return}function fd(n,d,A,Q,B,E,D,C,Z,e){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;D=D|0;C=C|0;Z=Z|0;e=e|0;var w=0,J=0,g=0.0,R=0.0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0.0,s=0;var T=0,h=0.0,W=0.0,H=0,Y=0,o=0.0,k=0,l=0,V=0.0,N=0.0,u=0,L=0.0,b=0.0,y=0.0,x=0,q=0.0,m=0.0,z=0,X=0.0,t=0;var v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0.0,Zn=0,en=0,wn=0.0,Jn=0.0,gn=0,Rn=0,pn=0.0,Sn=0;var Pn=0,Gn=0.0,an=0.0,fn=0,In=0.0,Mn=0.0,On=0.0,rn=0,Un=0.0,Kn=0.0,Fn=0,cn=0.0,sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0;var ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0,jn=0,_n=0.0,$n=0,nd=0.0,dd=0.0,Ad=0;var Qd=0.0,Bd=0.0,Ed=0.0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0.0,Sd=0.0,Pd=0,Gd=0,ad=0.0,fd=0.0,Id=0.0,Md=0.0;var Od=0,rd=0.0,Ud=0,Kd=0,Fd=0.0,cd=0.0,sd=0,Td=0.0,hd=0,Wd=0,Hd=0,Yd=0,od=0.0,kd=0.0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0;var yd=0.0,xd=0.0,qd=0.0,md=0.0,zd=0.0,Xd=0.0,td=0,vd=0,jd=0,_d=0.0,$d=0.0,nA=0,dA=0,AA=0.0,QA=0.0,BA=0,EA=0,DA=0.0,CA=0.0,ZA=0;var eA=0,wA=0,JA=0.0,gA=0.0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0.0,IA=0,MA=0.0,OA=0.0,rA=0,UA=0,KA=0,FA=0,cA=0;var sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0,LA=0,bA=0,yA=0,xA=0,qA=0,mA=0,zA=0,XA=0;var tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0,DQ=0,CQ=0,ZQ=0,eQ=0,wQ=0,JQ=0,gQ=0,RQ=0,pQ=0;var iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0,rQ=0,UQ=0,KQ=0,FQ=0,cQ=0,sQ=0,TQ=0,hQ=0,WQ=0,HQ=0,YQ=0;var oQ=0.0,kQ=0,lQ=0,VQ=0,NQ=0.0,uQ=0.0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0.0,mQ=0.0,zQ=0.0,XQ=0,tQ=0,vQ=0,jQ=0,_Q=0.0,$Q=0,nB=0;var dB=0.0,AB=0.0,QB=0,BB=0.0,EB=0.0,DB=0.0,CB=0,ZB=0,eB=0,wB=0,JB=0,gB=0,RB=0,pB=0,iB=0,SB=0,PB=0,GB=0,aB=0,fB=0;var IB=0.0,MB=0,OB=0,rB=0,UB=0.0,KB=0.0,FB=0,cB=0,sB=0.0,TB=0.0,hB=0.0,WB=0,HB=0,YB=0,oB=0,kB=0.0,lB=0,VB=0.0,NB=0.0,uB=0;var LB=0.0,bB=0.0,yB=0.0,xB=0,qB=0,mB=0,zB=0,XB=0,tB=0,vB=0,jB=0,_B=0,$B=0,nE=0,dE=0,AE=0,QE=0.0,BE=0,EE=0,DE=0;var CE=0.0,ZE=0.0,eE=0,wE=0.0,JE=0,gE=0.0,RE=0.0,pE=0.0,iE=0,SE=0,PE=0.0,GE=0.0,aE=0.0,fE=0.0,IE=0.0,ME=0.0,OE=0.0,rE=0,UE=0,KE=0;var FE=0,cE=0,sE=0,TE=0,hE=0,WE=0,HE=0,YE=0,oE=0,kE=0,lE=0,VE=0,NE=0.0,uE=0,LE=0,bE=0.0,yE=0.0,xE=0.0,qE=0,mE=0.0;var zE=0.0,XE=0,tE=0.0,vE=0,jE=0.0,_E=0.0,$E=0.0,nD=0.0,dD=0.0,AD=0.0,QD=0.0,BD=0,ED=0,DD=0,CD=0,ZD=0,eD=0,wD=0,JD=0,gD=0;var RD=0,pD=0,iD=0,SD=0.0,PD=0.0,GD=0.0,aD=0.0,fD=0,ID=0.0,MD=0,OD=0,rD=0,UD=0,KD=0,FD=0,cD=0,sD=0,TD=0,hD=0,WD=0;var HD=0,YD=0,oD=0,kD=0,lD=0,VD=0,ND=0,uD=0,LD=0,bD=0,yD=0,xD=0,qD=0,mD=0,zD=0,XD=0,tD=0,vD=0,jD=0,_D=0;var $D=0,nC=0,dC=0,AC=0,QC=0,BC=0,EC=0,DC=0,CC=0,ZC=0,eC=0,wC=0,JC=0,gC=0,RC=0,pC=0,iC=0,SC=0,PC=0,GC=0;var aC=0,fC=0,IC=0,MC=0,OC=0,rC=0,UC=0,KC=0,FC=0,cC=0,sC=0,TC=0,hC=0,WC=0,HC=0,YC=0,oC=0,kC=0,lC=0,VC=0.0;var NC=0,uC=0,LC=0,bC=0,yC=0,xC=0,qC=0,mC=0,zC=0,XC=0,tC=0,vC=0,jC=0,_C=0,$C=0,nZ=0,dZ=0,AZ=0,QZ=0,BZ=0;var EZ=0,DZ=0,CZ=0,ZZ=0,eZ=0,wZ=0,JZ=0,gZ=0,RZ=0,pZ=0,iZ=0,SZ=0,PZ=0,GZ=0,aZ=0,fZ=0,IZ=0,MZ=0,OZ=0,rZ=0;var UZ=0,KZ=0,FZ=0,cZ=0,sZ=0,TZ=0,hZ=0,WZ=0,HZ=0,YZ=0,oZ=0,kZ=0,lZ=0,VZ=0,NZ=0,uZ=0,LZ=0,bZ=0,yZ=0,xZ=0;var qZ=0,mZ=0,zZ=0,XZ=0,tZ=0,vZ=0,jZ=0,_Z=0;_Z=cr;g=+(d|0);R=6.2831854820251465/g;ID=+$Z(+R);VC=+ne(+R);Pd=d+1|0;fQ=Pd>>1;BE=n+-1|0;iE=BE>>1;KE=sr(A,n)|0;lE=sr(d,n)|0;XE=(n|0)==1;n:do{if(!XE){ED=(Q|0)>0;if(ED){ZC=0;while(1){z=D+(ZC<<2)|0;Bn=Ur[z>>2]|0;Sn=Z+(ZC<<2)|0;Ur[Sn>>2]=Bn;Fn=ZC+1|0;jD=(Fn|0)==(Q|0);if(jD){break}else{ZC=Fn}}}U=(d|0)>1;if(U){k=(A|0)>0;iC=1;NC=0;while(1){Vn=NC+KE|0;if(k){KC=0;_C=Vn;while(1){tn=E+(_C<<2)|0;Dd=Ur[tn>>2]|0;Gd=C+(_C<<2)|0;Ur[Gd>>2]=Dd;sd=_C+n|0;ud=KC+1|0;tD=(ud|0)==(A|0);if(tD){break}else{KC=ud;_C=sd}}}jd=iC+1|0;vD=(jd|0)==(d|0);if(vD){break}else{iC=jd;NC=Vn}}}ZA=0-n|0;aA=(iE|0)>(A|0);if(aA){if(U){_A=(A|0)>0;eQ=(n|0)>2;RC=ZA;PC=1;bC=0;while(1){IQ=bC+KE|0;WQ=RC+n|0;if(_A){yQ=IQ-n|0;nB=WQ+-1|0;cC=0;$C=yQ;while(1){JB=$C+n|0;if(eQ){_D=2;DC=nB;ZZ=JB;while(1){MB=DC+2|0;HB=ZZ+2|0;xB=DC+1|0;dE=e+(xB<<2)|0;QE=+Kr[dE>>2];EE=ZZ+1|0;DE=E+(EE<<2)|0;CE=+Kr[DE>>2];ZE=CE*QE;eE=e+(MB<<2)|0;wE=+Kr[eE>>2];JE=E+(HB<<2)|0;gE=+Kr[JE>>2];RE=gE*wE;pE=RE+ZE;SE=C+(EE<<2)|0;Kr[SE>>2]=pE;PE=+Kr[dE>>2];GE=+Kr[JE>>2];aE=GE*PE;fE=+Kr[eE>>2];IE=+Kr[DE>>2];ME=IE*fE;OE=aE-ME;rE=C+(HB<<2)|0;Kr[rE>>2]=OE;UE=_D+2|0;FE=(UE|0)<(n|0);if(FE){_D=UE;DC=MB;ZZ=HB}else{break}}}cE=cC+1|0;qD=(cE|0)==(A|0);if(qD){break}else{cC=cE;$C=JB}}}sE=PC+1|0;mD=(sE|0)==(d|0);if(mD){break}else{RC=WQ;PC=sE;bC=IQ}}}}else{if(U){TA=(n|0)>2;LA=(A|0)>0;pC=ZA;GC=1;xC=0;while(1){TE=pC+n|0;hE=xC+KE|0;if(TA){WE=TE+-1|0;$D=2;CC=WE;nZ=hE;while(1){HE=CC+2|0;YE=nZ+2|0;if(LA){oE=CC+1|0;kE=e+(oE<<2)|0;VE=e+(HE<<2)|0;sC=0;eZ=YE;while(1){NE=+Kr[kE>>2];uE=eZ+-1|0;LE=E+(uE<<2)|0;bE=+Kr[LE>>2];yE=bE*NE;xE=+Kr[VE>>2];qE=E+(eZ<<2)|0;mE=+Kr[qE>>2];zE=mE*xE;tE=zE+yE;vE=C+(uE<<2)|0;Kr[vE>>2]=tE;jE=+Kr[kE>>2];_E=+Kr[qE>>2];$E=_E*jE;nD=+Kr[VE>>2];dD=+Kr[LE>>2];AD=dD*nD;QD=$E-AD;BD=C+(eZ<<2)|0;Kr[BD>>2]=QD;DD=eZ+n|0;CD=sC+1|0;zD=(CD|0)==(A|0);if(zD){break}else{sC=CD;eZ=DD}}}ZD=$D+2|0;eD=(ZD|0)<(n|0);if(eD){$D=ZD;CC=HE;nZ=YE}else{break}}}wD=GC+1|0;XD=(wD|0)==(d|0);if(XD){break}else{pC=TE;GC=wD;xC=hE}}}}JD=sr(KE,d)|0;gD=(iE|0)<(A|0);RD=(fQ|0)>1;if(!gD){if(!RD){break}pD=(A|0)>0;iD=(n|0)>2;fC=1;mC=0;AZ=JD;while(1){nn=mC+KE|0;dn=AZ-KE|0;if(pD){hC=0;JZ=nn;GZ=dn;while(1){if(iD){dC=2;FZ=JZ;YZ=GZ;while(1){An=FZ+2|0;Qn=YZ+2|0;En=FZ+1|0;Dn=C+(En<<2)|0;Cn=+Kr[Dn>>2];Zn=YZ+1|0;en=C+(Zn<<2)|0;wn=+Kr[en>>2];Jn=wn+Cn;gn=E+(En<<2)|0;Kr[gn>>2]=Jn;Rn=C+(An<<2)|0;pn=+Kr[Rn>>2];Pn=C+(Qn<<2)|0;Gn=+Kr[Pn>>2];an=pn-Gn;fn=E+(Zn<<2)|0;Kr[fn>>2]=an;In=+Kr[Rn>>2];Mn=+Kr[Pn>>2];On=Mn+In;rn=E+(An<<2)|0;Kr[rn>>2]=On;Un=+Kr[en>>2];Kn=+Kr[Dn>>2];cn=Un-Kn;sn=E+(Qn<<2)|0;Kr[sn>>2]=cn;Tn=dC+2|0;hn=(Tn|0)<(n|0);if(hn){dC=Tn;FZ=An;YZ=Qn}else{break}}}Wn=JZ+n|0;Hn=GZ+n|0;Yn=hC+1|0;yD=(Yn|0)==(A|0);if(yD){break}else{hC=Yn;JZ=Wn;GZ=Hn}}}on=fC+1|0;xD=(on|0)==(fQ|0);if(xD){break n}else{fC=on;mC=nn;AZ=dn}}}if(RD){i=(n|0)>2;S=(A|0)>0;aC=1;qC=0;dZ=JD;while(1){P=qC+KE|0;G=dZ-KE|0;if(i){nC=2;wZ=P;PZ=G;while(1){a=wZ+2|0;f=PZ+2|0;if(S){I=f-n|0;M=a-n|0;TC=0;KZ=M;HZ=I;while(1){O=KZ+n|0;r=HZ+n|0;K=O+-1|0;F=C+(K<<2)|0;c=+Kr[F>>2];s=r+-1|0;T=C+(s<<2)|0;h=+Kr[T>>2];W=h+c;H=E+(K<<2)|0;Kr[H>>2]=W;Y=C+(O<<2)|0;o=+Kr[Y>>2];l=C+(r<<2)|0;V=+Kr[l>>2];N=o-V;u=E+(s<<2)|0;Kr[u>>2]=N;L=+Kr[Y>>2];b=+Kr[l>>2];y=b+L;x=E+(O<<2)|0;Kr[x>>2]=y;q=+Kr[T>>2];m=+Kr[F>>2];X=q-m;t=E+(r<<2)|0;Kr[t>>2]=X;v=TC+1|0;LD=(v|0)==(A|0);if(LD){break}else{TC=v;KZ=O;HZ=r}}}j=nC+2|0;_=(j|0)<(n|0);if(_){nC=j;wZ=a;PZ=f}else{break}}}$=aC+1|0;bD=($|0)==(fQ|0);if(bD){break}else{aC=$;qC=P;dZ=G}}}}}while(0);p=(Q|0)>0;if(p){eC=0;while(1){kn=Z+(eC<<2)|0;ln=Ur[kn>>2]|0;Nn=D+(eC<<2)|0;Ur[Nn>>2]=ln;un=eC+1|0;uD=(un|0)==(Q|0);if(uD){break}else{eC=un}}}Ln=sr(Q,d)|0;bn=(fQ|0)>1;if(bn){yn=(A|0)>0;IC=1;zC=0;QZ=Ln;while(1){xn=zC+KE|0;qn=QZ-KE|0;if(yn){mn=qn-n|0;zn=xn-n|0;WC=0;gZ=zn;aZ=mn;while(1){Xn=gZ+n|0;vn=aZ+n|0;jn=C+(Xn<<2)|0;_n=+Kr[jn>>2];$n=C+(vn<<2)|0;nd=+Kr[$n>>2];dd=nd+_n;Ad=E+(Xn<<2)|0;Kr[Ad>>2]=dd;Qd=+Kr[$n>>2];Bd=+Kr[jn>>2];Ed=Qd-Bd;Cd=E+(vn<<2)|0;Kr[Cd>>2]=Ed;Zd=WC+1|0;VD=(Zd|0)==(A|0);if(VD){break}else{WC=Zd;gZ=Xn;aZ=vn}}}ed=IC+1|0;ND=(ed|0)==(fQ|0);if(ND){break}else{IC=ed;zC=xn;QZ=qn}}wd=d+-1|0;Jd=sr(wd,Q)|0;if(bn){gd=(fQ|0)>2;SD=0.0;GD=1.0;lC=1;XC=0;BZ=Ln;while(1){Rd=XC+Q|0;pd=BZ-Q|0;id=GD*ID;Sd=SD*VC;ad=id-Sd;fd=SD*ID;Id=GD*VC;Md=Id+fd;if(p){wC=0;fZ=Rd;cZ=pd;oZ=Jd;uZ=Q;while(1){Od=D+(wC<<2)|0;rd=+Kr[Od>>2];Ud=uZ+1|0;Kd=D+(uZ<<2)|0;Fd=+Kr[Kd>>2];cd=Fd*ad;Td=cd+rd;hd=fZ+1|0;Wd=Z+(fZ<<2)|0;Kr[Wd>>2]=Td;Hd=oZ+1|0;Yd=D+(oZ<<2)|0;od=+Kr[Yd>>2];kd=od*Md;ld=cZ+1|0;Vd=Z+(cZ<<2)|0;Kr[Vd>>2]=kd;Nd=wC+1|0;YD=(Nd|0)==(Q|0);if(YD){break}else{wC=Nd;fZ=hd;cZ=ld;oZ=Hd;uZ=Ud}}}if(gd){PD=Md;aD=ad;MC=2;IZ=Q;sZ=Jd;while(1){Ld=IZ+Q|0;bd=sZ-Q|0;yd=aD*ad;xd=PD*Md;qd=yd-xd;md=PD*ad;zd=aD*Md;Xd=zd+md;if(p){JC=0;kZ=Rd;LZ=pd;qZ=Ld;XZ=bd;while(1){td=qZ+1|0;vd=D+(qZ<<2)|0;_d=+Kr[vd>>2];$d=_d*qd;nA=kZ+1|0;dA=Z+(kZ<<2)|0;AA=+Kr[dA>>2];QA=AA+$d;Kr[dA>>2]=QA;BA=XZ+1|0;EA=D+(XZ<<2)|0;DA=+Kr[EA>>2];CA=DA*Xd;eA=LZ+1|0;wA=Z+(LZ<<2)|0;JA=+Kr[wA>>2];gA=JA+CA;Kr[wA>>2]=gA;RA=JC+1|0;oD=(RA|0)==(Q|0);if(oD){break}else{JC=RA;kZ=nA;LZ=eA;qZ=td;XZ=BA}}}pA=MC+1|0;kD=(pA|0)==(fQ|0);if(kD){break}else{PD=Xd;aD=qd;MC=pA;IZ=Ld;sZ=bd}}}iA=lC+1|0;lD=(iA|0)==(fQ|0);if(lD){break}else{SD=Md;GD=ad;lC=iA;XC=Rd;BZ=pd}}if(bn){OC=1;tC=0;while(1){SA=tC+Q|0;if(p){gC=0;EZ=SA;while(1){PA=EZ+1|0;GA=D+(EZ<<2)|0;fA=+Kr[GA>>2];IA=Z+(gC<<2)|0;MA=+Kr[IA>>2];OA=MA+fA;Kr[IA>>2]=OA;rA=gC+1|0;WD=(rA|0)==(Q|0);if(WD){break}else{gC=rA;EZ=PA}}}UA=OC+1|0;HD=(UA|0)==(fQ|0);if(HD){break}else{OC=UA;tC=SA}}}}}KA=(n|0)<(A|0);if(KA){sA=(n|0)>0;if(sA){hA=(A|0)>0;QC=0;while(1){if(hA){YC=0;jC=QC;CZ=QC;while(1){bA=C+(jC<<2)|0;yA=Ur[bA>>2]|0;xA=B+(CZ<<2)|0;Ur[xA>>2]=yA;qA=jC+n|0;mA=CZ+lE|0;zA=YC+1|0;cD=(zA|0)==(A|0);if(cD){break}else{YC=zA;jC=qA;CZ=mA}}}XA=QC+1|0;sD=(XA|0)==(n|0);if(sD){break}else{QC=XA}}}}else{FA=(A|0)>0;if(FA){cA=(n|0)>0;HC=0;vC=0;DZ=0;while(1){if(cA){AC=0;RZ=vC;MZ=DZ;while(1){WA=RZ+1|0;HA=C+(RZ<<2)|0;YA=Ur[HA>>2]|0;oA=MZ+1|0;kA=B+(MZ<<2)|0;Ur[kA>>2]=YA;lA=AC+1|0;TD=(lA|0)==(n|0);if(TD){break}else{AC=lA;RZ=WA;MZ=oA}}}VA=vC+n|0;NA=DZ+lE|0;uA=HC+1|0;hD=(uA|0)==(A|0);if(hD){break}else{HC=uA;vC=VA;DZ=NA}}}}tA=n<<1;vA=sr(KE,d)|0;if(bn){jA=(A|0)>0;rC=1;uC=0;pZ=0;OZ=vA;while(1){$A=uC+tA|0;nQ=pZ+KE|0;dQ=OZ-KE|0;if(jA){oC=0;TZ=$A;lZ=nQ;bZ=dQ;while(1){AQ=C+(lZ<<2)|0;QQ=Ur[AQ>>2]|0;BQ=TZ+-1|0;EQ=B+(BQ<<2)|0;Ur[EQ>>2]=QQ;DQ=C+(bZ<<2)|0;CQ=Ur[DQ>>2]|0;ZQ=B+(TZ<<2)|0;Ur[ZQ>>2]=CQ;wQ=TZ+lE|0;JQ=lZ+n|0;gQ=bZ+n|0;RQ=oC+1|0;KD=(RQ|0)==(A|0);if(KD){break}else{oC=RQ;TZ=wQ;lZ=JQ;bZ=gQ}}}pQ=rC+1|0;FD=(pQ|0)==(fQ|0);if(FD){break}else{rC=pQ;uC=$A;pZ=nQ;OZ=dQ}}}if(XE){return}iQ=(iE|0)<(A|0);SQ=0-n|0;if(!iQ){if(!bn){return}w=(A|0)<1;J=(n|0)<3;fD=w|J;UC=1;LC=SQ;iZ=0;rZ=0;hZ=vA;while(1){aQ=LC+tA|0;MQ=iZ+tA|0;OQ=rZ+KE|0;rQ=hZ-KE|0;if(!fD){kC=0;VZ=aQ;yZ=MQ;mZ=OQ;tZ=rQ;while(1){BC=2;while(1){TQ=n-BC|0;hQ=BC+mZ|0;HQ=hQ+-1|0;YQ=C+(HQ<<2)|0;oQ=+Kr[YQ>>2];kQ=BC+tZ|0;lQ=kQ+-1|0;VQ=C+(lQ<<2)|0;NQ=+Kr[VQ>>2];uQ=NQ+oQ;LQ=BC+yZ|0;bQ=LQ+-1|0;xQ=B+(bQ<<2)|0;Kr[xQ>>2]=uQ;qQ=+Kr[YQ>>2];mQ=+Kr[VQ>>2];zQ=qQ-mQ;XQ=TQ+VZ|0;tQ=XQ+-1|0;vQ=B+(tQ<<2)|0;Kr[vQ>>2]=zQ;jQ=C+(hQ<<2)|0;_Q=+Kr[jQ>>2];$Q=C+(kQ<<2)|0;dB=+Kr[$Q>>2];AB=dB+_Q;QB=B+(LQ<<2)|0;Kr[QB>>2]=AB;BB=+Kr[$Q>>2];EB=+Kr[jQ>>2];DB=BB-EB;CB=B+(XQ<<2)|0;Kr[CB>>2]=DB;ZB=BC+2|0;eB=(ZB|0)<(n|0);if(eB){BC=ZB}else{break}}UQ=VZ+lE|0;KQ=yZ+lE|0;FQ=mZ+n|0;cQ=tZ+n|0;sQ=kC+1|0;rD=(sQ|0)==(A|0);if(rD){break}else{kC=sQ;VZ=UQ;yZ=KQ;mZ=FQ;tZ=cQ}}}wB=UC+1|0;UD=(wB|0)==(fQ|0);if(UD){break}else{UC=wB;LC=aQ;iZ=MQ;rZ=OQ;hZ=rQ}}return}if(!bn){return}PQ=(n|0)>2;GQ=(A|0)>0;SC=1;yC=SQ;SZ=0;UZ=0;WZ=vA;while(1){gB=yC+tA|0;RB=SZ+tA|0;pB=UZ+KE|0;iB=WZ-KE|0;if(PQ){SB=gB+n|0;if(GQ){EC=2;while(1){jB=EC+iB|0;_B=EC+pB|0;$B=EC+RB|0;nE=SB-EC|0;FC=0;NZ=nE;xZ=$B;zZ=_B;vZ=jB;while(1){aB=zZ+-1|0;fB=C+(aB<<2)|0;IB=+Kr[fB>>2];OB=vZ+-1|0;rB=C+(OB<<2)|0;UB=+Kr[rB>>2];KB=UB+IB;FB=xZ+-1|0;cB=B+(FB<<2)|0;Kr[cB>>2]=KB;sB=+Kr[fB>>2];TB=+Kr[rB>>2];hB=sB-TB;WB=NZ+-1|0;YB=B+(WB<<2)|0;Kr[YB>>2]=hB;oB=C+(zZ<<2)|0;kB=+Kr[oB>>2];lB=C+(vZ<<2)|0;VB=+Kr[lB>>2];NB=VB+kB;uB=B+(xZ<<2)|0;Kr[uB>>2]=NB;LB=+Kr[lB>>2];bB=+Kr[oB>>2];yB=LB-bB;qB=B+(NZ<<2)|0;Kr[qB>>2]=yB;mB=NZ+lE|0;zB=xZ+lE|0;XB=zZ+n|0;tB=vZ+n|0;vB=FC+1|0;MD=(vB|0)==(A|0);if(MD){break}else{FC=vB;NZ=mB;xZ=zB;zZ=XB;vZ=tB}}PB=EC+2|0;GB=(PB|0)<(n|0);if(GB){EC=PB}else{break}}}}AE=SC+1|0;OD=(AE|0)==(fQ|0);if(OD){break}else{SC=AE;yC=gB;SZ=RB;UZ=pB;WZ=iB}}return}function Id(n){n=n|0;var d=0,A=0,Q=0.0,B=0.0,E=0.0,D=0.0,C=0.0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0.0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0;var Cn=0,Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0.0,Kn=0.0,Fn=0.0;var cn=0,sn=0.0,Tn=0,hn=0.0,Wn=0.0,Hn=0.0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0.0,yn=0.0,xn=0,qn=0.0,mn=0.0,zn=0.0;var Xn=0,tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0.0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0;var pd=0,id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0;var Yd=0,od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0.0,_d=0,$d=0;var nA=0,dA=0,AA=0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0;var fA=0.0,IA=0,MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0.0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0;var uA=0,LA=0,bA=0,yA=0,xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0;var DQ=0,CQ=0,ZQ=0,eQ=0,wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0.0,MQ=0,OQ=0,rQ=0,UQ=0;var KQ=0,FQ=0,cQ=0,sQ=0,TQ=0,hQ=0,WQ=0,HQ=0,YQ=0,oQ=0,kQ=0,lQ=0,VQ=0,NQ=0,uQ=0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0;var mQ=0.0,zQ=0,XQ=0.0,tQ=0.0,vQ=0,jQ=0,_Q=0,$Q=0,nB=0,dB=0.0,AB=0,QB=0.0,BB=0.0,EB=0.0,DB=0,CB=0,ZB=0.0,eB=0.0,wB=0.0,JB=0.0;var gB=0.0,RB=0.0,pB=0,iB=0,SB=0,PB=0,GB=0,aB=0,fB=0,IB=0,MB=0,OB=0.0,rB=0,UB=0.0,KB=0.0,FB=0.0,cB=0,sB=0,TB=0,hB=0;var WB=0,HB=0,YB=0,oB=0,kB=0,lB=0,VB=0,NB=0,uB=0,LB=0,bB=0,yB=0,xB=0.0,qB=0,mB=0,zB=0,XB=0.0,tB=0,vB=0,jB=0.0;var _B=0.0,$B=0.0,nE=0,dE=0.0,AE=0,QE=0.0,BE=0,EE=0,DE=0,CE=0.0,ZE=0,eE=0,wE=0.0,JE=0.0,gE=0.0,RE=0,pE=0,iE=0.0,SE=0.0,PE=0.0;var GE=0.0,aE=0.0,fE=0,IE=0,ME=0.0,OE=0.0,rE=0,UE=0.0,KE=0,FE=0.0,cE=0.0,sE=0.0,TE=0.0,hE=0.0,WE=0,HE=0,YE=0.0,oE=0,kE=0.0,lE=0.0;var VE=0,NE=0.0,uE=0.0,LE=0.0,bE=0.0,yE=0.0,xE=0,qE=0,mE=0,zE=0.0,XE=0.0,tE=0.0,vE=0,jE=0.0,_E=0.0,$E=0.0,nD=0.0,dD=0.0,AD=0,QD=0;var BD=0,ED=0.0,DD=0.0,CD=0.0,ZD=0,eD=0.0,wD=0.0,JD=0.0,gD=0.0,RD=0.0,pD=0.0,iD=0,SD=0,PD=0.0,GD=0.0,aD=0.0,fD=0,ID=0.0,MD=0.0,OD=0.0;var rD=0.0,UD=0,KD=0,FD=0.0,cD=0,sD=0,TD=0.0,hD=0.0,WD=0.0,HD=0,YD=0.0,oD=0.0,kD=0.0,lD=0,VD=0.0,ND=0.0,uD=0,LD=0,bD=0.0,yD=0.0;var xD=0.0,qD=0,mD=0.0,zD=0.0,XD=0,tD=0.0,vD=0.0,jD=0.0,_D=0,$D=0,nC=0.0,dC=0.0,AC=0,QC=0,BC=0,EC=0,DC=0,CC=0.0,ZC=0.0,eC=0;var wC=0.0,JC=0.0,gC=0.0,RC=0,pC=0,iC=0,SC=0,PC=0,GC=0,aC=0,fC=0,IC=0,MC=0,OC=0,rC=0,UC=0,KC=0,FC=0,cC=0,sC=0;var TC=0,hC=0,WC=0,HC=0,YC=0,oC=0,kC=0,lC=0,VC=0,NC=0,uC=0,LC=0,bC=0,yC=0,xC=0,qC=0,mC=0,zC=0,XC=0,tC=0;var vC=0,jC=0,_C=0,$C=0,nZ=0,dZ=0,AZ=0,QZ=0,BZ=0,EZ=0.0,DZ=0,CZ=0,ZZ=0,eZ=0,wZ=0.0,JZ=0,gZ=0.0,RZ=0.0,pZ=0.0,iZ=0;var SZ=0.0,PZ=0,GZ=0.0,aZ=0.0,fZ=0.0,IZ=0.0,MZ=0.0,OZ=0.0,rZ=0.0,UZ=0,KZ=0.0,FZ=0.0,cZ=0,sZ=0,TZ=0,hZ=0,WZ=0,HZ=0.0,YZ=0.0,oZ=0;var kZ=0,lZ=0,VZ=0,NZ=0,uZ=0,LZ=0.0,bZ=0.0,yZ=0.0,xZ=0,qZ=0.0,mZ=0.0,zZ=0.0,XZ=0.0,tZ=0.0,vZ=0.0,jZ=0,_Z=0.0,$Z=0.0,ne=0,de=0.0;var Ae=0.0,Qe=0,Be=0,Ee=0,De=0.0,Ce=0.0,Ze=0,ee=0,we=0,Je=0,ge=0,Re=0.0,pe=0.0,ie=0.0,Se=0.0,Pe=0,Ge=0,ae=0,fe=0.0,Ie=0.0;var Me=0.0,Oe=0.0,re=0.0,Ue=0.0,Ke=0.0,Fe=0,ce=0,se=0,Te=0,he=0.0,We=0.0,He=0,Ye=0.0,oe=0.0,ke=0,le=0,Ve=0,Ne=0.0,ue=0.0,Le=0;var be=0,ye=0,xe=0,qe=0,me=0,ze=0.0,Xe=0.0,te=0.0,ve=0,je=0.0,_e=0,$e=0.0,nw=0.0,dw=0.0,Aw=0.0,Qw=0.0,Bw=0.0,Ew=0.0,Dw=0,Cw=0.0;var Zw=0.0,ew=0.0,ww=0,Jw=0,gw=0,Rw=0.0,pw=0.0,iw=0,Sw=0,Pw=0,Gw=0.0,aw=0,fw=0,Iw=0,Mw=0,Ow=0,rw=0,Uw=0,Kw=0,Fw=0;var cw=0,sw=0,Tw=0,hw=0,Ww=0,Hw=0,Yw=0,ow=0,kw=0,lw=0,Vw=0,Nw=0,uw=0,Lw=0,bw=0,yw=0,xw=0,qw=0,mw=0,zw=0;var Xw=0,tw=0.0,vw=0,jw=0.0,_w=0,$w=0,nJ=0,dJ=0,AJ=0,QJ=0,BJ=0,EJ=0,DJ=0,CJ=0,ZJ=0,eJ=0,wJ=0,JJ=0,gJ=0,RJ=0;var pJ=0,iJ=0,SJ=0,PJ=0,GJ=0,aJ=0,fJ=0,IJ=0,MJ=0,OJ=0,rJ=0.0,UJ=0,KJ=0.0,FJ=0,cJ=0,sJ=0,TJ=0,hJ=0,WJ=0,HJ=0;var YJ=0,oJ=0,kJ=0,lJ=0,VJ=0,NJ=0,uJ=0,LJ=0,bJ=0,yJ=0,xJ=0,qJ=0,mJ=0,zJ=0,XJ=0,tJ=0,vJ=0,jJ=0,_J=0,$J=0;var ng=0.0,dg=0,Ag=0,Qg=0.0,Bg=0,Eg=0,Dg=0,Cg=0,Zg=0,eg=0,wg=0,Jg=0,gg=0,Rg=0,pg=0,ig=0,Sg=0,Pg=0,Gg=0,ag=0;var fg=0,Ig=0,Mg=0,Og=0,rg=0,Ug=0,Kg=0,Fg=0,cg=0,sg=0.0,Tg=0,hg=0,Wg=0.0,Hg=0,Yg=0,og=0,kg=0,lg=0,Vg=0,Ng=0;var ug=0,Lg=0,bg=0.0,yg=0,xg=0,qg=0,mg=0,zg=0,Xg=0,tg=0.0,vg=0,jg=0,_g=0,$g=0,nR=0.0,dR=0,AR=0,QR=0,BR=0,ER=0;var DR=0,CR=0.0,ZR=0,eR=0,wR=0,JR=0,gR=0,RR=0.0,pR=0,iR=0.0,SR=0,PR=0,GR=0,aR=0,fR=0.0,IR=0.0,MR=0.0,OR=0,rR=0,UR=0;var KR=0.0,FR=0.0,cR=0.0,sR=0,TR=0.0,hR=0.0,WR=0,HR=0,YR=0,oR=0.0,kR=0,lR=0,VR=0,NR=0,uR=0.0,LR=0.0,bR=0,yR=0,xR=0.0,qR=0.0;var mR=0.0,zR=0,XR=0.0,tR=0,vR=0,jR=0,_R=0.0,$R=0,np=0.0,dp=0.0,Ap=0,Qp=0,Bp=0,Ep=0,Dp=0.0,Cp=0.0,Zp=0.0,ep=0,wp=0,Jp=0.0;var gp=0.0,Rp=0.0,pp=0,ip=0,Sp=0.0,Pp=0.0,Gp=0,ap=0,fp=0,Ip=0.0,Mp=0,Op=0,rp=0,Up=0.0,Kp=0,Fp=0.0,cp=0,sp=0,Tp=0.0,hp=0.0;var Wp=0.0,Hp=0.0,Yp=0,op=0,kp=0,lp=0,Vp=0,Np=0.0,up=0,Lp=0,bp=0,yp=0.0,xp=0.0,qp=0,mp=0,zp=0,Xp=0.0,tp=0,vp=0.0,jp=0.0;var _p=0,$p=0,ni=0.0,di=0.0,Ai=0.0,Qi=0,Bi=0.0,Ei=0.0,Di=0,Ci=0,Zi=0,ei=0,wi=0.0,Ji=0,gi=0,Ri=0,pi=0.0,ii=0.0,Si=0,Pi=0;var Gi=0,ai=0.0,fi=0.0,Ii=0.0,Mi=0.0,Oi=0,ri=0,Ui=0,Ki=0.0,Fi=0,ci=0,si=0.0,Ti=0.0,hi=0,Wi=0,Hi=0,Yi=0.0,oi=0.0,ki=0.0,li=0;var Vi=0,Ni=0,ui=0.0,Li=0.0,bi=0.0,yi=0,xi=0.0,qi=0.0,mi=0,zi=0,Xi=0,ti=0.0,vi=0,ji=0,_i=0,$i=0,nS=0.0,dS=0.0,AS=0,QS=0;var BS=0.0,ES=0.0,DS=0.0,CS=0,ZS=0.0,eS=0,wS=0,JS=0,gS=0.0,RS=0,pS=0,iS=0,SS=0.0,PS=0.0,GS=0,aS=0,fS=0,IS=0.0,MS=0.0,OS=0.0;var rS=0,US=0,KS=0,FS=0.0,cS=0.0,sS=0,TS=0.0,hS=0.0,WS=0,HS=0,YS=0.0,oS=0,kS=0.0,lS=0.0,VS=0,NS=0,uS=0.0,LS=0,bS=0.0,yS=0.0;var xS=0.0,qS=0,mS=0,zS=0,XS=0.0,tS=0.0,vS=0.0,jS=0.0,_S=0,$S=0,nP=0,dP=0.0,AP=0,QP=0.0,BP=0.0,EP=0,DP=0,CP=0,ZP=0,eP=0;var wP=0.0,JP=0.0,gP=0.0,RP=0,pP=0,iP=0,SP=0.0,PP=0.0,GP=0.0,aP=0.0,fP=0,IP=0,MP=0,OP=0.0,rP=0,UP=0.0,KP=0.0,FP=0,cP=0,sP=0;var TP=0,hP=0,WP=0.0,HP=0.0,YP=0.0,oP=0,kP=0,lP=0,VP=0.0,NP=0.0,uP=0.0,LP=0.0,bP=0,yP=0,xP=0,qP=0.0,mP=0,zP=0,XP=0,tP=0;var vP=0,jP=0,_P=0,$P=0,nG=0.0,dG=0.0,AG=0,QG=0.0,BG=0,EG=0,DG=0,CG=0,ZG=0,eG=0.0,wG=0,JG=0,gG=0,RG=0,pG=0,iG=0;var SG=0.0,PG=0,GG=0,aG=0,fG=0,IG=0,MG=0,OG=0,rG=0,UG=0,KG=0.0,FG=0.0,cG=0,sG=0,TG=0.0,hG=0.0,WG=0,HG=0,YG=0,oG=0;var kG=0,lG=0,VG=0,NG=0,uG=0,LG=0,bG=0,yG=0,xG=0,qG=0,mG=0,zG=0,XG=0,tG=0,vG=0,jG=0,_G=0.0,$G=0.0,na=0,da=0;var Aa=0,Qa=0.0,Ba=0.0,Ea=0,Da=0,Ca=0,Za=0,ea=0,wa=0.0,Ja=0,ga=0,Ra=0,pa=0,ia=0,Sa=0,Pa=0,Ga=0,aa=0,fa=0,Ia=0;var Ma=0,Oa=0,ra=0,Ua=0,Ka=0,Fa=0,ca=0,sa=0,Ta=0,ha=0,Wa=0,Ha=0,Ya=0,oa=0,ka=0,la=0,Va=0,Na=0,ua=0,La=0;var ba=0,ya=0,xa=0,qa=0,ma=0,za=0,Xa=0,ta=0,va=0,ja=0,_a=0,$a=0,nf=0,df=0,Af=0,Qf=0,Bf=0,Ef=0,Df=0,Cf=0;var Zf=0,ef=0,wf=0,Jf=0,gf=0,Rf=0,pf=0,Sf=0,Pf=0,Gf=0,af=0,ff=0,If=0,Mf=0,Of=0,rf=0,Uf=0,Kf=0,Ff=0,cf=0;var sf=0,Tf=0,hf=0,Wf=0,Hf=0,Yf=0,of=0,kf=0,lf=0,Vf=0,Nf=0,uf=0,Lf=0,bf=0,yf=0,xf=0,qf=0,mf=0,zf=0,Xf=0;var tf=0,vf=0,jf=0,_f=0,$f=0,nI=0,dI=0,AI=0,QI=0,BI=0,EI=0,DI=0,CI=0,ZI=0,eI=0,wI=0,JI=0,gI=0,RI=0,pI=0;var iI=0,SI=0,PI=0,GI=0,aI=0,fI=0,II=0,MI=0,OI=0,rI=0,UI=0,KI=0,FI=0,cI=0,sI=0,TI=0,hI=0,WI=0,HI=0,YI=0;var oI=0,kI=0,lI=0,VI=0,NI=0,uI=0,LI=0,bI=0,yI=0,xI=0,qI=0,mI=0,zI=0,XI=0,tI=0,vI=0,jI=0,_I=0,$I=0,nM=0;var dM=0,AM=0,QM=0,BM=0,EM=0,DM=0,CM=0,ZM=0,eM=0,wM=0,JM=0,gM=0,RM=0,pM=0,iM=0,SM=0,PM=0,GM=0,aM=0,fM=0;var IM=0,MM=0,OM=0,rM=0,UM=0.0,KM=0.0,FM=0,cM=0,sM=0,TM=0,hM=0.0,WM=0.0,HM=0,YM=0,oM=0,kM=0,lM=0.0,VM=0.0,NM=0,uM=0.0;var LM=0,bM=0,yM=0,xM=0,qM=0,mM=0,zM=0,XM=0,tM=0,vM=0,jM=0,_M=0,$M=0,nO=0,dO=0,AO=0,QO=0,BO=0,EO=0,DO=0;var CO=0,ZO=0,eO=0,wO=0,JO=0,gO=0,RO=0,pO=0,iO=0,SO=0,PO=0,GO=0,aO=0,fO=0,IO=0,MO=0.0,OO=0.0,rO=0.0,UO=0,KO=0;var FO=0.0,cO=0,sO=0,TO=0,hO=0,WO=0,HO=0,YO=0,oO=0,kO=0,lO=0,VO=0,NO=0,uO=0,LO=0,bO=0,yO=0,xO=0,qO=0,mO=0;var zO=0,XO=0,tO=0,vO=0,jO=0,_O=0,$O=0,nr=0,dr=0,Ar=0,Qr=0,Br=0,Er=0,Dr=0,Cr=0,Zr=0,er=0,wr=0,Jr=0,gr=0;var Rr=0,pr=0,ir=0,Sr=0,Pr=0,Gr=0,ar=0,fr=0,Ir=0,Mr=0,Or=0,rr=0;Mr=cr;q=n+28|0;m=Ur[q>>2]|0;UD=(m|0)==(0|0);if(UD){Z=-131;return Z|0}cZ=m+3456|0;hw=Ur[cZ>>2]|0;Yg=(hw|0)==0;d=Yg&1;lp=m+3496|0;uS=+Fr[lp>>3];yG=uS>-80.0;if(yG){Fr[lp>>3]=-80.0}else{zf=uS<-200.0;if(zf){Fr[lp>>3]=-200.0}}z=m+3512|0;jd=+Fr[z>>3];nB=jd>0.0;if(nB){Fr[z>>3]=0.0}else{AE=jd<-99999.0;if(AE){Fr[z>>3]=-99999.0}}RE=m+3396|0;rE=Ur[RE>>2]|0;oE=(rE|0)==(0|0);if(oE){Z=-131;return Z|0}mE=m+3392|0;Ur[mE>>2]=1;QD=m+3400|0;pD=+Fr[QD>>3];KD=rE+24|0;lD=Ur[KD>>2]|0;XD=rE+28|0;EC=Ur[XD>>2]|0;SC=~~pD;FC=lD+(SC<<2)|0;VC=Ur[FC>>2]|0;tC=EC+(SC<<2)|0;DZ=Ur[tC>>2]|0;Ur[m>>2]=VC;PZ=m+4|0;Ur[PZ>>2]=DZ;sZ=(VC|0)==(DZ|0);uZ=rE+144|0;jZ=Ur[uZ>>2]|0;Ze=(jZ|0)>0;if(Ze){ae=rE+136|0;Te=rE+140|0;Le=rE+148|0;ew=pD;UR=m;xO=0;while(1){_e=~~ew;fw=Ur[ae>>2]|0;Ww=Ur[Te>>2]|0;yw=Ur[Le>>2]|0;nJ=yw+(xO<<2)|0;JJ=Ur[nJ>>2]|0;MJ=Hr(1,1120)|0;HJ=JJ+(_e<<2)|0;xJ=Ur[HJ>>2]|0;dg=Ww+(xJ*1120|0)|0;Yr(MJ|0,dg|0,1120)|0;gg=Ur[MJ>>2]|0;Og=(gg|0)>0;if(Og){og=MJ+4|0;cO=0;er=-1;while(1){Bp=og+(cO<<2)|0;ip=Ur[Bp>>2]|0;Kp=(ip|0)>(er|0);c=Kp?ip:er;Vp=cO+1|0;fO=(Vp|0)==(gg|0);if(fO){s=c;break}else{cO=Vp;er=c}}mg=(s|0)<0;if(!mg){QR=MJ+256|0;pR=UR+24|0;kR=MJ+192|0;zR=MJ+320|0;tO=0;Er=-1;while(1){GS=QR+(tO<<2)|0;sS=Ur[GS>>2]|0;LS=(sS|0)>(Er|0);K=LS?sS:Er;_S=Ur[pR>>2]|0;eP=_S+sS|0;Ur[GS>>2]=eP;fP=kR+(tO<<2)|0;hP=Ur[fP>>2]|0;bP=(hP|0)==31;if(bP){Dr=K}else{vB=hP;Qr=0;Zr=K;while(1){$P=(zR+(tO<<5)|0)+(Qr<<2)|0;wG=Ur[$P>>2]|0;IG=(wG|0)>(Zr|0);F=IG?wG:Zr;WG=(wG|0)>-1;if(WG){xG=Ur[pR>>2]|0;da=xG+wG|0;Ur[$P>>2]=da;h=Ur[fP>>2]|0;Ya=h}else{Ya=vB}ga=Qr+1|0;Oa=1<>2]|0;ci=Ur[Pi>>2]|0;Ni=Ur[pR>>2]|0;vi=Ni+1|0;Ur[pR>>2]=vi;CS=(UR+1824|0)+(Ni<<2)|0;Ur[CS>>2]=ci;SO=(Cr|0)==0;if(!SO){vO=0;while(1){Rf=vO+1|0;k=Ur[HJ>>2]|0;Uf=fw+(k<<2)|0;kf=Ur[Uf>>2]|0;Xf=kf+(Rf<<2)|0;EI=Ur[Xf>>2]|0;SI=Ur[pR>>2]|0;FI=SI+1|0;Ur[pR>>2]=FI;VI=(UR+1824|0)+(SI<<2)|0;Ur[VI>>2]=EI;iO=(Rf|0)==(Cr|0);if(iO){break}else{vO=Rf}}}}}}tI=UR+16|0;DM=Ur[tI>>2]|0;PM=(UR+800|0)+(DM<<2)|0;Ur[PM>>2]=1;cM=Ur[tI>>2]|0;NM=(UR+1056|0)+(cM<<2)|0;Ur[NM>>2]=MJ;X=Ur[tI>>2]|0;En=X+1|0;Ur[tI>>2]=En;Pn=xO+1|0;cn=Ur[uZ>>2]|0;Nn=(Pn|0)<(cn|0);if(!Nn){break}T=+Fr[QD>>3];L=Ur[q>>2]|0;ew=T;UR=L;xO=Pn}y=Ur[q>>2]|0;$A=y}else{$A=m}vn=m+3520|0;Cd=+Fr[vn>>3];Gd=rE+124|0;sd=Ur[Gd>>2]|0;ud=rE+128|0;_d=Ur[ud>>2]|0;eA=~~Cd;fA=+(eA|0);hA=Cd-fA;bA=$A+2868|0;wQ=_d+(eA<<3)|0;IQ=+Fr[wQ>>3];WQ=~~IQ;yQ=sd+(WQ*492|0)|0;Yr(bA|0,yQ|0,492)|0;dB=+Fr[wQ>>3];gB=1.0-hA;OB=dB*gB;YB=eA+1|0;qB=_d+(YB<<3)|0;jB=+Fr[qB>>3];_B=jB*hA;$B=_B+OB;nE=~~$B;dE=+(nE|0);QE=$B-dE;BE=QE==0.0;EE=(nE|0)>0;wr=EE&BE;C=wr?1.0:QE;DE=wr<<31>>31;f=DE+nE|0;CE=1.0-C;ZE=f+1|0;eE=(sd+(f*492|0)|0)+4|0;wE=+Kr[eE>>2];JE=wE;gE=CE*JE;pE=(sd+(ZE*492|0)|0)+4|0;iE=+Kr[pE>>2];SE=iE;PE=C*SE;GE=gE+PE;aE=GE;fE=$A+2872|0;Kr[fE>>2]=aE;IE=(sd+(f*492|0)|0)+32|0;ME=+Kr[IE>>2];OE=ME;UE=CE*OE;KE=(sd+(ZE*492|0)|0)+32|0;FE=+Kr[KE>>2];cE=FE;sE=C*cE;TE=UE+sE;hE=TE;WE=$A+2900|0;Kr[WE>>2]=hE;HE=(sd+(f*492|0)|0)+8|0;YE=+Kr[HE>>2];kE=YE;lE=CE*kE;VE=(sd+(ZE*492|0)|0)+8|0;NE=+Kr[VE>>2];uE=NE;LE=C*uE;bE=lE+LE;yE=bE;xE=$A+2876|0;Kr[xE>>2]=yE;qE=(sd+(f*492|0)|0)+36|0;zE=+Kr[qE>>2];XE=zE;tE=CE*XE;vE=(sd+(ZE*492|0)|0)+36|0;jE=+Kr[vE>>2];_E=jE;$E=_E*C;nD=$E+tE;dD=nD;AD=$A+2904|0;Kr[AD>>2]=dD;BD=(sd+(f*492|0)|0)+12|0;ED=+Kr[BD>>2];DD=ED;CD=DD*CE;ZD=(sd+(ZE*492|0)|0)+12|0;eD=+Kr[ZD>>2];wD=eD;JD=wD*C;gD=JD+CD;RD=gD;iD=$A+2880|0;Kr[iD>>2]=RD;SD=(sd+(f*492|0)|0)+40|0;PD=+Kr[SD>>2];GD=PD;aD=GD*CE;fD=(sd+(ZE*492|0)|0)+40|0;ID=+Kr[fD>>2];MD=ID;OD=MD*C;rD=OD+aD;FD=rD;cD=$A+2908|0;Kr[cD>>2]=FD;sD=(sd+(f*492|0)|0)+16|0;TD=+Kr[sD>>2];hD=TD;WD=hD*CE;HD=(sd+(ZE*492|0)|0)+16|0;YD=+Kr[HD>>2];oD=YD;kD=oD*C;VD=kD+WD;ND=VD;uD=$A+2884|0;Kr[uD>>2]=ND;LD=(sd+(f*492|0)|0)+44|0;bD=+Kr[LD>>2];yD=bD;xD=yD*CE;qD=(sd+(ZE*492|0)|0)+44|0;mD=+Kr[qD>>2];zD=mD;tD=zD*C;vD=tD+xD;jD=vD;_D=$A+2912|0;Kr[_D>>2]=jD;$D=$A+3512|0;nC=+Fr[$D>>3];dC=nC;AC=$A+2936|0;Kr[AC>>2]=dC;QC=rE+132|0;BC=Ur[QC>>2]|0;DC=m+3472|0;CC=+Fr[DC>>3];ZC=CC;eC=~~ZC;wC=+(eC|0);JC=ZC-wC;gC=JC;RC=Ur[q>>2]|0;pC=(BC|0)==(0|0);n:do{if(pC){iC=RC+4|0;PC=Ur[RC>>2]|0;GC=RC+3240|0;Ur[GC>>2]=PC;aC=Ur[iC>>2]|0;fC=RC+3300|0;Ur[fC>>2]=aC;IC=RC+3244|0;Ur[IC>>2]=PC;MC=RC+3304|0;Ur[MC>>2]=aC;OC=RC+3248|0;Ur[OC>>2]=PC;rC=RC+3308|0;Ur[rC>>2]=aC;UC=RC+3252|0;Ur[UC>>2]=PC;KC=RC+3312|0;Ur[KC>>2]=aC;cC=RC+3256|0;Ur[cC>>2]=PC;sC=RC+3316|0;Ur[sC>>2]=aC;TC=RC+3260|0;Ur[TC>>2]=PC;hC=RC+3320|0;Ur[hC>>2]=aC;WC=RC+3264|0;Ur[WC>>2]=PC;HC=RC+3324|0;Ur[HC>>2]=aC;YC=RC+3268|0;Ur[YC>>2]=PC;oC=RC+3328|0;Ur[oC>>2]=aC;kC=RC+3272|0;Ur[kC>>2]=PC;lC=RC+3332|0;Ur[lC>>2]=aC;NC=RC+3276|0;Ur[NC>>2]=PC;uC=RC+3336|0;Ur[uC>>2]=aC;LC=RC+3280|0;Ur[LC>>2]=PC;bC=RC+3340|0;Ur[bC>>2]=aC;yC=RC+3284|0;Ur[yC>>2]=PC;xC=RC+3344|0;Ur[xC>>2]=aC;qC=RC+3288|0;Ur[qC>>2]=PC;mC=RC+3348|0;Ur[mC>>2]=aC;zC=RC+3292|0;Ur[zC>>2]=PC;XC=RC+3352|0;Ur[XC>>2]=aC;vC=RC+3296|0;Ur[vC>>2]=PC;jC=RC+3356|0;Ur[jC>>2]=aC}else{_C=RC+3120|0;$C=BC+(eC*240|0)|0;fr=_C;Or=$C;rr=fr+60|0;do{Ur[fr>>2]=Ur[Or>>2]|0;fr=fr+4|0;Or=Or+4|0}while((fr|0)<(rr|0));nZ=RC+3180|0;dZ=(BC+(eC*240|0)|0)+60|0;fr=nZ;Or=dZ;rr=fr+60|0;do{Ur[fr>>2]=Ur[Or>>2]|0;fr=fr+4|0;Or=Or+4|0}while((fr|0)<(rr|0));AZ=m+3420|0;QZ=Ur[AZ>>2]|0;BZ=(QZ|0)==0;if(!BZ){EZ=1.0-gC;CZ=eC+1|0;ZZ=n+8|0;eZ=RC+4|0;H=Ur[ZZ>>2]|0;wZ=+(H|0);mO=0;while(1){JZ=((BC+(eC*240|0)|0)+120|0)+(mO<<2)|0;gZ=+Kr[JZ>>2];RZ=gZ;pZ=RZ*EZ;iZ=((BC+(CZ*240|0)|0)+120|0)+(mO<<2)|0;SZ=+Kr[iZ>>2];GZ=SZ;aZ=GZ*gC;fZ=aZ+pZ;IZ=fZ;MZ=IZ;OZ=MZ*1000.0;rZ=OZ/wZ;UZ=Ur[RC>>2]|0;KZ=+(UZ|0);FZ=KZ*rZ;TZ=~~FZ;hZ=(RC+3000|0)+(mO<<2)|0;Ur[hZ>>2]=TZ;WZ=Ur[eZ>>2]|0;HZ=+(WZ|0);YZ=HZ*rZ;oZ=~~YZ;kZ=(RC+3060|0)+(mO<<2)|0;Ur[kZ>>2]=oZ;lZ=~~IZ;VZ=(RC+2940|0)+(mO<<2)|0;Ur[VZ>>2]=lZ;NZ=((BC+(eC*240|0)|0)+180|0)+(mO<<2)|0;LZ=+Kr[NZ>>2];bZ=LZ;yZ=bZ*EZ;xZ=((BC+(CZ*240|0)|0)+180|0)+(mO<<2)|0;qZ=+Kr[xZ>>2];mZ=qZ;zZ=mZ*gC;XZ=zZ+yZ;tZ=XZ;vZ=tZ;_Z=vZ*1000.0;$Z=_Z/wZ;ne=Ur[RC>>2]|0;de=+(ne|0);Ae=de*$Z;Qe=~~Ae;Be=(RC+3240|0)+(mO<<2)|0;Ur[Be>>2]=Qe;Ee=Ur[eZ>>2]|0;De=+(Ee|0);Ce=De*$Z;ee=~~Ce;we=(RC+3300|0)+(mO<<2)|0;Ur[we>>2]=ee;Je=mO+1|0;GO=(Je|0)==15;if(GO){break n}else{mO=Je}}}ge=(BC+(eC*240|0)|0)+148|0;Re=+Kr[ge>>2];pe=Re;ie=1.0-gC;Se=pe*ie;Pe=eC+1|0;Ge=(BC+(Pe*240|0)|0)+148|0;fe=+Kr[Ge>>2];Ie=fe;Me=Ie*gC;Oe=Me+Se;re=Oe;Ue=re;Ke=Ue*1000.0;Fe=n+8|0;ce=RC+4|0;se=~~re;o=Ur[Fe>>2]|0;he=+(o|0);We=Ke/he;XO=0;while(1){He=Ur[RC>>2]|0;Ye=+(He|0);oe=Ye*We;ke=~~oe;le=(RC+3000|0)+(XO<<2)|0;Ur[le>>2]=ke;Ve=Ur[ce>>2]|0;Ne=+(Ve|0);ue=Ne*We;be=~~ue;ye=(RC+3060|0)+(XO<<2)|0;Ur[ye>>2]=be;xe=(RC+2940|0)+(XO<<2)|0;Ur[xe>>2]=se;qe=XO+1|0;IO=(qe|0)==15;if(IO){break}else{XO=qe}}me=(BC+(eC*240|0)|0)+208|0;ze=+Kr[me>>2];Xe=ze;te=Xe*ie;ve=(BC+(Pe*240|0)|0)+208|0;je=+Kr[ve>>2];$e=je;nw=$e*gC;dw=nw+te;Aw=dw;Qw=Aw;Bw=Qw*1000.0;Ew=Bw/he;_O=0;while(1){Dw=Ur[RC>>2]|0;Cw=+(Dw|0);Zw=Cw*Ew;ww=~~Zw;Jw=(RC+3240|0)+(_O<<2)|0;Ur[Jw>>2]=ww;gw=Ur[ce>>2]|0;Rw=+(gw|0);pw=Rw*Ew;iw=~~pw;Sw=(RC+3300|0)+(_O<<2)|0;Ur[Sw>>2]=iw;Pw=_O+1|0;PO=(Pw|0)==15;if(PO){break}else{_O=Pw}}}}while(0);Gw=+Fr[QD>>3];aw=rE+92|0;Iw=Ur[aw>>2]|0;Mw=rE+100|0;Ow=Ur[Mw>>2]|0;rw=rE+108|0;Uw=Ur[rw>>2]|0;Kw=Ur[q>>2]|0;Fw=Kw+2852|0;cw=Ur[Fw>>2]|0;sw=~~Gw;Tw=Kw+28|0;Hw=Ur[Tw>>2]|0;Yw=(Hw|0)>0;if(!Yw){Ur[Tw>>2]=1}ow=(cw|0)==(0|0);if(ow){kw=Hr(1,520)|0;Ur[Fw>>2]=kw;ir=kw}else{ir=cw}Yr(ir|0,25784|0,520)|0;Ur[ir>>2]=0;lw=Kw+3460|0;Vw=Ur[lw>>2]|0;Nw=(Vw|0)==0;if(!Nw){uw=ir+500|0;Ur[uw>>2]=1;Lw=Iw+(sw<<2)|0;bw=Ur[Lw>>2]|0;xw=ir+504|0;Ur[xw>>2]=bw;qw=Ow+(sw<<2)|0;mw=Ur[qw>>2]|0;zw=ir+508|0;Ur[zw>>2]=mw;Xw=Uw+(sw<<3)|0;tw=+Fr[Xw>>3];vw=ir+512|0;Fr[vw>>3]=tw}jw=+Fr[QD>>3];_w=Ur[aw>>2]|0;$w=Ur[Mw>>2]|0;dJ=Ur[rw>>2]|0;AJ=Ur[q>>2]|0;QJ=AJ+2856|0;BJ=Ur[QJ>>2]|0;EJ=~~jw;DJ=AJ+28|0;CJ=Ur[DJ>>2]|0;ZJ=(CJ|0)>1;if(!ZJ){Ur[DJ>>2]=2}eJ=(BJ|0)==(0|0);if(eJ){wJ=Hr(1,520)|0;Ur[QJ>>2]=wJ;Sr=wJ}else{Sr=BJ}Yr(Sr|0,25784|0,520)|0;Ur[Sr>>2]=0;gJ=AJ+3460|0;RJ=Ur[gJ>>2]|0;pJ=(RJ|0)==0;if(!pJ){iJ=Sr+500|0;Ur[iJ>>2]=1;SJ=_w+(EJ<<2)|0;PJ=Ur[SJ>>2]|0;GJ=Sr+504|0;Ur[GJ>>2]=PJ;aJ=$w+(EJ<<2)|0;fJ=Ur[aJ>>2]|0;IJ=Sr+508|0;Ur[IJ>>2]=fJ;OJ=dJ+(EJ<<3)|0;rJ=+Fr[OJ>>3];UJ=Sr+512|0;Fr[UJ>>3]=rJ}if(!sZ){KJ=+Fr[QD>>3];FJ=rE+96|0;cJ=Ur[FJ>>2]|0;sJ=rE+104|0;TJ=Ur[sJ>>2]|0;hJ=Ur[rw>>2]|0;WJ=Ur[q>>2]|0;YJ=WJ+2860|0;oJ=Ur[YJ>>2]|0;kJ=~~KJ;lJ=WJ+28|0;VJ=Ur[lJ>>2]|0;NJ=(VJ|0)>2;if(!NJ){Ur[lJ>>2]=3}uJ=(oJ|0)==(0|0);if(uJ){LJ=Hr(1,520)|0;Ur[YJ>>2]=LJ;Pr=LJ}else{Pr=oJ}Yr(Pr|0,25784|0,520)|0;Ur[Pr>>2]=1;bJ=WJ+3460|0;yJ=Ur[bJ>>2]|0;qJ=(yJ|0)==0;if(!qJ){mJ=Pr+500|0;Ur[mJ>>2]=1;zJ=cJ+(kJ<<2)|0;XJ=Ur[zJ>>2]|0;tJ=Pr+504|0;Ur[tJ>>2]=XJ;vJ=TJ+(kJ<<2)|0;jJ=Ur[vJ>>2]|0;_J=Pr+508|0;Ur[_J>>2]=jJ;$J=hJ+(kJ<<3)|0;ng=+Fr[$J>>3];Ag=Pr+512|0;Fr[Ag>>3]=ng}Qg=+Fr[QD>>3];Bg=Ur[FJ>>2]|0;Eg=Ur[sJ>>2]|0;Dg=Ur[rw>>2]|0;Cg=Ur[q>>2]|0;Zg=Cg+2864|0;eg=Ur[Zg>>2]|0;wg=~~Qg;Jg=Cg+28|0;Rg=Ur[Jg>>2]|0;pg=(Rg|0)>3;if(!pg){Ur[Jg>>2]=4}ig=(eg|0)==(0|0);if(ig){Sg=Hr(1,520)|0;Ur[Zg>>2]=Sg;Gr=Sg}else{Gr=eg}Yr(Gr|0,25784|0,520)|0;Ur[Gr>>2]=1;Pg=Cg+3460|0;Gg=Ur[Pg>>2]|0;ag=(Gg|0)==0;if(!ag){fg=Gr+500|0;Ur[fg>>2]=1;Ig=Bg+(wg<<2)|0;Mg=Ur[Ig>>2]|0;rg=Gr+504|0;Ur[rg>>2]=Mg;Ug=Eg+(wg<<2)|0;Kg=Ur[Ug>>2]|0;Fg=Gr+508|0;Ur[Fg>>2]=Kg;cg=Dg+(wg<<3)|0;sg=+Fr[cg>>3];Tg=Gr+512|0;Fr[Tg>>3]=sg}}hg=(m+3528|0)+(d<<5)|0;Wg=+Fr[hg>>3];Hg=rE+32|0;kg=Ur[Hg>>2]|0;lg=rE+36|0;Vg=Ur[lg>>2]|0;Ng=rE+44|0;ug=Ur[Ng>>2]|0;Tr(n,Wg,0,kg,Vg,ug);Lg=m+3560|0;bg=+Fr[Lg>>3];yg=Ur[Hg>>2]|0;xg=Ur[lg>>2]|0;qg=rE+52|0;zg=Ur[qg>>2]|0;Tr(n,bg,1,yg,xg,zg);if(!sZ){Xg=m+3592|0;tg=+Fr[Xg>>3];vg=Ur[Hg>>2]|0;jg=Ur[lg>>2]|0;_g=Ur[qg>>2]|0;Tr(n,tg,2,vg,jg,_g);$g=m+3624|0;nR=+Fr[$g>>3];dR=Ur[Hg>>2]|0;AR=Ur[lg>>2]|0;BR=rE+48|0;ER=Ur[BR>>2]|0;Tr(n,nR,3,dR,AR,ER)}DR=((m+3528|0)+(d<<5)|0)+24|0;CR=+Fr[DR>>3];ZR=rE+80|0;eR=Ur[ZR>>2]|0;wR=rE+84|0;JR=Ur[wR>>2]|0;gR=~~CR;RR=+(gR|0);iR=CR-RR;SR=Ur[q>>2]|0;PR=SR+2852|0;GR=Ur[PR>>2]|0;aR=JR+(gR<<3)|0;fR=+Fr[aR>>3];IR=1.0-iR;MR=fR*IR;OR=gR+1|0;rR=JR+(OR<<3)|0;KR=+Fr[rR>>3];FR=KR*iR;cR=FR+MR;sR=~~cR;TR=+(sR|0);hR=cR-TR;WR=hR==0.0;HR=(sR|0)>0;Jr=HR&WR;Q=Jr?1.0:hR;YR=Jr<<31>>31;I=YR+sR|0;oR=1.0-Q;lR=I+1|0;TO=0;while(1){VR=(eR+(I*160|0)|0)+(TO<<2)|0;NR=Ur[VR>>2]|0;uR=+(NR|0);LR=uR*oR;bR=(eR+(lR*160|0)|0)+(TO<<2)|0;yR=Ur[bR>>2]|0;xR=+(yR|0);qR=xR*Q;mR=qR+LR;XR=mR;tR=(GR+336|0)+(TO<<2)|0;Kr[tR>>2]=XR;vR=TO+1|0;JO=(vR|0)==40;if(JO){break}else{TO=vR}}jR=m+3584|0;_R=+Fr[jR>>3];$R=~~_R;np=+($R|0);dp=_R-np;Ap=SR+2856|0;Qp=Ur[Ap>>2]|0;Ep=JR+($R<<3)|0;Dp=+Fr[Ep>>3];Cp=1.0-dp;Zp=Dp*Cp;ep=$R+1|0;wp=JR+(ep<<3)|0;Jp=+Fr[wp>>3];gp=Jp*dp;Rp=gp+Zp;pp=~~Rp;Sp=+(pp|0);Pp=Rp-Sp;Gp=Pp==0.0;ap=(pp|0)>0;gr=ap&Gp;B=gr?1.0:Pp;fp=gr<<31>>31;M=fp+pp|0;Ip=1.0-B;Mp=M+1|0;hO=0;while(1){Op=(eR+(M*160|0)|0)+(hO<<2)|0;rp=Ur[Op>>2]|0;Up=+(rp|0);Fp=Up*Ip;cp=(eR+(Mp*160|0)|0)+(hO<<2)|0;sp=Ur[cp>>2]|0;Tp=+(sp|0);hp=Tp*B;Wp=hp+Fp;Hp=Wp;Yp=(Qp+336|0)+(hO<<2)|0;Kr[Yp>>2]=Hp;op=hO+1|0;gO=(op|0)==40;if(gO){break}else{hO=op}}if(!sZ){kp=m+3616|0;Np=+Fr[kp>>3];up=rE+88|0;Lp=Ur[up>>2]|0;bp=~~Np;yp=+(bp|0);xp=Np-yp;qp=SR+2860|0;mp=Ur[qp>>2]|0;zp=Lp+(bp<<3)|0;Xp=+Fr[zp>>3];vp=1.0-xp;jp=Xp*vp;_p=bp+1|0;$p=Lp+(_p<<3)|0;ni=+Fr[$p>>3];di=ni*xp;Ai=di+jp;Qi=~~Ai;Bi=+(Qi|0);Ei=Ai-Bi;Ci=Ei==0.0;Zi=(Qi|0)>0;Rr=Zi&Ci;E=Rr?1.0:Ei;ei=Rr<<31>>31;O=ei+Qi|0;wi=1.0-E;Ji=O+1|0;WO=0;while(1){gi=(eR+(O*160|0)|0)+(WO<<2)|0;Ri=Ur[gi>>2]|0;pi=+(Ri|0);ii=pi*wi;Si=(eR+(Ji*160|0)|0)+(WO<<2)|0;Gi=Ur[Si>>2]|0;ai=+(Gi|0);fi=ai*E;Ii=fi+ii;Mi=Ii;Oi=(mp+336|0)+(WO<<2)|0;Kr[Oi>>2]=Mi;ri=WO+1|0;RO=(ri|0)==40;if(RO){break}else{WO=ri}}Ui=m+3648|0;Ki=+Fr[Ui>>3];Fi=~~Ki;si=+(Fi|0);Ti=Ki-si;hi=SR+2864|0;Wi=Ur[hi>>2]|0;Hi=Lp+(Fi<<3)|0;Yi=+Fr[Hi>>3];oi=1.0-Ti;ki=Yi*oi;li=Fi+1|0;Vi=Lp+(li<<3)|0;ui=+Fr[Vi>>3];Li=ui*Ti;bi=Li+ki;yi=~~bi;xi=+(yi|0);qi=bi-xi;mi=qi==0.0;zi=(yi|0)>0;pr=zi&mi;D=pr?1.0:qi;Xi=pr<<31>>31;r=Xi+yi|0;ti=1.0-D;ji=r+1|0;HO=0;while(1){_i=(eR+(r*160|0)|0)+(HO<<2)|0;$i=Ur[_i>>2]|0;nS=+($i|0);dS=nS*ti;AS=(eR+(ji*160|0)|0)+(HO<<2)|0;QS=Ur[AS>>2]|0;BS=+(QS|0);ES=BS*D;DS=ES+dS;ZS=DS;eS=(Wi+336|0)+(HO<<2)|0;Kr[eS>>2]=ZS;wS=HO+1|0;pO=(wS|0)==40;if(pO){break}else{HO=wS}}}JS=((m+3528|0)+(d<<5)|0)+8|0;gS=+Fr[JS>>3];RS=rE+40|0;pS=Ur[RS>>2]|0;iS=~~gS;SS=+(iS|0);PS=gS-SS;aS=pS+(iS<<2)|0;fS=Ur[aS>>2]|0;IS=+(fS|0);MS=1.0-PS;OS=IS*MS;rS=iS+1|0;US=pS+(rS<<2)|0;KS=Ur[US>>2]|0;FS=+(KS|0);cS=FS*PS;TS=cS+OS;hS=TS;WS=GR+32|0;Kr[WS>>2]=hS;HS=m+3568|0;YS=+Fr[HS>>3];oS=~~YS;kS=+(oS|0);lS=YS-kS;VS=pS+(oS<<2)|0;NS=Ur[VS>>2]|0;bS=+(NS|0);yS=1.0-lS;xS=bS*yS;qS=oS+1|0;mS=pS+(qS<<2)|0;zS=Ur[mS>>2]|0;XS=+(zS|0);tS=XS*lS;vS=tS+xS;jS=vS;$S=Qp+32|0;Kr[$S>>2]=jS;if(!sZ){nP=m+3600|0;dP=+Fr[nP>>3];AP=~~dP;QP=+(AP|0);BP=dP-QP;EP=SR+2860|0;DP=Ur[EP>>2]|0;CP=pS+(AP<<2)|0;ZP=Ur[CP>>2]|0;wP=+(ZP|0);JP=1.0-BP;gP=wP*JP;RP=AP+1|0;pP=pS+(RP<<2)|0;iP=Ur[pP>>2]|0;SP=+(iP|0);PP=SP*BP;GP=PP+gP;aP=GP;IP=DP+32|0;Kr[IP>>2]=aP;MP=m+3632|0;OP=+Fr[MP>>3];rP=~~OP;UP=+(rP|0);KP=OP-UP;FP=SR+2864|0;cP=Ur[FP>>2]|0;sP=pS+(rP<<2)|0;TP=Ur[sP>>2]|0;WP=+(TP|0);HP=1.0-KP;YP=WP*HP;oP=rP+1|0;kP=pS+(oP<<2)|0;lP=Ur[kP>>2]|0;VP=+(lP|0);NP=VP*KP;uP=NP+YP;LP=uP;yP=cP+32|0;Kr[yP>>2]=LP}xP=((m+3528|0)+(d<<5)|0)+16|0;qP=+Fr[xP>>3];mP=rE+76|0;zP=Ur[mP>>2]|0;XP=rE+60|0;tP=Ur[XP>>2]|0;vP=rE+56|0;jP=Ur[vP>>2]|0;if(Yg){dG=0.0}else{_P=m+3408|0;nG=+Fr[_P>>3];dG=nG}hr(n,qP,0,zP,tP,jP,dG);AG=m+3576|0;QG=+Fr[AG>>3];BG=Ur[mP>>2]|0;EG=rE+64|0;DG=Ur[EG>>2]|0;CG=Ur[vP>>2]|0;hr(n,QG,1,BG,DG,CG,0.0);if(sZ){XG=Ur[q>>2]|0;tG=XG+2852|0;vG=Ur[tG>>2]|0;jG=XG+3496|0;_G=+Fr[jG>>3];$G=_G;na=vG+4|0;Kr[na>>2]=$G;Aa=XG+3504|0;Qa=+Fr[Aa>>3];Ba=Qa;Ea=vG+8|0;Kr[Ea>>2]=Ba;Da=XG+2856|0;Ca=Ur[Da>>2]|0;Za=Ca+4|0;Kr[Za>>2]=$G;ea=Ca+8|0;Kr[ea>>2]=Ba;fa=XG}else{ZG=m+3608|0;eG=+Fr[ZG>>3];JG=Ur[mP>>2]|0;gG=rE+68|0;RG=Ur[gG>>2]|0;pG=Ur[vP>>2]|0;hr(n,eG,2,JG,RG,pG,0.0);iG=m+3640|0;SG=+Fr[iG>>3];PG=Ur[mP>>2]|0;GG=rE+72|0;aG=Ur[GG>>2]|0;fG=Ur[vP>>2]|0;hr(n,SG,3,PG,aG,fG,0.0);MG=Ur[q>>2]|0;OG=MG+2852|0;rG=Ur[OG>>2]|0;UG=MG+3496|0;KG=+Fr[UG>>3];FG=KG;cG=rG+4|0;Kr[cG>>2]=FG;sG=MG+3504|0;TG=+Fr[sG>>3];hG=TG;HG=rG+8|0;Kr[HG>>2]=hG;YG=MG+2856|0;oG=Ur[YG>>2]|0;kG=oG+4|0;Kr[kG>>2]=FG;lG=oG+8|0;Kr[lG>>2]=hG;VG=MG+2860|0;NG=Ur[VG>>2]|0;uG=NG+4|0;Kr[uG>>2]=FG;LG=NG+8|0;Kr[LG>>2]=hG;bG=MG+2864|0;qG=Ur[bG>>2]|0;mG=qG+4|0;Kr[mG>>2]=FG;zG=qG+8|0;Kr[zG>>2]=hG;fa=MG}wa=+Fr[QD>>3];Ja=rE+152|0;Ra=Ur[Ja>>2]|0;pa=~~wa;ia=Ra+(pa<<3)|0;Sa=Ur[ia>>2]|0;Pa=(Ra+(pa<<3)|0)+4|0;Ga=Ur[Pa>>2]|0;aa=Ur[fa>>2]|0;Ia=fa+4|0;Ma=Ur[Ia>>2]|0;ra=(aa|0)==(Ma|0);A=ra?1:2;Ua=fa+8|0;Ka=fa+12|0;Fa=n+8|0;ca=n+4|0;sO=0;while(1){sa=Hr(1,3208)|0;Ta=(fa+544|0)+(sO<<2)|0;Ur[Ta>>2]=sa;ha=Hr(1,16)|0;Wa=(fa+32|0)+(sO<<2)|0;Ur[Wa>>2]=ha;Ha=26304+(sO<<4)|0;Ur[ha>>2]=Ur[Ha>>2]|0;Ur[ha+4>>2]=Ur[Ha+4>>2]|0;Ur[ha+8>>2]=Ur[Ha+8>>2]|0;Ur[ha+12>>2]=Ur[Ha+12>>2]|0;oa=Ur[Ua>>2]|0;ka=(sO|0)<(oa|0);if(!ka){la=sO+1|0;Ur[Ua>>2]=la}Va=(fa+288|0)+(sO<<2)|0;Ur[Va>>2]=0;Na=Ur[Ta>>2]|0;ua=Sa+(sO*3208|0)|0;Yr(Na|0,ua|0,3208)|0;La=Ur[Ka>>2]|0;ba=(sO|0)<(La|0);if(!ba){ya=sO+1|0;Ur[Ka>>2]=ya}xa=Ur[ua>>2]|0;ma=(xa|0)>0;if(ma){dr=0;while(1){za=((Sa+(sO*3208|0)|0)+1092|0)+(dr<<2)|0;Xa=Ur[za>>2]|0;ta=Ur[q>>2]|0;va=Wr(2840)|0;ja=(ta+1568|0)+(Xa<<2)|0;Ur[ja>>2]=va;_a=(Ga+(Xa<<5)|0)+12|0;$a=Ur[_a>>2]|0;Yr(va|0,$a|0,2840)|0;nf=ta+20|0;df=Ur[nf>>2]|0;Qf=(df|0)>(Xa|0);if(!Qf){Bf=Xa+1|0;Ur[nf>>2]=Bf}Ef=(Ga+(Xa<<5)|0)+8|0;Df=Ur[Ef>>2]|0;Cf=va+8|0;Ur[Cf>>2]=Df;Zf=Ga+(Xa<<5)|0;ef=Ur[Zf>>2]|0;wf=(ta+1312|0)+(Xa<<2)|0;Ur[wf>>2]=ef;Jf=ta+3420|0;gf=Ur[Jf>>2]|0;pf=(gf|0)==0;Sf=va+12|0;Pf=Ur[Sf>>2]|0;Gf=(Pf|0)>0;do{if(pf){if(Gf){Mf=(Ga+(Xa<<5)|0)+24|0;Of=Ur[Mf>>2]|0;rf=va+24|0;jO=0;while(1){UI=rf+(jO<<2)|0;KI=Of+(jO<<4)|0;cI=Ur[KI>>2]|0;sI=(cI|0)==(0|0);if(!sI){TI=Ur[UI>>2]|0;hI=TI|1;Ur[UI>>2]=hI}WI=(Of+(jO<<4)|0)+4|0;HI=Ur[WI>>2]|0;YI=(HI|0)==(0|0);if(!YI){AA=Ur[UI>>2]|0;QA=AA|2;Ur[UI>>2]=QA}BA=(Of+(jO<<4)|0)+8|0;EA=Ur[BA>>2]|0;DA=(EA|0)==(0|0);if(!DA){CA=Ur[UI>>2]|0;ZA=CA|4;Ur[UI>>2]=ZA}wA=(Of+(jO<<4)|0)+12|0;JA=Ur[wA>>2]|0;gA=(JA|0)==(0|0);if(!gA){RA=Ur[UI>>2]|0;pA=RA|8;Ur[UI>>2]=pA}iA=jO+1|0;SA=Ur[Sf>>2]|0;PA=(iA|0)<(SA|0);if(PA){jO=iA}else{jI=SA;break}}}else{jI=Pf}oI=(Ga+(Xa<<5)|0)+16|0;kI=Ur[oI>>2]|0;lI=ta+24|0;NI=Ur[lI>>2]|0;uI=(NI|0)>0;LI=kI;n:do{if(uI){yO=0;while(1){bI=(ta+1824|0)+(yO<<2)|0;yI=Ur[bI>>2]|0;xI=(yI|0)==(kI|0);if(xI){a=yO;break n}qI=yO+1|0;mI=(qI|0)<(NI|0);if(mI){yO=qI}else{Ir=116;break}}}else{Ir=116}}while(0);if((Ir|0)==116){Ir=0;zI=NI+1|0;Ur[lI>>2]=zI;a=NI}XI=va+20|0;Ur[XI>>2]=a;vI=(ta+1824|0)+(a<<2)|0;Ur[vI>>2]=LI;_I=(jI|0)>0;if(!_I){break}$I=(Ga+(Xa<<5)|0)+24|0;nM=va+280|0;dO=0;$O=0;while(1){dM=Ur[$I>>2]|0;AM=dM+($O<<4)|0;QM=Ur[AM>>2]|0;BM=(QM|0)==(0|0);EM=QM;if(BM){fM=dM;EO=dO}else{CM=Ur[lI>>2]|0;ZM=(CM|0)>0;n:do{if(ZM){VO=0;while(1){eM=(ta+1824|0)+(VO<<2)|0;wM=Ur[eM>>2]|0;JM=(wM|0)==(QM|0);if(JM){G=VO;break n}gM=VO+1|0;RM=(gM|0)<(CM|0);if(RM){VO=gM}else{Ir=123;break}}}else{Ir=123}}while(0);if((Ir|0)==123){Ir=0;pM=CM+1|0;Ur[lI>>2]=pM;G=CM}iM=dO+1|0;SM=nM+(dO<<2)|0;Ur[SM>>2]=G;GM=(ta+1824|0)+(G<<2)|0;Ur[GM>>2]=EM;N=Ur[$I>>2]|0;fM=N;EO=iM}aM=(fM+($O<<4)|0)+4|0;IM=Ur[aM>>2]|0;MM=(IM|0)==(0|0);OM=IM;if(MM){Pd=fM;AO=EO}else{Bd=Ur[lI>>2]|0;Ed=(Bd|0)>0;n:do{if(Ed){oO=0;while(1){Dd=(ta+1824|0)+(oO<<2)|0;Zd=Ur[Dd>>2]|0;ed=(Zd|0)==(IM|0);if(ed){i=oO;break n}wd=oO+1|0;Jd=(wd|0)<(Bd|0);if(Jd){oO=wd}else{Ir=147;break}}}else{Ir=147}}while(0);if((Ir|0)==147){Ir=0;gd=Bd+1|0;Ur[lI>>2]=gd;i=Bd}Rd=EO+1|0;pd=nM+(EO<<2)|0;Ur[pd>>2]=i;id=(ta+1824|0)+(i<<2)|0;Ur[id>>2]=OM;u=Ur[$I>>2]|0;Pd=u;AO=Rd}Sd=(Pd+($O<<4)|0)+8|0;ad=Ur[Sd>>2]|0;fd=(ad|0)==(0|0);Id=ad;if(fd){od=Pd;QO=AO}else{Md=Ur[lI>>2]|0;Od=(Md|0)>0;n:do{if(Od){kO=0;while(1){rd=(ta+1824|0)+(kO<<2)|0;Ud=Ur[rd>>2]|0;Kd=(Ud|0)==(ad|0);if(Kd){S=kO;break n}Fd=kO+1|0;cd=(Fd|0)<(Md|0);if(cd){kO=Fd}else{Ir=153;break}}}else{Ir=153}}while(0);if((Ir|0)==153){Ir=0;Td=Md+1|0;Ur[lI>>2]=Td;S=Md}hd=AO+1|0;Wd=nM+(AO<<2)|0;Ur[Wd>>2]=S;Hd=(ta+1824|0)+(S<<2)|0;Ur[Hd>>2]=Id;b=Ur[$I>>2]|0;od=b;QO=hd}Yd=(od+($O<<4)|0)+12|0;kd=Ur[Yd>>2]|0;ld=(kd|0)==(0|0);Vd=kd;if(ld){BO=QO}else{Nd=Ur[lI>>2]|0;Ld=(Nd|0)>0;n:do{if(Ld){lO=0;while(1){bd=(ta+1824|0)+(lO<<2)|0;yd=Ur[bd>>2]|0;xd=(yd|0)==(kd|0);if(xd){P=lO;break n}qd=lO+1|0;md=(qd|0)<(Nd|0);if(md){lO=qd}else{Ir=159;break}}}else{Ir=159}}while(0);if((Ir|0)==159){Ir=0;zd=Nd+1|0;Ur[lI>>2]=zd;P=Nd}Xd=QO+1|0;td=nM+(QO<<2)|0;Ur[td>>2]=P;vd=(ta+1824|0)+(P<<2)|0;Ur[vd>>2]=Vd;BO=Xd}$d=$O+1|0;nA=Ur[Sf>>2]|0;dA=($d|0)<(nA|0);if(dA){dO=BO;$O=$d}else{break}}}else{if(Gf){af=(Ga+(Xa<<5)|0)+28|0;ff=Ur[af>>2]|0;If=va+24|0;qO=0;while(1){Kf=If+(qO<<2)|0;Ff=ff+(qO<<4)|0;cf=Ur[Ff>>2]|0;sf=(cf|0)==(0|0);if(!sf){Tf=Ur[Kf>>2]|0;hf=Tf|1;Ur[Kf>>2]=hf}Wf=(ff+(qO<<4)|0)+4|0;Hf=Ur[Wf>>2]|0;Yf=(Hf|0)==(0|0);if(!Yf){iQ=Ur[Kf>>2]|0;SQ=iQ|2;Ur[Kf>>2]=SQ}PQ=(ff+(qO<<4)|0)+8|0;GQ=Ur[PQ>>2]|0;aQ=(GQ|0)==(0|0);if(!aQ){fQ=Ur[Kf>>2]|0;MQ=fQ|4;Ur[Kf>>2]=MQ}OQ=(ff+(qO<<4)|0)+12|0;rQ=Ur[OQ>>2]|0;UQ=(rQ|0)==(0|0);if(!UQ){KQ=Ur[Kf>>2]|0;FQ=KQ|8;Ur[Kf>>2]=FQ}cQ=qO+1|0;sQ=Ur[Sf>>2]|0;TQ=(cQ|0)<(sQ|0);if(TQ){qO=cQ}else{_f=sQ;break}}}else{_f=Pf}of=(Ga+(Xa<<5)|0)+20|0;lf=Ur[of>>2]|0;Vf=ta+24|0;Nf=Ur[Vf>>2]|0;uf=(Nf|0)>0;Lf=lf;n:do{if(uf){YO=0;while(1){bf=(ta+1824|0)+(YO<<2)|0;yf=Ur[bf>>2]|0;xf=(yf|0)==(lf|0);if(xf){w=YO;break n}qf=YO+1|0;mf=(qf|0)<(Nf|0);if(mf){YO=qf}else{Ir=100;break}}}else{Ir=100}}while(0);if((Ir|0)==100){Ir=0;tf=Nf+1|0;Ur[Vf>>2]=tf;w=Nf}vf=va+20|0;Ur[vf>>2]=w;jf=(ta+1824|0)+(w<<2)|0;Ur[jf>>2]=Lf;$f=(_f|0)>0;if(!$f){break}nI=(Ga+(Xa<<5)|0)+28|0;dI=va+280|0;vM=0;zO=0;while(1){AI=Ur[nI>>2]|0;QI=AI+(zO<<4)|0;BI=Ur[QI>>2]|0;DI=(BI|0)==(0|0);CI=BI;if(DI){II=AI;nO=vM}else{ZI=Ur[Vf>>2]|0;eI=(ZI|0)>0;n:do{if(eI){bO=0;while(1){wI=(ta+1824|0)+(bO<<2)|0;JI=Ur[wI>>2]|0;gI=(JI|0)==(BI|0);if(gI){p=bO;break n}RI=bO+1|0;pI=(RI|0)<(ZI|0);if(pI){bO=RI}else{Ir=107;break}}}else{Ir=107}}while(0);if((Ir|0)==107){Ir=0;iI=ZI+1|0;Ur[Vf>>2]=iI;p=ZI}PI=vM+1|0;GI=dI+(vM<<2)|0;Ur[GI>>2]=p;aI=(ta+1824|0)+(p<<2)|0;Ur[aI>>2]=CI;W=Ur[nI>>2]|0;II=W;nO=PI}fI=(II+(zO<<4)|0)+4|0;MI=Ur[fI>>2]|0;OI=(MI|0)==(0|0);rI=MI;if(OI){WA=II;jM=nO}else{GA=Ur[Vf>>2]|0;aA=(GA|0)>0;n:do{if(aA){NO=0;while(1){IA=(ta+1824|0)+(NO<<2)|0;MA=Ur[IA>>2]|0;OA=(MA|0)==(MI|0);if(OA){J=NO;break n}rA=NO+1|0;UA=(rA|0)<(GA|0);if(UA){NO=rA}else{Ir=171;break}}}else{Ir=171}}while(0);if((Ir|0)==171){Ir=0;KA=GA+1|0;Ur[Vf>>2]=KA;J=GA}FA=nO+1|0;cA=dI+(nO<<2)|0;Ur[cA>>2]=J;sA=(ta+1824|0)+(J<<2)|0;Ur[sA>>2]=rI;l=Ur[nI>>2]|0;WA=l;jM=FA}TA=(WA+(zO<<4)|0)+8|0;HA=Ur[TA>>2]|0;YA=(HA|0)==(0|0);oA=HA;if(YA){tA=WA;_M=jM}else{kA=Ur[Vf>>2]|0;lA=(kA|0)>0;n:do{if(lA){uO=0;while(1){VA=(ta+1824|0)+(uO<<2)|0;NA=Ur[VA>>2]|0;uA=(NA|0)==(HA|0);if(uA){g=uO;break n}LA=uO+1|0;yA=(LA|0)<(kA|0);if(yA){uO=LA}else{Ir=177;break}}}else{Ir=177}}while(0);if((Ir|0)==177){Ir=0;xA=kA+1|0;Ur[Vf>>2]=xA;g=kA}qA=jM+1|0;mA=dI+(jM<<2)|0;Ur[mA>>2]=g;zA=(ta+1824|0)+(g<<2)|0;Ur[zA>>2]=oA;V=Ur[nI>>2]|0;tA=V;_M=qA}XA=(tA+(zO<<4)|0)+12|0;vA=Ur[XA>>2]|0;jA=(vA|0)==(0|0);_A=vA;if(jA){$M=_M}else{nQ=Ur[Vf>>2]|0;dQ=(nQ|0)>0;n:do{if(dQ){LO=0;while(1){AQ=(ta+1824|0)+(LO<<2)|0;QQ=Ur[AQ>>2]|0;BQ=(QQ|0)==(vA|0);if(BQ){R=LO;break n}EQ=LO+1|0;DQ=(EQ|0)<(nQ|0);if(DQ){LO=EQ}else{Ir=183;break}}}else{Ir=183}}while(0);if((Ir|0)==183){Ir=0;CQ=nQ+1|0;Ur[Vf>>2]=CQ;R=nQ}ZQ=_M+1|0;eQ=dI+(_M<<2)|0;Ur[eQ>>2]=R;JQ=(ta+1824|0)+(R<<2)|0;Ur[JQ>>2]=_A;$M=ZQ}gQ=zO+1|0;RQ=Ur[Sf>>2]|0;pQ=(gQ|0)<(RQ|0);if(pQ){vM=$M;zO=gQ}else{break}}}}while(0);rM=ta+3480|0;UM=+Fr[rM>>3];KM=UM*1000.0;FM=(ta+1056|0)+(sO<<2)|0;sM=Ur[FM>>2]|0;TM=Ur[Fa>>2]|0;hM=+(TM|0);WM=hM*0.5;HM=ta+(sO<<2)|0;YM=Ur[HM>>2]|0;oM=YM>>1;kM=KM>WM;MO=kM?WM:KM;lM=MO/WM;VM=+(oM|0);uM=VM*lM;LM=~~uM;bM=sM+1116|0;Ur[bM>>2]=LM;yM=(Ga+(Xa<<5)|0)+4|0;xM=Ur[yM>>2]|0;do{if((xM|0)==2){FO=250.0}else if((xM|0)==1){qM=Ur[Jf>>2]|0;mM=(qM|0)==0;zM=ta+2996|0;XM=ta+2968|0;KO=mM?XM:zM;UO=Ur[KO>>2]|0;rO=+(UO|0);OO=rO*1000.0;tM=OO>WM;if(!tM){FO=OO;break}FO=WM}else{FO=MO}}while(0);t=Ur[wf>>2]|0;v=(t|0)==2;do{if(v){j=ta+12|0;_=Ur[j>>2]|0;$=(_|0)>0;if($){nr=0;while(1){nn=(ta+544|0)+(nr<<2)|0;dn=Ur[nn>>2]|0;An=Ur[dn>>2]|0;Qn=(An|0)>0;if(Qn){Ar=0;while(1){Bn=(dn+1092|0)+(Ar<<2)|0;Dn=Ur[Bn>>2]|0;Cn=(Dn|0)==(Xa|0);do{if(Cn){Zn=Ur[ca>>2]|0;en=(Zn|0)>0;if(en){ZO=0;Br=0}else{eO=0;break}while(1){wn=(dn+4|0)+(Br<<2)|0;Jn=Ur[wn>>2]|0;gn=(Jn|0)==(Ar|0);Rn=gn&1;U=Rn+ZO|0;pn=Br+1|0;wO=(pn|0)==(Zn|0);if(wO){eO=U;break}else{ZO=U;Br=pn}}}else{eO=0}}while(0);Sn=Ar+1|0;Gn=(Sn|0)<(An|0);an=(eO|0)==0;fn=Gn&an;if(fn){Ar=Sn}else{CO=eO;break}}}else{CO=0}In=nr+1|0;Mn=(In|0)<(_|0);On=(CO|0)==0;rn=Mn&On;if(rn){nr=In}else{DO=CO;break}}}else{DO=0}Un=FO/WM;Kn=+(DO|0);Fn=Kn*VM;sn=Fn*Un;Tn=Ur[Cf>>2]|0;hn=+(Tn|0);Wn=sn/hn;Hn=Wn+0.90000000000000002;Yn=~~Hn;on=sr(Yn,Tn)|0;kn=va+4|0;Ur[kn>>2]=on;ln=sr(DO,oM)|0;Vn=(on|0)>(ln|0);if(!Vn){Y=kn;dd=on;Qd=Tn;break}un=(ln|0)%(Tn|0)&-1;Ln=ln-un|0;Ur[kn>>2]=Ln;Y=kn;dd=Ln;Qd=Tn}else{bn=FO/WM;yn=bn*VM;xn=Ur[Cf>>2]|0;qn=+(xn|0);mn=yn/qn;zn=mn+0.90000000000000002;Xn=~~zn;tn=sr(Xn,xn)|0;jn=va+4|0;Ur[jn>>2]=tn;_n=(tn|0)>(oM|0);if(!_n){Y=jn;dd=tn;Qd=xn;break}$n=(oM|0)%(xn|0)&-1;nd=oM-$n|0;Ur[jn>>2]=nd;Y=jn;dd=nd;Qd=xn}}while(0);Ad=(dd|0)==0;if(Ad){Ur[Y>>2]=Qd}hQ=dr+1|0;HQ=Ur[ua>>2]|0;YQ=(hQ|0)<(HQ|0);if(YQ){dr=hQ}else{break}}}oQ=sO+1|0;kQ=(oQ|0)<(A|0);if(kQ){sO=oQ}else{break}}lQ=m+3428|0;VQ=Ur[lQ>>2]|0;NQ=(VQ|0)>0;if(NQ){uQ=n+16|0;Ur[uQ>>2]=VQ}else{LQ=Ur[q>>2]|0;bQ=LQ+3396|0;xQ=Ur[bQ>>2]|0;qQ=LQ+3400|0;mQ=+Fr[qQ>>3];zQ=~~mQ;XQ=+(zQ|0);tQ=mQ-XQ;vQ=xQ+4|0;jQ=Ur[vQ>>2]|0;_Q=(jQ|0)==(0|0);if(_Q){e=-1}else{$Q=Ur[ca>>2]|0;AB=jQ+(zQ<<3)|0;QB=+Fr[AB>>3];BB=1.0-tQ;EB=QB*BB;DB=zQ+1|0;CB=jQ+(DB<<3)|0;ZB=+Fr[CB>>3];eB=ZB*tQ;wB=eB+EB;JB=+($Q|0);RB=wB*JB;ar=~~RB;e=ar}pB=n+16|0;Ur[pB>>2]=e}iB=m+3424|0;SB=Ur[iB>>2]|0;PB=n+20|0;Ur[PB>>2]=SB;GB=m+3440|0;aB=Ur[GB>>2]|0;fB=n+12|0;Ur[fB>>2]=aB;IB=(VQ|0)==0;if(IB){x=0}else{MB=m+3444|0;rB=Ur[MB>>2]|0;UB=+(rB|0);KB=+(VQ|0);FB=UB/KB;cB=~~FB;x=cB}sB=n+24|0;Ur[sB>>2]=x;TB=m+3420|0;hB=Ur[TB>>2]|0;WB=(hB|0)==0;if(WB){Z=0;return Z|0}HB=Ur[lQ>>2]|0;oB=m+3360|0;Ur[oB>>2]=HB;kB=Ur[iB>>2]|0;lB=m+3364|0;Ur[lB>>2]=kB;VB=Ur[GB>>2]|0;NB=m+3368|0;Ur[NB>>2]=VB;uB=m+3444|0;LB=Ur[uB>>2]|0;bB=m+3372|0;Ur[bB>>2]=LB;yB=m+3448|0;xB=+Fr[yB>>3];mB=m+3376|0;Fr[mB>>3]=xB;zB=m+3432|0;XB=+Fr[zB>>3];tB=m+3384|0;Fr[tB>>3]=XB;Z=0;return Z|0}function Md(n,d,A,Q){n=n|0;d=d|0;A=A|0;Q=+Q;var B=0,E=0,D=0.0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0.0,G=0.0,a=0.0,f=0,I=0,M=0.0,O=0;var r=0,U=0;U=cr;C=(A|0)<1;if(C){E=-131}else{Z=n+28|0;S=Ur[Z>>2]|0;P=Q;G=P+9.9999999999999995E-8;a=G;f=!(a>=1.0);D=f?a:0.99989998340606689;I=S+3416|0;Kr[I>>2]=D;M=D;O=S+3400|0;e=Od(d,A,M,0,O)|0;w=S+3396|0;Ur[w>>2]=e;J=(e|0)==(0|0);if(J){E=-130}else{rd(n,d,A);g=S+3420|0;Ur[g>>2]=0;R=S+3464|0;Ur[R>>2]=1;p=Id(n)|0;i=(p|0)==0;if(i){B=0;return B|0}Vn(n);B=p;return B|0}}Vn(n);B=E;return B|0}function Tr(n,d,A,Q,B,E){n=n|0;d=+d;A=A|0;Q=Q|0;B=B|0;E=E|0;var D=0,C=0.0,Z=0.0,e=0.0,w=0,J=0,g=0,R=0.0,p=0.0,i=0.0,S=0.0,P=0,G=0.0,a=0,f=0,I=0.0,M=0.0,O=0,r=0,U=0.0;var K=0.0,F=0.0,c=0.0,s=0,T=0,h=0,W=0,H=0.0,Y=0.0,o=0,k=0,l=0.0,V=0.0,N=0.0,u=0,L=0.0,b=0,y=0,x=0.0,q=0.0;var m=0.0,z=0,X=0.0,t=0.0,v=0.0,j=0,_=0.0,$=0.0,nn=0,dn=0,An=0.0,Qn=0.0,Bn=0.0,En=0,Dn=0.0,Cn=0.0,Zn=0,en=0.0,wn=0.0,Jn=0.0;var gn=0,Rn=0,pn=0,Sn=0.0,Pn=0.0,Gn=0,an=0,fn=0,In=0.0,Mn=0.0,On=0.0,rn=0.0,Un=0,Kn=0,Fn=0,cn=0.0,sn=0.0,Tn=0,hn=0,Wn=0;var Hn=0.0,Yn=0.0,on=0.0,kn=0.0,ln=0,Vn=0,Nn=0.0,un=0,Ln=0,bn=0,yn=0;yn=cr;D=~~d;C=+(D|0);G=d-C;s=n+28|0;u=Ur[s>>2]|0;j=(u+2852|0)+(A<<2)|0;Zn=Ur[j>>2]|0;fn=Q+(D*20|0)|0;hn=Ur[fn>>2]|0;Nn=+(hn|0);Z=1.0-G;e=Nn*Z;w=D+1|0;J=Q+(w*20|0)|0;g=Ur[J>>2]|0;R=+(g|0);p=R*G;i=p+e;S=i;P=Zn+12|0;Kr[P>>2]=S;a=(Q+(D*20|0)|0)+4|0;f=Ur[a>>2]|0;I=+(f|0);M=I*Z;O=(Q+(w*20|0)|0)+4|0;r=Ur[O>>2]|0;U=+(r|0);K=U*G;F=K+M;c=F;T=Zn+16|0;Kr[T>>2]=c;h=(Q+(D*20|0)|0)+8|0;W=Ur[h>>2]|0;H=+(W|0);Y=H*Z;o=(Q+(w*20|0)|0)+8|0;k=Ur[o>>2]|0;l=+(k|0);V=l*G;N=V+Y;L=N;b=Zn+20|0;Kr[b>>2]=L;y=(Q+(D*20|0)|0)+12|0;x=+Kr[y>>2];q=x;m=q*Z;z=(Q+(w*20|0)|0)+12|0;X=+Kr[z>>2];t=X;v=t*G;_=v+m;$=_;nn=Zn+24|0;Kr[nn>>2]=$;dn=(Q+(D*20|0)|0)+16|0;An=+Kr[dn>>2];Qn=An;Bn=Qn*Z;En=(Q+(w*20|0)|0)+16|0;Dn=+Kr[En>>2];Cn=Dn;en=Cn*G;wn=en+Bn;Jn=wn;gn=Zn+28|0;Kr[gn>>2]=Jn;Rn=B+(D<<2)|0;pn=Ur[Rn>>2]|0;Sn=+(pn|0);Pn=Sn*Z;Gn=B+(w<<2)|0;an=Ur[Gn>>2]|0;In=+(an|0);Mn=In*G;On=Mn+Pn;rn=On;Un=Zn+496|0;Kr[Un>>2]=rn;Ln=0;while(1){Kn=(E+(D*68|0)|0)+(Ln<<2)|0;Fn=Ur[Kn>>2]|0;cn=+(Fn|0);sn=cn*Z;Tn=(E+(w*68|0)|0)+(Ln<<2)|0;Wn=Ur[Tn>>2]|0;Hn=+(Wn|0);Yn=Hn*G;on=Yn+sn;kn=on;ln=(Zn+36|0)+(Ln<<2)|0;Kr[ln>>2]=kn;Vn=Ln+1|0;un=(Vn|0)==17;if(un){break}else{Ln=Vn}}return}function hr(n,d,A,Q,B,E,D){n=n|0;d=+d;A=A|0;Q=Q|0;B=B|0;E=E|0;D=+D;var C=0,Z=0,e=0,w=0.0,J=0.0,g=0.0,R=0,p=0.0,i=0.0,S=0.0,P=0,G=0,a=0,f=0.0,I=0,M=0.0,O=0.0,r=0.0,U=0,K=0.0;var F=0,c=0,s=0,T=0.0,h=0.0,W=0.0,H=0.0,Y=0,o=0.0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0,q=0,m=0;var z=0,X=0.0,t=0.0,v=0,j=0,_=0.0,$=0.0,nn=0.0,dn=0.0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0.0,Zn=0.0,en=0.0,wn=0,Jn=0.0,gn=0;var Rn=0,pn=0,Sn=0.0,Pn=0.0,Gn=0,an=0.0,fn=0.0,In=0.0,Mn=0,On=0,rn=0,Un=0.0,Kn=0,Fn=0.0,cn=0.0,sn=0,Tn=0,hn=0,Wn=0.0,Hn=0.0;var Yn=0,on=0.0,kn=0.0,ln=0,Vn=0.0,Nn=0,un=0,Ln=0,bn=0.0,yn=0.0,xn=0.0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0.0,jn=0.0,_n=0,$n=0;var nd=0.0,dd=0.0,Ad=0.0,Qd=0.0,Bd=0,Ed=0.0,Dd=0,Cd=0,Zd=0,ed=0.0,wd=0.0,Jd=0,gd=0,Rd=0.0,pd=0.0,id=0.0,Sd=0,Pd=0,Gd=0,ad=0;var fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0.0,Kd=0.0,Fd=0.0,cd=0.0,sd=0.0,Td=0.0,hd=0,Wd=0;Wd=cr;R=~~d;p=+(R|0);o=d-p;m=n+28|0;Qn=Ur[m>>2]|0;pn=(Qn+2852|0)+(A<<2)|0;Kn=Ur[pn>>2]|0;ln=Q+(R<<2)|0;Xn=Ur[ln>>2]|0;Ed=+(Xn|0);i=1.0-o;K=Ed*i;F=R+1|0;c=Q+(F<<2)|0;s=Ur[c>>2]|0;T=+(s|0);h=T*o;W=h+K;H=W;Y=Kn+108|0;Kr[Y>>2]=H;k=E+(A*12|0)|0;l=Ur[k>>2]|0;V=Kn+120|0;Ur[V>>2]=l;N=(E+(A*12|0)|0)+4|0;u=Ur[N>>2]|0;L=Kn+124|0;Ur[L>>2]=u;b=(E+(A*12|0)|0)+8|0;y=Ur[b>>2]|0;x=Kn+128|0;Ur[x>>2]=y;Md=0;while(1){q=(B+(R*204|0)|0)+(Md<<2)|0;z=Ur[q>>2]|0;X=+(z|0);t=X*i;v=(B+(F*204|0)|0)+(Md<<2)|0;j=Ur[v>>2]|0;_=+(j|0);$=_*o;nn=$+t;dn=nn;An=(Kn+132|0)+(Md<<2)|0;Kr[An>>2]=dn;Bn=Md+1|0;ad=(Bn|0)==17;if(ad){Od=0;break}else{Md=Bn}}while(1){zn=((B+(R*204|0)|0)+68|0)+(Od<<2)|0;tn=Ur[zn>>2]|0;vn=+(tn|0);jn=vn*i;_n=((B+(F*204|0)|0)+68|0)+(Od<<2)|0;$n=Ur[_n>>2]|0;nd=+($n|0);dd=nd*o;Ad=dd+jn;Qd=Ad;Bd=(Kn+200|0)+(Od<<2)|0;Kr[Bd>>2]=Qd;Dd=Od+1|0;fd=(Dd|0)==17;if(fd){rd=0;break}else{Od=Dd}}while(1){Cd=((B+(R*204|0)|0)+136|0)+(rd<<2)|0;Zd=Ur[Cd>>2]|0;ed=+(Zd|0);wd=ed*i;Jd=((B+(F*204|0)|0)+136|0)+(rd<<2)|0;gd=Ur[Jd>>2]|0;Rd=+(gd|0);pd=Rd*o;id=pd+wd;S=id;P=(Kn+268|0)+(rd<<2)|0;Kr[P>>2]=S;G=rd+1|0;Id=(G|0)==17;if(Id){break}else{rd=G}}a=Kn+132|0;f=+Kr[a>>2];Jn=f+6.0;I=Kn+132|0;M=f;O=M+D;r=O;U=r>2]=Td;En=1;while(1){C=(Kn+132|0)+(En<<2)|0;w=+Kr[C>>2];Dn=(Kn+132|0)+(En<<2)|0;Cn=w;Zn=Cn+D;en=Zn;wn=en>2]=Ud;gn=En+1|0;Sd=(gn|0)==17;if(Sd){break}else{En=gn}}Rn=Kn+200|0;Sn=+Kr[Rn>>2];Pn=Sn+6.0;Gn=Kn+200|0;an=Sn;fn=an+D;In=fn;Mn=In>2]=Fd;On=1;while(1){Z=(Kn+200|0)+(On<<2)|0;J=+Kr[Z>>2];rn=(Kn+200|0)+(On<<2)|0;Un=J;Fn=Un+D;cn=Fn;sn=cn>2]=Kd;Tn=On+1|0;Pd=(Tn|0)==17;if(Pd){break}else{On=Tn}}hn=Kn+268|0;Wn=+Kr[hn>>2];Hn=Wn+6.0;Yn=Kn+268|0;on=Wn;kn=on+D;Vn=kn;Nn=Vn>2]=sd;un=1;while(1){e=(Kn+268|0)+(un<<2)|0;g=+Kr[e>>2];Ln=(Kn+268|0)+(un<<2)|0;bn=g;yn=bn+D;xn=yn;qn=xn>2]=cd;mn=un+1|0;Gd=(mn|0)==17;if(Gd){break}else{un=mn}}return}function Od(n,d,A,Q,B){n=n|0;d=d|0;A=+A;Q=Q|0;B=B|0;var E=0,D=0.0,C=0,Z=0,e=0,w=0,J=0.0,g=0,R=0,p=0.0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0.0,r=0;var U=0.0,K=0,F=0.0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0;var q=0,m=0,z=0,X=0.0,t=0,v=0,j=0,_=0,$=0.0,nn=0,dn=0,An=0,Qn=0.0,Bn=0,En=0,Dn=0.0,Cn=0,Zn=0,en=0,wn=0.0;var Jn=0.0,gn=0,Rn=0.0,pn=0.0,Sn=0,Pn=0,Gn=0,an=0.0,fn=0.0,In=0.0,Mn=0.0,On=0.0,rn=0.0,Un=0.0,Kn=0.0,Fn=0,cn=0.0,sn=0.0,Tn=0.0,hn=0;var Wn=0.0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0.0,xn=0,qn=0;qn=cr;R=(Q|0)==0;n:do{if(R){W=26336;ln=0;while(1){h=Ur[W>>2]|0;H=h+12|0;Y=Ur[H>>2]|0;o=(Y|0)==-1;l=(Y|0)==(n|0);Ln=o|l;if(Ln){V=h+16|0;N=Ur[V>>2]|0;u=(N|0)>(d|0);if(!u){L=h+20|0;b=Ur[L>>2]|0;y=(b|0)<(d|0);if(!y){x=Ur[h>>2]|0;q=h+8|0;m=Ur[q>>2]|0;X=+Fr[m>>3];t=X>A;if(!t){_=m+(x<<3)|0;$=+Fr[_>>3];nn=$>2]|0;Bn=k+12|0;Sn=Ur[Bn>>2]|0;Fn=(Sn|0)==-1;Hn=(Sn|0)==(n|0);bn=Fn|Hn;if(bn){Yn=k+16|0;i=Ur[Yn>>2]|0;S=(i|0)>(d|0);if(!S){P=k+20|0;G=Ur[P>>2]|0;a=(G|0)<(d|0);if(!a){f=Ur[k>>2]|0;I=k+4|0;M=Ur[I>>2]|0;O=+Fr[M>>3];r=U>3];c=U>F;if(!c){D=U;C=f;Z=z;e=M;Wn=O;break n}}}}}kn=Vn+1|0;s=26336+(kn<<2)|0;T=(kn|0)==17;if(T){E=0;break}else{z=s;Vn=kn}}return E|0}}while(0);dn=(C|0)>0;n:do{if(dn){Qn=Wn;un=0;while(1){An=!(D>=Qn);g=un+1|0;if(!An){En=e+(g<<3)|0;Dn=+Fr[En>>3];Cn=D>3];Qn=J;un=g}}else{Nn=0}}while(0);en=(Nn|0)==(C|0);if(en){wn=+(C|0);Jn=wn+-0.001;yn=Jn}else{gn=e+(Nn<<3)|0;Rn=+Fr[gn>>3];pn=Rn;Pn=Nn+1|0;Gn=e+(Pn<<3)|0;an=+Fr[Gn>>3];fn=an;In=pn;Mn=D-In;On=fn-pn;rn=On;Un=Mn/rn;Kn=Un;cn=+(Nn|0);sn=Kn+cn;Tn=sn;yn=Tn}Fr[B>>3]=yn;hn=Ur[Z>>2]|0;E=hn;return E|0}function rd(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0.0,B=0,E=0.0,D=0,C=0,Z=0,e=0,w=0.0,J=0.0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0.0,I=0.0,M=0.0;var O=0,r=0,U=0.0,K=0.0,F=0.0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0.0,o=0.0,k=0,l=0,V=0.0,N=0.0,u=0.0,L=0,b=0;var y=0,x=0,q=0,m=0,z=0.0,X=0.0,t=0,v=0,j=0.0,_=0,$=0.0,nn=0.0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0;var en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0.0,Un=0,Kn=0;Kn=cr;C=n+28|0;Z=Ur[C>>2]|0;a=Z+3396|0;T=Ur[a>>2]|0;Ur[n>>2]=0;L=n+4|0;Ur[L>>2]=d;_=n+8|0;Ur[_>>2]=A;en=Z+3456|0;Ur[en>>2]=1;In=Z+3460|0;Ur[In>>2]=1;On=Z+3400|0;rn=+Fr[On>>3];e=~~rn;w=+(e|0);J=rn-w;g=Z+3472|0;Fr[g>>3]=rn;R=Z+3488|0;p=Ur[R>>2]|0;i=(p|0)==0;if(i){S=T+120|0;P=Ur[S>>2]|0;G=P+(e<<3)|0;f=+Fr[G>>3];I=1.0-J;M=f*I;O=e+1|0;r=P+(O<<3)|0;U=+Fr[r>>3];K=U*J;F=K+M;c=Z+3480|0;Fr[c>>3]=F;B=O;E=I}else{Q=1.0-J;D=e+1|0;B=D;E=Q}s=T+112|0;h=Ur[s>>2]|0;W=h+(e<<2)|0;H=Ur[W>>2]|0;Y=+(H|0);o=Y*E;k=h+(B<<2)|0;l=Ur[k>>2]|0;V=+(l|0);N=V*J;u=N+o;b=Z+3496|0;Fr[b>>3]=u;y=T+116|0;x=Ur[y>>2]|0;q=x+(e<<2)|0;m=Ur[q>>2]|0;z=+(m|0);X=z*E;t=x+(B<<2)|0;v=Ur[t>>2]|0;j=+(v|0);$=j*J;nn=$+X;dn=Z+3504|0;Fr[dn>>3]=nn;An=Z+3512|0;Fr[An>>3]=-6.0;Qn=Z+3520|0;Fr[Qn>>3]=rn;Bn=Z+3528|0;Fr[Bn>>3]=rn;En=Z+3536|0;Fr[En>>3]=rn;Dn=Z+3544|0;Fr[Dn>>3]=rn;Cn=Z+3552|0;Fr[Cn>>3]=rn;Zn=Z+3560|0;Fr[Zn>>3]=rn;wn=Z+3568|0;Fr[wn>>3]=rn;Jn=Z+3576|0;Fr[Jn>>3]=rn;gn=Z+3584|0;Fr[gn>>3]=rn;Rn=Z+3592|0;Fr[Rn>>3]=rn;pn=Z+3600|0;Fr[pn>>3]=rn;Sn=Z+3608|0;Fr[Sn>>3]=rn;Pn=Z+3616|0;Fr[Pn>>3]=rn;Gn=Z+3624|0;Fr[Gn>>3]=rn;an=Z+3632|0;Fr[an>>3]=rn;fn=Z+3640|0;Fr[fn>>3]=rn;Mn=Z+3648|0;Fr[Mn>>3]=rn;return}function DJ(n,d,A,Q,B,E){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;var D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0,U=0;var K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0.0,u=0,L=0,b=0.0,y=0.0,x=0,q=0;var m=0,z=0,X=0,t=0,v=0.0,j=0,_=0,$=0.0,nn=0.0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0,wn=0,Jn=0;var gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0;an=cr;C=(B|0)!=0;Z=C?Q:0;a=C?E:0;T=d+(Z<<2)|0;L=Ur[T>>2]|0;_=520336+(L<<2)|0;Qn=Ur[_>>2]|0;Bn=d+(a<<2)|0;En=Ur[Bn>>2]|0;Dn=520336+(En<<2)|0;e=Ur[Dn>>2]|0;w=A+(B<<2)|0;J=Ur[w>>2]|0;g=A+(Z<<2)|0;R=Ur[g>>2]|0;p=A+(a<<2)|0;i=Ur[p>>2]|0;S=(J|0)/4&-1;P=(R|0)/4&-1;G=S-P|0;f=(R|0)/2&-1;I=G+f|0;M=(J|0)/2&-1;O=M+S|0;D=(i|0)/-4&-1;r=O+D|0;U=(i|0)/2&-1;K=r+U|0;F=(G|0)>0;if(F){c=S-P|0;s=c<<2;AZ(n|0,0,s|0)|0;Zn=G}else{Zn=0}h=(Zn|0)<(I|0);if(h){W=S+f|0;H=W-Zn|0;Y=H-P|0;en=Zn;gn=0;while(1){V=Qn+(gn<<2)|0;N=+Kr[V>>2];u=n+(en<<2)|0;b=+Kr[u>>2];y=b*N;Kr[u>>2]=y;x=en+1|0;q=gn+1|0;Cn=(q|0)==(Y|0);if(Cn){break}else{en=x;gn=q}}}o=(i|0)>1;if(o){k=r+1|0;l=(K|0)>(k|0);Jn=r;pn=U;while(1){Rn=pn+-1|0;t=e+(Rn<<2)|0;v=+Kr[t>>2];j=n+(Jn<<2)|0;$=+Kr[j>>2];nn=$*v;Kr[j>>2]=nn;dn=Jn+1|0;An=(dn|0)<(K|0);if(An){Jn=dn;pn=Rn}else{break}}Pn=l?K:k;wn=Pn}else{wn=r}m=(J|0)>(wn|0);if(!m){return}Sn=n+(wn<<2)|0;z=J-wn|0;X=z<<2;AZ(Sn|0,0,X|0)|0;return}function Ud(n,d,A){n=n|0;d=+d;A=+A;var Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0;var O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0;b=cr;cr=cr+64|0;u=b+32|0;N=b;Q=Wr(688)|0;B=Q+408|0;ln(B);i=~~d;Md(B,n,i,A)|0;K=Q+440|0;Yn(K);on(K,553008,553016);H=Q+456|0;Sn(H,B)|0;Y=Q+568|0;Rn(H,Y)|0;o=ZO(0|0)|0;kd(o);k=ld()|0;An(Q,k)|0;l=Q+680|0;Ur[l>>2]=0;V=Q+684|0;Ur[V>>2]=0;E=Q+360|0;Nn(H,K,E,u,N)|0;En(Q,E)|0;En(Q,u)|0;En(Q,N)|0;D=Q+392|0;C=Dn(Q,D)|0;Z=(C|0)==0;if(Z){cr=b;return Q|0}e=Q+396|0;w=Q+404|0;J=Q+400|0;while(1){g=Ur[V>>2]|0;R=Ur[e>>2]|0;p=R+g|0;S=Ur[w>>2]|0;P=p+S|0;G=(P|0)==0;if(!G){I=Ur[l>>2]|0;M=mB(I,P)|0;Ur[l>>2]=M;O=Ur[V>>2]|0;r=M+O|0;U=Ur[D>>2]|0;F=Ur[e>>2]|0;Yr(r|0,U|0,F|0)|0;c=F+O|0;Ur[V>>2]=c;s=M+c|0;T=Ur[J>>2]|0;h=Ur[w>>2]|0;Yr(s|0,T|0,h|0)|0;W=h+c|0;Ur[V>>2]=W}a=Dn(Q,D)|0;f=(a|0)==0;if(f){break}}cr=b;return Q|0}function Fd(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0;Z=cr;Qn(n)|0;d=n+568|0;pn(d)|0;A=n+456|0;HA(A);Q=n+440|0;kn(Q);B=n+408|0;Vn(B);E=n+680|0;D=Ur[E>>2]|0;qB(D);qB(n);return}function cd(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0;E=cr;A=n+456|0;Q=fn(A,d)|0;return Q|0}function sd(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0;b=cr;A=n+456|0;Pn(A,d)|0;Q=n+568|0;p=Gn(A,Q)|0;U=(p|0)==1;if(!U){return}o=n+360|0;k=n+392|0;l=n+684|0;V=n+396|0;N=n+404|0;u=n+680|0;B=n+392|0;E=n+400|0;while(1){en(Q,0)|0;Jn(Q)|0;Z=gn(A,o)|0;e=(Z|0)==0;if(!e){while(1){En(n,o)|0;g=Cn(n,k)|0;R=(g|0)==0;if(!R){while(1){i=Ur[l>>2]|0;S=Ur[V>>2]|0;P=S+i|0;G=Ur[N>>2]|0;a=P+G|0;f=(a|0)==0;if(!f){O=Ur[u>>2]|0;r=mB(O,a)|0;Ur[u>>2]=r;K=Ur[l>>2]|0;F=r+K|0;c=Ur[B>>2]|0;s=Ur[V>>2]|0;Yr(F|0,c|0,s|0)|0;T=s+K|0;Ur[l>>2]=T;h=r+T|0;W=Ur[E>>2]|0;H=Ur[N>>2]|0;Yr(h|0,W|0,H|0)|0;Y=H+T|0;Ur[l>>2]=Y}I=Cn(n,k)|0;M=(I|0)==0;if(M){break}}}w=gn(A,o)|0;J=(w|0)==0;if(J){break}}}D=Gn(A,Q)|0;C=(D|0)==1;if(!C){break}}return}function Td(n){n=n|0;var d=0,A=0,Q=0,B=0;B=cr;d=n+684|0;A=Ur[d>>2]|0;return A|0}function hd(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0;E=cr;d=n+684|0;Ur[d>>2]=0;A=n+680|0;Q=Ur[A>>2]|0;return Q|0}function yA(n,d){n=+n;d=d|0;var A=0.0,Q=0,B=0;B=cr;A=+od(n,d);return+A}function sB(n,d,A,Q){n=n|0;d=d|0;A=A|0;Q=Q|0;var B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0;var r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0;var x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0;var wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0;var hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0;var jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0,Sd=0;var Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0,kd=0;var ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0,dA=0,AA=0;var QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0,IA=0,MA=0;var OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0,LA=0,bA=0;var yA=0,xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0,DQ=0,CQ=0,ZQ=0;var eQ=0,wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0;GQ=cr;cr=cr+688|0;SQ=GQ+424|0;bA=GQ+192|0;dQ=GQ;H=sr(A,d)|0;Y=(H|0)==0;if(Y){cr=GQ;return}s=H-A|0;Cd=dQ+4|0;Ur[Cd>>2]=A;Ur[dQ>>2]=A;sd=A;_d=A;XA=2;while(1){Gd=sd+A|0;Ld=Gd+_d|0;eA=dQ+(XA<<2)|0;Ur[eA>>2]=Ld;fA=Ld>>>0>>0;hA=XA+1|0;if(fA){Td=_d;_d=Ld;XA=hA;sd=Td}else{break}}o=0-A|0;m=n+s|0;Qn=(s|0)>0;if(Qn){pn=(A|0)==0;Kn=m;Xn=1;yd=0;mA=n;wQ=1;while(1){ln=Xn&3;Bd=(ln|0)==3;do{if(Bd){Ur[bA>>2]=mA;Ed=(wQ|0)>1;n:do{if(Ed){w=wQ;S=mA;gd=mA;$A=1;while(1){Dd=S+o|0;Zd=w+-2|0;ed=dQ+(Zd<<2)|0;wd=Ur[ed>>2]|0;pQ=wd+A|0;T=0-pQ|0;Jd=S+T|0;Rd=fQ[Q&15](gd,Jd)|0;pd=(Rd|0)>-1;if(pd){id=fQ[Q&15](gd,Dd)|0;Sd=(id|0)>-1;if(Sd){tA=$A;break}}Pd=fQ[Q&15](Jd,Dd)|0;ad=(Pd|0)>-1;fd=$A+1|0;Id=bA+($A<<2)|0;if(ad){Ur[Id>>2]=Jd;Md=w+-1|0;E=Jd;Z=Md}else{Ur[Id>>2]=Dd;E=Dd;Z=Zd}Od=(Z|0)>1;if(!Od){tA=fd;break}U=Ur[bA>>2]|0;w=Z;S=E;gd=U;$A=fd}rd=(tA|0)<2;if(!rd){Ud=bA+(tA<<2)|0;Ur[Ud>>2]=SQ;if(!pn){p=A;Nd=SQ;while(1){ld=p>>>0>256;Fd=ld?256:p;Vd=Ur[bA>>2]|0;Yr(Nd|0,Vd|0,Fd|0)|0;od=Vd;jA=0;while(1){hd=bA+(jA<<2)|0;Wd=jA+1|0;Hd=bA+(Wd<<2)|0;Yd=Ur[Hd>>2]|0;Yr(od|0,Yd|0,Fd|0)|0;kd=od+Fd|0;Ur[hd>>2]=kd;yA=(Wd|0)==(tA|0);if(yA){break}else{od=Yd;jA=Wd}}Kd=(p|0)==(Fd|0);if(Kd){break n}cd=p-Fd|0;F=Ur[Ud>>2]|0;p=cd;Nd=F}}}}else{}}while(0);ud=Xn>>>2;bd=yd<<30;xd=ud|bd;qd=yd>>>2;md=wQ+2|0;L=xd;Qd=qd;JQ=md}else{zd=wQ+-1|0;Xd=dQ+(zd<<2)|0;td=Ur[Xd>>2]|0;vd=mA;jd=Kn-vd|0;$d=td>>>0>>0;if($d){Ur[bA>>2]=mA;nA=(wQ|0)>1;n:do{if(nA){J=wQ;P=mA;DA=mA;nQ=1;while(1){dA=P+o|0;AA=J+-2|0;QA=dQ+(AA<<2)|0;BA=Ur[QA>>2]|0;iQ=BA+A|0;h=0-iQ|0;EA=P+h|0;CA=fQ[Q&15](DA,EA)|0;ZA=(CA|0)>-1;if(ZA){wA=fQ[Q&15](DA,dA)|0;JA=(wA|0)>-1;if(JA){vA=nQ;break}}gA=fQ[Q&15](EA,dA)|0;RA=(gA|0)>-1;pA=nQ+1|0;iA=bA+(nQ<<2)|0;if(RA){Ur[iA>>2]=EA;SA=J+-1|0;D=EA;e=SA}else{Ur[iA>>2]=dA;D=dA;e=AA}PA=(e|0)>1;if(!PA){vA=pA;break}K=Ur[bA>>2]|0;J=e;P=D;DA=K;nQ=pA}GA=(vA|0)<2;if(!GA){aA=bA+(vA<<2)|0;Ur[aA>>2]=SQ;if(!pn){i=A;HA=SQ;while(1){TA=i>>>0>256;MA=TA?256:i;WA=Ur[bA>>2]|0;Yr(HA|0,WA|0,MA|0)|0;cA=WA;_A=0;while(1){rA=bA+(_A<<2)|0;UA=_A+1|0;KA=bA+(UA<<2)|0;FA=Ur[KA>>2]|0;Yr(cA|0,FA|0,MA|0)|0;sA=cA+MA|0;Ur[rA>>2]=sA;xA=(UA|0)==(vA|0);if(xA){break}else{cA=FA;_A=UA}}IA=(i|0)==(MA|0);if(IA){break n}OA=i-MA|0;c=Ur[aA>>2]|0;i=OA;HA=c}}}}else{}}while(0)}else{aQ(mA,A,Q,Xn,yd,wQ,0,dQ)}YA=(wQ|0)==1;if(YA){oA=yd<<1;kA=Xn>>>31;lA=kA|oA;VA=Xn<<1;L=VA;Qd=lA;JQ=0;break}else{NA=zd>>>0>31;uA=wQ+-33|0;B=NA?0:Xn;G=NA?Xn:yd;a=NA?uA:zd;LA=G<>>k;V=l|LA;N=B<>>0>>0;if(y){Xn=u;yd=Qd;mA=b;wQ=JQ}else{M=Qd;O=u;qA=b;eQ=JQ;break}}}else{M=0;O=1;qA=n;eQ=1}aQ(qA,A,Q,O,M,eQ,0,dQ);x=(eQ|0)==1;q=(O|0)==1;ZQ=q&x;z=(M|0)==0;CQ=z&ZQ;if(CQ){cr=GQ;return}else{v=O;Dn=M;zA=qA;gQ=eQ}while(1){X=(gQ|0)<2;if(!X){Mn=Dn<<2;On=v>>>30;rn=On|Mn;Un=gQ+-2|0;Fn=v<<1;cn=Fn&2147483646;sn=On<<31;Tn=cn|sn;hn=Tn^3;Wn=rn>>>1;Hn=dQ+(Un<<2)|0;Yn=Ur[Hn>>2]|0;RQ=Yn+A|0;W=0-RQ|0;on=zA+W|0;kn=gQ+-1|0;aQ(on,A,Q,hn,Wn,kn,1,dQ);Vn=Wn<<1;Nn=On&1;un=Vn|Nn;Ln=hn<<1;bn=Ln|1;yn=zA+o|0;aQ(yn,A,Q,bn,un,Un,1,dQ);v=bn;Dn=un;zA=yn;gQ=Un;continue}t=v+-1|0;j=(t|0)==0;do{if(j){In=32;PQ=56}else{_=t&1;$=(_|0)==0;if($){g=t;AQ=0;while(1){nn=AQ+1|0;dn=g>>>1;An=dn&1;Bn=(An|0)==0;if(Bn){g=dn;AQ=nn}else{f=nn;break}}En=(f|0)==0;if(En){PQ=51}else{Gn=f}}else{PQ=51}if((PQ|0)==51){PQ=0;Cn=(Dn|0)==0;if(Cn){In=64;PQ=56;break}Zn=Dn&1;en=(Zn|0)==0;if(en){R=Dn;QQ=0}else{C=0;qn=v;tn=Dn;$n=0;break}while(1){wn=QQ+1|0;Jn=R>>>1;gn=Jn&1;Rn=(gn|0)==0;if(Rn){R=Jn;QQ=wn}else{I=wn;BQ=QQ;break}}Sn=BQ+33|0;Pn=(I|0)==0;if(Pn){C=0;qn=v;tn=Dn;$n=0;break}else{Gn=Sn}}an=Gn>>>0>31;if(an){In=Gn;PQ=56}else{C=Gn;qn=v;tn=Dn;$n=Gn}}}while(0);if((PQ|0)==56){PQ=0;fn=In+-32|0;C=fn;qn=Dn;tn=0;$n=In}xn=qn>>>C;mn=32-C|0;zn=tn<>>C;_n=$n+gQ|0;r=zA+o|0;nd=(_n|0)==1;dd=(vn|0)==1;EQ=dd&nd;Ad=(jn|0)==0;DQ=Ad&EQ;if(DQ){break}else{v=vn;Dn=jn;zA=r;gQ=_n}}cr=GQ;return}function aQ(n,d,A,Q,B,E,D,C){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;D=D|0;C=C|0;var Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0,M=0,O=0,r=0,U=0,K=0,F=0;var c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0,b=0,y=0,x=0,q=0,m=0,z=0;var X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0,Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0;var pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0,sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0;var on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0,tn=0,vn=0,jn=0,_n=0,$n=0,nd=0;var dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0,id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0;var Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0,od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0;var Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0,dA=0,AA=0,QA=0,BA=0,EA=0,DA=0;var CA=0;CA=cr;cr=cr+720|0;EA=CA+456|0;bd=CA+228|0;Ld=CA;Ur[Ld>>2]=n;Y=0-d|0;o=(Q|0)!=1;Dn=(B|0)!=0;Gn=Dn|o;n:do{if(Gn){sn=C+(E<<2)|0;un=Ur[sn>>2]|0;jn=0-un|0;Zd=n+jn|0;ad=fQ[A&15](Zd,n)|0;Td=(ad|0)<1;if(Td){w=n;G=E;r=D;qd=1;DA=18}else{R=n;M=E;U=D;An=Zd;Mn=B;vd=1;AA=Q;while(1){k=(U|0)==0;z=(M|0)>1;dA=k&z;if(dA){_=R+Y|0;$=M+-2|0;nn=C+($<<2)|0;dn=Ur[nn>>2]|0;Qn=fQ[A&15](_,An)|0;Bn=(Qn|0)>-1;if(Bn){J=R;a=M;zd=vd;break n}QA=dn+d|0;W=0-QA|0;En=R+W|0;Cn=fQ[A&15](En,An)|0;Zn=(Cn|0)>-1;if(Zn){J=R;a=M;zd=vd;break n}}en=vd+1|0;wn=Ld+(vd<<2)|0;Ur[wn>>2]=An;Jn=AA+-1|0;gn=(Jn|0)==0;do{if(gn){kn=32;DA=15}else{Rn=Jn&1;pn=(Rn|0)==0;if(pn){S=Jn;_d=0;while(1){Sn=_d+1|0;Pn=S>>>1;an=Pn&1;fn=(an|0)==0;if(fn){S=Pn;_d=Sn}else{K=Sn;break}}In=(K|0)==0;if(In){DA=10}else{Hn=K}}else{DA=10}if((DA|0)==10){DA=0;On=(Mn|0)==0;if(On){kn=64;DA=15;break}rn=Mn&1;Un=(rn|0)==0;if(Un){P=Mn;$d=0}else{e=0;Vn=AA;bn=Mn;mn=0;break}while(1){Kn=$d+1|0;Fn=P>>>1;cn=Fn&1;Tn=(cn|0)==0;if(Tn){P=Fn;$d=Kn}else{F=Kn;nA=$d;break}}hn=nA+33|0;Wn=(F|0)==0;if(Wn){e=0;Vn=AA;bn=Mn;mn=0;break}else{Hn=hn}}Yn=Hn>>>0>31;if(Yn){kn=Hn;DA=15}else{e=Hn;Vn=AA;bn=Mn;mn=Hn}}}while(0);if((DA|0)==15){DA=0;on=kn+-32|0;e=on;Vn=Mn;bn=0;mn=kn}ln=Vn>>>e;Nn=32-e|0;Ln=bn<>>e;qn=mn+M|0;zn=(yn|0)!=1;Xn=(xn|0)!=0;tn=Xn|zn;if(!tn){J=An;a=qn;zd=en;break n}c=Ur[Ld>>2]|0;vn=C+(qn<<2)|0;_n=Ur[vn>>2]|0;$n=0-_n|0;nd=An+$n|0;dd=fQ[A&15](nd,c)|0;Ad=(dd|0)<1;if(Ad){w=An;G=qn;r=0;qd=en;DA=18;break}else{p=An;M=qn;U=0;An=nd;Mn=xn;vd=en;AA=yn;R=p}}}}else{w=n;G=E;r=D;qd=1;DA=18}}while(0);if((DA|0)==18){Qd=(r|0)==0;if(Qd){J=w;a=G;zd=qd}else{cr=CA;return}}Bd=(zd|0)<2;n:do{if(!Bd){Ed=Ld+(zd<<2)|0;Ur[Ed>>2]=EA;Dd=(d|0)==0;if(!Dd){I=d;fd=EA;while(1){Pd=I>>>0>256;ed=Pd?256:I;Gd=Ur[Ld>>2]|0;Yr(fd|0,Gd|0,ed|0)|0;id=Gd;td=0;while(1){Jd=Ld+(td<<2)|0;gd=td+1|0;Rd=Ld+(gd<<2)|0;pd=Ur[Rd>>2]|0;Yr(id|0,pd|0,ed|0)|0;Sd=id+ed|0;Ur[Jd>>2]=Sd;xd=(gd|0)==(zd|0);if(xd){break}else{id=pd;td=gd}}Cd=(I|0)==(ed|0);if(Cd){break n}wd=I-ed|0;h=Ur[Ed>>2]|0;I=wd;fd=h}}}}while(0);Ur[bd>>2]=J;Id=(a|0)>1;n:do{if(Id){i=a;O=J;Fd=J;jd=1;while(1){Md=O+Y|0;Od=i+-2|0;rd=C+(Od<<2)|0;Ud=Ur[rd>>2]|0;BA=Ud+d|0;H=0-BA|0;Kd=O+H|0;cd=fQ[A&15](Fd,Kd)|0;sd=(cd|0)>-1;if(sd){hd=fQ[A&15](Fd,Md)|0;Wd=(hd|0)>-1;if(Wd){md=jd;break}}Hd=fQ[A&15](Kd,Md)|0;Yd=(Hd|0)>-1;od=jd+1|0;kd=bd+(jd<<2)|0;if(Yd){Ur[kd>>2]=Kd;ld=i+-1|0;Z=Kd;g=ld}else{Ur[kd>>2]=Md;Z=Md;g=Od}Vd=(g|0)>1;if(!Vd){md=od;break}s=Ur[bd>>2]|0;i=g;O=Z;Fd=s;jd=od}Nd=(md|0)<2;if(Nd){j=EA}else{ud=bd+(md<<2)|0;Ur[ud>>2]=EA;l=(d|0)==0;if(l){j=EA}else{f=d;v=EA;while(1){X=f>>>0>256;N=X?256:f;t=Ur[bd>>2]|0;Yr(v|0,t|0,N|0)|0;q=t;Xd=0;while(1){L=bd+(Xd<<2)|0;b=Xd+1|0;y=bd+(b<<2)|0;x=Ur[y>>2]|0;Yr(q|0,x|0,N|0)|0;m=q+N|0;Ur[L>>2]=m;yd=(b|0)==(md|0);if(yd){break}else{q=x;Xd=b}}V=(f|0)==(N|0);if(V){j=EA;break n}u=f-N|0;T=Ur[ud>>2]|0;f=u;v=T}}}}else{j=EA}}while(0);cr=CA;return}function NB(n){n=+n;var d=0.0,A=0,Q=0,B=0.0,E=0.0,D=0.0,C=0,Z=0.0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0.0,P=0.0,G=0,a=0;a=cr;Fr[zw>>3]=n;A=Ur[zw>>2]|0;Q=Ur[zw+4>>2]|0;e=Q&2146435072;w=e>>>0>1126170624;J=0>0;g=(e|0)==1126170624;R=g&J;p=w|R;if(p){d=n;return+d}i=(Q|0)<0;S=n+-4503599627370496.0;B=S+4503599627370496.0;E=n+4503599627370496.0;D=E+-4503599627370496.0;P=i?B:D;C=P==0.0;if(!C){d=P;return+d}Z=i?-0.0:0.0;d=Z;return+d}function Wd(n){n=+n;var d=0.0,A=0,Q=0,B=0,E=0,D=0.0,C=0.0,Z=0.0,e=0.0,w=0,J=0.0,g=0.0,R=0,p=0;p=cr;A=(Kr[zw>>2]=n,Ur[zw>>2]|0);Q=A&2130706432;B=Q>>>0>1249902592;if(B){d=n;return+d}E=(A|0)<0;D=n+-8388608.0;C=D+8388608.0;Z=n+8388608.0;e=Z+-8388608.0;g=E?C:e;w=g==0.0;if(!w){d=g;return+d}J=E?-0.0:0.0;d=J;return+d}function od(n,d){n=+n;d=d|0;var A=0,Q=0,B=0,E=0,D=0.0,C=0,Z=0.0,e=0,w=0,J=0,g=0,R=0,p=0.0,i=0.0,S=0,P=0,G=0.0,a=0,f=0,I=0;var M=0.0,O=0,r=0.0,U=0,K=0;K=cr;E=(d|0)>1023;if(E){D=n*8.9884656743115795E+307;S=d+-1023|0;P=(S|0)>1023;if(P){G=D*8.9884656743115795E+307;a=d+-2046|0;f=(a|0)>1023;A=f?1023:a;Q=A;r=G}else{Q=S;r=D}}else{I=(d|0)<-1022;if(I){M=n*2.2250738585072014E-308;O=d+1022|0;C=(O|0)<-1022;if(C){Z=M*2.2250738585072014E-308;e=d+2044|0;w=(e|0)<-1022;B=w?-1022:e;Q=B;r=Z}else{Q=O;r=M}}else{Q=d;r=n}}J=Q+1023|0;g=td(J|0,0,52)|0;R=uB;Ur[zw>>2]=g;Ur[zw+4>>2]=R;p=+Fr[zw>>3];i=r*p;return+i}function kd(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0;C=cr;d=n+-1|0;A=553040;Q=A;Ur[Q>>2]=d;B=A+4|0;E=B;Ur[E>>2]=0;return}function ld(){var n=0,d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0;P=cr;n=553040;d=n;Z=Ur[d>>2]|0;e=n+4|0;w=e;J=Ur[w>>2]|0;g=_d(Z|0,J|0,1284865837,1481765933)|0;R=uB;p=zB(g|0,R|0,1,0)|0;i=uB;A=553040;Q=A;Ur[Q>>2]=p;B=A+4|0;E=B;Ur[E>>2]=i;D=pQ(p|0,i|0,33)|0;C=uB;return D|0}function Wr(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0;var Cn=0,Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0;var cn=0,sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0;var Xn=0,tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0;var pd=0,id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0;var Yd=0,od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0;var nA=0,dA=0,AA=0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0;var fA=0,IA=0,MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0;var uA=0,LA=0,bA=0,yA=0,xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0;var DQ=0,CQ=0,ZQ=0,eQ=0,wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0,rQ=0,UQ=0;var KQ=0,FQ=0,cQ=0,sQ=0,TQ=0,hQ=0,WQ=0,HQ=0,YQ=0,oQ=0,kQ=0,lQ=0,VQ=0,NQ=0,uQ=0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0;var mQ=0,zQ=0,XQ=0,tQ=0,vQ=0,jQ=0,_Q=0,$Q=0,nB=0,dB=0,AB=0,QB=0,BB=0,EB=0,DB=0,CB=0,ZB=0,eB=0,wB=0,JB=0;var gB=0,RB=0,pB=0,iB=0,SB=0,PB=0,GB=0,aB=0,fB=0,IB=0,MB=0,OB=0,rB=0,UB=0,KB=0,FB=0,cB=0,sB=0,TB=0,hB=0;var WB=0,HB=0,YB=0,oB=0,kB=0,lB=0,VB=0,NB=0,uB=0,LB=0,bB=0,yB=0,xB=0,qB=0,mB=0,zB=0,XB=0,tB=0,vB=0,jB=0;var _B=0,$B=0,nE=0,dE=0,AE=0,QE=0,BE=0,EE=0,DE=0,CE=0,ZE=0,eE=0,wE=0,JE=0,gE=0,RE=0,pE=0,iE=0,SE=0,PE=0;var GE=0,aE=0,fE=0,IE=0,ME=0,OE=0,rE=0,UE=0,KE=0,FE=0,cE=0,sE=0,TE=0,hE=0,WE=0,HE=0,YE=0,oE=0,kE=0,lE=0;var VE=0,NE=0,uE=0,LE=0,bE=0,yE=0,xE=0,qE=0,mE=0,zE=0,XE=0,tE=0,vE=0,jE=0,_E=0,$E=0,nD=0,dD=0,AD=0,QD=0;var BD=0,ED=0,DD=0,CD=0,ZD=0,eD=0,wD=0,JD=0,gD=0,RD=0,pD=0,iD=0,SD=0,PD=0,GD=0,aD=0,fD=0,ID=0,MD=0,OD=0;var rD=0,UD=0,KD=0,FD=0,cD=0,sD=0,TD=0,hD=0,WD=0,HD=0,YD=0,oD=0,kD=0,lD=0,VD=0,ND=0,uD=0,LD=0,bD=0,yD=0;var xD=0,qD=0,mD=0,zD=0,XD=0,tD=0,vD=0,jD=0,_D=0,$D=0,nC=0,dC=0,AC=0,QC=0,BC=0,EC=0,DC=0,CC=0,ZC=0,eC=0;var wC=0,JC=0,gC=0,RC=0,pC=0,iC=0,SC=0,PC=0,GC=0,aC=0,fC=0,IC=0,MC=0,OC=0,rC=0,UC=0,KC=0,FC=0,cC=0,sC=0;var TC=0,hC=0,WC=0,HC=0,YC=0,oC=0,kC=0,lC=0,VC=0,NC=0,uC=0,LC=0,bC=0,yC=0,xC=0,qC=0,mC=0,zC=0,XC=0,tC=0;var vC=0,jC=0,_C=0,$C=0,nZ=0,dZ=0,AZ=0,QZ=0,BZ=0,EZ=0,DZ=0,CZ=0,ZZ=0,eZ=0,wZ=0,JZ=0,gZ=0,RZ=0,pZ=0,iZ=0;var SZ=0,PZ=0,GZ=0,aZ=0,fZ=0,IZ=0,MZ=0,OZ=0,rZ=0,UZ=0,KZ=0,FZ=0,cZ=0,sZ=0,TZ=0,hZ=0,WZ=0,HZ=0,YZ=0,oZ=0;var kZ=0,lZ=0,VZ=0,NZ=0,uZ=0,LZ=0,bZ=0,yZ=0,xZ=0,qZ=0,mZ=0,zZ=0,XZ=0,tZ=0,vZ=0,jZ=0,_Z=0,$Z=0,ne=0,de=0;var Ae=0,Qe=0,Be=0,Ee=0,De=0,Ce=0,Ze=0,ee=0,we=0,Je=0,ge=0,Re=0,pe=0,ie=0,Se=0,Pe=0,Ge=0,ae=0,fe=0,Ie=0;var Me=0,Oe=0,re=0,Ue=0,Ke=0,Fe=0,ce=0,se=0,Te=0,he=0,We=0,He=0,Ye=0,oe=0,ke=0,le=0,Ve=0,Ne=0,ue=0,Le=0;var be=0,ye=0,xe=0,qe=0,me=0,ze=0,Xe=0,te=0,ve=0,je=0,_e=0,$e=0,nw=0,dw=0,Aw=0,Qw=0,Bw=0,Ew=0,Dw=0,Cw=0;var Zw=0,ew=0,ww=0,Jw=0,gw=0,Rw=0,pw=0,iw=0,Sw=0,Pw=0,Gw=0,aw=0,fw=0,Iw=0,Mw=0,Ow=0,rw=0,Uw=0,Kw=0,Fw=0;var cw=0,sw=0,Tw=0,hw=0,Ww=0,Hw=0,Yw=0,ow=0,kw=0,lw=0,Vw=0,Nw=0,uw=0,Lw=0,bw=0,yw=0,xw=0,qw=0,mw=0,zw=0;var Xw=0,tw=0,vw=0,jw=0,_w=0,$w=0,nJ=0,dJ=0,AJ=0,QJ=0,BJ=0,EJ=0,DJ=0,CJ=0,ZJ=0,eJ=0,wJ=0,JJ=0,gJ=0,RJ=0;var pJ=0,iJ=0,SJ=0,PJ=0,GJ=0,aJ=0,fJ=0,IJ=0,MJ=0,OJ=0,rJ=0,UJ=0,KJ=0,FJ=0,cJ=0,sJ=0,TJ=0,hJ=0,WJ=0,HJ=0;var YJ=0,oJ=0,kJ=0,lJ=0,VJ=0,NJ=0,uJ=0,LJ=0,bJ=0,yJ=0,xJ=0,qJ=0,mJ=0,zJ=0,XJ=0,tJ=0,vJ=0,jJ=0,_J=0,$J=0;var ng=0,dg=0,Ag=0,Qg=0,Bg=0,Eg=0,Dg=0,Cg=0,Zg=0,eg=0,wg=0,Jg=0,gg=0,Rg=0,pg=0,ig=0,Sg=0,Pg=0,Gg=0,ag=0;var fg=0,Ig=0,Mg=0,Og=0,rg=0,Ug=0,Kg=0,Fg=0,cg=0,sg=0,Tg=0,hg=0,Wg=0,Hg=0,Yg=0,og=0,kg=0,lg=0,Vg=0,Ng=0;var ug=0,Lg=0,bg=0,yg=0,xg=0,qg=0,mg=0,zg=0,Xg=0,tg=0,vg=0,jg=0,_g=0,$g=0,nR=0,dR=0,AR=0,QR=0,BR=0,ER=0;var DR=0,CR=0,ZR=0,eR=0,wR=0,JR=0,gR=0,RR=0,pR=0,iR=0,SR=0,PR=0,GR=0,aR=0,fR=0,IR=0,MR=0,OR=0,rR=0,UR=0;var KR=0,FR=0,cR=0,sR=0,TR=0,hR=0,WR=0,HR=0,YR=0,oR=0,kR=0,lR=0,VR=0,NR=0,uR=0,LR=0,bR=0,yR=0,xR=0,qR=0;var mR=0,zR=0,XR=0,tR=0,vR=0,jR=0,_R=0,$R=0,np=0,dp=0,Ap=0,Qp=0,Bp=0,Ep=0,Dp=0,Cp=0,Zp=0,ep=0,wp=0,Jp=0;var gp=0,Rp=0,pp=0,ip=0,Sp=0,Pp=0,Gp=0,ap=0,fp=0,Ip=0,Mp=0,Op=0,rp=0,Up=0,Kp=0,Fp=0,cp=0,sp=0,Tp=0,hp=0;var Wp=0,Hp=0,Yp=0,op=0,kp=0,lp=0,Vp=0,Np=0,up=0,Lp=0,bp=0,yp=0,xp=0,qp=0,mp=0,zp=0,Xp=0,tp=0,vp=0,jp=0;var _p=0,$p=0,ni=0,di=0,Ai=0,Qi=0,Bi=0,Ei=0,Di=0,Ci=0,Zi=0,ei=0,wi=0,Ji=0,gi=0,Ri=0,pi=0,ii=0,Si=0,Pi=0;var Gi=0,ai=0,fi=0,Ii=0,Mi=0,Oi=0,ri=0,Ui=0,Ki=0,Fi=0,ci=0,si=0,Ti=0,hi=0,Wi=0,Hi=0,Yi=0,oi=0,ki=0,li=0;var Vi=0,Ni=0,ui=0,Li=0,bi=0,yi=0,xi=0,qi=0,mi=0,zi=0,Xi=0,ti=0,vi=0,ji=0,_i=0,$i=0,nS=0,dS=0,AS=0,QS=0;var BS=0,ES=0,DS=0,CS=0,ZS=0,eS=0,wS=0,JS=0,gS=0,RS=0,pS=0,iS=0,SS=0,PS=0,GS=0,aS=0,fS=0,IS=0,MS=0,OS=0;var rS=0,US=0,KS=0,FS=0,cS=0,sS=0,TS=0,hS=0,WS=0,HS=0,YS=0,oS=0,kS=0,lS=0,VS=0,NS=0,uS=0,LS=0,bS=0,yS=0;var xS=0,qS=0,mS=0,zS=0,XS=0,tS=0,vS=0,jS=0,_S=0,$S=0,nP=0,dP=0,AP=0,QP=0,BP=0,EP=0,DP=0,CP=0,ZP=0,eP=0;var wP=0,JP=0,gP=0,RP=0,pP=0,iP=0,SP=0,PP=0,GP=0,aP=0,fP=0,IP=0,MP=0,OP=0,rP=0,UP=0,KP=0,FP=0,cP=0,sP=0;var TP=0,hP=0,WP=0,HP=0,YP=0,oP=0,kP=0,lP=0,VP=0,NP=0,uP=0,LP=0,bP=0,yP=0,xP=0,qP=0,mP=0,zP=0,XP=0,tP=0;var vP=0,jP=0,_P=0,$P=0,nG=0,dG=0,AG=0,QG=0,BG=0,EG=0,DG=0,CG=0,ZG=0,eG=0,wG=0,JG=0,gG=0,RG=0,pG=0,iG=0;var SG=0,PG=0,GG=0,aG=0,fG=0,IG=0,MG=0,OG=0,rG=0,UG=0,KG=0,FG=0,cG=0,sG=0,TG=0,hG=0,WG=0,HG=0,YG=0,oG=0;var kG=0,lG=0,VG=0,NG=0,uG=0,LG=0,bG=0,yG=0,xG=0,qG=0,mG=0,zG=0,XG=0,tG=0,vG=0,jG=0,_G=0,$G=0,na=0,da=0;var Aa=0,Qa=0,Ba=0,Ea=0,Da=0,Ca=0,Za=0,ea=0,wa=0,Ja=0,ga=0,Ra=0,pa=0,ia=0,Sa=0,Pa=0,Ga=0,aa=0,fa=0,Ia=0;var Ma=0,Oa=0,ra=0,Ua=0,Ka=0,Fa=0,ca=0,sa=0,Ta=0,ha=0,Wa=0,Ha=0,Ya=0,oa=0,ka=0,la=0,Va=0,Na=0,ua=0,La=0;var ba=0,ya=0,xa=0,qa=0,ma=0,za=0,Xa=0,ta=0,va=0,ja=0,_a=0,$a=0,nf=0,df=0,Af=0,Qf=0,Bf=0,Ef=0,Df=0,Cf=0;var Zf=0,ef=0,wf=0,Jf=0,gf=0,Rf=0,pf=0,Sf=0,Pf=0,Gf=0,af=0,ff=0,If=0,Mf=0,Of=0,rf=0,Uf=0,Kf=0,Ff=0,cf=0;var sf=0,Tf=0,hf=0,Wf=0,Hf=0,Yf=0,of=0,kf=0,lf=0,Vf=0,Nf=0,uf=0,Lf=0,bf=0,yf=0,xf=0,qf=0,mf=0,zf=0,Xf=0;var tf=0,vf=0,jf=0,_f=0,$f=0,nI=0,dI=0,AI=0,QI=0,BI=0,EI=0,DI=0,CI=0,ZI=0,eI=0,wI=0,JI=0,gI=0,RI=0,pI=0;var iI=0,SI=0,PI=0,GI=0,aI=0,fI=0,II=0,MI=0,OI=0,rI=0,UI=0,KI=0,FI=0,cI=0,sI=0,TI=0,hI=0,WI=0,HI=0,YI=0;var oI=0,kI=0,lI=0,VI=0,NI=0,uI=0,LI=0,bI=0,yI=0,xI=0,qI=0,mI=0,zI=0,XI=0,tI=0,vI=0,jI=0,_I=0,$I=0,nM=0;var dM=0,AM=0,QM=0,BM=0,EM=0,DM=0,CM=0,ZM=0,eM=0,wM=0,JM=0,gM=0,RM=0,pM=0,iM=0,SM=0,PM=0,GM=0,aM=0,fM=0;var IM=0,MM=0,OM=0,rM=0,UM=0,KM=0,FM=0,cM=0,sM=0,TM=0,hM=0,WM=0,HM=0,YM=0,oM=0,kM=0,lM=0,VM=0,NM=0,uM=0;var LM=0,bM=0,yM=0,xM=0,qM=0,mM=0,zM=0,XM=0,tM=0,vM=0,jM=0,_M=0,$M=0,nO=0,dO=0,AO=0,QO=0;QO=cr;ad=n>>>0<245;do{if(ad){fd=n>>>0<11;uB=n+11|0;yD=uB&-8;mZ=fd?16:yD;tw=mZ>>>3;_g=Ur[553048>>2]|0;di=_g>>>tw;BP=di&3;Ca=(BP|0)==0;if(!Ca){Id=di&1;tA=Id^1;DQ=tA+tw|0;PQ=DQ<<1;cQ=553088+(PQ<<2)|0;v=PQ+2|0;NQ=553088+(v<<2)|0;vQ=Ur[NQ>>2]|0;CB=vQ+8|0;GB=Ur[CB>>2]|0;sB=(cQ|0)==(GB|0);do{if(sB){LB=1<>2]=eE}else{fE=Ur[553064>>2]|0;hE=GB>>>0>>0;if(hE){CO()}bE=GB+12|0;$E=Ur[bE>>2]|0;wD=($E|0)==(vQ|0);if(wD){Ur[bE>>2]=cQ;Ur[NQ>>2]=GB;break}else{CO()}}}while(0);ID=DQ<<3;WD=ID|3;xD=vQ+4|0;Ur[xD>>2]=WD;dn=ID|4;dC=vQ+dn|0;gC=Ur[dC>>2]|0;OC=gC|1;Ur[dC>>2]=OC;$I=CB;return $I|0}YC=Ur[553056>>2]|0;qC=mZ>>>0>YC>>>0;if(qC){AZ=(di|0)==0;if(!AZ){RZ=di<>>12;Ew=Xe&16;Sw=le>>>Ew;Fw=Sw>>>5;Vw=Fw&8;vw=Vw|Ew;CJ=Sw>>>Vw;GJ=CJ>>>2;sJ=GJ&4;uJ=vw|sJ;jJ=CJ>>>sJ;Zg=jJ>>>1;ag=Zg&2;Tg=uJ|ag;Lg=jJ>>>ag;$g=Lg>>>1;wR=$g&1;IR=Tg|wR;WR=Lg>>>wR;yR=IR+WR|0;np=yR<<1;Jp=553088+(np<<2)|0;nd=np+2|0;Mp=553088+(nd<<2)|0;Hp=Ur[Mp>>2]|0;xp=Hp+8|0;Ai=Ur[xp>>2]|0;Ri=(Jp|0)==(Ai|0);do{if(Ri){ri=1<>2]=mi;NG=YC}else{QS=Ur[553064>>2]|0;pS=Ai>>>0>>0;if(pS){CO()}US=Ai+12|0;kS=Ur[US>>2]|0;zS=(kS|0)==(Hp|0);if(zS){Ur[US>>2]=Jp;Ur[Mp>>2]=Ai;p=Ur[553056>>2]|0;NG=p;break}else{CO()}}}while(0);EP=yR<<3;SP=EP-mZ|0;FP=mZ|3;VP=Hp+4|0;Ur[VP>>2]=FP;tP=Hp+mZ|0;DG=SP|1;ed=mZ|4;PG=Hp+ed|0;Ur[PG>>2]=DG;cG=Hp+EP|0;Ur[cG>>2]=SP;vG=(NG|0)==0;if(!vG){Za=Ur[553068>>2]|0;aa=NG>>>3;Ta=aa<<1;La=553088+(Ta<<2)|0;_a=Ur[553048>>2]|0;ef=1<>2]=yf;U=Ta+2|0;K=553088+(U<<2)|0;r=K;RI=La}else{pd=Ta+2|0;nI=553088+(pd<<2)|0;Md=Ur[nI>>2]|0;Hd=Ur[553064>>2]|0;xd=Md>>>0>>0;if(xd){CO()}else{r=nI;RI=Md}}Ur[r>>2]=Za;dA=RI+12|0;Ur[dA>>2]=Za;gA=Za+8|0;Ur[gA>>2]=RI;OA=Za+12|0;Ur[OA>>2]=La}Ur[553056>>2]=SP;Ur[553068>>2]=tP;$I=xp;return $I|0}YA=Ur[553052>>2]|0;qA=(YA|0)==0;if(qA){nM=mZ}else{zA=0-YA|0;XA=YA&zA;vA=XA+-1|0;jA=vA>>>12;_A=jA&16;$A=vA>>>_A;nQ=$A>>>5;dQ=nQ&8;AQ=dQ|_A;QQ=$A>>>dQ;BQ=QQ>>>2;EQ=BQ&4;CQ=AQ|EQ;ZQ=QQ>>>EQ;eQ=ZQ>>>1;wQ=eQ&2;JQ=CQ|wQ;gQ=ZQ>>>wQ;RQ=gQ>>>1;pQ=RQ&1;iQ=JQ|pQ;SQ=gQ>>>pQ;GQ=iQ+SQ|0;aQ=553352+(GQ<<2)|0;fQ=Ur[aQ>>2]|0;IQ=fQ+4|0;MQ=Ur[IQ>>2]|0;OQ=MQ&-8;rQ=OQ-mZ|0;PM=rQ;lM=fQ;XM=fQ;while(1){UQ=lM+16|0;KQ=Ur[UQ>>2]|0;FQ=(KQ|0)==(0|0);if(FQ){sQ=lM+20|0;TQ=Ur[sQ>>2]|0;hQ=(TQ|0)==(0|0);if(hQ){GM=PM;tM=XM;break}else{HQ=TQ}}else{HQ=KQ}WQ=HQ+4|0;YQ=Ur[WQ>>2]|0;oQ=YQ&-8;kQ=oQ-mZ|0;lQ=kQ>>>0>>0;W=lQ?kQ:PM;Gd=lQ?HQ:XM;PM=W;lM=HQ;XM=Gd}VQ=Ur[553064>>2]|0;uQ=tM>>>0>>0;if(uQ){CO()}LQ=tM+mZ|0;bQ=tM>>>0>>0;if(!bQ){CO()}yQ=tM+24|0;xQ=Ur[yQ>>2]|0;qQ=tM+12|0;mQ=Ur[qQ>>2]|0;zQ=(mQ|0)==(tM|0);do{if(zQ){BB=tM+20|0;EB=Ur[BB>>2]|0;DB=(EB|0)==(0|0);if(DB){ZB=tM+16|0;eB=Ur[ZB>>2]|0;wB=(eB|0)==(0|0);if(wB){cI=0;break}else{MI=eB;hI=ZB}}else{MI=EB;hI=BB}while(1){JB=MI+20|0;gB=Ur[JB>>2]|0;RB=(gB|0)==(0|0);if(!RB){MI=gB;hI=JB;continue}pB=MI+16|0;iB=Ur[pB>>2]|0;SB=(iB|0)==(0|0);if(SB){UI=MI;YI=hI;break}else{MI=iB;hI=pB}}PB=YI>>>0>>0;if(PB){CO()}else{Ur[YI>>2]=0;cI=UI;break}}else{XQ=tM+8|0;tQ=Ur[XQ>>2]|0;jQ=tQ>>>0>>0;if(jQ){CO()}_Q=tQ+12|0;$Q=Ur[_Q>>2]|0;nB=($Q|0)==(tM|0);if(!nB){CO()}dB=mQ+8|0;AB=Ur[dB>>2]|0;QB=(AB|0)==(tM|0);if(QB){Ur[_Q>>2]=mQ;Ur[dB>>2]=tQ;cI=mQ;break}else{CO()}}}while(0);aB=(xQ|0)==(0|0);do{if(!aB){fB=tM+28|0;IB=Ur[fB>>2]|0;MB=553352+(IB<<2)|0;OB=Ur[MB>>2]|0;rB=(tM|0)==(OB|0);if(rB){Ur[MB>>2]=cI;zI=(cI|0)==(0|0);if(zI){UB=1<>2]|0;cB=FB&KB;Ur[553052>>2]=cB;break}}else{TB=Ur[553064>>2]|0;hB=xQ>>>0>>0;if(hB){CO()}WB=xQ+16|0;HB=Ur[WB>>2]|0;YB=(HB|0)==(tM|0);if(YB){Ur[WB>>2]=cI}else{oB=xQ+20|0;Ur[oB>>2]=cI}kB=(cI|0)==(0|0);if(kB){break}}lB=Ur[553064>>2]|0;VB=cI>>>0>>0;if(VB){CO()}NB=cI+24|0;Ur[NB>>2]=xQ;bB=tM+16|0;yB=Ur[bB>>2]|0;xB=(yB|0)==(0|0);do{if(!xB){qB=yB>>>0>>0;if(qB){CO()}else{mB=cI+16|0;Ur[mB>>2]=yB;zB=yB+24|0;Ur[zB>>2]=cI;break}}}while(0);XB=tM+20|0;tB=Ur[XB>>2]|0;vB=(tB|0)==(0|0);if(!vB){jB=Ur[553064>>2]|0;$B=tB>>>0>>0;if($B){CO()}else{nE=cI+20|0;Ur[nE>>2]=tB;dE=tB+24|0;Ur[dE>>2]=cI;break}}}}while(0);AE=GM>>>0<16;if(AE){QE=GM+mZ|0;BE=QE|3;EE=tM+4|0;Ur[EE>>2]=BE;dd=QE+4|0;DE=tM+dd|0;CE=Ur[DE>>2]|0;ZE=CE|1;Ur[DE>>2]=ZE}else{wE=mZ|3;JE=tM+4|0;Ur[JE>>2]=wE;gE=GM|1;y=mZ|4;RE=tM+y|0;Ur[RE>>2]=gE;q=GM+mZ|0;pE=tM+q|0;Ur[pE>>2]=GM;iE=Ur[553056>>2]|0;SE=(iE|0)==0;if(!SE){PE=Ur[553068>>2]|0;GE=iE>>>3;aE=GE<<1;IE=553088+(aE<<2)|0;ME=Ur[553048>>2]|0;OE=1<>2]=KE;i=aE+2|0;h=553088+(i<<2)|0;M=h;gI=IE}else{mn=aE+2|0;FE=553088+(mn<<2)|0;cE=Ur[FE>>2]|0;sE=Ur[553064>>2]|0;TE=cE>>>0>>0;if(TE){CO()}else{M=FE;gI=cE}}Ur[M>>2]=PE;WE=gI+12|0;Ur[WE>>2]=PE;HE=PE+8|0;Ur[HE>>2]=gI;YE=PE+12|0;Ur[YE>>2]=IE}Ur[553056>>2]=GM;Ur[553068>>2]=LQ}oE=tM+8|0;$I=oE;return $I|0}}else{nM=mZ}}else{kE=n>>>0>4294967231;if(kE){nM=-1}else{lE=n+11|0;VE=lE&-8;NE=Ur[553052>>2]|0;uE=(NE|0)==0;if(uE){nM=VE}else{LE=0-VE|0;yE=lE>>>8;xE=(yE|0)==0;if(xE){_I=0}else{qE=VE>>>0>16777215;if(qE){_I=31}else{mE=yE+1048320|0;zE=mE>>>16;XE=zE&8;tE=yE<>>16;_E=jE&4;nD=_E|XE;dD=tE<<_E;AD=dD+245760|0;QD=AD>>>16;BD=QD&2;ED=nD|BD;DD=14-ED|0;CD=dD<>>15;eD=DD+ZD|0;JD=eD<<1;gD=eD+7|0;RD=VE>>>gD;pD=RD&1;iD=pD|JD;_I=iD}}SD=553352+(_I<<2)|0;PD=Ur[SD>>2]|0;GD=(PD|0)==(0|0);n:do{if(GD){IM=LE;NM=0;_M=0;AO=86}else{aD=(_I|0)==31;fD=_I>>>1;MD=25-fD|0;OD=aD?0:MD;rD=VE<>2]|0;FD=KD&-8;cD=FD-VE|0;sD=cD>>>0>>0;if(sD){TD=(FD|0)==(VE|0);if(TD){OM=cD;bM=VM;dO=VM;AO=90;break n}else{fM=cD;jM=VM}}else{fM=aM;jM=vM}hD=VM+20|0;HD=Ur[hD>>2]|0;YD=KM>>>31;oD=(VM+16|0)+(YD<<2)|0;kD=Ur[oD>>2]|0;lD=(HD|0)==(0|0);VD=(HD|0)==(kD|0);ZM=lD|VD;UM=ZM?rM:HD;ND=(kD|0)==(0|0);uD=KM<<1;if(ND){IM=fM;NM=UM;_M=jM;AO=86;break}else{aM=fM;rM=UM;KM=uD;VM=kD;vM=jM}}}}while(0);if((AO|0)==86){LD=(NM|0)==(0|0);bD=(_M|0)==(0|0);EM=LD&bD;if(EM){qD=2<<_I;mD=0-qD|0;zD=qD|mD;XD=NE&zD;tD=(XD|0)==0;if(tD){nM=VE;break}vD=0-XD|0;jD=XD&vD;_D=jD+-1|0;$D=_D>>>12;nC=$D&16;AC=_D>>>nC;QC=AC>>>5;BC=QC&8;EC=BC|nC;DC=AC>>>BC;CC=DC>>>2;ZC=CC&4;eC=EC|ZC;wC=DC>>>ZC;JC=wC>>>1;RC=JC&2;pC=eC|RC;iC=wC>>>RC;SC=iC>>>1;PC=SC&1;GC=pC|PC;aC=iC>>>PC;fC=GC+aC|0;IC=553352+(fC<<2)|0;MC=Ur[IC>>2]|0;uM=MC;nO=0}else{uM=NM;nO=_M}rC=(uM|0)==(0|0);if(rC){MM=IM;$M=nO}else{OM=IM;bM=uM;dO=nO;AO=90}}if((AO|0)==90){while(1){AO=0;UC=bM+4|0;KC=Ur[UC>>2]|0;FC=KC&-8;cC=FC-VE|0;sC=cC>>>0>>0;H=sC?cC:OM;LM=sC?bM:dO;TC=bM+16|0;hC=Ur[TC>>2]|0;WC=(hC|0)==(0|0);if(!WC){OM=H;bM=hC;dO=LM;AO=90;continue}HC=bM+20|0;oC=Ur[HC>>2]|0;kC=(oC|0)==(0|0);if(kC){MM=H;$M=LM;break}else{OM=H;bM=oC;dO=LM;AO=90}}}lC=($M|0)==(0|0);if(lC){nM=VE}else{VC=Ur[553056>>2]|0;NC=VC-VE|0;uC=MM>>>0>>0;if(uC){LC=Ur[553064>>2]|0;bC=$M>>>0>>0;if(bC){CO()}yC=$M+VE|0;xC=$M>>>0>>0;if(!xC){CO()}mC=$M+24|0;zC=Ur[mC>>2]|0;XC=$M+12|0;tC=Ur[XC>>2]|0;vC=(tC|0)==($M|0);do{if(vC){CZ=$M+20|0;ZZ=Ur[CZ>>2]|0;eZ=(ZZ|0)==(0|0);if(eZ){wZ=$M+16|0;JZ=Ur[wZ>>2]|0;gZ=(JZ|0)==(0|0);if(gZ){TI=0;break}else{KI=JZ;oI=wZ}}else{KI=ZZ;oI=CZ}while(1){pZ=KI+20|0;iZ=Ur[pZ>>2]|0;SZ=(iZ|0)==(0|0);if(!SZ){KI=iZ;oI=pZ;continue}PZ=KI+16|0;GZ=Ur[PZ>>2]|0;aZ=(GZ|0)==(0|0);if(aZ){FI=KI;kI=oI;break}else{KI=GZ;oI=PZ}}fZ=kI>>>0>>0;if(fZ){CO()}else{Ur[kI>>2]=0;TI=FI;break}}else{jC=$M+8|0;_C=Ur[jC>>2]|0;$C=_C>>>0>>0;if($C){CO()}nZ=_C+12|0;dZ=Ur[nZ>>2]|0;QZ=(dZ|0)==($M|0);if(!QZ){CO()}BZ=tC+8|0;EZ=Ur[BZ>>2]|0;DZ=(EZ|0)==($M|0);if(DZ){Ur[nZ>>2]=tC;Ur[BZ>>2]=_C;TI=tC;break}else{CO()}}}while(0);IZ=(zC|0)==(0|0);do{if(!IZ){MZ=$M+28|0;OZ=Ur[MZ>>2]|0;UZ=553352+(OZ<<2)|0;KZ=Ur[UZ>>2]|0;FZ=($M|0)==(KZ|0);if(FZ){Ur[UZ>>2]=TI;tI=(TI|0)==(0|0);if(tI){cZ=1<>2]|0;hZ=TZ&sZ;Ur[553052>>2]=hZ;break}}else{WZ=Ur[553064>>2]|0;HZ=zC>>>0>>0;if(HZ){CO()}YZ=zC+16|0;kZ=Ur[YZ>>2]|0;lZ=(kZ|0)==($M|0);if(lZ){Ur[YZ>>2]=TI}else{VZ=zC+20|0;Ur[VZ>>2]=TI}NZ=(TI|0)==(0|0);if(NZ){break}}uZ=Ur[553064>>2]|0;LZ=TI>>>0>>0;if(LZ){CO()}bZ=TI+24|0;Ur[bZ>>2]=zC;yZ=$M+16|0;xZ=Ur[yZ>>2]|0;qZ=(xZ|0)==(0|0);do{if(!qZ){XZ=xZ>>>0>>0;if(XZ){CO()}else{tZ=TI+16|0;Ur[tZ>>2]=xZ;vZ=xZ+24|0;Ur[vZ>>2]=TI;break}}}while(0);jZ=$M+20|0;_Z=Ur[jZ>>2]|0;$Z=(_Z|0)==(0|0);if(!$Z){ne=Ur[553064>>2]|0;de=_Z>>>0>>0;if(de){CO()}else{Ae=TI+20|0;Ur[Ae>>2]=_Z;Qe=_Z+24|0;Ur[Qe>>2]=TI;break}}}}while(0);Ee=MM>>>0<16;n:do{if(Ee){De=MM+VE|0;Ce=De|3;Ze=$M+4|0;Ur[Ze>>2]=Ce;cn=De+4|0;ee=$M+cn|0;we=Ur[ee>>2]|0;Je=we|1;Ur[ee>>2]=Je}else{ge=VE|3;Re=$M+4|0;Ur[Re>>2]=ge;pe=MM|1;L=VE|4;Se=$M+L|0;Ur[Se>>2]=pe;t=MM+VE|0;Pe=$M+t|0;Ur[Pe>>2]=MM;Ge=MM>>>3;ae=MM>>>0<256;if(ae){fe=Ge<<1;Ie=553088+(fe<<2)|0;Me=Ur[553048>>2]|0;Oe=1<>2]=Fe;G=fe+2|0;c=553088+(G<<2)|0;I=c;iI=Ie}else{Kn=fe+2|0;ce=553088+(Kn<<2)|0;se=Ur[ce>>2]|0;Te=Ur[553064>>2]|0;he=se>>>0>>0;if(he){CO()}else{I=ce;iI=se}}Ur[I>>2]=yC;We=iI+12|0;Ur[We>>2]=yC;Mn=VE+8|0;He=$M+Mn|0;Ur[He>>2]=iI;rn=VE+12|0;Ye=$M+rn|0;Ur[Ye>>2]=Ie;break}oe=MM>>>8;ke=(oe|0)==0;if(ke){PI=0}else{Ve=MM>>>0>16777215;if(Ve){PI=31}else{Ne=oe+1048320|0;ue=Ne>>>16;Le=ue&8;be=oe<>>16;qe=xe&4;me=qe|Le;ze=be<>>16;je=ve&2;_e=me|je;$e=14-_e|0;nw=ze<>>15;Aw=$e+dw|0;Qw=Aw<<1;Bw=Aw+7|0;Dw=MM>>>Bw;Cw=Dw&1;Zw=Cw|Qw;PI=Zw}}ew=553352+(PI<<2)|0;hn=VE+28|0;ww=$M+hn|0;Ur[ww>>2]=PI;zn=VE+16|0;Jw=$M+zn|0;Qd=VE+20|0;gw=$M+Qd|0;Ur[gw>>2]=0;Ur[Jw>>2]=0;Rw=Ur[553052>>2]|0;pw=1<>2]=Gw;Ur[ew>>2]=yC;Cd=VE+24|0;aw=$M+Cd|0;Ur[aw>>2]=ew;wd=VE+12|0;fw=$M+wd|0;Ur[fw>>2]=yC;gd=VE+8|0;Iw=$M+gd|0;Ur[Iw>>2]=yC;break}Mw=Ur[ew>>2]|0;Ow=Mw+4|0;rw=Ur[Ow>>2]|0;Uw=rw&-8;Kw=(Uw|0)==(MM|0);d:do{if(Kw){lI=Mw}else{cw=(PI|0)==31;sw=PI>>>1;Tw=25-sw|0;hw=cw?0:Tw;Ww=MM<>>31;Lw=(uI+16|0)+(uw<<2)|0;ow=Ur[Lw>>2]|0;bw=(ow|0)==(0|0);if(bw){R=Lw;LI=uI;break}Hw=aI<<1;Yw=ow+4|0;kw=Ur[Yw>>2]|0;lw=kw&-8;Nw=(lw|0)==(MM|0);if(Nw){lI=ow;break d}else{aI=Hw;uI=ow}}yw=Ur[553064>>2]|0;xw=R>>>0>>0;if(xw){CO()}else{Ur[R>>2]=yC;$=VE+24|0;qw=$M+$|0;Ur[qw>>2]=LI;wn=VE+12|0;mw=$M+wn|0;Ur[mw>>2]=yC;an=VE+8|0;zw=$M+an|0;Ur[zw>>2]=yC;break n}}}while(0);Xw=lI+8|0;jw=Ur[Xw>>2]|0;_w=Ur[553064>>2]|0;$w=jw>>>0>=_w>>>0;dM=lI>>>0>=_w>>>0;nJ=$w&dM;if(nJ){dJ=jw+12|0;Ur[dJ>>2]=yC;Ur[Xw>>2]=yC;Rd=VE+8|0;AJ=$M+Rd|0;Ur[AJ>>2]=jw;id=VE+12|0;QJ=$M+id|0;Ur[QJ>>2]=lI;j=VE+24|0;BJ=$M+j|0;Ur[BJ>>2]=0;break}else{CO()}}}while(0);EJ=$M+8|0;$I=EJ;return $I|0}else{nM=VE}}}}}}while(0);DJ=Ur[553056>>2]|0;ZJ=DJ>>>0>>0;if(!ZJ){eJ=DJ-nM|0;wJ=Ur[553068>>2]|0;JJ=eJ>>>0>15;if(JJ){gJ=wJ+nM|0;Ur[553068>>2]=gJ;Ur[553056>>2]=eJ;RJ=eJ|1;Tn=nM+4|0;pJ=wJ+Tn|0;Ur[pJ>>2]=RJ;iJ=wJ+DJ|0;Ur[iJ>>2]=eJ;SJ=nM|3;PJ=wJ+4|0;Ur[PJ>>2]=SJ}else{Ur[553056>>2]=0;Ur[553068>>2]=0;aJ=DJ|3;fJ=wJ+4|0;Ur[fJ>>2]=aJ;x=DJ+4|0;IJ=wJ+x|0;MJ=Ur[IJ>>2]|0;OJ=MJ|1;Ur[IJ>>2]=OJ}rJ=wJ+8|0;$I=rJ;return $I|0}UJ=Ur[553060>>2]|0;KJ=UJ>>>0>nM>>>0;if(KJ){FJ=UJ-nM|0;Ur[553060>>2]=FJ;cJ=Ur[553072>>2]|0;TJ=cJ+nM|0;Ur[553072>>2]=TJ;hJ=FJ|1;Y=nM+4|0;WJ=cJ+Y|0;Ur[WJ>>2]=hJ;HJ=nM|3;YJ=cJ+4|0;Ur[YJ>>2]=HJ;oJ=cJ+8|0;$I=oJ;return $I|0}kJ=Ur[553520>>2]|0;lJ=(kJ|0)==0;do{if(lJ){VJ=EO(30)|0;NJ=VJ+-1|0;LJ=NJ&VJ;bJ=(LJ|0)==0;if(bJ){Ur[553528>>2]=VJ;Ur[553524>>2]=VJ;Ur[553532>>2]=-1;Ur[553536>>2]=-1;Ur[553540>>2]=0;Ur[553492>>2]=0;yJ=ZO(0|0)|0;xJ=yJ&-16;qJ=xJ^1431655768;Ur[553520>>2]=qJ;break}else{CO()}}}while(0);mJ=nM+48|0;zJ=Ur[553528>>2]|0;XJ=nM+47|0;tJ=zJ+XJ|0;vJ=0-zJ|0;_J=tJ&vJ;$J=_J>>>0>nM>>>0;if(!$J){$I=0;return $I|0}ng=Ur[553488>>2]|0;dg=(ng|0)==0;if(!dg){Ag=Ur[553480>>2]|0;Qg=Ag+_J|0;Bg=Qg>>>0<=Ag>>>0;Eg=Qg>>>0>ng>>>0;CM=Bg|Eg;if(CM){$I=0;return $I|0}}Dg=Ur[553492>>2]|0;Cg=Dg&4;eg=(Cg|0)==0;n:do{if(eg){wg=Ur[553072>>2]|0;Jg=(wg|0)==(0|0);d:do{if(Jg){AO=174}else{FM=553496;while(1){gg=Ur[FM>>2]|0;Rg=gg>>>0>wg>>>0;if(!Rg){pg=FM+4|0;ig=Ur[pg>>2]|0;Sg=gg+ig|0;Pg=Sg>>>0>wg>>>0;if(Pg){J=FM;g=pg;break}}Gg=FM+8|0;fg=Ur[Gg>>2]|0;Ig=(fg|0)==(0|0);if(Ig){AO=174;break d}else{FM=fg}}mg=Ur[553060>>2]|0;zg=tJ-mg|0;Xg=zg&vJ;tg=Xg>>>0<2147483647;if(tg){vg=BO(Xg|0)|0;jg=Ur[J>>2]|0;nR=Ur[g>>2]|0;dR=jg+nR|0;AR=(vg|0)==(dR|0);d=AR?Xg:0;if(AR){QR=(vg|0)==(-1|0);if(QR){qM=d}else{yM=vg;zM=d;AO=194;break n}}else{mI=vg;oM=Xg;xM=d;AO=184}}else{qM=0}}}while(0);do{if((AO|0)==174){Mg=BO(0)|0;Og=(Mg|0)==(-1|0);if(Og){qM=0}else{rg=Mg;Ug=Ur[553524>>2]|0;Kg=Ug+-1|0;Fg=Kg&rg;cg=(Fg|0)==0;if(cg){YM=_J}else{sg=Kg+rg|0;hg=0-Ug|0;Wg=sg&hg;Hg=_J-rg|0;Yg=Hg+Wg|0;YM=Yg}og=Ur[553480>>2]|0;kg=og+YM|0;lg=YM>>>0>nM>>>0;Vg=YM>>>0<2147483647;DM=lg&Vg;if(DM){Ng=Ur[553488>>2]|0;ug=(Ng|0)==0;if(!ug){bg=kg>>>0<=og>>>0;yg=kg>>>0>Ng>>>0;eM=bg|yg;if(eM){qM=0;break}}xg=BO(YM|0)|0;qg=(xg|0)==(Mg|0);HM=qg?YM:0;if(qg){yM=Mg;zM=HM;AO=194;break n}else{mI=xg;oM=YM;xM=HM;AO=184}}else{qM=0}}}}while(0);d:do{if((AO|0)==184){BR=0-oM|0;ER=(mI|0)!=(-1|0);DR=oM>>>0<2147483647;JM=DR&ER;CR=mJ>>>0>oM>>>0;RM=CR&JM;do{if(RM){ZR=Ur[553528>>2]|0;eR=XJ-oM|0;JR=eR+ZR|0;gR=0-ZR|0;RR=JR&gR;pR=RR>>>0<2147483647;if(pR){iR=BO(RR|0)|0;SR=(iR|0)==(-1|0);if(SR){BO(BR|0)|0;qM=xM;break d}else{PR=RR+oM|0;kM=PR;break}}else{kM=oM}}else{kM=oM}}while(0);GR=(mI|0)==(-1|0);if(GR){qM=xM}else{yM=mI;zM=kM;AO=194;break n}}}while(0);aR=Ur[553492>>2]|0;fR=aR|4;Ur[553492>>2]=fR;mM=qM;AO=191}else{mM=0;AO=191}}while(0);if((AO|0)==191){MR=_J>>>0<2147483647;if(MR){OR=BO(_J|0)|0;rR=BO(0)|0;UR=(OR|0)!=(-1|0);KR=(rR|0)!=(-1|0);wM=UR&KR;FR=OR>>>0>>0;pM=FR&wM;if(pM){cR=rR;sR=OR;TR=cR-sR|0;hR=nM+40|0;HR=TR>>>0>hR>>>0;Pd=HR?TR:mM;if(HR){yM=OR;zM=Pd;AO=194}}}}if((AO|0)==194){YR=Ur[553480>>2]|0;oR=YR+zM|0;Ur[553480>>2]=oR;kR=Ur[553484>>2]|0;lR=oR>>>0>kR>>>0;if(lR){Ur[553484>>2]=oR}VR=Ur[553072>>2]|0;NR=(VR|0)==(0|0);n:do{if(NR){uR=Ur[553064>>2]|0;LR=(uR|0)==(0|0);bR=yM>>>0>>0;iM=LR|bR;if(iM){Ur[553064>>2]=yM}Ur[553496>>2]=yM;Ur[553500>>2]=zM;Ur[553508>>2]=0;xR=Ur[553520>>2]|0;Ur[553084>>2]=xR;Ur[553080>>2]=-1;jI=0;while(1){qR=jI<<1;mR=553088+(qR<<2)|0;o=qR+3|0;zR=553088+(o<<2)|0;Ur[zR>>2]=mR;m=qR+2|0;XR=553088+(m<<2)|0;Ur[XR>>2]=mR;tR=jI+1|0;vI=(tR|0)==32;if(vI){break}else{jI=tR}}vR=zM+-40|0;jR=yM+8|0;_R=jR;$R=_R&7;dp=($R|0)==0;Ap=0-_R|0;Qp=Ap&7;Bp=dp?0:Qp;Ep=yM+Bp|0;Dp=vR-Bp|0;Ur[553072>>2]=Ep;Ur[553060>>2]=Dp;Cp=Dp|1;l=Bp+4|0;Zp=yM+l|0;Ur[Zp>>2]=Cp;Wn=zM+-36|0;ep=yM+Wn|0;Ur[ep>>2]=40;wp=Ur[553536>>2]|0;Ur[553076>>2]=wp}else{sM=553496;while(1){gp=Ur[sM>>2]|0;Rp=sM+4|0;pp=Ur[Rp>>2]|0;ip=gp+pp|0;Sp=(yM|0)==(ip|0);if(Sp){Z=gp;e=Rp;w=pp;TM=sM;AO=204;break}Pp=sM+8|0;Gp=Ur[Pp>>2]|0;ap=(Gp|0)==(0|0);if(ap){break}else{sM=Gp}}if((AO|0)==204){fp=TM+12|0;Ip=Ur[fp>>2]|0;Op=Ip&8;rp=(Op|0)==0;if(rp){Up=VR>>>0>=Z>>>0;Kp=VR>>>0>>0;gM=Kp&Up;if(gM){Fp=w+zM|0;Ur[e>>2]=Fp;cp=Ur[553060>>2]|0;sp=cp+zM|0;Tp=VR+8|0;hp=Tp;Wp=hp&7;Yp=(Wp|0)==0;op=0-hp|0;kp=op&7;lp=Yp?0:kp;Vp=VR+lp|0;Np=sp-lp|0;Ur[553072>>2]=Vp;Ur[553060>>2]=Np;up=Np|1;N=lp+4|0;Lp=VR+N|0;Ur[Lp>>2]=up;on=sp+4|0;bp=VR+on|0;Ur[bp>>2]=40;yp=Ur[553536>>2]|0;Ur[553076>>2]=yp;break}}}qp=Ur[553064>>2]|0;mp=yM>>>0>>0;if(mp){Ur[553064>>2]=yM;eS=yM}else{eS=qp}zp=yM+zM|0;hM=553496;while(1){Xp=Ur[hM>>2]|0;tp=(Xp|0)==(zp|0);if(tp){C=hM;WM=hM;AO=212;break}vp=hM+8|0;jp=Ur[vp>>2]|0;_p=(jp|0)==(0|0);if(_p){cM=553496;break}else{hM=jp}}if((AO|0)==212){$p=WM+12|0;ni=Ur[$p>>2]|0;Qi=ni&8;Bi=(Qi|0)==0;if(Bi){Ur[C>>2]=yM;Ei=WM+4|0;Di=Ur[Ei>>2]|0;Ci=Di+zM|0;Ur[Ei>>2]=Ci;Zi=yM+8|0;ei=Zi;wi=ei&7;Ji=(wi|0)==0;gi=0-ei|0;pi=gi&7;ii=Ji?0:pi;Si=yM+ii|0;An=zM+8|0;Pi=yM+An|0;Gi=Pi;ai=Gi&7;fi=(ai|0)==0;Ii=0-Gi|0;Mi=Ii&7;Oi=fi?0:Mi;Qn=Oi+zM|0;Ui=yM+Qn|0;Ki=Ui;Fi=Si;ci=Ki-Fi|0;u=ii+nM|0;si=yM+u|0;Ti=ci-nM|0;hi=nM|3;X=ii+4|0;Wi=yM+X|0;Ur[Wi>>2]=hi;Hi=(Ui|0)==(VR|0);d:do{if(Hi){Yi=Ur[553060>>2]|0;ki=Yi+Ti|0;Ur[553060>>2]=ki;Ur[553072>>2]=si;li=ki|1;Dd=u+4|0;Vi=yM+Dd|0;Ur[Vi>>2]=li}else{Ni=Ur[553068>>2]|0;ui=(Ui|0)==(Ni|0);if(ui){Li=Ur[553056>>2]|0;bi=Li+Ti|0;Ur[553056>>2]=bi;Ur[553068>>2]=si;yi=bi|1;Bd=u+4|0;xi=yM+Bd|0;Ur[xi>>2]=yi;Ed=bi+u|0;qi=yM+Ed|0;Ur[qi>>2]=bi;break}kn=zM+4|0;Bn=kn+Oi|0;zi=yM+Bn|0;Xi=Ur[zi>>2]|0;ti=Xi&3;vi=(ti|0)==1;if(vi){ji=Xi&-8;_i=Xi>>>3;$i=Xi>>>0<256;A:do{if($i){_n=Oi|8;Pn=_n+zM|0;nS=yM+Pn|0;dS=Ur[nS>>2]|0;$n=zM+12|0;Gn=$n+Oi|0;AS=yM+Gn|0;BS=Ur[AS>>2]|0;ES=_i<<1;DS=553088+(ES<<2)|0;CS=(dS|0)==(DS|0);do{if(!CS){ZS=dS>>>0>>0;if(ZS){CO()}wS=dS+12|0;JS=Ur[wS>>2]|0;gS=(JS|0)==(Ui|0);if(gS){break}CO()}}while(0);RS=(BS|0)==(dS|0);if(RS){iS=1<<_i;SS=iS^-1;PS=Ur[553048>>2]|0;GS=PS&SS;Ur[553048>>2]=GS;break}aS=(BS|0)==(DS|0);do{if(aS){T=BS+8|0;O=T}else{fS=BS>>>0>>0;if(fS){CO()}IS=BS+8|0;MS=Ur[IS>>2]|0;OS=(MS|0)==(Ui|0);if(OS){O=IS;break}CO()}}while(0);rS=dS+12|0;Ur[rS>>2]=BS;Ur[O>>2]=dS}else{vn=Oi|24;En=vn+zM|0;KS=yM+En|0;FS=Ur[KS>>2]|0;Zd=zM+12|0;Dn=Zd+Oi|0;cS=yM+Dn|0;sS=Ur[cS>>2]|0;TS=(sS|0)==(Ui|0);do{if(TS){Jd=Oi|16;pn=kn+Jd|0;LS=yM+pn|0;bS=Ur[LS>>2]|0;yS=(bS|0)==(0|0);if(yS){Sn=Jd+zM|0;xS=yM+Sn|0;qS=Ur[xS>>2]|0;mS=(qS|0)==(0|0);if(mS){sI=0;break}else{OI=qS;WI=xS}}else{OI=bS;WI=LS}while(1){XS=OI+20|0;tS=Ur[XS>>2]|0;vS=(tS|0)==(0|0);if(!vS){OI=tS;WI=XS;continue}jS=OI+16|0;_S=Ur[jS>>2]|0;$S=(_S|0)==(0|0);if($S){rI=OI;HI=WI;break}else{OI=_S;WI=jS}}nP=HI>>>0>>0;if(nP){CO()}else{Ur[HI>>2]=0;sI=rI;break}}else{jn=Oi|8;Cn=jn+zM|0;hS=yM+Cn|0;WS=Ur[hS>>2]|0;HS=WS>>>0>>0;if(HS){CO()}YS=WS+12|0;oS=Ur[YS>>2]|0;lS=(oS|0)==(Ui|0);if(!lS){CO()}VS=sS+8|0;NS=Ur[VS>>2]|0;uS=(NS|0)==(Ui|0);if(uS){Ur[YS>>2]=sS;Ur[VS>>2]=WS;sI=sS;break}else{CO()}}}while(0);dP=(FS|0)==(0|0);if(dP){break}Xn=zM+28|0;Zn=Xn+Oi|0;AP=yM+Zn|0;QP=Ur[AP>>2]|0;DP=553352+(QP<<2)|0;CP=Ur[DP>>2]|0;ZP=(Ui|0)==(CP|0);do{if(ZP){Ur[DP>>2]=sI;XI=(sI|0)==(0|0);if(!XI){break}eP=1<>2]|0;gP=JP&wP;Ur[553052>>2]=gP;break A}else{RP=Ur[553064>>2]|0;pP=FS>>>0>>0;if(pP){CO()}iP=FS+16|0;PP=Ur[iP>>2]|0;GP=(PP|0)==(Ui|0);if(GP){Ur[iP>>2]=sI}else{aP=FS+20|0;Ur[aP>>2]=sI}fP=(sI|0)==(0|0);if(fP){break A}}}while(0);IP=Ur[553064>>2]|0;MP=sI>>>0>>0;if(MP){CO()}OP=sI+24|0;Ur[OP>>2]=FS;tn=Oi|16;en=tn+zM|0;rP=yM+en|0;UP=Ur[rP>>2]|0;KP=(UP|0)==(0|0);do{if(!KP){cP=UP>>>0>>0;if(cP){CO()}else{sP=sI+16|0;Ur[sP>>2]=UP;TP=UP+24|0;Ur[TP>>2]=sI;break}}}while(0);gn=kn+tn|0;hP=yM+gn|0;WP=Ur[hP>>2]|0;HP=(WP|0)==(0|0);if(HP){break}YP=Ur[553064>>2]|0;oP=WP>>>0>>0;if(oP){CO()}else{kP=sI+20|0;Ur[kP>>2]=WP;lP=WP+24|0;Ur[lP>>2]=sI;break}}}while(0);Sd=ji|Oi;Rn=Sd+zM|0;NP=yM+Rn|0;uP=ji+Ti|0;BM=NP;SM=uP}else{BM=Ui;SM=Ti}LP=BM+4|0;bP=Ur[LP>>2]|0;yP=bP&-2;Ur[LP>>2]=yP;xP=SM|1;_=u+4|0;qP=yM+_|0;Ur[qP>>2]=xP;nn=SM+u|0;mP=yM+nn|0;Ur[mP>>2]=SM;zP=SM>>>3;XP=SM>>>0<256;if(XP){vP=zP<<1;jP=553088+(vP<<2)|0;_P=Ur[553048>>2]|0;$P=1<>2]=AG;P=vP+2|0;s=553088+(P<<2)|0;f=s;pI=jP}else{qn=vP+2|0;QG=553088+(qn<<2)|0;BG=Ur[QG>>2]|0;EG=Ur[553064>>2]|0;CG=BG>>>0>>0;if(!CG){f=QG;pI=BG;break}CO()}}while(0);Ur[f>>2]=si;ZG=pI+12|0;Ur[ZG>>2]=si;yn=u+8|0;eG=yM+yn|0;Ur[eG>>2]=pI;xn=u+12|0;wG=yM+xn|0;Ur[wG>>2]=jP;break}JG=SM>>>8;gG=(JG|0)==0;do{if(gG){GI=0}else{RG=SM>>>0>16777215;if(RG){GI=31;break}pG=JG+1048320|0;iG=pG>>>16;SG=iG&8;GG=JG<>>16;IG=fG&4;MG=IG|SG;OG=GG<>>16;KG=UG&2;FG=MG|KG;sG=14-FG|0;TG=OG<>>15;WG=sG+hG|0;HG=WG<<1;YG=WG+7|0;oG=SM>>>YG;kG=oG&1;lG=kG|HG;GI=lG}}while(0);VG=553352+(GI<<2)|0;Jn=u+28|0;uG=yM+Jn|0;Ur[uG>>2]=GI;fn=u+16|0;LG=yM+fn|0;In=u+20|0;bG=yM+In|0;Ur[bG>>2]=0;Ur[LG>>2]=0;yG=Ur[553052>>2]|0;xG=1<>2]=zG;Ur[VG>>2]=si;On=u+24|0;XG=yM+On|0;Ur[XG>>2]=VG;Un=u+12|0;tG=yM+Un|0;Ur[tG>>2]=si;Fn=u+8|0;jG=yM+Fn|0;Ur[jG>>2]=si;break}_G=Ur[VG>>2]|0;$G=_G+4|0;na=Ur[$G>>2]|0;da=na&-8;Aa=(da|0)==(SM|0);A:do{if(Aa){NI=_G}else{Qa=(GI|0)==31;Ba=GI>>>1;Ea=25-Ba|0;Da=Qa?0:Ea;ea=SM<>>31;Pa=(bI+16|0)+(Sa<<2)|0;ga=Ur[Pa>>2]|0;Ga=(ga|0)==(0|0);if(Ga){A=Pa;yI=bI;break}wa=II<<1;Ja=ga+4|0;Ra=Ur[Ja>>2]|0;pa=Ra&-8;ia=(pa|0)==(SM|0);if(ia){NI=ga;break A}else{II=wa;bI=ga}}fa=Ur[553064>>2]|0;Ia=A>>>0>>0;if(Ia){CO()}else{Ur[A>>2]=si;un=u+24|0;Ma=yM+un|0;Ur[Ma>>2]=yI;Ln=u+12|0;Oa=yM+Ln|0;Ur[Oa>>2]=si;bn=u+8|0;ra=yM+bn|0;Ur[ra>>2]=si;break d}}}while(0);Ua=NI+8|0;Ka=Ur[Ua>>2]|0;Fa=Ur[553064>>2]|0;ca=Ka>>>0>=Fa>>>0;QM=NI>>>0>=Fa>>>0;sa=ca&QM;if(sa){ha=Ka+12|0;Ur[ha>>2]=si;Ur[Ua>>2]=si;ln=u+8|0;Wa=yM+ln|0;Ur[Wa>>2]=Ka;Vn=u+12|0;Ha=yM+Vn|0;Ur[Ha>>2]=NI;Nn=u+24|0;Ya=yM+Nn|0;Ur[Ya>>2]=0;break}else{CO()}}}while(0);sn=ii|8;oa=yM+sn|0;$I=oa;return $I|0}else{cM=553496}}while(1){ka=Ur[cM>>2]|0;la=ka>>>0>VR>>>0;if(!la){Va=cM+4|0;Na=Ur[Va>>2]|0;ua=ka+Na|0;ba=ua>>>0>VR>>>0;if(ba){B=ka;E=Na;D=ua;break}}ya=cM+8|0;xa=Ur[ya>>2]|0;cM=xa}V=E+-47|0;z=E+-39|0;qa=B+z|0;ma=qa;za=ma&7;Xa=(za|0)==0;ta=0-ma|0;va=ta&7;ja=Xa?0:va;Yn=V+ja|0;$a=B+Yn|0;nf=VR+16|0;df=$a>>>0>>0;Af=df?VR:$a;Qf=Af+8|0;Bf=zM+-40|0;Ef=yM+8|0;Df=Ef;Cf=Df&7;Zf=(Cf|0)==0;wf=0-Df|0;Jf=wf&7;gf=Zf?0:Jf;Rf=yM+gf|0;pf=Bf-gf|0;Ur[553072>>2]=Rf;Ur[553060>>2]=pf;Sf=pf|1;k=gf+4|0;Pf=yM+k|0;Ur[Pf>>2]=Sf;Hn=zM+-36|0;Gf=yM+Hn|0;Ur[Gf>>2]=40;af=Ur[553536>>2]|0;Ur[553076>>2]=af;ff=Af+4|0;Ur[ff>>2]=27;Ur[Qf>>2]=Ur[553496>>2]|0;Ur[Qf+4>>2]=Ur[553496+4>>2]|0;Ur[Qf+8>>2]=Ur[553496+8>>2]|0;Ur[Qf+12>>2]=Ur[553496+12>>2]|0;Ur[553496>>2]=yM;Ur[553500>>2]=zM;Ur[553508>>2]=0;Ur[553504>>2]=Qf;Mf=Af+28|0;Ur[Mf>>2]=7;Of=Af+32|0;rf=Of>>>0>>0;if(rf){Kf=Mf;while(1){Uf=Kf+4|0;Ur[Uf>>2]=7;Ff=Kf+8|0;cf=Ff>>>0>>0;if(cf){Kf=Uf}else{break}}}sf=(Af|0)==(VR|0);if(!sf){Tf=Af;hf=VR;Hf=Tf-hf|0;Yf=Ur[ff>>2]|0;of=Yf&-2;Ur[ff>>2]=of;kf=Hf|1;lf=VR+4|0;Ur[lf>>2]=kf;Ur[Af>>2]=Hf;Vf=Hf>>>3;Nf=Hf>>>0<256;if(Nf){uf=Vf<<1;Lf=553088+(uf<<2)|0;bf=Ur[553048>>2]|0;xf=1<>2]=zf;S=uf+2|0;F=553088+(S<<2)|0;a=F;JI=Lf}else{Ad=uf+2|0;Xf=553088+(Ad<<2)|0;tf=Ur[Xf>>2]|0;vf=Ur[553064>>2]|0;jf=tf>>>0>>0;if(jf){CO()}else{a=Xf;JI=tf}}Ur[a>>2]=VR;_f=JI+12|0;Ur[_f>>2]=VR;$f=VR+8|0;Ur[$f>>2]=JI;dI=VR+12|0;Ur[dI>>2]=Lf;break}AI=Hf>>>8;QI=(AI|0)==0;if(QI){SI=0}else{BI=Hf>>>0>16777215;if(BI){SI=31}else{EI=AI+1048320|0;DI=EI>>>16;CI=DI&8;ZI=AI<>>16;Od=wI&4;rd=Od|CI;Ud=ZI<>>16;cd=Fd&2;sd=rd|cd;Td=14-sd|0;hd=Ud<>>15;Yd=Td+Wd|0;od=Yd<<1;kd=Yd+7|0;ld=Hf>>>kd;Vd=ld&1;Nd=Vd|od;SI=Nd}}ud=553352+(SI<<2)|0;Ld=VR+28|0;Ur[Ld>>2]=SI;bd=VR+20|0;Ur[bd>>2]=0;Ur[nf>>2]=0;yd=Ur[553052>>2]|0;qd=1<>2]=Xd;Ur[ud>>2]=VR;td=VR+24|0;Ur[td>>2]=ud;vd=VR+12|0;Ur[vd>>2]=VR;jd=VR+8|0;Ur[jd>>2]=VR;break}_d=Ur[ud>>2]|0;$d=_d+4|0;nA=Ur[$d>>2]|0;AA=nA&-8;QA=(AA|0)==(Hf|0);d:do{if(QA){VI=_d}else{BA=(SI|0)==31;EA=SI>>>1;DA=25-EA|0;CA=BA?0:DA;ZA=Hf<>>31;PA=(xI+16|0)+(SA<<2)|0;JA=Ur[PA>>2]|0;GA=(JA|0)==(0|0);if(GA){Q=PA;qI=xI;break}eA=fI<<1;wA=JA+4|0;RA=Ur[wA>>2]|0;pA=RA&-8;iA=(pA|0)==(Hf|0);if(iA){VI=JA;break d}else{fI=eA;xI=JA}}aA=Ur[553064>>2]|0;fA=Q>>>0>>0;if(fA){CO()}else{Ur[Q>>2]=VR;IA=VR+24|0;Ur[IA>>2]=qI;MA=VR+12|0;Ur[MA>>2]=VR;rA=VR+8|0;Ur[rA>>2]=VR;break n}}}while(0);UA=VI+8|0;KA=Ur[UA>>2]|0;FA=Ur[553064>>2]|0;cA=KA>>>0>=FA>>>0;AM=VI>>>0>=FA>>>0;sA=cA&AM;if(sA){TA=KA+12|0;Ur[TA>>2]=VR;Ur[UA>>2]=VR;hA=VR+8|0;Ur[hA>>2]=KA;WA=VR+12|0;Ur[WA>>2]=VI;HA=VR+24|0;Ur[HA>>2]=0;break}else{CO()}}}}while(0);oA=Ur[553060>>2]|0;kA=oA>>>0>nM>>>0;if(kA){lA=oA-nM|0;Ur[553060>>2]=lA;VA=Ur[553072>>2]|0;NA=VA+nM|0;Ur[553072>>2]=NA;uA=lA|1;b=nM+4|0;LA=VA+b|0;Ur[LA>>2]=uA;bA=nM|3;yA=VA+4|0;Ur[yA>>2]=bA;xA=VA+8|0;$I=xA;return $I|0}}mA=DO()|0;Ur[mA>>2]=12;$I=0;return $I|0}function qB(n){n=n|0;var d=0,A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0;var I=0,M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0;var L=0,b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0;var Cn=0,Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0;var cn=0,sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0;var Xn=0,tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0;var pd=0,id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0;var Yd=0,od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0;var nA=0,dA=0,AA=0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0;var fA=0,IA=0,MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0;var uA=0,LA=0,bA=0,yA=0,xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0;var DQ=0,CQ=0,ZQ=0,eQ=0,wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0,rQ=0,UQ=0;var KQ=0,FQ=0,cQ=0,sQ=0,TQ=0,hQ=0,WQ=0,HQ=0,YQ=0,oQ=0,kQ=0,lQ=0,VQ=0,NQ=0,uQ=0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0;var mQ=0,zQ=0,XQ=0,tQ=0,vQ=0,jQ=0,_Q=0,$Q=0,nB=0,dB=0,AB=0,QB=0,BB=0,EB=0,DB=0,CB=0,ZB=0,eB=0,wB=0,JB=0;var gB=0,RB=0,pB=0,iB=0,SB=0,PB=0,GB=0,aB=0,fB=0,IB=0,MB=0,OB=0,rB=0,UB=0,KB=0,FB=0,cB=0,sB=0,TB=0,hB=0;var WB=0,HB=0,YB=0,oB=0,kB=0,lB=0,VB=0,NB=0,uB=0,LB=0,bB=0,yB=0,xB=0,qB=0,mB=0,zB=0,XB=0,tB=0,vB=0,jB=0;var _B=0,$B=0,nE=0,dE=0,AE=0,QE=0,BE=0,EE=0,DE=0,CE=0,ZE=0,eE=0,wE=0,JE=0,gE=0,RE=0,pE=0,iE=0,SE=0,PE=0;var GE=0,aE=0,fE=0,IE=0,ME=0,OE=0,rE=0,UE=0,KE=0,FE=0,cE=0,sE=0,TE=0,hE=0,WE=0,HE=0,YE=0,oE=0,kE=0,lE=0;var VE=0,NE=0,uE=0,LE=0,bE=0,yE=0,xE=0,qE=0,mE=0,zE=0,XE=0,tE=0,vE=0,jE=0,_E=0,$E=0,nD=0,dD=0,AD=0,QD=0;QD=cr;H=(n|0)==(0|0);if(H){return}Y=n+-8|0;Vd=Ur[553064>>2]|0;LQ=Y>>>0>>0;if(LQ){CO()}fB=n+-4|0;hB=Ur[fB>>2]|0;bB=hB&3;$B=(bB|0)==1;if($B){CO()}wE=hB&-8;e=wE+-8|0;IE=n+e|0;o=hB&1;m=(o|0)==0;do{if(m){Qn=Ur[Y>>2]|0;pn=(bB|0)==0;if(pn){return}S=-8-Qn|0;Kn=n+S|0;ln=Qn+wE|0;Xn=Kn>>>0>>0;if(Xn){CO()}Ed=Ur[553068>>2]|0;Sd=(Kn|0)==(Ed|0);if(Sd){K=wE+-4|0;N=n+K|0;u=Ur[N>>2]|0;L=u&3;b=(L|0)==3;if(!b){jE=Kn;_E=ln;break}Ur[553056>>2]=ln;y=u&-2;Ur[N>>2]=y;x=ln|1;P=S+4|0;q=n+P|0;Ur[q>>2]=x;Ur[IE>>2]=ln;return}Fd=Qn>>>3;Nd=Qn>>>0<256;if(Nd){F=S+8|0;vd=n+F|0;CA=Ur[vd>>2]|0;c=S+12|0;GA=n+c|0;sA=Ur[GA>>2]|0;uA=Fd<<1;jA=553088+(uA<<2)|0;ZQ=(CA|0)==(jA|0);if(!ZQ){aQ=CA>>>0>>0;if(aQ){CO()}TQ=CA+12|0;bQ=Ur[TQ>>2]|0;$Q=(bQ|0)==(Kn|0);if(!$Q){CO()}}wB=(sA|0)==(CA|0);if(wB){RB=1<>2]|0;SB=iB&pB;Ur[553048>>2]=SB;jE=Kn;_E=ln;break}PB=(sA|0)==(jA|0);if(PB){Z=sA+8|0;B=Z}else{GB=sA>>>0>>0;if(GB){CO()}aB=sA+8|0;IB=Ur[aB>>2]|0;MB=(IB|0)==(Kn|0);if(MB){B=aB}else{CO()}}OB=CA+12|0;Ur[OB>>2]=sA;Ur[B>>2]=CA;jE=Kn;_E=ln;break}G=S+24|0;rB=n+G|0;UB=Ur[rB>>2]|0;a=S+12|0;KB=n+a|0;FB=Ur[KB>>2]|0;cB=(FB|0)==(Kn|0);do{if(cB){I=S+20|0;NB=n+I|0;uB=Ur[NB>>2]|0;LB=(uB|0)==(0|0);if(LB){f=S+16|0;yB=n+f|0;xB=Ur[yB>>2]|0;qB=(xB|0)==(0|0);if(qB){lE=0;break}else{oE=xB;LE=yB}}else{oE=uB;LE=NB}while(1){mB=oE+20|0;zB=Ur[mB>>2]|0;XB=(zB|0)==(0|0);if(!XB){oE=zB;LE=mB;continue}tB=oE+16|0;vB=Ur[tB>>2]|0;jB=(vB|0)==(0|0);if(jB){kE=oE;bE=LE;break}else{oE=vB;LE=tB}}_B=bE>>>0>>0;if(_B){CO()}else{Ur[bE>>2]=0;lE=kE;break}}else{U=S+8|0;sB=n+U|0;TB=Ur[sB>>2]|0;WB=TB>>>0>>0;if(WB){CO()}HB=TB+12|0;YB=Ur[HB>>2]|0;oB=(YB|0)==(Kn|0);if(!oB){CO()}kB=FB+8|0;lB=Ur[kB>>2]|0;VB=(lB|0)==(Kn|0);if(VB){Ur[HB>>2]=FB;Ur[kB>>2]=TB;lE=FB;break}else{CO()}}}while(0);nE=(UB|0)==(0|0);if(nE){jE=Kn;_E=ln}else{M=S+28|0;dE=n+M|0;AE=Ur[dE>>2]|0;QE=553352+(AE<<2)|0;BE=Ur[QE>>2]|0;EE=(Kn|0)==(BE|0);if(EE){Ur[QE>>2]=lE;XE=(lE|0)==(0|0);if(XE){DE=1<>2]|0;eE=ZE&CE;Ur[553052>>2]=eE;jE=Kn;_E=ln;break}}else{JE=Ur[553064>>2]|0;gE=UB>>>0>>0;if(gE){CO()}RE=UB+16|0;pE=Ur[RE>>2]|0;iE=(pE|0)==(Kn|0);if(iE){Ur[RE>>2]=lE}else{SE=UB+20|0;Ur[SE>>2]=lE}PE=(lE|0)==(0|0);if(PE){jE=Kn;_E=ln;break}}GE=Ur[553064>>2]|0;aE=lE>>>0>>0;if(aE){CO()}fE=lE+24|0;Ur[fE>>2]=UB;O=S+16|0;ME=n+O|0;OE=Ur[ME>>2]|0;rE=(OE|0)==(0|0);do{if(!rE){UE=OE>>>0>>0;if(UE){CO()}else{KE=lE+16|0;Ur[KE>>2]=OE;FE=OE+24|0;Ur[FE>>2]=lE;break}}}while(0);r=S+20|0;cE=n+r|0;sE=Ur[cE>>2]|0;TE=(sE|0)==(0|0);if(TE){jE=Kn;_E=ln}else{hE=Ur[553064>>2]|0;k=sE>>>0>>0;if(k){CO()}else{l=lE+20|0;Ur[l>>2]=sE;V=sE+24|0;Ur[V>>2]=lE;jE=Kn;_E=ln;break}}}}else{jE=Y;_E=wE}}while(0);z=jE>>>0>>0;if(!z){CO()}i=wE+-4|0;X=n+i|0;t=Ur[X>>2]|0;v=t&1;j=(v|0)==0;if(j){CO()}_=t&2;$=(_|0)==0;if($){nn=Ur[553072>>2]|0;dn=(IE|0)==(nn|0);if(dn){An=Ur[553060>>2]|0;Bn=An+_E|0;Ur[553060>>2]=Bn;Ur[553072>>2]=jE;En=Bn|1;Dn=jE+4|0;Ur[Dn>>2]=En;Cn=Ur[553068>>2]|0;Zn=(jE|0)==(Cn|0);if(!Zn){return}Ur[553068>>2]=0;Ur[553056>>2]=0;return}en=Ur[553068>>2]|0;wn=(IE|0)==(en|0);if(wn){Jn=Ur[553056>>2]|0;gn=Jn+_E|0;Ur[553056>>2]=gn;Ur[553068>>2]=jE;Rn=gn|1;Sn=jE+4|0;Ur[Sn>>2]=Rn;Pn=jE+gn|0;Ur[Pn>>2]=gn;return}Gn=t&-8;an=Gn+_E|0;fn=t>>>3;In=t>>>0<256;do{if(In){Mn=n+wE|0;On=Ur[Mn>>2]|0;p=wE|4;rn=n+p|0;Un=Ur[rn>>2]|0;Fn=fn<<1;cn=553088+(Fn<<2)|0;sn=(On|0)==(cn|0);if(!sn){Tn=Ur[553064>>2]|0;hn=On>>>0>>0;if(hn){CO()}Wn=On+12|0;Hn=Ur[Wn>>2]|0;Yn=(Hn|0)==(IE|0);if(!Yn){CO()}}on=(Un|0)==(On|0);if(on){kn=1<>2]|0;un=Nn&Vn;Ur[553048>>2]=un;break}Ln=(Un|0)==(cn|0);if(Ln){C=Un+8|0;Q=C}else{bn=Ur[553064>>2]|0;yn=Un>>>0>>0;if(yn){CO()}xn=Un+8|0;qn=Ur[xn>>2]|0;mn=(qn|0)==(IE|0);if(mn){Q=xn}else{CO()}}zn=On+12|0;Ur[zn>>2]=Un;Ur[Q>>2]=On}else{s=wE+16|0;tn=n+s|0;vn=Ur[tn>>2]|0;T=wE|4;jn=n+T|0;_n=Ur[jn>>2]|0;$n=(_n|0)==(IE|0);do{if($n){W=wE+12|0;Jd=n+W|0;gd=Ur[Jd>>2]|0;Rd=(gd|0)==(0|0);if(Rd){h=wE+8|0;pd=n+h|0;id=Ur[pd>>2]|0;Pd=(id|0)==(0|0);if(Pd){uE=0;break}else{VE=id;yE=pd}}else{VE=gd;yE=Jd}while(1){Gd=VE+20|0;ad=Ur[Gd>>2]|0;fd=(ad|0)==(0|0);if(!fd){VE=ad;yE=Gd;continue}Id=VE+16|0;Md=Ur[Id>>2]|0;Od=(Md|0)==(0|0);if(Od){NE=VE;xE=yE;break}else{VE=Md;yE=Id}}rd=Ur[553064>>2]|0;Ud=xE>>>0>>0;if(Ud){CO()}else{Ur[xE>>2]=0;uE=NE;break}}else{nd=n+wE|0;dd=Ur[nd>>2]|0;Ad=Ur[553064>>2]|0;Qd=dd>>>0>>0;if(Qd){CO()}Bd=dd+12|0;Dd=Ur[Bd>>2]|0;Cd=(Dd|0)==(IE|0);if(!Cd){CO()}Zd=_n+8|0;ed=Ur[Zd>>2]|0;wd=(ed|0)==(IE|0);if(wd){Ur[Bd>>2]=_n;Ur[Zd>>2]=dd;uE=_n;break}else{CO()}}}while(0);Kd=(vn|0)==(0|0);if(!Kd){J=wE+20|0;cd=n+J|0;sd=Ur[cd>>2]|0;Td=553352+(sd<<2)|0;hd=Ur[Td>>2]|0;Wd=(IE|0)==(hd|0);if(Wd){Ur[Td>>2]=uE;tE=(uE|0)==(0|0);if(tE){Hd=1<>2]|0;kd=od&Yd;Ur[553052>>2]=kd;break}}else{ld=Ur[553064>>2]|0;ud=vn>>>0>>0;if(ud){CO()}Ld=vn+16|0;bd=Ur[Ld>>2]|0;yd=(bd|0)==(IE|0);if(yd){Ur[Ld>>2]=uE}else{xd=vn+20|0;Ur[xd>>2]=uE}qd=(uE|0)==(0|0);if(qd){break}}md=Ur[553064>>2]|0;zd=uE>>>0>>0;if(zd){CO()}Xd=uE+24|0;Ur[Xd>>2]=vn;g=wE+8|0;td=n+g|0;jd=Ur[td>>2]|0;_d=(jd|0)==(0|0);do{if(!_d){$d=jd>>>0>>0;if($d){CO()}else{nA=uE+16|0;Ur[nA>>2]=jd;dA=jd+24|0;Ur[dA>>2]=uE;break}}}while(0);R=wE+12|0;AA=n+R|0;QA=Ur[AA>>2]|0;BA=(QA|0)==(0|0);if(!BA){EA=Ur[553064>>2]|0;DA=QA>>>0>>0;if(DA){CO()}else{ZA=uE+20|0;Ur[ZA>>2]=QA;eA=QA+24|0;Ur[eA>>2]=uE;break}}}}}while(0);wA=an|1;JA=jE+4|0;Ur[JA>>2]=wA;gA=jE+an|0;Ur[gA>>2]=an;RA=Ur[553068>>2]|0;pA=(jE|0)==(RA|0);if(pA){Ur[553056>>2]=an;return}else{$E=an}}else{iA=t&-2;Ur[X>>2]=iA;SA=_E|1;PA=jE+4|0;Ur[PA>>2]=SA;aA=jE+_E|0;Ur[aA>>2]=_E;$E=_E}fA=$E>>>3;IA=$E>>>0<256;if(IA){MA=fA<<1;OA=553088+(MA<<2)|0;rA=Ur[553048>>2]|0;UA=1<>2]=cA;A=MA+2|0;D=553088+(A<<2)|0;E=D;WE=OA}else{w=MA+2|0;TA=553088+(w<<2)|0;hA=Ur[TA>>2]|0;WA=Ur[553064>>2]|0;HA=hA>>>0>>0;if(HA){CO()}else{E=TA;WE=hA}}Ur[E>>2]=jE;YA=WE+12|0;Ur[YA>>2]=jE;oA=jE+8|0;Ur[oA>>2]=WE;kA=jE+12|0;Ur[kA>>2]=OA;return}lA=$E>>>8;VA=(lA|0)==0;if(VA){HE=0}else{NA=$E>>>0>16777215;if(NA){HE=31}else{LA=lA+1048320|0;bA=LA>>>16;yA=bA&8;xA=lA<>>16;zA=mA&4;XA=zA|yA;tA=xA<>>16;$A=_A&2;nQ=XA|$A;dQ=14-nQ|0;AQ=tA<<$A;QQ=AQ>>>15;BQ=dQ+QQ|0;EQ=BQ<<1;DQ=BQ+7|0;CQ=$E>>>DQ;eQ=CQ&1;wQ=eQ|EQ;HE=wQ}}JQ=553352+(HE<<2)|0;gQ=jE+28|0;Ur[gQ>>2]=HE;RQ=jE+16|0;pQ=jE+20|0;Ur[pQ>>2]=0;Ur[RQ>>2]=0;iQ=Ur[553052>>2]|0;SQ=1<>2]=fQ;Ur[JQ>>2]=jE;IQ=jE+24|0;Ur[IQ>>2]=JQ;MQ=jE+12|0;Ur[MQ>>2]=jE;OQ=jE+8|0;Ur[OQ>>2]=jE}else{rQ=Ur[JQ>>2]|0;UQ=rQ+4|0;KQ=Ur[UQ>>2]|0;FQ=KQ&-8;cQ=(FQ|0)==($E|0);d:do{if(cQ){qE=rQ}else{sQ=(HE|0)==31;hQ=HE>>>1;WQ=25-hQ|0;HQ=sQ?0:WQ;YQ=$E<>>31;xQ=(mE+16|0)+(yQ<<2)|0;lQ=Ur[xQ>>2]|0;qQ=(lQ|0)==(0|0);if(qQ){d=xQ;zE=mE;break}oQ=YE<<1;kQ=lQ+4|0;VQ=Ur[kQ>>2]|0;NQ=VQ&-8;uQ=(NQ|0)==($E|0);if(uQ){qE=lQ;break d}else{YE=oQ;mE=lQ}}mQ=Ur[553064>>2]|0;zQ=d>>>0>>0;if(zQ){CO()}else{Ur[d>>2]=jE;XQ=jE+24|0;Ur[XQ>>2]=zE;tQ=jE+12|0;Ur[tQ>>2]=jE;vQ=jE+8|0;Ur[vQ>>2]=jE;break n}}}while(0);jQ=qE+8|0;_Q=Ur[jQ>>2]|0;nB=Ur[553064>>2]|0;dB=_Q>>>0>=nB>>>0;vE=qE>>>0>=nB>>>0;AB=dB&vE;if(AB){QB=_Q+12|0;Ur[QB>>2]=jE;Ur[jQ>>2]=jE;BB=jE+8|0;Ur[BB>>2]=_Q;EB=jE+12|0;Ur[EB>>2]=qE;DB=jE+24|0;Ur[DB>>2]=0;break}else{CO()}}}while(0);CB=Ur[553080>>2]|0;ZB=CB+-1|0;Ur[553080>>2]=ZB;eB=(ZB|0)==0;if(eB){dD=553504}else{return}while(1){nD=Ur[dD>>2]|0;JB=(nD|0)==(0|0);gB=nD+8|0;if(JB){break}else{dD=gB}}Ur[553080>>2]=-1;return}function Hr(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0;P=cr;Q=(n|0)==0;if(Q){i=0}else{B=sr(d,n)|0;C=d|n;Z=C>>>0>65535;if(Z){e=(B>>>0)/(n>>>0)&-1;w=(e|0)==(d|0);A=w?B:-1;i=A}else{i=B}}J=Wr(i)|0;g=(J|0)==(0|0);if(g){return J|0}R=J+-4|0;p=Ur[R>>2]|0;E=p&3;D=(E|0)==0;if(D){return J|0}AZ(J|0,0,i|0)|0;return J|0}function mB(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0;F=cr;A=(n|0)==(0|0);if(A){Q=Wr(d)|0;U=Q;return U|0}p=d>>>0>4294967231;if(p){G=DO()|0;Ur[G>>2]=12;U=0;return U|0}a=d>>>0<11;f=d+11|0;I=f&-8;M=a?16:I;O=n+-8|0;r=Nd(O,M)|0;B=(r|0)==(0|0);if(!B){E=r+8|0;U=E;return U|0}D=Wr(d)|0;C=(D|0)==(0|0);if(C){U=0;return U|0}Z=n+-4|0;e=Ur[Z>>2]|0;w=e&-8;J=e&3;g=(J|0)==0;R=g?8:4;i=w-R|0;S=i>>>0>>0;P=S?i:d;Yr(D|0,n|0,P|0)|0;qB(n);U=D;return U|0}function Nd(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0;var tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0;var id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0;var od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0;var dA=0,AA=0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0;var IA=0,MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0;var LA=0,bA=0,yA=0,xA=0,qA=0,mA=0,zA=0;zA=cr;O=n+4|0;r=Ur[O>>2]|0;$n=r&-8;wd=n+$n|0;Id=Ur[553064>>2]|0;Wd=r&3;uA=n>>>0>=Id>>>0;LA=(Wd|0)!=1;bA=LA&uA;yd=n>>>0>>0;yA=bA&yd;if(!yA){CO()}P=$n|4;nA=n+P|0;JA=Ur[nA>>2]|0;MA=JA&1;U=(MA|0)==0;if(U){CO()}k=(Wd|0)==0;if(k){z=d>>>0<256;if(z){NA=0;return NA|0}Bn=d+4|0;Sn=$n>>>0>>0;if(!Sn){Fn=$n-d|0;Vn=Ur[553528>>2]|0;tn=Vn<<1;jn=Fn>>>0>tn>>>0;if(!jn){NA=n;return NA|0}}NA=0;return NA|0}_n=$n>>>0>>0;if(!_n){nd=$n-d|0;dd=nd>>>0>15;if(!dd){NA=n;return NA|0}Ad=n+d|0;Qd=r&1;Bd=Qd|d;Ed=Bd|2;Ur[O>>2]=Ed;S=d+4|0;Dd=n+S|0;Cd=nd|3;Ur[Dd>>2]=Cd;Zd=Ur[nA>>2]|0;ed=Zd|1;Ur[nA>>2]=ed;XA(Ad,nd);NA=n;return NA|0}Jd=Ur[553072>>2]|0;gd=(wd|0)==(Jd|0);if(gd){Rd=Ur[553060>>2]|0;pd=Rd+$n|0;id=pd>>>0>d>>>0;if(!id){NA=0;return NA|0}Sd=pd-d|0;Pd=n+d|0;Gd=r&1;ad=Gd|d;fd=ad|2;Ur[O>>2]=fd;i=d+4|0;Md=n+i|0;Od=Sd|1;Ur[Md>>2]=Od;Ur[553072>>2]=Pd;Ur[553060>>2]=Sd;NA=n;return NA|0}rd=Ur[553068>>2]|0;Ud=(wd|0)==(rd|0);if(Ud){Kd=Ur[553056>>2]|0;Fd=Kd+$n|0;cd=Fd>>>0>>0;if(cd){NA=0;return NA|0}sd=Fd-d|0;Td=sd>>>0>15;if(Td){hd=n+d|0;Hd=n+Fd|0;Yd=r&1;od=Yd|d;kd=od|2;Ur[O>>2]=kd;g=d+4|0;ld=n+g|0;Vd=sd|1;Ur[ld>>2]=Vd;Ur[Hd>>2]=sd;p=Fd+4|0;Nd=n+p|0;ud=Ur[Nd>>2]|0;Ld=ud&-2;Ur[Nd>>2]=Ld;xA=hd;qA=sd}else{bd=r&1;xd=bd|Fd;qd=xd|2;Ur[O>>2]=qd;J=Fd+4|0;md=n+J|0;zd=Ur[md>>2]|0;Xd=zd|1;Ur[md>>2]=Xd;xA=0;qA=0}Ur[553056>>2]=qA;Ur[553068>>2]=xA;NA=n;return NA|0}td=JA&2;vd=(td|0)==0;if(!vd){NA=0;return NA|0}jd=JA&-8;_d=jd+$n|0;$d=_d>>>0>>0;if($d){NA=0;return NA|0}dA=_d-d|0;AA=JA>>>3;QA=JA>>>0<256;do{if(QA){e=$n+8|0;BA=n+e|0;EA=Ur[BA>>2]|0;w=$n+12|0;DA=n+w|0;CA=Ur[DA>>2]|0;ZA=AA<<1;eA=553088+(ZA<<2)|0;wA=(EA|0)==(eA|0);if(!wA){gA=EA>>>0>>0;if(gA){CO()}RA=EA+12|0;pA=Ur[RA>>2]|0;iA=(pA|0)==(wd|0);if(!iA){CO()}}SA=(CA|0)==(EA|0);if(SA){PA=1<>2]|0;fA=aA&GA;Ur[553048>>2]=fA;break}IA=(CA|0)==(eA|0);if(IA){A=CA+8|0;Q=A}else{OA=CA>>>0>>0;if(OA){CO()}rA=CA+8|0;UA=Ur[rA>>2]|0;KA=(UA|0)==(wd|0);if(KA){Q=rA}else{CO()}}FA=EA+12|0;Ur[FA>>2]=CA;Ur[Q>>2]=EA}else{B=$n+24|0;cA=n+B|0;sA=Ur[cA>>2]|0;R=$n+12|0;TA=n+R|0;hA=Ur[TA>>2]|0;WA=(hA|0)==(wd|0);do{if(WA){a=$n+20|0;o=n+a|0;l=Ur[o>>2]|0;V=(l|0)==(0|0);if(V){G=$n+16|0;N=n+G|0;u=Ur[N>>2]|0;L=(u|0)==(0|0);if(L){oA=0;break}else{HA=u;kA=N}}else{HA=l;kA=o}while(1){b=HA+20|0;y=Ur[b>>2]|0;x=(y|0)==(0|0);if(!x){HA=y;kA=b;continue}q=HA+16|0;m=Ur[q>>2]|0;X=(m|0)==(0|0);if(X){YA=HA;lA=kA;break}else{HA=m;kA=q}}t=lA>>>0>>0;if(t){CO()}else{Ur[lA>>2]=0;oA=YA;break}}else{Z=$n+8|0;K=n+Z|0;F=Ur[K>>2]|0;c=F>>>0>>0;if(c){CO()}s=F+12|0;T=Ur[s>>2]|0;h=(T|0)==(wd|0);if(!h){CO()}W=hA+8|0;H=Ur[W>>2]|0;Y=(H|0)==(wd|0);if(Y){Ur[s>>2]=hA;Ur[W>>2]=F;oA=hA;break}else{CO()}}}while(0);v=(sA|0)==(0|0);if(!v){E=$n+28|0;j=n+E|0;_=Ur[j>>2]|0;$=553352+(_<<2)|0;nn=Ur[$>>2]|0;dn=(wd|0)==(nn|0);if(dn){Ur[$>>2]=oA;VA=(oA|0)==(0|0);if(VA){An=1<<_;Qn=An^-1;En=Ur[553052>>2]|0;Dn=En&Qn;Ur[553052>>2]=Dn;break}}else{Cn=Ur[553064>>2]|0;Zn=sA>>>0>>0;if(Zn){CO()}en=sA+16|0;wn=Ur[en>>2]|0;Jn=(wn|0)==(wd|0);if(Jn){Ur[en>>2]=oA}else{gn=sA+20|0;Ur[gn>>2]=oA}Rn=(oA|0)==(0|0);if(Rn){break}}pn=Ur[553064>>2]|0;Pn=oA>>>0>>0;if(Pn){CO()}Gn=oA+24|0;Ur[Gn>>2]=sA;D=$n+16|0;an=n+D|0;fn=Ur[an>>2]|0;In=(fn|0)==(0|0);do{if(!In){Mn=fn>>>0>>0;if(Mn){CO()}else{On=oA+16|0;Ur[On>>2]=fn;rn=fn+24|0;Ur[rn>>2]=oA;break}}}while(0);C=$n+20|0;Un=n+C|0;Kn=Ur[Un>>2]|0;cn=(Kn|0)==(0|0);if(!cn){sn=Ur[553064>>2]|0;Tn=Kn>>>0>>0;if(Tn){CO()}else{hn=oA+20|0;Ur[hn>>2]=Kn;Wn=Kn+24|0;Ur[Wn>>2]=oA;break}}}}}while(0);Hn=dA>>>0<16;if(Hn){Yn=r&1;on=_d|Yn;kn=on|2;Ur[O>>2]=kn;M=_d|4;ln=n+M|0;Nn=Ur[ln>>2]|0;un=Nn|1;Ur[ln>>2]=un;NA=n;return NA|0}else{Ln=n+d|0;bn=r&1;yn=bn|d;xn=yn|2;Ur[O>>2]=xn;f=d+4|0;qn=n+f|0;mn=dA|3;Ur[qn>>2]=mn;I=_d|4;zn=n+I|0;Xn=Ur[zn>>2]|0;vn=Xn|1;Ur[zn>>2]=vn;XA(Ln,dA);NA=n;return NA|0}return 0|0}function XA(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0,e=0,w=0,J=0,g=0,R=0,p=0,i=0,S=0,P=0,G=0,a=0,f=0,I=0;var M=0,O=0,r=0,U=0,K=0,F=0,c=0,s=0,T=0,h=0,W=0,H=0,Y=0,o=0,k=0,l=0,V=0,N=0,u=0,L=0;var b=0,y=0,x=0,q=0,m=0,z=0,X=0,t=0,v=0,j=0,_=0,$=0,nn=0,dn=0,An=0,Qn=0,Bn=0,En=0,Dn=0,Cn=0;var Zn=0,en=0,wn=0,Jn=0,gn=0,Rn=0,pn=0,Sn=0,Pn=0,Gn=0,an=0,fn=0,In=0,Mn=0,On=0,rn=0,Un=0,Kn=0,Fn=0,cn=0;var sn=0,Tn=0,hn=0,Wn=0,Hn=0,Yn=0,on=0,kn=0,ln=0,Vn=0,Nn=0,un=0,Ln=0,bn=0,yn=0,xn=0,qn=0,mn=0,zn=0,Xn=0;var tn=0,vn=0,jn=0,_n=0,$n=0,nd=0,dd=0,Ad=0,Qd=0,Bd=0,Ed=0,Dd=0,Cd=0,Zd=0,ed=0,wd=0,Jd=0,gd=0,Rd=0,pd=0;var id=0,Sd=0,Pd=0,Gd=0,ad=0,fd=0,Id=0,Md=0,Od=0,rd=0,Ud=0,Kd=0,Fd=0,cd=0,sd=0,Td=0,hd=0,Wd=0,Hd=0,Yd=0;var od=0,kd=0,ld=0,Vd=0,Nd=0,ud=0,Ld=0,bd=0,yd=0,xd=0,qd=0,md=0,zd=0,Xd=0,td=0,vd=0,jd=0,_d=0,$d=0,nA=0;var dA=0,AA=0,QA=0,BA=0,EA=0,DA=0,CA=0,ZA=0,eA=0,wA=0,JA=0,gA=0,RA=0,pA=0,iA=0,SA=0,PA=0,GA=0,aA=0,fA=0;var IA=0,MA=0,OA=0,rA=0,UA=0,KA=0,FA=0,cA=0,sA=0,TA=0,hA=0,WA=0,HA=0,YA=0,oA=0,kA=0,lA=0,VA=0,NA=0,uA=0;var LA=0,bA=0,yA=0,xA=0,qA=0,mA=0,zA=0,XA=0,tA=0,vA=0,jA=0,_A=0,$A=0,nQ=0,dQ=0,AQ=0,QQ=0,BQ=0,EQ=0,DQ=0;var CQ=0,ZQ=0,eQ=0,wQ=0,JQ=0,gQ=0,RQ=0,pQ=0,iQ=0,SQ=0,PQ=0,GQ=0,aQ=0,fQ=0,IQ=0,MQ=0,OQ=0,rQ=0,UQ=0,KQ=0;var FQ=0,cQ=0,sQ=0,TQ=0,hQ=0,WQ=0,HQ=0,YQ=0,oQ=0,kQ=0,lQ=0,VQ=0,NQ=0,uQ=0,LQ=0,bQ=0,yQ=0,xQ=0,qQ=0,mQ=0;var zQ=0,XQ=0,tQ=0,vQ=0,jQ=0,_Q=0,$Q=0,nB=0,dB=0,AB=0,QB=0,BB=0,EB=0,DB=0,CB=0,ZB=0,eB=0,wB=0,JB=0,gB=0;var RB=0,pB=0,iB=0,SB=0,PB=0,GB=0,aB=0,fB=0,IB=0,MB=0,OB=0,rB=0,UB=0,KB=0,FB=0,cB=0,sB=0,TB=0,hB=0,WB=0;var HB=0,YB=0,oB=0,kB=0,lB=0,VB=0,NB=0,uB=0,LB=0,bB=0,yB=0,xB=0,qB=0,mB=0,zB=0,XB=0,tB=0,vB=0,jB=0,_B=0;var $B=0,nE=0,dE=0,AE=0,QE=0,BE=0,EE=0,DE=0,CE=0,ZE=0,eE=0,wE=0,JE=0,gE=0,RE=0,pE=0,iE=0,SE=0,PE=0,GE=0;var aE=0,fE=0,IE=0,ME=0,OE=0,rE=0,UE=0,KE=0,FE=0,cE=0,sE=0,TE=0,hE=0,WE=0,HE=0,YE=0,oE=0,kE=0,lE=0,VE=0;var NE=0,uE=0,LE=0,bE=0;bE=cr;l=n+d|0;V=n+4|0;bd=Ur[V>>2]|0;qQ=bd&1;wB=(qQ|0)==0;do{if(wB){IB=Ur[n>>2]|0;WB=bd&3;yB=(WB|0)==0;if(yB){return}nE=0-IB|0;JE=n+nE|0;N=IB+d|0;v=Ur[553064>>2]|0;Cn=JE>>>0>>0;if(Cn){CO()}an=Ur[553068>>2]|0;Tn=(JE|0)==(an|0);if(Tn){R=d+4|0;IE=n+R|0;u=Ur[IE>>2]|0;L=u&3;b=(L|0)==3;if(!b){A=JE;Q=N;break}Ur[553056>>2]=N;y=u&-2;Ur[IE>>2]=y;x=N|1;a=4-IB|0;q=n+a|0;Ur[q>>2]=x;Ur[l>>2]=N;return}Ln=IB>>>3;_n=IB>>>0<256;if(_n){s=8-IB|0;ed=n+s|0;fd=Ur[ed>>2]|0;T=12-IB|0;hd=n+T|0;yd=Ur[hd>>2]|0;nA=Ln<<1;JA=553088+(nA<<2)|0;MA=(fd|0)==(JA|0);if(!MA){HA=fd>>>0>>0;if(HA){CO()}xA=fd+12|0;dQ=Ur[xA>>2]|0;gQ=(dQ|0)==(JE|0);if(!gQ){CO()}}OQ=(yd|0)==(fd|0);if(OQ){YQ=1<>2]|0;AB=dB&mQ;Ur[553048>>2]=AB;A=JE;Q=N;break}QB=(yd|0)==(JA|0);if(QB){g=yd+8|0;Z=g}else{BB=yd>>>0>>0;if(BB){CO()}EB=yd+8|0;DB=Ur[EB>>2]|0;CB=(DB|0)==(JE|0);if(CB){Z=EB}else{CO()}}ZB=fd+12|0;Ur[ZB>>2]=yd;Ur[Z>>2]=fd;A=JE;Q=N;break}f=24-IB|0;eB=n+f|0;JB=Ur[eB>>2]|0;I=12-IB|0;gB=n+I|0;RB=Ur[gB>>2]|0;pB=(RB|0)==(JE|0);do{if(pB){M=16-IB|0;O=M+4|0;UB=n+O|0;KB=Ur[UB>>2]|0;FB=(KB|0)==(0|0);if(FB){cB=n+M|0;sB=Ur[cB>>2]|0;TB=(sB|0)==(0|0);if(TB){FE=0;break}else{UE=sB;hE=cB}}else{UE=KB;hE=UB}while(1){hB=UE+20|0;HB=Ur[hB>>2]|0;YB=(HB|0)==(0|0);if(!YB){UE=HB;hE=hB;continue}oB=UE+16|0;kB=Ur[oB>>2]|0;lB=(kB|0)==(0|0);if(lB){KE=UE;WE=hE;break}else{UE=kB;hE=oB}}VB=WE>>>0>>0;if(VB){CO()}else{Ur[WE>>2]=0;FE=KE;break}}else{c=8-IB|0;iB=n+c|0;SB=Ur[iB>>2]|0;PB=SB>>>0>>0;if(PB){CO()}GB=SB+12|0;aB=Ur[GB>>2]|0;fB=(aB|0)==(JE|0);if(!fB){CO()}MB=RB+8|0;OB=Ur[MB>>2]|0;rB=(OB|0)==(JE|0);if(rB){Ur[GB>>2]=RB;Ur[MB>>2]=SB;FE=RB;break}else{CO()}}}while(0);NB=(JB|0)==(0|0);if(NB){A=JE;Q=N}else{U=28-IB|0;uB=n+U|0;LB=Ur[uB>>2]|0;bB=553352+(LB<<2)|0;xB=Ur[bB>>2]|0;qB=(JE|0)==(xB|0);if(qB){Ur[bB>>2]=FE;VE=(FE|0)==(0|0);if(VE){mB=1<>2]|0;tB=XB&zB;Ur[553052>>2]=tB;A=JE;Q=N;break}}else{vB=Ur[553064>>2]|0;jB=JB>>>0>>0;if(jB){CO()}_B=JB+16|0;$B=Ur[_B>>2]|0;dE=($B|0)==(JE|0);if(dE){Ur[_B>>2]=FE}else{AE=JB+20|0;Ur[AE>>2]=FE}QE=(FE|0)==(0|0);if(QE){A=JE;Q=N;break}}BE=Ur[553064>>2]|0;EE=FE>>>0>>0;if(EE){CO()}DE=FE+24|0;Ur[DE>>2]=JB;K=16-IB|0;CE=n+K|0;ZE=Ur[CE>>2]|0;eE=(ZE|0)==(0|0);do{if(!eE){wE=ZE>>>0>>0;if(wE){CO()}else{gE=FE+16|0;Ur[gE>>2]=ZE;RE=ZE+24|0;Ur[RE>>2]=FE;break}}}while(0);F=K+4|0;pE=n+F|0;iE=Ur[pE>>2]|0;SE=(iE|0)==(0|0);if(SE){A=JE;Q=N}else{PE=Ur[553064>>2]|0;GE=iE>>>0>>0;if(GE){CO()}else{aE=FE+20|0;Ur[aE>>2]=iE;fE=iE+24|0;Ur[fE>>2]=FE;A=JE;Q=N;break}}}}else{A=n;Q=d}}while(0);m=Ur[553064>>2]|0;z=l>>>0>>0;if(z){CO()}p=d+4|0;X=n+p|0;t=Ur[X>>2]|0;j=t&2;_=(j|0)==0;if(_){$=Ur[553072>>2]|0;nn=(l|0)==($|0);if(nn){dn=Ur[553060>>2]|0;An=dn+Q|0;Ur[553060>>2]=An;Ur[553072>>2]=A;Qn=An|1;Bn=A+4|0;Ur[Bn>>2]=Qn;En=Ur[553068>>2]|0;Dn=(A|0)==(En|0);if(!Dn){return}Ur[553068>>2]=0;Ur[553056>>2]=0;return}Zn=Ur[553068>>2]|0;en=(l|0)==(Zn|0);if(en){wn=Ur[553056>>2]|0;Jn=wn+Q|0;Ur[553056>>2]=Jn;Ur[553068>>2]=A;gn=Jn|1;Rn=A+4|0;Ur[Rn>>2]=gn;pn=A+Jn|0;Ur[pn>>2]=Jn;return}Sn=t&-8;Pn=Sn+Q|0;Gn=t>>>3;fn=t>>>0<256;do{if(fn){P=d+8|0;In=n+P|0;Mn=Ur[In>>2]|0;G=d+12|0;On=n+G|0;rn=Ur[On>>2]|0;Un=Gn<<1;Kn=553088+(Un<<2)|0;Fn=(Mn|0)==(Kn|0);if(!Fn){cn=Mn>>>0>>0;if(cn){CO()}sn=Mn+12|0;hn=Ur[sn>>2]|0;Wn=(hn|0)==(l|0);if(!Wn){CO()}}Hn=(rn|0)==(Mn|0);if(Hn){Yn=1<>2]|0;ln=kn&on;Ur[553048>>2]=ln;break}Vn=(rn|0)==(Kn|0);if(Vn){J=rn+8|0;C=J}else{Nn=rn>>>0>>0;if(Nn){CO()}un=rn+8|0;bn=Ur[un>>2]|0;yn=(bn|0)==(l|0);if(yn){C=un}else{CO()}}xn=Mn+12|0;Ur[xn>>2]=rn;Ur[C>>2]=Mn}else{r=d+24|0;qn=n+r|0;mn=Ur[qn>>2]|0;h=d+12|0;zn=n+h|0;Xn=Ur[zn>>2]|0;tn=(Xn|0)==(l|0);do{if(tn){H=d+20|0;Dd=n+H|0;Cd=Ur[Dd>>2]|0;Zd=(Cd|0)==(0|0);if(Zd){W=d+16|0;wd=n+W|0;Jd=Ur[wd>>2]|0;gd=(Jd|0)==(0|0);if(gd){TE=0;break}else{cE=Jd;HE=wd}}else{cE=Cd;HE=Dd}while(1){Rd=cE+20|0;pd=Ur[Rd>>2]|0;id=(pd|0)==(0|0);if(!id){cE=pd;HE=Rd;continue}Sd=cE+16|0;Pd=Ur[Sd>>2]|0;Gd=(Pd|0)==(0|0);if(Gd){sE=cE;YE=HE;break}else{cE=Pd;HE=Sd}}ad=YE>>>0>>0;if(ad){CO()}else{Ur[YE>>2]=0;TE=sE;break}}else{S=d+8|0;vn=n+S|0;jn=Ur[vn>>2]|0;$n=jn>>>0>>0;if($n){CO()}nd=jn+12|0;dd=Ur[nd>>2]|0;Ad=(dd|0)==(l|0);if(!Ad){CO()}Qd=Xn+8|0;Bd=Ur[Qd>>2]|0;Ed=(Bd|0)==(l|0);if(Ed){Ur[nd>>2]=Xn;Ur[Qd>>2]=jn;TE=Xn;break}else{CO()}}}while(0);Id=(mn|0)==(0|0);if(!Id){o=d+28|0;Md=n+o|0;Od=Ur[Md>>2]|0;rd=553352+(Od<<2)|0;Ud=Ur[rd>>2]|0;Kd=(l|0)==(Ud|0);if(Kd){Ur[rd>>2]=TE;NE=(TE|0)==(0|0);if(NE){Fd=1<>2]|0;Td=sd&cd;Ur[553052>>2]=Td;break}}else{Wd=Ur[553064>>2]|0;Hd=mn>>>0>>0;if(Hd){CO()}Yd=mn+16|0;od=Ur[Yd>>2]|0;kd=(od|0)==(l|0);if(kd){Ur[Yd>>2]=TE}else{ld=mn+20|0;Ur[ld>>2]=TE}Vd=(TE|0)==(0|0);if(Vd){break}}Nd=Ur[553064>>2]|0;ud=TE>>>0>>0;if(ud){CO()}Ld=TE+24|0;Ur[Ld>>2]=mn;k=d+16|0;xd=n+k|0;qd=Ur[xd>>2]|0;md=(qd|0)==(0|0);do{if(!md){zd=qd>>>0>>0;if(zd){CO()}else{Xd=TE+16|0;Ur[Xd>>2]=qd;td=qd+24|0;Ur[td>>2]=TE;break}}}while(0);i=d+20|0;vd=n+i|0;jd=Ur[vd>>2]|0;_d=(jd|0)==(0|0);if(!_d){$d=Ur[553064>>2]|0;dA=jd>>>0<$d>>>0;if(dA){CO()}else{AA=TE+20|0;Ur[AA>>2]=jd;QA=jd+24|0;Ur[QA>>2]=TE;break}}}}}while(0);BA=Pn|1;EA=A+4|0;Ur[EA>>2]=BA;DA=A+Pn|0;Ur[DA>>2]=Pn;CA=Ur[553068>>2]|0;ZA=(A|0)==(CA|0);if(ZA){Ur[553056>>2]=Pn;return}else{B=Pn}}else{eA=t&-2;Ur[X>>2]=eA;wA=Q|1;gA=A+4|0;Ur[gA>>2]=wA;RA=A+Q|0;Ur[RA>>2]=Q;B=Q}pA=B>>>3;iA=B>>>0<256;if(iA){SA=pA<<1;PA=553088+(SA<<2)|0;GA=Ur[553048>>2]|0;aA=1<>2]=OA;D=SA+2|0;w=553088+(D<<2)|0;e=w;ME=PA}else{Y=SA+2|0;rA=553088+(Y<<2)|0;UA=Ur[rA>>2]|0;KA=Ur[553064>>2]|0;FA=UA>>>0>>0;if(FA){CO()}else{e=rA;ME=UA}}Ur[e>>2]=A;cA=ME+12|0;Ur[cA>>2]=A;sA=A+8|0;Ur[sA>>2]=ME;TA=A+12|0;Ur[TA>>2]=PA;return}hA=B>>>8;WA=(hA|0)==0;if(WA){OE=0}else{YA=B>>>0>16777215;if(YA){OE=31}else{oA=hA+1048320|0;kA=oA>>>16;lA=kA&8;VA=hA<>>16;LA=uA&4;bA=LA|lA;yA=VA<>>16;zA=mA&2;XA=bA|zA;tA=14-XA|0;vA=yA<>>15;_A=tA+jA|0;$A=_A<<1;nQ=_A+7|0;AQ=B>>>nQ;QQ=AQ&1;BQ=QQ|$A;OE=BQ}}EQ=553352+(OE<<2)|0;DQ=A+28|0;Ur[DQ>>2]=OE;CQ=A+16|0;ZQ=A+20|0;Ur[ZQ>>2]=0;Ur[CQ>>2]=0;eQ=Ur[553052>>2]|0;wQ=1<>2]=pQ;Ur[EQ>>2]=A;iQ=A+24|0;Ur[iQ>>2]=EQ;SQ=A+12|0;Ur[SQ>>2]=A;PQ=A+8|0;Ur[PQ>>2]=A;return}GQ=Ur[EQ>>2]|0;aQ=GQ+4|0;fQ=Ur[aQ>>2]|0;IQ=fQ&-8;MQ=(IQ|0)==(B|0);n:do{if(MQ){oE=GQ}else{rQ=(OE|0)==31;UQ=OE>>>1;KQ=25-UQ|0;FQ=rQ?0:KQ;cQ=B<>>31;lQ=(kE+16|0)+(kQ<<2)|0;hQ=Ur[lQ>>2]|0;VQ=(hQ|0)==(0|0);if(VQ){E=lQ;lE=kE;break}sQ=rE<<1;TQ=hQ+4|0;WQ=Ur[TQ>>2]|0;HQ=WQ&-8;oQ=(HQ|0)==(B|0);if(oQ){oE=hQ;break n}else{rE=sQ;kE=hQ}}NQ=Ur[553064>>2]|0;uQ=E>>>0>>0;if(uQ){CO()}Ur[E>>2]=A;LQ=A+24|0;Ur[LQ>>2]=lE;bQ=A+12|0;Ur[bQ>>2]=A;yQ=A+8|0;Ur[yQ>>2]=A;return}}while(0);xQ=oE+8|0;zQ=Ur[xQ>>2]|0;XQ=Ur[553064>>2]|0;tQ=zQ>>>0>=XQ>>>0;uE=oE>>>0>=XQ>>>0;vQ=tQ&uE;if(!vQ){CO()}jQ=zQ+12|0;Ur[jQ>>2]=A;Ur[xQ>>2]=A;_Q=A+8|0;Ur[_Q>>2]=zQ;$Q=A+12|0;Ur[$Q>>2]=oE;nB=A+24|0;Ur[nB>>2]=0;return}function AZ(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0,B=0,E=0,D=0;Q=n+A|0;if((A|0)>=20){d=d&0xff;D=n&3;B=d|d<<8|d<<16|d<<24;E=Q&~3;if(D){D=n+4-D|0;while((n|0)<(D|0)){rB[n>>0]=d;n=n+1|0}}while((n|0)<(E|0)){Ur[n>>2]=B;n=n+4|0}}while((n|0)<(Q|0)){rB[n>>0]=d;n=n+1|0}return n-A|0}function ud(n){n=n|0;var d=0;d=n;while(rB[d>>0]|0){d=d+1|0}return d-n|0}function zd(n,d){n=n|0;d=d|0;var A=0;var Q=0;Q=n+(ud(n)|0)|0;do{rB[Q+A>>0]=rB[d+A>>0];A=A+1|0}while(rB[d+(A-1)>>0]|0);return n|0}function td(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0;if((A|0)<32){Q=(1<>>32-A;return n<>>0;E=d+Q+(B>>>0>>0|0)>>>0;return(uB=E,B|0)|0}function pQ(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0;if((A|0)<32){Q=(1<>>A;return n>>>A|(d&Q)<<32-A}uB=0;return d>>>A-32|0}function Yr(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0;if((A|0)>=4096)return t(n|0,d|0,A|0)|0;Q=n|0;if((n&3)==(d&3)){while(n&3){if((A|0)==0)return Q|0;rB[n>>0]=rB[d>>0]|0;n=n+1|0;d=d+1|0;A=A-1|0}while((A|0)>=4){Ur[n>>2]=Ur[d>>2]|0;n=n+4|0;d=d+4|0;A=A-4|0}}while((A|0)>0){rB[n>>0]=rB[d>>0]|0;n=n+1|0;d=d+1|0;A=A-1|0}return Q|0}function XB(n,d,A){n=n|0;d=d|0;A=A|0;var Q=0;if((d|0)<(n|0)&(n|0)<(d+A|0)){Q=n;d=d+A|0;n=n+A|0;while((A|0)>0){n=n-1|0;d=d-1|0;A=A-1|0;rB[n>>0]=rB[d>>0]|0}n=Q}else{Yr(n,d,A)|0}return n|0}function vd(n,d){n=n|0;d=d|0;var A=0;do{rB[(n+A|0)>>0]=rB[(d+A|0)>>0];A=A+1|0}while(rB[d+(A-1)>>0]|0);return n|0}function jd(n,d){n=n|0;d=d|0;var A=0,Q=0,B=0,E=0,D=0,C=0,Z=0;A=n&65535;Q=d&65535;B=sr(Q,A)|0;E=n>>>16;D=(B>>>16)+(sr(Q,E)|0)|0;C=d>>>16;Z=sr(C,A)|0;return(uB=((D>>>16)+(sr(C,E)|0)|0)+(((D&65535)+Z|0)>>>16)|0,0|(D+Z<<16|B&65535))|0}function _d(n,d,A,Q){n=n|0;d=d|0;A=A|0;Q=Q|0;var B=0,E=0,D=0,C=0,Z=0;B=n;E=A;D=jd(B,E)|0;C=uB;Z=sr(d,E)|0;return(uB=((sr(Q,B)|0)+Z|0)+C|C&0,0|D&-1)|0}function $d(n,d,A,Q){n=n|0;d=d|0;A=A|0;Q=Q|0;N(0);return 0}function nA(n){n=n|0;N(1)}function dA(n,d){n=n|0;d=d|0;N(2)}function AA(n){n=n|0;N(3);return 0}function QA(n,d,A){n=n|0;d=d|0;A=A|0;N(4)}function BA(n,d,A,Q,B,E,D,C){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;E=E|0;D=D|0;C=C|0;N(5);return 0}function EA(n,d){n=n|0;d=d|0;N(6);return 0}function DA(n,d,A,Q,B){n=n|0;d=d|0;A=A|0;Q=Q|0;B=B|0;N(7);return 0}var xA=[$d,Wn,Mn,On];var CA=[nA,sn,Tn,zn,nd,dd,nA,nA];var sA=[dA,Kn,Ad,dA];var ZA=[AA,Xn];var TA=[QA,xn];var CJ=[BA,Dd,Jd,BA];var fQ=[EA,Fn,cn,hn,qn,tn,Qd,Bd,Hn,$n,Pd,EA,EA,EA,EA,EA];var ZJ=[DA,Ed,Cd,Zd,ed,gd,DA,DA];return{_memmove:XB,_strlen:ud,_strcat:zd,_free:qB,_i64Add:zB,_encoder_clear:Fd,_encoder_transfer_data:hd,_encoder_data_len:Td,_memset:AZ,_malloc:Wr,_memcpy:Yr,_encoder_init:Ud,_encoder_process:sd,_bitshift64Lshr:pQ,_bitshift64Shl:td,_strcpy:vd,_encoder_analysis_buffer:cd}}(A.asmGlobalArg,A.asmLibraryArg,D),q=A._strlen=x._strlen,m=A._strcat=x._strcat;A._free=x._free,A._encoder_init=x._encoder_init;var z=A._i64Add=x._i64Add,X=A._memmove=x._memmove;A._encoder_transfer_data=x._encoder_transfer_data,A._encoder_process=x._encoder_process,A._encoder_data_len=x._encoder_data_len;var t=A._memset=x._memset;A._malloc=x._malloc;var v=A._memcpy=x._memcpy;A._encoder_clear=x._encoder_clear;var j=A._bitshift64Lshr=x._bitshift64Lshr;A._encoder_analysis_buffer=x._encoder_analysis_buffer;var _=A._strcpy=x._strcpy,$=A._bitshift64Shl=x._bitshift64Shl,nn=A._encoder_init,dn=A._encoder_clear,An=A._encoder_analysis_buffer,Qn=A._encoder_process,Bn=A._encoder_data_len,En=A._encoder_transfer_data,Dn=A.HEAPU8,Cn=A.HEAPU32,Zn=A.HEAPF32,en=function(n,d,A){this.numChannels=d,this.sampleRate=n,this.encoder=nn(this.numChannels,n,A)},wn=function(n,d){Qn(n,d);var A=Bn(n);if(0>2,E=0;E>2)}return wn(n,Q)};return en.prototype.encode=function(n){var d=n[0].length,A=this.sampleRate,Q=this.numChannels;if(d<=A)return Jn(this.encoder,Q,n);for(var B=new Uint8Array(5e5),E=0,D=0;DB.length){var g=new Uint8Array(B.length+Math.max(5e5,J));g.set(B.subarray(0,E)),B=g}B.set(w,E),E+=J}}return new Uint8Array(B.buffer.slice(0,E))},en.prototype.flush=function(){var n=wn(this.encoder,0);return dn(this.encoder),this.encoder=null,n},en.Module=A,en.Create=n,en}()}(("object"==typeof window&&window.document?window:Object).Recorder); \ No newline at end of file diff --git a/dist/engine/beta-webm.js b/dist/engine/beta-webm.js index d437e84a..d0c83959 100644 --- a/dist/engine/beta-webm.js +++ b/dist/engine/beta-webm.js @@ -3,4 +3,4 @@ https://github.com/xiangyuecn/Recorder src: engine/beta-webm.js */ -!function(){"use strict";var l="audio/webm",w=window.MediaRecorder&&MediaRecorder.isTypeSupported(l);Recorder.prototype.enc_webm={stable:!1,testmsg:w?"只有比较新的浏览器支持,压缩率和mp3差不多。由于未找到对已有pcm数据进行快速编码的方法,只能按照类似边播放边收听形式把数据导入到MediaRecorder,有几秒就要等几秒。(想接原始录音Stream?我不给,哼!)输出音频虽然可以通过比特率来控制文件大小,但音频文件中的比特率并非设定比特率,采样率由于是我们自己采样的,到这个编码器随他怎么搞":"此浏览器不支持进行webm编码,未实现MediaRecorder"},Recorder.prototype.webm=function(e,t,r){if(w){var a=this.set,n=e.length,o=a.sampleRate,c=Recorder.Ctx,i=c.createMediaStreamDestination();i.channelCount=1;var d=new MediaRecorder(i.stream,{mimeType:l,bitsPerSecond:1e3*a.bitRate}),s=[];d.ondataavailable=function(e){s.push(e.data)},d.onstop=function(e){t(new Blob(s,{type:l}))},d.onerror=function(e){r("转码webm出错:"+e.message)},d.start();for(var m=c.createBuffer(1,n,o),u=m.getChannelData(0),p=0;p>8&127]||8)-1,c=o<<4;c|=o<2?n>>4&15:n>>o+3&15,r[t]=c^a}return r},function(e){for(var r=new Int16Array(e.length),t=0;t>4;switch(o){case 0:n+=8;break;case 1:n+=264;break;default:n+=264,n<<=o-1}r[t]=128&a?n:-n}return r}),e("g711u","G.711 μ-law (pcmu、mu-law)",function(e){for(var r=new Uint8Array(e.length),t=0;t>8&127]||8)-1,c=o<<4|n>>o+3&15;r[t]=c^a}return r},function(e){for(var r=new Int16Array(e.length),t=0;t>4,r[t]=128&a?132-n:n-132}return r})}(); \ No newline at end of file +!function(e){var t="object"==typeof window&&!!window.document,r=(t?window:Object).Recorder,n=r.i18n;!function(s,e,m,t){"use strict";var r=function(i,e,u,c){s.prototype["enc_"+i]={stable:!0,fast:!0,getTestMsg:function(){return m("d8YX::{1};{2}音频文件无法直接播放,可用Recorder.{2}2wav()转码成wav播放;采样率比特率设置无效,固定为8000hz采样率、16位,每个采样压缩成8位存储,音频文件大小为8000字节/秒;如需任意采样率支持,请使用Recorder.{2}_encode()方法",0,e,i)}},s.prototype[i]=function(e,t,r){var n=this.set,a=n.sampleRate,o=8e3;if(n.bitRate=16,(n.sampleRate=o)e.memory.length){var n=new Uint8Array(e.memory.length+Math.max(5e5,r));n.set(e.memory.subarray(0,e.mOffset)),e.memory=n}e.memory.set(t,e.mOffset),e.mOffset+=r}(e,n)}},s.prototype[i+"_complete"]=function(e,t,r,n){if(e&&e.memory){n&&this[i+"_stop"](e);var a=e.memory.buffer.slice(0,e.mOffset);t(a,"audio/"+i)}else r(m("quVJ::{1}编码器未start",0,i))}},i=[1,2,3,3,4,4,4,4,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];r("g711a","G.711 A-law (pcma)",function(e){for(var t=new Uint8Array(e.length),r=0;r>8&127]||8)-1,f=o<<4;f|=o<2?a>>4&15:a>>o+3&15,t[r]=f^n}return t},function(e){for(var t=new Int16Array(e.length),r=0;r>4;switch(o){case 0:a+=8;break;case 1:a+=264;break;default:a+=264,a<<=o-1}t[r]=128&n?a:-a}return t}),r("g711u","G.711 μ-law (pcmu、mu-law)",function(e){for(var t=new Uint8Array(e.length),r=0;r>8&127]||8)-1,f=o<<4|a>>o+3&15;t[r]=f^n}return t},function(e){for(var t=new Int16Array(e.length),r=0;r>4,t[r]=128&n?132-a:a-132}return t})}(r,0,n.$T)}(); \ No newline at end of file diff --git a/dist/engine/mp3.js b/dist/engine/mp3.js index 92871309..4da4ffee 100644 --- a/dist/engine/mp3.js +++ b/dist/engine/mp3.js @@ -3,4 +3,4 @@ https://github.com/xiangyuecn/Recorder src: engine/mp3.js,engine/mp3-engine.js */ -!function(){"use strict";var i;Recorder.prototype.enc_mp3={stable:!0,testmsg:"采样率范围48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000"},Recorder.prototype.mp3=function(a,s,e){var t=this,n=t.set,r=a.length,i=t.mp3_start(n);if(i)return t.mp3_encode(i,a),void t.mp3_complete(i,s,e,1);var _=new Recorder.lamejs.Mp3Encoder(1,n.sampleRate,n.bitRate),o=[],l=0,f=0,c=function(){if(l=c.byteLength?(_-=c.byteLength,l.push(c),e.splice(f,1),f--):(e[f]=c.slice(_),o=c,_=0)}if(!this.rm(e,t)){o&&(e[0]=o);for(f=0;f "+s.duration+"ms",2>=1;0!=e--;)n[r++]=i>a[s++]?0:1,n[r++]=i>a[s++]?0:1}function w(e,t,a,s,n,r){var i=(e>>=1)%2;for(e>>=1;0!=e--;){var _,o,l,f,c,h,u,b;_=a[s++]*t,o=a[s++]*t,c=0|_,l=a[s++]*t,h=0|o,f=a[s++]*t,u=0|l,_+=M.adj43[c],b=0|f,o+=M.adj43[h],n[r++]=0|_,l+=M.adj43[u],n[r++]=0|o,f+=M.adj43[b],n[r++]=0|l,n[r++]=0|f}0!=i&&(c=0|(_=a[s++]*t),h=0|(o=a[s++]*t),_+=M.adj43[c],o+=M.adj43[h],n[r++]=0|_,n[r++]=0|o)}var _=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function v(e,t,a,s){var n=function(e,t,a){var s=0,n=0;do{var r=e[t++],i=e[t++];s>=16)&&(_=r,s++),n.bits+=_,s}(e,t,a,_[n-1],s);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return function(e,t,a,s,n){var r=0,i=0,_=0,o=j.ht[s].xlen,l=j.ht[s].hlen,f=j.ht[s+1].hlen,c=j.ht[s+2].hlen;do{var h=e[t+0]*o+e[t+1];t+=2,r+=l[h],i+=f[h],_+=c[h]}while(t=n);r++);for(i=r-8;i<24&&!(j.ht[i].linmax>=n);i++);return function(e,t,a,s,n,r){var i,_=65536*j.ht[s].xlen+j.ht[n].xlen,o=0;do{var l=e[t++],f=e[t++];0!=l&&(14>=16)&&(o=i,s=n),r.bits+=o,s}(e,t,a,i,r,s)}}function u(e,t,a,s,n,r,i,_){for(var o=t.big_values,l=2;l>1<<1);for(null!=a&&(a.sfb_count1=0);1t.big_values&&(r=t.big_values),i=t.big_values;else if(t.block_type==Pe.NORM_TYPE){if(r=t.region0_count=e.bv_scf[n-2],i=t.region1_count=e.bv_scf[n-1],i=e.scalefac_band.l[r+i+2],r=e.scalefac_band.l[r+1],ir)return y.LARGE_BITS;if(function(e,t,a,s,n){var r,i,_,o=0,l=0,f=0,c=0,h=t,u=0,b=h,m=0,p=e,d=0;for(_=null!=n&&s.global_gain==n.global_gain,i=s.block_type==Pe.SHORT_TYPE?38:21,r=0;r<=i;r++){var v=-1;if((_||s.block_type==Pe.NORM_TYPE)&&(v=s.global_gain-(s.scalefac[r]+(0!=s.preflag?M.pretab[r]:0)<s.max_nonzero_coeff&&(g=s.max_nonzero_coeff-o+1,Te.fill(t,s.max_nonzero_coeff,576,0),(S=g)<0&&(S=0),r=i+1),0==l&&0==f&&(b=h,m=u,p=e,d=c),null!=n&&0=n.sfb_count1&&0=n.step[r]?(0!=l&&(w(l,a,p,d,b,m),l=0,b=h,m=u,p=e,d=c),f+=S):(0!=f&&(R(f,a,p,d,b,m),f=0,b=h,m=u,p=e,d=c),l+=S),S<=0){0!=f&&(R(f,a,p,d,b,m),f=0),0!=l&&(w(l,a,p,d,b,m),l=0);break}}r<=i&&(u+=s.width[r],c+=s.width[r],o+=s.width[r])}0!=l&&(w(l,a,p,d,b,m),l=0),0!=f&&(R(f,a,p,d,b,m),f=0)}(t,n,M.IPOW20(a.global_gain),a,s),0!=(2&e.substep_shaping))for(var i=0,_=a.global_gain+a.scalefac_scale,o=.634521682242439/M.IPOW20(_),l=0;l=o?n[f]:0}return this.noquant_count_bits(e,a,s)},this.best_huffman_divide=function(e,t){var a=new x,s=t.l3_enc,n=Be(23),r=Be(23),i=Be(23),_=Be(23);if(t.block_type!=Pe.SHORT_TYPE||1!=e.mode_gr){a.assign(t),t.block_type==Pe.NORM_TYPE&&(!function(e,t,a,s,n,r,i){for(var _=t.big_values,o=0;o<=22;o++)s[o]=y.LARGE_BITS;for(o=0;o<16;o++){var l=e.scalefac_band.l[o+1];if(_<=l)break;var f=0,c=new d(f),h=v(a,0,l,c);f=c.bits;for(var u=0;u<8;u++){var b=e.scalefac_band.l[o+u+2];if(_<=b)break;var m=f,p=v(a,l,b,c=new d(m));m=c.bits,s[o+u]>m&&(s[o+u]=m,r[(n[o+u]=o)+u]=h,i[o+u]=p)}}}(e,t,s,n,r,i,_),u(e,a,t,s,n,r,i,_));var o=a.big_values;if(!(0==o||1<(s[o-2]|s[o-1])||576<(o=t.count1+2))){a.assign(t),a.count1=o;for(var l=0,f=0;o>a.big_values;o-=4){var c=2*(2*(2*s[o-4]+s[o-3])+s[o-2])+s[o-1];l+=j.t32l[c],f+=j.t33l[c]}if(a.big_values=o,a.count1table_select=0,fa.part2_3_length&&t.assign(a)}}}};var h=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],b=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],m=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],p=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];k.slen1_tab=m,k.slen2_tab=p,this.best_scalefac_store=function(e,t,a,s){var n,r,i,_,o=s.tt[t][a],l=0;for(n=i=0;n>=1);o.scalefac_scale=l=1}}if(0==o.preflag&&o.block_type!=Pe.SHORT_TYPE&&2==e.mode_gr){for(n=11;nf&&(s.part2_length=f,s.scalefac_compress=r)}}(a,s),l=0),n=0;ns[t]&&(e.part2_length=s[t],e.scalefac_compress=t);return e.part2_length==y.LARGE_BITS};var g=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(e,t){var a,s,n,r,i,_,o,l,f=Be(4),c=t.scalefac;for(a=0!=t.preflag?2:0,o=0;o<4;o++)f[o]=0;if(t.block_type==Pe.SHORT_TYPE){s=1;var h=M.nr_of_sfb_block[a][s];for(n=l=0;n<4;n++)for(r=h[n]/3,o=0;of[n]&&(f[n]=c[3*l+i])}else{s=0;h=M.nr_of_sfb_block[a][s];for(n=l=0;n<4;n++)for(r=h[n],o=0;of[n]&&(f[n]=c[l])}for(_=!1,n=0;n<4;n++)f[n]>g[a][n]&&(_=!0);if(!_){var u,b,m,p;for(t.sfb_partition_table=M.nr_of_sfb_block[a][s],n=0;n<4;n++)t.slen[n]=S[f[n]];switch(u=t.slen[0],b=t.slen[1],m=t.slen[2],p=t.slen[3],a){case 0:t.scalefac_compress=(5*u+b<<4)+(m<<2)+p;break;case 1:t.scalefac_compress=400+(5*u+b<<2)+m;break;case 2:t.scalefac_compress=500+3*u+b;break;default:$.err.printf("intensity stereo not implemented yet\n")}}if(!_)for(n=t.part2_length=0;n<4;n++)t.part2_length+=t.slen[n]*t.sfb_partition_table[n];return _};var S=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){for(var a,s=0;e.scalefac_band.l[++s]t;)a--;for(a<0&&(a=n[s][0]),e.bv_scf[t-2]=a,a=n[s][1];e.scalefac_band.l[a+e.bv_scf[t-2]+2]>t;)a--;a<0&&(a=n[s][1]),e.bv_scf[t-1]=a}}}function q(){}function M(){this.setModules=function(e,t,a){e,t,a};var _=[0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8e3,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16e3,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32e3,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448];this.updateMusicCRC=function(e,t,a,s){for(var n=0;n>8^_[255&(i^r)]);var r,i}}function C(){var o=this,s=32773,c=null,h=null,r=null,u=null;this.setModules=function(e,t,a,s){c=e,h=t,r=a,u=s};var b=null,l=0,m=0,p=0;function d(e,t,a){for(;0>a<>a<>3]|=t>>a<<8-(7&s)-n,s+=n}e.header[e.h_ptr].ptr=s}function n(e,t){e<<=8;for(var a=0;a<8;a++)0!=(65536&((t<<=1)^(e<<=1)))&&(t^=s);return t}function v(e,t){var a,s=j.ht[t.count1table_select+32],n=0,r=t.big_values,i=t.big_values;for(a=(t.count1-t.big_values)/4;0t.big_values&&(a=t.big_values);var s=g(e,t.table_select[0],0,a,t);return s+=g(e,t.table_select[1],a,t.big_values,t)}function M(e,t){var a,s,n,r;a=t.big_values;var i=t.region0_count+1;return n=e.scalefac_band.l[i],i+=t.region1_count+1,a>8),t[5]=byte(255&a)},this.flush_bitstream=function(e){var t,a,s=e.internal_flags,n=s.h_ptr-1;if(-1==n&&(n=Z.MAX_HEADER_BUF-1),t=s.l3_side,!((a=w(e,new R))<0)){if(_(e,a),s.ResvSize=0,t.main_data_begin=0,s.findReplayGain){var r=c.GetTitleGain(s.rgdata);s.RadioGain=0|Math.floor(10*r+.5)}s.findPeakSample&&(s.noclipGainChange=0|Math.ceil(20*A(s.PeakSample/32767)*10),0 ResvSize"),8*t.main_data_begin!=a.ResvSize&&($.err.printf("bit reservoir error: \nl3_side.main_data_begin: %d \nResvoir size: %d \nresv drain (post) %d \nresv drain (pre) %d \nheader and sideinfo: %d \ndata bits: %d \ntotal bits: %d (remainder: %d) \nbitsperframe: %d \n",8*t.main_data_begin,a.ResvSize,t.resvDrain_post,t.resvDrain_pre,8*a.sideinfo_len,n-t.resvDrain_post-8*a.sideinfo_len,n,n%8,s),$.err.println("This is a fatal error. It has several possible causes:"),$.err.println("90%% LAME compiled with buggy version of gcc using advanced optimizations"),$.err.println(" 9%% Your system is overclocked"),$.err.println(" 1%% bug in LAME encoding library"),a.ResvSize=8*t.main_data_begin),1e9e.PeakSample?e.PeakSample=o[0][_]:-o[0][_]>e.PeakSample&&(e.PeakSample=-o[0][_]);if(1e.PeakSample?e.PeakSample=o[1][_]:-o[1][_]>e.PeakSample&&(e.PeakSample=-o[1][_])}if(e.findReplayGain&&c.AnalyzeSamples(e.rgdata,o[0],0,o[1],0,f,e.channels_out)==q.GAIN_ANALYSIS_ERROR)return-6}}return r},this.init_bit_stream_w=function(e){b=B(Q.LAME_MAXMP3BUFFER),e.h_ptr=e.w_ptr=0,e.header[e.h_ptr].write_timing=0,m=-1,l=p=0}}function e(e,t,a,s){this.xlen=e,this.linmax=t,this.table=a,this.hlen=s}Ee.STEREO=new Ee(0),Ee.JOINT_STEREO=new Ee(1),Ee.DUAL_CHANNEL=new Ee(2),Ee.MONO=new Ee(3),Ee.NOT_SET=new Ee(4),q.STEPS_per_dB=100,q.MAX_dB=120,q.GAIN_NOT_ENOUGH_SAMPLES=-24601,q.GAIN_ANALYSIS_ERROR=0,q.GAIN_ANALYSIS_OK=1,q.INIT_GAIN_ANALYSIS_ERROR=0,q.INIT_GAIN_ANALYSIS_OK=1,q.MAX_ORDER=q.YULE_ORDER=10,q.MAX_SAMPLES_PER_WINDOW=(q.MAX_SAMP_FREQ=48e3)*(q.RMS_WINDOW_TIME_NUMERATOR=1)/(q.RMS_WINDOW_TIME_DENOMINATOR=20)+1,M.NUMTOCENTRIES=100,M.MAXFRAMESIZE=2880,C.EQ=function(e,t){return Math.abs(e)>Math.abs(t)?Math.abs(e-t)<=1e-6*Math.abs(e):Math.abs(e-t)<=1e-6*Math.abs(t)},C.NEQ=function(e,t){return!C.EQ(e,t)};var j={};function F(e){this.bits=e}function T(){this.over_noise=0,this.tot_noise=0,this.max_noise=0,this.over_count=0,this.over_SSD=0,this.bits=0}function r(e,t,a,s){this.l=Be(1+Pe.SBMAX_l),this.s=Be(1+Pe.SBMAX_s),this.psfb21=Be(1+Pe.PSFB21),this.psfb12=Be(1+Pe.PSFB12);var n=this.l,r=this.s;4==arguments.length&&(this.arrL=e,this.arrS=t,this.arr21=a,this.arr12=s,$.arraycopy(this.arrL,0,n,0,Math.min(this.arrL.length,this.l.length)),$.arraycopy(this.arrS,0,r,0,Math.min(this.arrS.length,this.s.length)),$.arraycopy(this.arr21,0,this.psfb21,0,Math.min(this.arr21.length,this.psfb21.length)),$.arraycopy(this.arr12,0,this.psfb12,0,Math.min(this.arr12.length,this.psfb12.length)))}function y(){var l=null,b=null,s=null;this.setModules=function(e,t,a){l=e,b=t,s=a},this.IPOW20=function(e){return u[e]};var x=2.220446049250313e-16,f=y.IXMAX_VAL+2,c=y.Q_MAX,h=y.Q_MAX2,n=100;this.nr_of_sfb_block=[[[6,5,5,5],[9,9,9,9],[6,9,9,9]],[[6,5,7,3],[9,9,12,6],[6,9,12,6]],[[11,10,0,0],[18,18,0,0],[15,18,0,0]],[[7,7,7,0],[12,12,12,0],[6,15,12,0]],[[6,6,6,3],[12,9,9,6],[6,12,9,6]],[[8,8,5,0],[15,12,9,0],[6,18,9,0]]];var R=[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,2,0];this.pretab=R,this.sfBandIndex=[new r([0,6,12,18,24,30,36,44,54,66,80,96,116,140,168,200,238,284,336,396,464,522,576],[0,4,8,12,18,24,32,42,56,74,100,132,174,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,6,12,18,24,30,36,44,54,66,80,96,114,136,162,194,232,278,332,394,464,540,576],[0,4,8,12,18,26,36,48,62,80,104,136,180,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,6,12,18,24,30,36,44,54,66,80,96,116,140,168,200,238,284,336,396,464,522,576],[0,4,8,12,18,26,36,48,62,80,104,134,174,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,4,8,12,16,20,24,30,36,44,52,62,74,90,110,134,162,196,238,288,342,418,576],[0,4,8,12,16,22,30,40,52,66,84,106,136,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,4,8,12,16,20,24,30,36,42,50,60,72,88,106,128,156,190,230,276,330,384,576],[0,4,8,12,16,22,28,38,50,64,80,100,126,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,4,8,12,16,20,24,30,36,44,54,66,82,102,126,156,194,240,296,364,448,550,576],[0,4,8,12,16,22,30,42,58,78,104,138,180,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,6,12,18,24,30,36,44,54,66,80,96,116,140,168,200,238,284,336,396,464,522,576],[0,4,8,12,18,26,36,48,62,80,104,134,174,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,6,12,18,24,30,36,44,54,66,80,96,116,140,168,200,238,284,336,396,464,522,576],[0,4,8,12,18,26,36,48,62,80,104,134,174,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,12,24,36,48,60,72,88,108,132,160,192,232,280,336,400,476,566,568,570,572,574,576],[0,8,16,24,36,52,72,96,124,160,162,164,166,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0])];var w=Ae(c+h+1),u=Ae(c),m=Ae(f),p=Ae(f);function d(e,t){var a=s.ATHformula(t,e);return a-=n,a=Math.pow(10,a/10+e.ATHlower)}function B(e){this.s=e}this.adj43=p,this.iteration_init=function(e){var t,a=e.internal_flags,s=a.l3_side;if(0==a.iteration_init_init){for(a.iteration_init_init=1,s.main_data_begin=0,function(e){for(var t=e.internal_flags.ATH.l,a=e.internal_flags.ATH.psfb21,s=e.internal_flags.ATH.s,n=e.internal_flags.ATH.psfb12,r=e.internal_flags,i=e.out_samplerate,_=0;_>2&63)&&(t-=64),n=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>8&63)&&(t-=64),r=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>14&63)&&(t-=64),i=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>20&63)&&(t-=64),_=i*Math.pow(10,t/4/10),t=0;t3*s/4&&(f[_]=3*s/4),f[_]<0&&(f[_]=0),f[_]+a[_]>Z.MAX_BITS_PER_CHANNEL&&(f[_]=Math.max(0,Z.MAX_BITS_PER_CHANNEL-a[_])),i+=f[_];if(hZ.MAX_BITS_PER_CHANNEL-e[0]&&(r=Z.MAX_BITS_PER_CHANNEL-e[0]),r<0&&(r=0),125<=e[1]&&(125>1,B=0;do{B+=k=f[_]*f[_],M+=k>1;S=v/p,M=x;do{var k,T;B+=k=f[_]*f[_],M+=ks[r-3+1]&&(s[r-3+1]+=(s[r-3]-s[r-3+1])*i.decay),s[r-3+1]>s[r-3+2]&&(s[r-3+2]+=(s[r-3+1]-s[r-3+2])*i.decay))}return o},this.calc_noise_core=function(e,t,a,s){var n=0,r=t.s,i=e.l3_enc;if(r>e.count1)for(;0!=a--;){o=e.xr[r],r++,n+=o*o,o=e.xr[r],r++,n+=o*o}else if(r>e.big_values){var _=Ae(2);for(_[0]=0,_[1]=s;0!=a--;){o=Math.abs(e.xr[r])-_[i[r]],r++,n+=o*o,o=Math.abs(e.xr[r])-_[i[r]],r++,n+=o*o}}else for(;0!=a--;){var o;o=Math.abs(e.xr[r])-m[i[r]]*s,r++,n+=o*o,o=Math.abs(e.xr[r])-m[i[r]]*s,r++,n+=o*o}return t.s=r,n},this.calc_noise=function(e,t,a,s,n){var r,i,_=0,o=0,l=0,f=0,c=0,h=-20,u=0,b=e.scalefac,m=0;for(r=s.over_SSD=0;r>1,u+e.width[r]>e.max_nonzero_coeff)i=0<(g=e.max_nonzero_coeff-u+1)?g>>1:0;var M=new B(u);v=this.calc_noise_core(e,M,i,S),u=M.s,null!=n&&(n.step[r]=d,n.noise[r]=v),v=a[_++]=v/t[o++],v=ee.FAST_LOG10(Math.max(v,1e-20)),null!=n&&(n.noise_log[r]=v)}if(null!=n&&(n.global_gain=e.global_gain),c+=v,0a.max_noise-.2&&a.tot_noisea.max_noise-.2&&a.tot_noisea.max_noise-.1&&a.tot_noise+a.over_noisea.max_noise-.15&&a.tot_noise+a.over_noise+a.over_noiset.xrpow_max&&(t.xrpow_max=s[f+c]);if(2==i.noise_shaping_amp)return}}}(e,t,a,s,n);var i=_(t);return!i&&(!(i=2==r.mode_gr?R.scale_bitcount(t):R.scale_bitcount_lsf(r,t))||(1e.xrpow_max&&(e.xrpow_max=t[a+i])}e.scalefac[s]=r>>1}e.preflag=0,e.scalefac_scale=1}(t,s),i=!1):t.block_type==Pe.SHORT_TYPE&&0>t.scalefac_scale))n[s]=f,o+=3*l;else{n[s]=0;var c=210+(f<t.xrpow_max&&(t.xrpow_max=a[o+h]);o+=l*(3-r-1)}}var u=M.IPOW20(202);for(o+=t.width[s]*(r+1),h=-t.width[s];h<0;h++)a[o+h]*=u,a[o+h]>t.xrpow_max&&(t.xrpow_max=a[o+h])}}return!1}(r,t,s)||_(t))),i||(i=2==r.mode_gr?R.scale_bitcount(t):R.scale_bitcount_lsf(r,t)),!i))}this.setModules=function(e,t,a,s){d=e,g=t,this.rv=t,M=a,this.qupvt=a,R=s,n.setModules(M,R)},this.ms_convert=function(e,t){for(var a=0;a<576;++a){var s=e.tt[t][0].xr[a],n=e.tt[t][1].xr[a];e.tt[t][0].xr[a]=(s+n)*(.5*ee.SQRT2),e.tt[t][1].xr[a]=(s-n)*(.5*ee.SQRT2)}},this.init_xrpow=function(e,t,a){var s=0,n=0|t.max_nonzero_coeff;if(t.xrpow_max=0,Te.fill(a,n,576,0),1e-20<(s=function(e,t,a,s){for(var n=s=0;n<=a;++n){var r=Math.abs(e.xr[n]);s+=r,t[n]=Math.sqrt(r*Math.sqrt(r)),t[n]>e.xrpow_max&&(e.xrpow_max=t[n])}return s}(t,a,n,s))){var r=0;0!=(2&e.substep_shaping)&&(r=1);for(var i=0;iS&&_.global_gain<=g;)_.global_gain++;if(_.global_gain>g)break;if(0==f.over_count){for(;(_.part2_3_length=R.count_bits(i,s,_,c))>h&&_.global_gain<=g;)_.global_gain++;if(_.global_gain>g)break}if(M.calc_noise(_,a,l,v,c),v.bits=_.part2_3_length,0!=(B(t.block_type!=Pe.SHORT_TYPE?e.quant_comp:e.quant_comp_short,f,v,_,l)?1:0))h=t.part2_3_length,f=v,t.assign(_),p=0,$.arraycopy(s,0,o,0,576);else if(0==i.full_outer_loop){if(++p>d&&0==f.over_count)break;if(3==i.noise_shaping_amp&&b&&30r[f.VBR_max_bitrate]&&(_[m][d]*=r[f.VBR_max_bitrate],_[m][d]/=u),i[m][d]>_[m][d]&&(i[m][d]=_[m][d]);return h},this.bitpressure_strategy=function(e,t,a,s){for(var n=0;nZ.MAX_BITS_PER_CHANNEL&&(s[_][o]=Z.MAX_BITS_PER_CHANNEL),b+=s[_][o]}if(Z.MAX_BITS_PER_GRANULEZ.MAX_BITS_PER_CHANNEL&&(s[_][o]=Z.MAX_BITS_PER_CHANNEL),l+=s[_][o];if(l>r[0])for(_=0;_=s?(e.ATH.adjust*=.075*s+.925,e.ATH.adjust=s?e.ATH.adjust=s:e.ATH.adjust>1,u=(h=(c=s)<<1)+c,s=h<<1,r=(n=t)+b;M=e[n+0]-e[n+c],S=e[n+0]+e[n+c],A=e[n+h]-e[n+u],w=e[n+h]+e[n+u],e[n+h]=S-w,e[n+0]=S+w,e[n+u]=M-A,e[n+c]=M+A,M=e[r+0]-e[r+c],S=e[r+0]+e[r+c],A=ee.SQRT2*e[r+u],w=ee.SQRT2*e[r+h],e[r+h]=S-w,e[r+0]=S+w,e[r+u]=M-A,e[r+c]=M+A,r+=s,(n+=s)<_;);for(l=T[i+0],o=T[i+1],f=1;fN[u+3-2]?U/=N[u+3-2]:U=N[u+3-2]>10*U?N[u+3-2]/(10*U):0,Y[u+3]=U}if(e.analysis){var W=Y[0];for(u=1;u<12;u++)WV&&(C[u/3]=u%3+1);for(u=1;u<4;u++){(O[u-1]>O[u]?O[u-1]/O[u]:O[u]/O[u-1])<1.7&&(C[u]=0,1==u&&(C[0]=0))}for(0!=C[0]&&0!=S.nsPsy.lastAttacks[c]&&(C[0]=0),3!=S.nsPsy.lastAttacks[c]&&C[0]+C[1]+C[2]+C[3]==0||((D=0)!=C[1]&&0!=C[0]&&(C[1]=0),0!=C[2]&&0!=C[1]&&(C[2]=0),0!=C[3]&&0!=C[2]&&(C[3]=0)),c<2?T[c]=D:0==D&&(T[0]=T[1]=0),o[c]=S.tot_ener[c],he(e,j,F,M,1&c,R,1&c,s,c,t,a),Me(S,j,w,X,q),Re(S,X,q,y),d=0;d<3;d++){var J,$;for(de(e,F,B,A,c,d),me(S,B,A,c,d),p=0;p1.58*e.thm[1].l[t]||e.thm[1].l[t]>1.58*e.thm[0].l[t])){var a=e.mld_l[t]*e.en[3].l[t],s=Math.max(e.thm[2].l[t],Math.min(e.thm[3].l[t],a));a=e.mld_l[t]*e.en[2].l[t];var n=Math.max(e.thm[3].l[t],Math.min(e.thm[2].l[t],a));e.thm[2].l[t]=s,e.thm[3].l[t]=n}for(t=0;t1.58*e.thm[1].s[t][r]||e.thm[1].s[t][r]>1.58*e.thm[0].s[t][r]||(a=e.mld_s[t]*e.en[3].s[t][r],s=Math.max(e.thm[2].s[t][r],Math.min(e.thm[3].s[t][r],a)),a=e.mld_s[t]*e.en[2].s[t][r],n=Math.max(e.thm[3].s[t][r],Math.min(e.thm[2].s[t][r],a)),e.thm[2].s[t][r]=s,e.thm[3].s[t][r]=n)}(S),g=e.msfix,0g&&(s[o]=g),1a[o]&&(s[o]=a[o]),l.masking_lower<1&&(s[o]*=l.masking_lower)}for(;of&&(s[r]=f),1a[r]&&(s[r]=a[r]),e.masking_lower<1&&(s[r]*=e.masking_lower)}for(;rM[p+3-2]?E/=M[p+3-2]:E=M[p+3-2]>10*E?M[p+3-2]/(10*E):0,S[p+3]=E}for(p=0;p<3;++p){var P=M[3*p+3]+M[3*p+4]+M[3*p+5],H=1;6*M[3*p+5]A&&(o[b][p/3]=p%3+1);for(p=1;p<4;p++){var I=R[p-1],V=R[p];Math.max(I,V)<4e4&&I<1.7*V&&V<1.7*I&&(1==p&&o[b][0]<=o[b][p]&&(o[b][0]=0),o[b][p]=0)}o[b][0]<=c.nsPsy.lastAttacks[b]&&(o[b][0]=0),3!=c.nsPsy.lastAttacks[b]&&o[b][0]+o[b][1]+o[b][2]+o[b][3]==0||((k=0)!=o[b][1]&&0!=o[b][0]&&(o[b][1]=0),0!=o[b][2]&&0!=o[b][1]&&(o[b][2]=0),0!=o[b][3]&&0!=o[b][2]&&(o[b][3]=0)),b<2?l[b]=k:0==k&&(l[0]=l[1]=0),i[b]=c.tot_ener[b]}}(e,t,a,s,n,r,o,R,w,B),function(e,t){var a=e.internal_flags;e.short_blocks!=xe.short_block_coupled||0!=t[0]&&0!=t[1]||(t[0]=t[1]=0);for(var s=0;s=n&&(m=i*(l[t]-n)/(24-n)+r*(24-l[t])/(24-n)),c[t]=Math.pow(10,m/10),0=n&&(m=o*(l[t]-n)/(24-n)+_*(24-l[t])/(24-n)),c[t]=Math.pow(10,m/10),g=K.MAX_VALUE;for(d=0;da.npart_l-1&&(a.s3ind[M][1]=a.npart_l-1);var R=576*a.mode_gr/h;if(a.ATH.decay=Math.pow(10,-1.2*R),a.ATH.adjust=.01,-(a.ATH.adjustLimit=1)!=e.ATHtype){var w=e.out_samplerate/Pe.BLKSIZE,B=0;for(t=v=0;t=d)for(l=0;le.in_samplerate&&(e.lowpassfreq=e.in_samplerate/2),e.out_samplerate=(t=0|e.lowpassfreq,a=e.in_samplerate,s=44100,48e3<=a?s=48e3:44100<=a?s=44100:32e3<=a?s=32e3:24e3<=a?s=24e3:22050<=a?s=22050:16e3<=a?s=16e3:12e3<=a?s=12e3:11025<=a?s=11025:8e3<=a&&(s=8e3),-1==t?s:(t<=15960&&(s=44100),t<=15250&&(s=32e3),t<=11220&&(s=24e3),t<=9970&&(s=22050),t<=7230&&(s=16e3),t<=5420&&(s=12e3),t<=4510&&(s=11025),t<=3970&&(s=8e3),a=t.lowpass2&&(a=Math.min(a,r)),t.lowpass1t.highpass1?E((t.highpass2-l)/(t.highpass2-t.highpass1+1e-20)):1,o=t.lowpass2>t.lowpass1?E((l-t.lowpass1)/(t.lowpass2-t.lowpass1+1e-20)):1,t.amp_filter[r]=_*o}}(e),n.samplerate_index=P(e.out_samplerate,e),n.samplerate_index<0)return e.internal_flags=null,-1;if(e.VBR==ye.vbr_off){if(e.free_format)n.bitrate_index=0;else if(e.brate=H(e.brate,e.version,e.out_samplerate),n.bitrate_index=L(e.brate,e.version,e.out_samplerate),n.bitrate_index<=0)return e.internal_flags=null,-1}else n.bitrate_index=1;e.analysis&&(e.bWriteVbrTag=!1),null!=n.pinfo&&(e.bWriteVbrTag=!1),w.init_bit_stream_w(n);for(var c,h,u,b=n.samplerate_index+3*e.version+6*(e.out_samplerate<16e3?1:0),m=0;m=f){var M=i-u;if(0==i&&(M=0),(_=N(e,b[0],b[1],n,r,M))<0)return _;for(r+=_,u+=_,h.mf_size-=e.framesize,h.mf_samples_to_encode-=e.framesize,l=0;li&&(s.ResvMax=i),(s.ResvMax<0||e.disable_reservoir)&&(s.ResvMax=0);var _=t.bits*s.mode_gr+Math.min(s.ResvSize,s.ResvMax);return a<_&&(_=a),n.resvDrain_pre=0,null!=s.pinfo&&(s.pinfo.mean_bits=t.bits/2,s.pinfo.resvsize=s.ResvSize),_},this.ResvMaxBits=function(e,t,a,s){var n,r=e.internal_flags,i=r.ResvSize,_=r.ResvMax;0!=s&&(i+=t),0!=(1&r.substep_shaping)&&(_*=.9),a.bits=t,9*_<10*i?(n=i-9*_/10,a.bits+=n,r.substep_shaping|=128):(n=0,r.substep_shaping&=127,e.disable_reservoir||0!=(1&r.substep_shaping)||(a.bits-=.1*t));var o=i<6*r.ResvMax/10?i:6*r.ResvMax/10;return(o-=n)<0&&(o=0),o},this.ResvAdjust=function(e,t){e.ResvSize-=t.part2_3_length+t.part2_length},this.ResvFrameEnd=function(e,t){var a,s=e.l3_side;e.ResvSize+=t*e.mode_gr;var n=0;s.resvDrain_post=0,(s.resvDrain_pre=0)!=(a=e.ResvSize%8)&&(n+=a),0<(a=e.ResvSize-n-e.ResvMax)&&(n+=a);var r=Math.min(8*s.main_data_begin,n)/8;s.resvDrain_pre+=8*r,n-=8*r,e.ResvSize-=8*r,s.main_data_begin-=r,s.resvDrain_post+=n,e.ResvSize-=n}},b=new k,m=new function(){this.setModules=function(e,t,a){}},p=new function(){};n.setModules(r,i,_,o,l,f,c,h,p),i.setModules(r,p,c,f),h.setModules(i,c),_.setModules(n),l.setModules(i,u,o,b),o.setModules(b,u,n.enc.psy),u.setModules(i),b.setModules(o),f.setModules(n,i,c),a.setModules(m,p),m.setModules(c,h,_);var d=n.lame_init();d.num_channels=s,d.in_samplerate=e,d.out_samplerate=e,d.brate=t,d.mode=Ee.STEREO,d.quality=3,d.bWriteVbrTag=!1,d.disable_reservoir=!0,d.write_id3tag_automatic=!1,n.lame_init_params(d);var v=1152,g=0|1.25*v+7200,S=B(g);this.encodeBuffer=function(e,t){1==s&&(t=e),e.length>v&&(v=e.length,S=B(g=0|1.25*v+7200));var a=n.lame_encode_buffer(d,e,t,e.length,S,0,g);return new Int8Array(S.subarray(0,a))},this.flush=function(){var e=n.lame_encode_flush(d,S,0,g);return new Int8Array(S.subarray(0,e))}}}t(),Recorder.lamejs=t}(); \ No newline at end of file +!function(e){var t="object"==typeof window&&!!window.document,a=(t?window:Object).Recorder,s=a.i18n;!function(p,e,u,t){"use strict";var _="48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000",o="8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256, 320";p.prototype.enc_mp3={stable:!0,takeEC:"full",getTestMsg:function(){return u("Zm7L::采样率范围:{1};比特率范围:{2}(不同比特率支持的采样率范围不同,小于32kbps时采样率需小于32000)",0,_,o)}};var h,m=function(e){var t=e.bitRate,a=e.sampleRate,s=a;if(-1==(" "+o+",").indexOf(" "+t+",")&&p.CLog(u("eGB9::{1}不在mp3支持的取值范围:{2}",0,"bitRate="+t,o),3),-1==(" "+_+",").indexOf(" "+a+",")){for(var n=_.split(", "),r=[],i=0;ic.length){var a=new Int8Array(c.length+Math.max(5e5,t));a.set(c.subarray(0,u)),c=a}c.set(e,u),u+=t}if(hr.memory.length){var a=new Int8Array(r.memory.length+Math.max(5e5,t));a.set(r.memory.subarray(0,r.mOffset)),r.memory=a}r.memory.set(e,r.mOffset),r.mOffset+=t};switch(t.action){case"stop":r.encObj=null,delete a[t.id];break;case"encode":r.pcmSize+=t.pcm.length;try{var _=r.encObj.encodeBuffer(t.pcm)}catch(e){r.err=e,console.error(e)}_&&0<_.length&&(r.takeoff?c.onmessage({action:"takeoff",id:t.id,chunk:_}):i(_));break;case"complete":try{var _=r.encObj.flush()}catch(e){r.err=e,console.error(e)}if(_&&0<_.length&&(r.takeoff?c.onmessage({action:"takeoff",id:t.id,chunk:_}):i(_)),r.err){c.onmessage({action:t.action,id:t.id,err:"MP3 Encoder: "+r.err.message});break}var o=[r.memory.buffer.slice(0,r.mOffset)],l=n.fn(o,r.mOffset,r.pcmSize,r.sampleRate);c.onmessage({action:t.action,id:t.id,blob:o[0]||new ArrayBuffer(0),meta:l})}},s=function(s){c.onmessage=function(e){var t=e;s&&(t=e.data);var a=b[t.id];a&&("takeoff"==t.action?a.set.takeoffEncodeChunk(new Uint8Array(t.chunk.buffer)):(a.call&&a.call(t),a.call=null))}},n=function(){var e={worker:c,set:t};return t?(e.id=++b.id,b[e.id]=e,m(t),c.postMessage({action:"init",id:e.id,sampleRate:t.sampleRate,bitRate:t.bitRate,takeoff:!!t.takeoffEncodeChunk,x:new Int16Array(5)})):c.postMessage({x:new Int16Array(5)}),e},c=h;if(e||!v)return p.CLog(u("k9PT::当前环境不支持Web Worker,mp3实时编码器运行在主线程中"),3),c={postMessage:function(e){a({data:e})}},f={wkScope:{wk_ctxs:{},wk_lame:p.lamejs,wk_mp3TrimFix:g}},s(),n();try{if(!c){var r=(a+"").replace(/\w+\.onmessage/g,"self.postMessage"),i=");wk_lame();self.onmessage="+(r=r.replace(/\w+.wkScope/g,"wkScope"));i+=";var wkScope={ wk_ctxs:{},wk_lame:wk_lame",i+=",wk_mp3TrimFix:{rm:"+g.rm+",fn:"+g.fn+"} }";var _=p.lamejs.toString(),o=(window.URL||webkitURL).createObjectURL(new Blob(["var wk_lame=(",_,i],{type:"text/javascript"}));c=new Worker(o),setTimeout(function(){(window.URL||webkitURL).revokeObjectURL(o)},1e4),s(1)}var l=n();return l.isW=1,h=c,l}catch(e){return c&&c.terminate(),console.error(e),d(t,1)}};p.prototype.mp3_stop=function(e){if(e&&e.worker){e.worker.postMessage({action:"stop",id:e.id}),e.worker=null,delete b[e.id];var t=-1;for(var a in b)t++;t&&p.CLog(u("fT6M::mp3 worker剩{1}个未stop",0,t),3)}},p.prototype.mp3_encode=function(e,t){e&&e.worker&&e.worker.postMessage({action:"encode",id:e.id,pcm:t})},p.prototype.mp3_complete=function(t,a,s,n){var r=this;t&&t.worker?(t.call=function(e){n&&r.mp3_stop(t),e.err?s(e.err):(w(e.meta,t.set),a(e.blob,"audio/mp3"))},t.worker.postMessage({action:"complete",id:t.id})):s(u("mPxH::mp3编码器未start"))},p.mp3ReadMeta=function(e,t){var a="undefined"!=typeof window&&window.parseInt||"undefined"!=typeof self&&self.parseInt||parseInt,s=new Uint8Array(e[0]||[]);if(s.length<4)return null;var n=function(e,t){return("0000000"+((t||s)[e]||0).toString(2)).substr(-8)},r=n(0)+n(1),i=n(2)+n(3);if(!/^1{11}/.test(r))return null;var _={"00":2.5,10:2,11:1}[r.substr(11,2)],o={"01":3}[r.substr(13,2)],l={1:[44100,48e3,32e3],2:[22050,24e3,16e3],2.5:[11025,12e3,8e3]}[_];l&&(l=l[a(i.substr(4,2),2)]);var f=[[0,8,16,24,32,40,48,56,64,80,96,112,128,144,160],[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320]][1==_?1:0][a(i.substr(0,4),2)];if(!(_&&o&&f&&l))return null;for(var c=Math.round(8*t/f),u=1==o?384:2==o?1152:1==_?1152:576,h=u/l*1e3,b=Math.floor(u*f/8/l*1e3),p=0,m=0,v=0;v=c.byteLength?(_-=c.byteLength,l.push(c),e.splice(f,1),f--):(e[f]=c.slice(_),o=c,_=0)}var u=this.rm(e,t);if(!u){o&&(e[0]=o);for(var f=0;f "+s.duration+"ms",2>=1;0!=e--;)n[r++]=i>a[s++]?0:1,n[r++]=i>a[s++]?0:1}function B(e,t,a,s,n,r){var i=(e>>=1)%2;for(e>>=1;0!=e--;){var _,o,l,f,c,u,h,b;_=a[s++]*t,o=a[s++]*t,c=0|_,l=a[s++]*t,u=0|o,f=a[s++]*t,h=0|l,_+=S.adj43[c],b=0|f,o+=S.adj43[u],n[r++]=0|_,l+=S.adj43[h],n[r++]=0|o,f+=S.adj43[b],n[r++]=0|l,n[r++]=0|f}0!=i&&(_=a[s++]*t,o=a[s++]*t,c=0|_,u=0|o,_+=S.adj43[c],o+=S.adj43[u],n[r++]=0|_,n[r++]=0|o)}var _=[1,2,5,7,7,10,10,13,13,13,13,13,13,13,13];function d(e,t,a,s){var n=function(e,t,a){var s=0,n=0;do{var r=e[t++],i=e[t++];s>=16)&&(_=r,s++),n.bits+=_,s}(e,t,a,_[n-1],s);case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:return function(e,t,a,s,n){var r=0,i=0,_=0,o=R.ht[s].xlen,l=R.ht[s].hlen,f=R.ht[s+1].hlen,c=R.ht[s+2].hlen;do{var u=e[t+0]*o+e[t+1];t+=2,r+=l[u],i+=f[u],_+=c[u]}while(t=n);r++);for(i=r-8;i<24&&!(R.ht[i].linmax>=n);i++);return function(e,t,a,s,n,r){var i,_=65536*R.ht[s].xlen+R.ht[n].xlen,o=0;do{var l=e[t++],f=e[t++];0!=l&&(14>=16)&&(o=i,s=n),r.bits+=o,s}(e,t,a,i,r,s)}}function h(e,t,a,s,n,r,i,_){for(var o=t.big_values,l=2;l>1<<1);for(null!=a&&(a.sfb_count1=0);1t.big_values&&(r=t.big_values),i=t.big_values;else if(t.block_type==Ae.NORM_TYPE){if(r=t.region0_count=e.bv_scf[n-2],i=t.region1_count=e.bv_scf[n-1],i=e.scalefac_band.l[r+i+2],r=e.scalefac_band.l[r+1],ir?x.LARGE_BITS:(function(e,t,a,s,n){var r,i,_,o=0,l=0,f=0,c=0,u=t,h=0,b=u,p=0,m=e,v=0;for(_=null!=n&&s.global_gain==n.global_gain,i=s.block_type==Ae.SHORT_TYPE?38:21,r=0;r<=i;r++){var d=-1;if((_||s.block_type==Ae.NORM_TYPE)&&(d=s.global_gain-(s.scalefac[r]+(0!=s.preflag?S.pretab[r]:0)<s.max_nonzero_coeff&&(g=s.max_nonzero_coeff-o+1,we.fill(t,s.max_nonzero_coeff,576,0),(w=g)<0&&(w=0),r=i+1),0==l&&0==f&&(b=u,p=h,m=e,v=c),null!=n&&0=n.sfb_count1&&0=n.step[r]?(0!=l&&(B(l,a,m,v,b,p),l=0,b=u,p=h,m=e,v=c),f+=w):(0!=f&&(M(f,a,m,v,b,p),f=0,b=u,p=h,m=e,v=c),l+=w),w<=0){0!=f&&me(),0!=l&&me();break}}r<=i&&(h+=s.width[r],c+=s.width[r],o+=s.width[r])}0!=l&&(B(l,a,m,v,b,p),l=0),0!=f&&me()}(t,n,S.IPOW20(a.global_gain),a,s),0!=(2&e.substep_shaping)&&me(),this.noquant_count_bits(e,a,s))},this.best_huffman_divide=function(e,t){var a=new y,s=t.l3_enc,n=ve(23),r=ve(23),i=ve(23),_=ve(23);if(t.block_type!=Ae.SHORT_TYPE||1!=e.mode_gr){a.assign(t),t.block_type==Ae.NORM_TYPE&&(function(e,t,a,s,n,r,i){for(var _=t.big_values,o=0;o<=22;o++)s[o]=x.LARGE_BITS;for(var o=0;o<16;o++){var l=e.scalefac_band.l[o+1];if(_<=l)break;var f=0,c=new v(f),u=d(a,0,l,c);f=c.bits;for(var h=0;h<8;h++){var b=e.scalefac_band.l[o+h+2];if(_<=b)break;var p=f;c=new v(p);var m=d(a,l,b,c);p=c.bits,s[o+h]>p&&(s[o+h]=p,n[o+h]=o,r[o+h]=u,i[o+h]=m)}}}(e,t,s,n,r,i,_),h(e,a,t,s,n,r,i,_));var o=a.big_values;if(!(0==o||1<(s[o-2]|s[o-1])||576<(o=t.count1+2))){a.assign(t),a.count1=o;for(var l=0,f=0;o>a.big_values;o-=4){var c=2*(2*(2*s[o-4]+s[o-3])+s[o-2])+s[o-1];l+=R.t32l[c],f+=R.t33l[c]}if(a.big_values=o,a.count1table_select=0,fa.part2_3_length&&t.assign(a)}}}};var u=[1,1,1,1,8,2,2,2,4,4,4,8,8,8,16,16],b=[1,2,4,8,1,2,4,8,2,4,8,2,4,8,4,8],p=[0,0,0,0,3,1,1,1,2,2,2,3,3,3,4,4],m=[0,1,2,3,0,1,2,3,1,2,3,1,2,3,2,3];A.slen1_tab=p,A.slen2_tab=m,this.best_scalefac_store=function(e,t,a,s){var n,r,i,_,o=s.tt[t][a],l=0;for(n=i=0;n>=1);o.scalefac_scale=l=1}}if(0==o.preflag&&o.block_type!=Ae.SHORT_TYPE&&2==e.mode_gr){for(n=11;nf&&(s.part2_length=f,s.scalefac_compress=r)}}(a,s),l=0),n=0;ns[t]&&(e.part2_length=s[t],e.scalefac_compress=t);return e.part2_length==x.LARGE_BITS};var g=[[15,15,7,7],[15,15,7,0],[7,3,0,0],[15,31,31,0],[7,7,7,0],[3,3,0,0]];this.scale_bitcount_lsf=function(e,t){var a,s,n,r,i,_,o,l,f=ve(4),c=t.scalefac;for(a=0!=t.preflag?2:0,o=0;o<4;o++)f[o]=0;if(t.block_type==Ae.SHORT_TYPE){s=1;var u=S.nr_of_sfb_block[a][s];for(n=l=0;n<4;n++)for(r=u[n]/3,o=0;of[n]&&(f[n]=c[3*l+i])}else{s=0;var u=S.nr_of_sfb_block[a][s];for(n=l=0;n<4;n++)for(r=u[n],o=0;of[n]&&(f[n]=c[l])}for(_=!1,n=0;n<4;n++)f[n]>g[a][n]&&(_=!0);if(!_){var h,b,p,m;for(t.sfb_partition_table=S.nr_of_sfb_block[a][s],n=0;n<4;n++)t.slen[n]=w[f[n]];switch(h=t.slen[0],b=t.slen[1],p=t.slen[2],m=t.slen[3],a){case 0:t.scalefac_compress=(5*h+b<<4)+(p<<2)+m;break;case 1:t.scalefac_compress=400+(5*h+b<<2)+p;break;case 2:t.scalefac_compress=500+3*h+b;break;default:me()}}if(!_)for(t.part2_length=0,n=0;n<4;n++)t.part2_length+=t.slen[n]*t.sfb_partition_table[n];return _};var w=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];this.huffman_init=function(e){for(var t=2;t<=576;t+=2){for(var a,s=0;e.scalefac_band.l[++s]t;)a--;for(a<0&&(a=n[s][0]),e.bv_scf[t-2]=a,a=n[s][1];e.scalefac_band.l[a+e.bv_scf[t-2]+2]>t;)a--;a<0&&(a=n[s][1]),e.bv_scf[t-1]=a}}}function V(){}function B(){this.setModules=function(e,t,a){};var _=[0,49345,49537,320,49921,960,640,49729,50689,1728,1920,51009,1280,50625,50305,1088,52225,3264,3456,52545,3840,53185,52865,3648,2560,51905,52097,2880,51457,2496,2176,51265,55297,6336,6528,55617,6912,56257,55937,6720,7680,57025,57217,8e3,56577,7616,7296,56385,5120,54465,54657,5440,55041,6080,5760,54849,53761,4800,4992,54081,4352,53697,53377,4160,61441,12480,12672,61761,13056,62401,62081,12864,13824,63169,63361,14144,62721,13760,13440,62529,15360,64705,64897,15680,65281,16320,16e3,65089,64001,15040,15232,64321,14592,63937,63617,14400,10240,59585,59777,10560,60161,11200,10880,59969,60929,11968,12160,61249,11520,60865,60545,11328,58369,9408,9600,58689,9984,59329,59009,9792,8704,58049,58241,9024,57601,8640,8320,57409,40961,24768,24960,41281,25344,41921,41601,25152,26112,42689,42881,26432,42241,26048,25728,42049,27648,44225,44417,27968,44801,28608,28288,44609,43521,27328,27520,43841,26880,43457,43137,26688,30720,47297,47489,31040,47873,31680,31360,47681,48641,32448,32640,48961,32e3,48577,48257,31808,46081,29888,30080,46401,30464,47041,46721,30272,29184,45761,45953,29504,45313,29120,28800,45121,20480,37057,37249,20800,37633,21440,21120,37441,38401,22208,22400,38721,21760,38337,38017,21568,39937,23744,23936,40257,24320,40897,40577,24128,23040,39617,39809,23360,39169,22976,22656,38977,34817,18624,18816,35137,19200,35777,35457,19008,19968,36545,36737,20288,36097,19904,19584,35905,17408,33985,34177,17728,34561,18368,18048,34369,33281,17088,17280,33601,16640,33217,32897,16448];this.updateMusicCRC=function(e,t,a,s){for(var n=0;n>8^_[255&(i^r)]);var r,i}}function N(){var i=this,r=null,_=null;this.setModules=function(e,t,a,s){r=a,_=s};var o=null,l=0,f=0,c=0;function v(e,t,a){for(;0>a<>3]|=t>>a<<8-(7&s)-n,s+=n}e.header[e.h_ptr].ptr=s}function m(e,t){var a,s=R.ht[t.count1table_select+32],n=0,r=t.big_values,i=t.big_values;for(a=(t.count1-t.big_values)/4;0t.big_values&&(a=t.big_values);var s=b(e,t.table_select[0],0,a,t);return s+=b(e,t.table_select[1],a,t.big_values,t)}function g(e,t){var a,s,n,r;a=t.big_values;var i=t.region0_count+1;return n=e.scalefac_band.l[i],i+=t.region1_count+1,r=e.scalefac_band.l[i],aMath.abs(t)?Math.abs(e-t)<=1e-6*Math.abs(e):Math.abs(e-t)<=1e-6*Math.abs(t)},N.NEQ=function(e,t){return!N.EQ(e,t)};var R={};function k(e){this.bits=e}function T(){this.over_noise=0,this.tot_noise=0,this.max_noise=0,this.over_count=0,this.over_SSD=0,this.bits=0}function r(e,t,a,s){this.l=ve(1+Ae.SBMAX_l),this.s=ve(1+Ae.SBMAX_s),this.psfb21=ve(1+Ae.PSFB21),this.psfb12=ve(1+Ae.PSFB12);var n=this.l,r=this.s;4==arguments.length&&(this.arrL=e,this.arrS=t,this.arr21=a,this.arr12=s,P.arraycopy(this.arrL,0,n,0,Math.min(this.arrL.length,this.l.length)),P.arraycopy(this.arrS,0,r,0,Math.min(this.arrS.length,this.s.length)),P.arraycopy(this.arr21,0,this.psfb21,0,Math.min(this.arr21.length,this.psfb21.length)),P.arraycopy(this.arr12,0,this.psfb12,0,Math.min(this.arr12.length,this.psfb12.length)))}function x(){var l=null,b=null,s=null;this.setModules=function(e,t,a){l=e,b=t,s=a},this.IPOW20=function(e){return h[e]};var y=2.220446049250313e-16,e=x.IXMAX_VAL,f=e+2,c=x.Q_MAX,u=x.Q_MAX2,n=100;this.nr_of_sfb_block=[[[6,5,5,5],[9,9,9,9],[6,9,9,9]],[[6,5,7,3],[9,9,12,6],[6,9,12,6]],[[11,10,0,0],[18,18,0,0],[15,18,0,0]],[[7,7,7,0],[12,12,12,0],[6,15,12,0]],[[6,6,6,3],[12,9,9,6],[6,12,9,6]],[[8,8,5,0],[15,12,9,0],[6,18,9,0]]];var M=[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,3,2,0];this.pretab=M,this.sfBandIndex=[new r([0,6,12,18,24,30,36,44,54,66,80,96,116,140,168,200,238,284,336,396,464,522,576],[0,4,8,12,18,24,32,42,56,74,100,132,174,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,6,12,18,24,30,36,44,54,66,80,96,114,136,162,194,232,278,332,394,464,540,576],[0,4,8,12,18,26,36,48,62,80,104,136,180,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,6,12,18,24,30,36,44,54,66,80,96,116,140,168,200,238,284,336,396,464,522,576],[0,4,8,12,18,26,36,48,62,80,104,134,174,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,4,8,12,16,20,24,30,36,44,52,62,74,90,110,134,162,196,238,288,342,418,576],[0,4,8,12,16,22,30,40,52,66,84,106,136,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,4,8,12,16,20,24,30,36,42,50,60,72,88,106,128,156,190,230,276,330,384,576],[0,4,8,12,16,22,28,38,50,64,80,100,126,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,4,8,12,16,20,24,30,36,44,54,66,82,102,126,156,194,240,296,364,448,550,576],[0,4,8,12,16,22,30,42,58,78,104,138,180,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,6,12,18,24,30,36,44,54,66,80,96,116,140,168,200,238,284,336,396,464,522,576],[0,4,8,12,18,26,36,48,62,80,104,134,174,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,6,12,18,24,30,36,44,54,66,80,96,116,140,168,200,238,284,336,396,464,522,576],[0,4,8,12,18,26,36,48,62,80,104,134,174,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]),new r([0,12,24,36,48,60,72,88,108,132,160,192,232,280,336,400,476,566,568,570,572,574,576],[0,8,16,24,36,52,72,96,124,160,162,164,166,192],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0])];var B=de(c+u+1),h=de(c),p=de(f),m=de(f);function v(e,t){var a=s.ATHformula(t,e);return a-=n,a=Math.pow(10,a/10+e.ATHlower)}function A(e){this.s=e}this.adj43=m,this.iteration_init=function(e){var t,a=e.internal_flags,s=a.l3_side;if(0==a.iteration_init_init){for(a.iteration_init_init=1,s.main_data_begin=0,function(e){for(var t=e.internal_flags.ATH.l,a=e.internal_flags.ATH.psfb21,s=e.internal_flags.ATH.s,n=e.internal_flags.ATH.psfb12,r=e.internal_flags,i=e.out_samplerate,_=0;_>2&63)&&(t-=64),n=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>8&63)&&(t-=64),r=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>14&63)&&(t-=64),i=Math.pow(10,t/4/10),32<=(t=e.exp_nspsytune>>20&63)&&(t-=64),_=i*Math.pow(10,t/4/10),t=0;t3*s/4&&(f[_]=3*s/4),f[_]<0&&(f[_]=0),f[_]+a[_]>j.MAX_BITS_PER_CHANNEL&&(f[_]=Math.max(0,j.MAX_BITS_PER_CHANNEL-a[_])),i+=f[_];if(u>1,B=0;R=f[_]*f[_],B+=R,M+=R>1;S=g/v,M=y;do{var R,k;R=f[_]*f[_],B+=R,M+=Rs[r-3+1]&&(s[r-3+1]+=(s[r-3]-s[r-3+1])*i.decay),s[r-3+1]>s[r-3+2]&&(s[r-3+2]+=(s[r-3+1]-s[r-3+2])*i.decay))}return o},this.calc_noise_core=function(e,t,a,s){var n=0,r=t.s,i=e.l3_enc;if(r>e.count1)for(;0!=a--;)o=e.xr[r],r++,n+=o*o,o=e.xr[r],r++,n+=o*o;else if(r>e.big_values){var _=de(2);for(_[0]=0,_[1]=s;0!=a--;)o=Math.abs(e.xr[r])-_[i[r]],r++,n+=o*o,o=Math.abs(e.xr[r])-_[i[r]],r++,n+=o*o}else for(;0!=a--;){var o;o=Math.abs(e.xr[r])-p[i[r]]*s,r++,n+=o*o,o=Math.abs(e.xr[r])-p[i[r]]*s,r++,n+=o*o}return t.s=r,n},this.calc_noise=function(e,t,a,s,n){var r,i,_=0,o=0,l=0,f=0,c=0,u=-20,h=0,b=e.scalefac,p=0;for(s.over_SSD=0,r=0;r>1,h+e.width[r]>e.max_nonzero_coeff&&(g=e.max_nonzero_coeff-h+1,i=0>1:0);var S=new A(h);d=this.calc_noise_core(e,S,i,w),h=S.s,null!=n&&(n.step[r]=v,n.noise[r]=d),d=a[_++]=d/t[o++],d=D.FAST_LOG10(Math.max(d,1e-20)),null!=n&&(n.noise_log[r]=d)}null!=n&&(n.global_gain=e.global_gain),c+=d,0a.max_noise-.2&&a.tot_noisea.max_noise-.2&&a.tot_noisea.max_noise-.1&&a.tot_noise+a.over_noisea.max_noise-.15&&a.tot_noise+a.over_noise+a.over_noiset.xrpow_max&&(t.xrpow_max=s[f+c]);if(2==i.noise_shaping_amp)return}}}(e,t,a,s);var i=_(t);return!(i||(i=2==r.mode_gr?w.scale_bitcount(t):w.scale_bitcount_lsf(r,t))&&(1e.xrpow_max&&(e.xrpow_max=t[a+i])}e.scalefac[s]=r>>1}e.preflag=0,e.scalefac_scale=1}(t,s),i=!1):t.block_type==Ae.SHORT_TYPE&&0>t.scalefac_scale))n[s]=f,o+=3*l;else{n[s]=0;var c=210+(f<t.xrpow_max&&(t.xrpow_max=a[o+u]);o+=l*(3-r-1)}}var h=g.IPOW20(202);o+=t.width[s]*(r+1);for(var u=-t.width[s];u<0;u++)a[o+u]*=h,a[o+u]>t.xrpow_max&&(t.xrpow_max=a[o+u])}}return!1}(r,t,s)||_(t))),i||(i=2==r.mode_gr?w.scale_bitcount(t):w.scale_bitcount_lsf(r,t)),i))}this.setModules=function(e,t,a,s){r=t,this.rv=t,g=a,this.qupvt=a,w=s,n.setModules(g,w)},this.init_xrpow=function(e,t,a){var s=0,n=0|t.max_nonzero_coeff;if(t.xrpow_max=0,we.fill(a,n,576,0),1e-20<(s=function(e,t,a,s){for(var n=s=0;n<=a;++n){var r=Math.abs(e.xr[n]);s+=r,t[n]=Math.sqrt(r*Math.sqrt(r)),t[n]>e.xrpow_max&&(e.xrpow_max=t[n])}return s}(t,a,n,s))){var r=0;0!=(2&e.substep_shaping)&&(r=1);for(var i=0;id&&_.global_gain<=v;)_.global_gain++;if(_.global_gain>v)break;if(0==f.over_count){for(;(_.part2_3_length=w.count_bits(i,s,_,c))>u&&_.global_gain<=v;)_.global_gain++;if(_.global_gain>v)break}if(g.calc_noise(_,a,l,m,c),m.bits=_.part2_3_length,0!=(M(t.block_type!=Ae.SHORT_TYPE?e.quant_comp:e.quant_comp_short,f,m)?1:0))u=t.part2_3_length,f=m,t.assign(_),b=0,P.arraycopy(s,0,o,0,576);else if(0==i.full_outer_loop){if(++b>p&&0==f.over_count)break;i.noise_shaping_amp,i.noise_shaping_amp}}while(_.global_gain+_.scalefac_scale<255);3==i.noise_shaping_amp?me():h=!0}return e.VBR==Me.vbr_rh||e.VBR==Me.vbr_mtrh?P.arraycopy(o,0,s,0,576):0!=(1&i.substep_shaping)&&me(),f.over_count},this.iteration_finish_one=function(e,t,a){var s=e.l3_side,n=s.tt[t][a];w.best_scalefac_store(e,t,a,s),1==e.use_best_huffman&&w.best_huffman_divide(e,n),r.ResvAdjust(e,n)}}function I(){this.thm=new i,this.en=new i}function Ae(){var R=Ae.MPG_MD_MS_LR,k=null,T=this.psy=null,y=null;this.setModules=function(e,t,a,s){k=e,this.psy=t,T=t,y=s};var x=new function(){var u=[-.1482523854003001,32.308141959636465,296.40344946382766,883.1344870032432,11113.947376231741,1057.2713659324597,305.7402417275812,30.825928907280012,3.8533188138216365,59.42900443849514,709.5899960123345,5281.91112291017,-5829.66483675846,-817.6293103748613,-76.91656988279972,-4.594269939176596,.9063471690191471,.1960342806591213,-.15466694054279598,34.324387823855965,301.8067566458425,817.599602898885,11573.795901679885,1181.2520595540152,321.59731579894424,31.232021761053772,3.7107095756221318,53.650946155329365,684.167428119626,5224.56624370173,-6366.391851890084,-908.9766368219582,-89.83068876699639,-5.411397422890401,.8206787908286602,.3901806440322567,-.16070888947830023,36.147034243915876,304.11815768187864,732.7429163887613,11989.60988270091,1300.012278487897,335.28490093152146,31.48816102859945,3.373875931311736,47.232241542899175,652.7371796173471,5132.414255594984,-6909.087078780055,-1001.9990371107289,-103.62185754286375,-6.104916304710272,.7416505462720353,.5805693545089249,-.16636367662261495,37.751650073343995,303.01103387567713,627.9747488785183,12358.763425278165,1412.2779918482834,346.7496836825721,31.598286663170416,3.1598635433980946,40.57878626349686,616.1671130880391,5007.833007176154,-7454.040671756168,-1095.7960341867115,-118.24411666465777,-6.818469345853504,.6681786379192989,.7653668647301797,-.1716176790982088,39.11551877123304,298.3413246578966,503.5259106886539,12679.589408408976,1516.5821921214542,355.9850766329023,31.395241710249053,2.9164211881972335,33.79716964664243,574.8943997801362,4853.234992253242,-7997.57021486075,-1189.7624067269965,-133.6444792601766,-7.7202770609839915,.5993769336819237,.9427934736519954,-.17645823955292173,40.21879108166477,289.9982036694474,359.3226160751053,12950.259102786438,1612.1013903507662,362.85067106591504,31.045922092242872,2.822222032597987,26.988862316190684,529.8996541764288,4671.371946949588,-8535.899136645805,-1282.5898586244496,-149.58553632943463,-8.643494270763135,.5345111359507916,1.111140466039205,-.36174739330527045,41.04429910497807,277.5463268268618,195.6386023135583,13169.43812144731,1697.6433561479398,367.40983966190305,30.557037410382826,2.531473372857427,20.070154905927314,481.50208566532336,4464.970341588308,-9065.36882077239,-1373.62841526722,-166.1660487028118,-9.58289321133207,.4729647758913199,1.268786568327291,-.36970682634889585,41.393213350082036,261.2935935556502,12.935476055240873,13336.131683328815,1772.508612059496,369.76534388639965,29.751323653701338,2.4023193045459172,13.304795348228817,430.5615775526625,4237.0568611071185,-9581.931701634761,-1461.6913552409758,-183.12733958476446,-10.718010163869403,.41421356237309503,1.414213562373095,-.37677560326535325,41.619486213528496,241.05423794991074,-187.94665032361226,13450.063605744153,1836.153896465782,369.4908799925761,29.001847876923147,2.0714759319987186,6.779591200894186,377.7767837205709,3990.386575512536,-10081.709459700915,-1545.947424837898,-200.3762958015653,-11.864482073055006,.3578057213145241,1.546020906725474,-.3829366947518991,41.1516456456653,216.47684307105183,-406.1569483347166,13511.136535077321,1887.8076599260432,367.3025214564151,28.136213436723654,1.913880671464418,.3829366947518991,323.85365704338597,3728.1472257487526,-10561.233882199509,-1625.2025997821418,-217.62525175416,-13.015432208941645,.3033466836073424,1.66293922460509,-.5822628872992417,40.35639251440489,188.20071124269245,-640.2706748618148,13519.21490106562,1927.6022433578062,362.8197642637487,26.968821921868447,1.7463817695935329,-5.62650678237171,269.3016715297017,3453.386536448852,-11016.145278780888,-1698.6569643425091,-234.7658734267683,-14.16351421663124,.2504869601913055,1.76384252869671,-.5887180101749253,39.23429103868072,155.76096234403798,-889.2492977967378,13475.470561874661,1955.0535223723712,356.4450994756727,25.894952980042156,1.5695032905781554,-11.181939564328772,214.80884394039484,3169.1640829158237,-11443.321309975563,-1765.1588461316153,-251.68908574481912,-15.49755935939164,.198912367379658,1.847759065022573,-.7912582233652842,37.39369355329111,119.699486012458,-1151.0956593239027,13380.446257078214,1970.3952110853447,348.01959814116185,24.731487364283044,1.3850130831637748,-16.421408865300393,161.05030052864092,2878.3322807850063,-11838.991423510031,-1823.985884688674,-268.2854986386903,-16.81724543849939,.1483359875383474,1.913880671464418,-.7960642926861912,35.2322109610459,80.01928065061526,-1424.0212633405113,13235.794061869668,1973.804052543835,337.9908651258184,23.289159354463873,1.3934255946442087,-21.099669467133474,108.48348407242611,2583.700758091299,-12199.726194855148,-1874.2780658979746,-284.2467154529415,-18.11369784385905,.09849140335716425,1.961570560806461,-.998795456205172,32.56307803611191,36.958364584370486,-1706.075448829146,13043.287458812016,1965.3831106103316,326.43182772364605,22.175018750622293,1.198638339011324,-25.371248002043963,57.53505923036915,2288.41886619975,-12522.674544337233,-1914.8400385312243,-299.26241273417224,-19.37805630698734,.04912684976946725,1.990369453344394,.035780907*D.SQRT2*.5/2384e-9,.017876148*D.SQRT2*.5/2384e-9,.003134727*D.SQRT2*.5/2384e-9,.002457142*D.SQRT2*.5/2384e-9,971317e-9*D.SQRT2*.5/2384e-9,218868e-9*D.SQRT2*.5/2384e-9,101566e-9*D.SQRT2*.5/2384e-9,13828e-9*D.SQRT2*.5/2384e-9,12804.797818791945,1945.5515939597317,313.4244966442953,49591e-9/2384e-9,1995.1556208053692,21458e-9/2384e-9,-69618e-9/2384e-9],A=[[2.382191739347913e-13,6.423305872147834e-13,9.400849094049688e-13,1.122435026096556e-12,1.183840321267481e-12,1.122435026096556e-12,9.40084909404969e-13,6.423305872147839e-13,2.382191739347918e-13,5.456116108943412e-12,4.878985199565852e-12,4.240448995017367e-12,3.559909094758252e-12,2.858043359288075e-12,2.156177623817898e-12,1.475637723558783e-12,8.371015190102974e-13,2.599706096327376e-13,-5.456116108943412e-12,-4.878985199565852e-12,-4.240448995017367e-12,-3.559909094758252e-12,-2.858043359288076e-12,-2.156177623817898e-12,-1.475637723558783e-12,-8.371015190102975e-13,-2.599706096327376e-13,-2.382191739347923e-13,-6.423305872147843e-13,-9.400849094049696e-13,-1.122435026096556e-12,-1.183840321267481e-12,-1.122435026096556e-12,-9.400849094049694e-13,-6.42330587214784e-13,-2.382191739347918e-13],[2.382191739347913e-13,6.423305872147834e-13,9.400849094049688e-13,1.122435026096556e-12,1.183840321267481e-12,1.122435026096556e-12,9.400849094049688e-13,6.423305872147841e-13,2.382191739347918e-13,5.456116108943413e-12,4.878985199565852e-12,4.240448995017367e-12,3.559909094758253e-12,2.858043359288075e-12,2.156177623817898e-12,1.475637723558782e-12,8.371015190102975e-13,2.599706096327376e-13,-5.461314069809755e-12,-4.921085770524055e-12,-4.343405037091838e-12,-3.732668368707687e-12,-3.093523840190885e-12,-2.430835727329465e-12,-1.734679010007751e-12,-9.74825365660928e-13,-2.797435120168326e-13,0,0,0,0,0,0,-2.283748241799531e-13,-4.037858874020686e-13,-2.146547464825323e-13],[.1316524975873958,.414213562373095,.7673269879789602,1.091308501069271,1.303225372841206,1.56968557711749,1.920982126971166,2.414213562373094,3.171594802363212,4.510708503662055,7.595754112725146,22.90376554843115,.984807753012208,.6427876096865394,.3420201433256688,.9396926207859084,-.1736481776669303,-.7660444431189779,.8660254037844387,.5,-.5144957554275265,-.4717319685649723,-.3133774542039019,-.1819131996109812,-.09457419252642064,-.04096558288530405,-.01419856857247115,-.003699974673760037,.8574929257125442,.8817419973177052,.9496286491027329,.9833145924917901,.9955178160675857,.9991605581781475,.999899195244447,.9999931550702802],[0,0,0,0,0,0,2.283748241799531e-13,4.037858874020686e-13,2.146547464825323e-13,5.461314069809755e-12,4.921085770524055e-12,4.343405037091838e-12,3.732668368707687e-12,3.093523840190885e-12,2.430835727329466e-12,1.734679010007751e-12,9.74825365660928e-13,2.797435120168326e-13,-5.456116108943413e-12,-4.878985199565852e-12,-4.240448995017367e-12,-3.559909094758253e-12,-2.858043359288075e-12,-2.156177623817898e-12,-1.475637723558782e-12,-8.371015190102975e-13,-2.599706096327376e-13,-2.382191739347913e-13,-6.423305872147834e-13,-9.400849094049688e-13,-1.122435026096556e-12,-1.183840321267481e-12,-1.122435026096556e-12,-9.400849094049688e-13,-6.423305872147841e-13,-2.382191739347918e-13]],R=A[Ae.SHORT_TYPE],S=A[Ae.SHORT_TYPE],k=A[Ae.SHORT_TYPE],T=A[Ae.SHORT_TYPE],y=[0,1,16,17,8,9,24,25,4,5,20,21,12,13,28,29,2,3,18,19,10,11,26,27,6,7,22,23,14,15,30,31];function x(e,t,a){for(var s,n,r,i=10,_=t+238-14-286,o=-15;o<0;o++){var l,f,c;l=u[i+-10],f=e[_+-224]*l,c=e[t+224]*l,l=u[i+-9],f+=e[_+-160]*l,c+=e[t+160]*l,l=u[i+-8],f+=e[_+-96]*l,c+=e[t+96]*l,l=u[i+-7],f+=e[_+-32]*l,c+=e[t+32]*l,l=u[i+-6],f+=e[_+32]*l,c+=e[t+-32]*l,l=u[i+-5],f+=e[_+96]*l,c+=e[t+-96]*l,l=u[i+-4],f+=e[_+160]*l,c+=e[t+-160]*l,l=u[i+-3],f+=e[_+224]*l,c+=e[t+-224]*l,l=u[i+-2],f+=e[t+-256]*l,c-=e[_+256]*l,l=u[i+-1],f+=e[t+-192]*l,c-=e[_+192]*l,l=u[i+0],f+=e[t+-128]*l,c-=e[_+128]*l,l=u[i+1],f+=e[t+-64]*l,c-=e[_+64]*l,l=u[i+2],f+=e[t+0]*l,c-=e[_+0]*l,l=u[i+3],f+=e[t+64]*l,c-=e[_+-64]*l,l=u[i+4],f+=e[t+128]*l,c-=e[_+-128]*l,l=u[i+5],f+=e[t+192]*l,c-=e[_+-192]*l,f*=u[i+6],l=c-f,a[30+2*o]=c+f,a[31+2*o]=u[i+7]*l,i+=18,t--,_++}c=e[t+-16]*u[i+-10],f=e[t+-32]*u[i+-2],c+=(e[t+-48]-e[t+16])*u[i+-9],f+=e[t+-96]*u[i+-1],c+=(e[t+-80]+e[t+48])*u[i+-8],f+=e[t+-160]*u[i+0],c+=(e[t+-112]-e[t+80])*u[i+-7],f+=e[t+-224]*u[i+1],c+=(e[t+-144]+e[t+112])*u[i+-6],f-=e[t+32]*u[i+2],c+=(e[t+-176]-e[t+144])*u[i+-5],f-=e[t+96]*u[i+3],c+=(e[t+-208]+e[t+176])*u[i+-4],f-=e[t+160]*u[i+4],c+=(e[t+-240]-e[t+208])*u[i+-3],f-=e[t+224],s=f-c,n=f+c,c=a[14],f=a[15]-c,a[31]=n+c,a[30]=s+f,a[15]=s-f,a[14]=n-c,r=a[28]-a[0],a[0]+=a[28],a[28]=r*u[i+-36+7],r=a[29]-a[1],a[1]+=a[29],a[29]=r*u[i+-36+7],r=a[26]-a[2],a[2]+=a[26],a[26]=r*u[i+-72+7],r=a[27]-a[3],a[3]+=a[27],a[27]=r*u[i+-72+7],r=a[24]-a[4],a[4]+=a[24],a[24]=r*u[i+-108+7],r=a[25]-a[5],a[5]+=a[25],a[25]=r*u[i+-108+7],r=a[22]-a[6],a[6]+=a[22],a[22]=r*D.SQRT2,r=a[23]-a[7],a[7]+=a[23],a[23]=r*D.SQRT2-a[7],a[7]-=a[6],a[22]-=a[7],a[23]-=a[22],r=a[6],a[6]=a[31]-r,a[31]=a[31]+r,r=a[7],a[7]=a[30]-r,a[30]=a[30]+r,r=a[22],a[22]=a[15]-r,a[15]=a[15]+r,r=a[23],a[23]=a[14]-r,a[14]=a[14]+r,r=a[20]-a[8],a[8]+=a[20],a[20]=r*u[i+-180+7],r=a[21]-a[9],a[9]+=a[21],a[21]=r*u[i+-180+7],r=a[18]-a[10],a[10]+=a[18],a[18]=r*u[i+-216+7],r=a[19]-a[11],a[11]+=a[19],a[19]=r*u[i+-216+7],r=a[16]-a[12],a[12]+=a[16],a[16]=r*u[i+-252+7],r=a[17]-a[13],a[13]+=a[17],a[17]=r*u[i+-252+7],r=-a[20]+a[24],a[20]+=a[24],a[24]=r*u[i+-216+7],r=-a[21]+a[25],a[21]+=a[25],a[25]=r*u[i+-216+7],r=a[4]-a[8],a[4]+=a[8],a[8]=r*u[i+-216+7],r=a[5]-a[9],a[5]+=a[9],a[9]=r*u[i+-216+7],r=a[0]-a[12],a[0]+=a[12],a[12]=r*u[i+-72+7],r=a[1]-a[13],a[1]+=a[13],a[13]=r*u[i+-72+7],r=a[16]-a[28],a[16]+=a[28],a[28]=r*u[i+-72+7],r=-a[17]+a[29],a[17]+=a[29],a[29]=r*u[i+-72+7],r=D.SQRT2*(a[2]-a[10]),a[2]+=a[10],a[10]=r,r=D.SQRT2*(a[3]-a[11]),a[3]+=a[11],a[11]=r,r=D.SQRT2*(-a[18]+a[26]),a[18]+=a[26],a[26]=r-a[18],r=D.SQRT2*(-a[19]+a[27]),a[19]+=a[27],a[27]=r-a[19],r=a[2],a[19]-=a[3],a[3]-=r,a[2]=a[31]-r,a[31]+=r,r=a[3],a[11]-=a[19],a[18]-=r,a[3]=a[30]-r,a[30]+=r,r=a[18],a[27]-=a[11],a[19]-=r,a[18]=a[15]-r,a[15]+=r,r=a[19],a[10]-=r,a[19]=a[14]-r,a[14]+=r,r=a[10],a[11]-=r,a[10]=a[23]-r,a[23]+=r,r=a[11],a[26]-=r,a[11]=a[22]-r,a[22]+=r,r=a[26],a[27]-=r,a[26]=a[7]-r,a[7]+=r,r=a[27],a[27]=a[6]-r,a[6]+=r,r=D.SQRT2*(a[0]-a[4]),a[0]+=a[4],a[4]=r,r=D.SQRT2*(a[1]-a[5]),a[1]+=a[5],a[5]=r,r=D.SQRT2*(a[16]-a[20]),a[16]+=a[20],a[20]=r,r=D.SQRT2*(a[17]-a[21]),a[17]+=a[21],a[21]=r,r=-D.SQRT2*(a[8]-a[12]),a[8]+=a[12],a[12]=r-a[8],r=-D.SQRT2*(a[9]-a[13]),a[9]+=a[13],a[13]=r-a[9],r=-D.SQRT2*(a[25]-a[29]),a[25]+=a[29],a[29]=r-a[25],r=-D.SQRT2*(a[24]+a[28]),a[24]-=a[28],a[28]=r-a[24],r=a[24]-a[16],a[24]=r,r=a[20]-r,a[20]=r,r=a[28]-r,a[28]=r,r=a[25]-a[17],a[25]=r,r=a[21]-r,a[21]=r,r=a[29]-r,a[29]=r,r=a[17]-a[1],a[17]=r,r=a[9]-r,a[9]=r,r=a[25]-r,a[25]=r,r=a[5]-r,a[5]=r,r=a[21]-r,a[21]=r,r=a[13]-r,a[13]=r,r=a[29]-r,a[29]=r,r=a[1]-a[0],a[1]=r,r=a[16]-r,a[16]=r,r=a[17]-r,a[17]=r,r=a[8]-r,a[8]=r,r=a[9]-r,a[9]=r,r=a[24]-r,a[24]=r,r=a[25]-r,a[25]=r,r=a[4]-r,a[4]=r,r=a[5]-r,a[5]=r,r=a[20]-r,a[20]=r,r=a[21]-r,a[21]=r,r=a[12]-r,a[12]=r,r=a[13]-r,a[13]=r,r=a[28]-r,a[28]=r,r=a[29]-r,a[29]=r,r=a[0],a[0]+=a[31],a[31]-=r,r=a[1],a[1]+=a[30],a[30]-=r,r=a[16],a[16]+=a[15],a[15]-=r,r=a[17],a[17]+=a[14],a[14]-=r,r=a[8],a[8]+=a[23],a[23]-=r,r=a[9],a[9]+=a[22],a[22]-=r,r=a[24],a[24]+=a[7],a[7]-=r,r=a[25],a[25]+=a[6],a[6]-=r,r=a[4],a[4]+=a[27],a[27]-=r,r=a[5],a[5]+=a[26],a[26]-=r,r=a[20],a[20]+=a[11],a[11]-=r,r=a[21],a[21]+=a[10],a[10]-=r,r=a[12],a[12]+=a[19],a[19]-=r,r=a[13],a[13]+=a[18],a[18]-=r,r=a[28],a[28]+=a[3],a[3]-=r,r=a[29],a[29]+=a[2],a[2]-=r}function E(e,t){for(var a=0;a<3;a++){var s,n,r,i,_,o;i=e[t+6]*A[Ae.SHORT_TYPE][0]-e[t+15],s=e[t+0]*A[Ae.SHORT_TYPE][2]-e[t+9],n=i+s,r=i-s,i=e[t+15]*A[Ae.SHORT_TYPE][0]+e[t+6],s=e[t+9]*A[Ae.SHORT_TYPE][2]+e[t+0],_=i+s,o=-i+s,s=2.069978111953089e-11*(e[t+3]*A[Ae.SHORT_TYPE][1]-e[t+12]),i=2.069978111953089e-11*(e[t+12]*A[Ae.SHORT_TYPE][1]+e[t+3]),e[t+0]=1.90752519173728e-11*n+s,e[t+15]=1.90752519173728e-11*-_+i,r=.8660254037844387*r*1.907525191737281e-11,_=.5*_*1.907525191737281e-11+i,e[t+3]=r-_,e[t+6]=r+_,n=.5*n*1.907525191737281e-11-s,o=.8660254037844387*o*1.907525191737281e-11,e[t+9]=n+o,e[t+12]=n-o,t++}}function H(e,t,a){var s,n,r,i,_,o,l,f,c,u,h,b,p,m,v,d,g,w;r=a[17]-a[9],_=a[15]-a[11],o=a[14]-a[12],l=a[0]+a[8],f=a[1]+a[7],c=a[2]+a[6],u=a[3]+a[5],e[t+17]=l+c-u-(f-a[4]),n=(l+c-u)*S[19]+(f-a[4]),s=(r-_-o)*S[18],e[t+5]=s+n,e[t+6]=s-n,i=(a[16]-a[10])*S[18],f=f*S[19]+a[4],s=r*S[12]+i+_*S[13]+o*S[14],n=-l*S[16]+f-c*S[17]+u*S[15],e[t+1]=s+n,e[t+2]=s-n,s=r*S[13]-i-_*S[14]+o*S[12],n=-l*S[17]+f-c*S[15]+u*S[16],e[t+9]=s+n,e[t+10]=s-n,s=r*S[14]-i+_*S[12]-o*S[13],n=l*S[15]-f+c*S[16]-u*S[17],e[t+13]=s+n,e[t+14]=s-n,h=a[8]-a[0],p=a[6]-a[2],m=a[5]-a[3],v=a[17]+a[9],d=a[16]+a[10],g=a[15]+a[11],w=a[14]+a[12],e[t+0]=v+g+w+(d+a[13]),s=(v+g+w)*S[19]-(d+a[13]),n=(h-p+m)*S[18],e[t+11]=s+n,e[t+12]=s-n,b=(a[7]-a[1])*S[18],d=a[13]-d*S[19],s=v*S[15]-d+g*S[16]+w*S[17],n=h*S[14]+b+p*S[12]+m*S[13],e[t+3]=s+n,e[t+4]=s-n,s=-v*S[17]+d-g*S[15]-w*S[16],n=h*S[13]+b-p*S[14]-m*S[12],e[t+7]=s+n,e[t+8]=s-n,s=-v*S[16]+d-g*S[17]-w*S[15],n=h*S[12]-b+p*S[13]-m*S[14],e[t+15]=s+n,e[t+16]=s-n}this.mdct_sub48=function(e,t,a){for(var s=t,n=286,r=0;r=s?(e.ATH.adjust*=.075*s+.925,e.ATH.adjust=s?e.ATH.adjust=s:e.ATH.adjust>1,h=(u=(c=s)<<1)+c,s=u<<1,r=(n=t)+b;S=e[n+0]-e[n+c],w=e[n+0]+e[n+c],R=e[n+u]-e[n+h],B=e[n+u]+e[n+h],e[n+u]=w-B,e[n+0]=w+B,e[n+h]=S-R,e[n+c]=S+R,S=e[r+0]-e[r+c],w=e[r+0]+e[r+c],R=D.SQRT2*e[r+h],B=D.SQRT2*e[r+u],e[r+u]=w-B,e[r+0]=w+B,e[r+h]=S-R,e[r+c]=S+R,r+=s,(n+=s)<_;);for(l=T[i+0],o=T[i+1],f=1;fO[h+3-2]?K/=O[h+3-2]:K=O[h+3-2]>10*K?O[h+3-2]/(10*K):0,N[h+3]=K}for(e.analysis&&me(),L=3==c?g.nsPsy.attackthre_s:g.nsPsy.attackthre,h=0;h<12;h++)0==j[h/3]&&N[h]>L&&(j[h/3]=h%3+1);for(h=1;h<4;h++)(V[h-1]>V[h]?V[h-1]/V[h]:V[h]/V[h-1])<1.7&&(j[h]=0,1==h&&(j[0]=0));for(0!=j[0]&&0!=g.nsPsy.lastAttacks[c]&&(j[0]=0),3!=g.nsPsy.lastAttacks[c]&&j[0]+j[1]+j[2]+j[3]==0||((D=0)!=j[1]&&0!=j[0]&&(j[1]=0),0!=j[2]&&0!=j[1]&&(j[2]=0),0!=j[3]&&0!=j[2]&&(j[3]=0)),c<2?k[c]=D:me(),o[c]=g.tot_ener[c],ne(e,C,F,w,1&c,S,1&c,s,c,t,a),he(g,C,M,Y,X),be(g,Y,X,y),v=0;v<3;v++){var G,Q;for(le(e,F,B,A,c,v),_e(g,B,A,c,v),m=0;m=n&&(p=i*(l[t]-n)/(24-n)+r*(24-l[t])/(24-n)),c[t]=Math.pow(10,p/10),0=n&&(p=o*(l[t]-n)/(24-n)+_*(24-l[t])/(24-n)),c[t]=Math.pow(10,p/10),g=Y.MAX_VALUE;for(var v=0;va.npart_l-1&&(a.s3ind[S][1]=a.npart_l-1);var M=576*a.mode_gr/u;if(a.ATH.decay=Math.pow(10,-1.2*M),a.ATH.adjust=.01,-(a.ATH.adjustLimit=1)!=e.ATHtype){var B=e.out_samplerate/Ae.BLKSIZE,A=0;for(t=d=0;t=a.lowpass2&&(s=Math.min(s,r)),a.lowpass1a.highpass1?me():_=1,o=a.lowpass2>a.lowpass1?1<(t=(i-a.lowpass1)/(a.lowpass2-a.lowpass1+1e-20))?0:t<=0?1:Math.cos(Math.PI/2*t):1,a.amp_filter[r]=_*o}}(e),s.samplerate_index=function(e,t){switch(e){case 44100:return t.version=1,0;case 48e3:return t.version=1;case 32e3:return t.version=1,2;case 22050:return t.version=0;case 24e3:return t.version=0,1;case 16e3:return t.version=0,2;case 11025:return t.version=0;case 12e3:return t.version=0,1;case 8e3:return t.version=0,2;default:return t.version=0,-1}}(e.out_samplerate,e),s.samplerate_index<0&&me(),e.VBR==Me.vbr_off?e.free_format?s.bitrate_index=0:(e.brate=function(e,t,a){a<16e3&&(t=2);for(var s=R.bitrate_table[t][1],n=2;n<=14;n++)0=f){var y=i-h;if(0==i&&(y=0),m=e,v=b[0],d=b[1],g=n,w=r,S=y,void 0,M=H.enc.lame_encode_mp3_frame(m,v,d,g,w,S),m.frameNum++,(_=M)<0)return _;for(r+=_,h+=_,u.mf_size-=e.framesize,u.mf_samples_to_encode-=e.framesize,l=0;li&&(s.ResvMax=i),(s.ResvMax<0||e.disable_reservoir)&&(s.ResvMax=0);var _=t.bits*s.mode_gr+Math.min(s.ResvSize,s.ResvMax);return a<_&&(_=a),n.resvDrain_pre=0,null!=s.pinfo&&me(),_},this.ResvMaxBits=function(e,t,a,s){var n,r=e.internal_flags,i=r.ResvSize,_=r.ResvMax;0!=s&&(i+=t),0!=(1&r.substep_shaping)&&(_*=.9),a.bits=t,9*_<10*i?(n=i-9*_/10,a.bits+=n,r.substep_shaping|=128):(n=0,r.substep_shaping&=127,e.disable_reservoir||0!=(1&r.substep_shaping)||(a.bits-=.1*t));var o=i<6*r.ResvMax/10?i:6*r.ResvMax/10;return(o-=n)<0&&(o=0),o},this.ResvAdjust=function(e,t){e.ResvSize-=t.part2_3_length+t.part2_length},this.ResvFrameEnd=function(e,t){var a,s=e.l3_side;e.ResvSize+=t*e.mode_gr;var n=0;s.resvDrain_post=0,(s.resvDrain_pre=0)!=(a=e.ResvSize%8)&&(n+=a),0<(a=e.ResvSize-n-e.ResvMax)&&(n+=a);var r=Math.min(8*s.main_data_begin,n)/8;s.resvDrain_pre+=8*r,n-=8*r,e.ResvSize-=8*r,s.main_data_begin-=r,s.resvDrain_post+=n,e.ResvSize-=n}},b=new A,p=new function(){this.setModules=function(e,t,a){}},m=new function(){};n.setModules(r,i,_,o,l,f,c,u,m),i.setModules(r,m,c,f),u.setModules(i,c),_.setModules(n),l.setModules(i,h,o,b),o.setModules(b,h,n.enc.psy),h.setModules(i),b.setModules(o),f.setModules(n,i,c),a.setModules(p,m),p.setModules(c,u,_);var v=n.lame_init();v.num_channels=s,v.in_samplerate=e,v.out_samplerate=e,v.brate=t,v.mode=Be.STEREO,v.quality=3,v.bWriteVbrTag=!1,v.disable_reservoir=!0,v.write_id3tag_automatic=!1,n.lame_init_params(v);var d=1152,g=0|1.25*d+7200,w=S(g);this.encodeBuffer=function(e,t){1==s&&(t=e),e.length>d&&(d=e.length,w=S(g=0|1.25*d+7200));var a=n.lame_encode_buffer(v,e,t,e.length,w,0,g);return new Int8Array(w.subarray(0,a))},this.flush=function(){var e=n.lame_encode_flush(v,w,0,g);return new Int8Array(w.subarray(0,e))}}}t(),e.lamejs=t}(("object"==typeof window&&window.document?window:Object).Recorder); \ No newline at end of file diff --git a/dist/engine/pcm.js b/dist/engine/pcm.js index 955ee0af..fde4f6f3 100644 --- a/dist/engine/pcm.js +++ b/dist/engine/pcm.js @@ -3,4 +3,4 @@ https://github.com/xiangyuecn/Recorder src: engine/pcm.js */ -!function(){"use strict";Recorder.prototype.enc_pcm={stable:!0,fast:!0,testmsg:"pcm为未封装的原始音频数据,pcm音频文件无法直接播放,可用Recorder.pcm2wav()转码成wav播放;支持位数8位、16位(填在比特率里面),采样率取值无限制"},Recorder.prototype.pcm=function(e,t,r){var a=this.set,n=e.length,o=8==a.bitRate?8:16,c=new ArrayBuffer(n*(o/8)),s=new DataView(c),p=0;if(8==o)for(var l=0;l>8);s.setInt8(p,i,!0)}else for(l=0;l>8);n[o]=a}else{e=new Int16Array(e);var n=new Uint8Array(e.buffer)}return n};p.pcm2wav=function(e,f,m){e.blob||(e={blob:e});var t=e.blob,c=e.sampleRate||16e3,i=e.bitRate||16;if(e.sampleRate&&e.bitRate||p.CLog(a("KmRz::pcm2wav必须提供sampleRate和bitRate"),3),p.prototype.wav){var r=function(e,t){var r;if(8==i){var n=new Uint8Array(e);r=new Int16Array(n.length);for(var o=0;oe.memory.length){var n=new Uint8Array(e.memory.length+Math.max(5e5,r));n.set(e.memory.subarray(0,e.mOffset)),e.memory=n}e.memory.set(t,e.mOffset),e.mOffset+=r}(e,n)}},p.prototype.pcm_complete=function(e,t,r,n){if(e&&e.memory){n&&this.pcm_stop(e);var o=e.memory.buffer.slice(0,e.mOffset);t(o,"audio/pcm")}else r(a("sDkA::pcm编码器未start"))}}(r,0,n.$T)}(); \ No newline at end of file diff --git a/dist/engine/wav.js b/dist/engine/wav.js index be024167..d7de88d5 100644 --- a/dist/engine/wav.js +++ b/dist/engine/wav.js @@ -3,4 +3,4 @@ https://github.com/xiangyuecn/Recorder src: engine/wav.js */ -!function(){"use strict";Recorder.prototype.enc_wav={stable:!0,fast:!0,testmsg:"支持位数8位、16位(填在比特率里面),采样率取值无限制;此编码器仅在pcm数据前加了一个44字节的wav头,编码出来的16位wav文件去掉开头的44字节即可得到pcm(注:其他wav编码器可能不是44字节)"},Recorder.prototype.wav=function(t,e,a){var n=this.set,r=t.length,o=n.sampleRate,f=8==n.bitRate?8:16,s=r*(f/8),i=new ArrayBuffer(44+s),c=new DataView(i),v=0,w=function(t){for(var e=0;e>8);c.setInt8(v,d,!0)}else for(l=0;l>8);u[c++]=s}else(u=new Int16Array(u.buffer)).set(t,c/2);e(u.buffer,"audio/wav")},d.wav_header=function(t,e,n,a,r){var i=1==t?0:2,o=new ArrayBuffer(44+i),f=new DataView(o),w=0,c=function(t){for(var e=0;e=s.pcmTotal){if(1==s.state)return;i.stopWs(function(){e()},function(e){t(e)})}else{var f=s.sampleRate/1e3*50,u=s.sampleRate;if(i.bufferedAmount/2>3*u)s.sendWait=setTimeout(function(){s.sendWait=0,s._send()},100);else{if(s.sendSpeed){var l=(Date.now()-i.okTime)*s.sendSpeed,p=(s.sendCurSize+u/3)/s.sampleRate*1e3,d=Math.floor((p-l)/s.sendSpeed);if(0=s.pcmTotal){if(1==s.state)return;r.stopWs(function(){e()},function(e){t(e)})}else{var f=s.sampleRate/1e3*50,u=s.sampleRate;if((r.bufferedAmount||0)/2>3*u)s.sendWait=setTimeout(function(){s.sendWait=0,s._send()},100);else{if(s.sendSpeed){var l=(Date.now()-r.okTime)*s.sendSpeed,c=(s.sendCurSize+u/3)/s.sampleRate*1e3,p=Math.floor((c-l)/s.sendSpeed);if(0e&&(r=r.subarray(r.length-e),t[0]=r),r},_subPause:function(){return this.isPause?(this.set.realtime&&(this.pcmBuffer=[[],[]]),1):0},_subWrite:function(e,t,r,n){for(var a=this.pcmBuffer,u=a[0],i=a[1],f=new Int16Array(t),o=0,s=0,c=0;s=u.length){for(u=new Int16Array(0),o=c=0;s=i.length?new Int16Array(0):i.subarray(o),a[1]=i}else u=u.subarray(o);a[0]=u;var d=e.getChannelData(0);for(o=0;oe&&(r=r.subarray(r.length-e),t[0]=r),r},_subPause:function(){return this.isPause?(this.set.realtime&&(this.pcmBuffer=[[],[]]),1):0},_subWrite:function(e,t,r,n){for(var a=this.pcmBuffer,u=a[0],i=a[1],f=new Int16Array(t),o=0,s=0,c=0;s=u.length){for(u=new Int16Array(0),o=c=0;s=i.length?new Int16Array(0):i.subarray(o),a[1]=i}else u=u.subarray(o);a[0]=u;for(var d=e.getChannelData(0),o=0;od&&(b+=k=64*(f+1),g-=k);var F=new Int16Array(b);k&&F.set(n.subarray(n.length-k));for(var p=0;ph&&(b+=p=64*(i+1),f-=p);var F=new Int16Array(b);p&&F.set(l.subarray(l.length-p));for(var k=0;k=k.length&&(s.keyIdx=-1),s.keyIdx!=n.idx&&(k=Recorder.DTMF_Encode(h,e,a.duration,a.mute),s.keyIdx=n.idx,s.cur=0,s.keyPcm=k,i.push({key:h,data:k}));var f=l(c,o,k,s.cur,!0);if(s.cur=f.cur,o=f.last,f.cur>=k.length&&(n.idx++,h=n.keys.charAt(n.idx),s.skip=Math.floor(e*(a.interval-a.duration-2*a.mute)/1e3)),f.last>=c.length){o=0;continue t}}else s.skip=Math.max(0,s.skip-c.length)}return{newEncodes:i,hasNext:n.idx=t.length||s>=r.length)return{last:i,cur:s};a&&(t[i]=0);var o,u=t[i],c=r[s];o=u<0&&c<0?u+c-u*c/-32767:u+c-u*c/32767,t[i]=o}},f={1:[697,1209],2:[697,1336],3:[697,1477],A:[697,1633],4:[770,1209],5:[770,1336],6:[770,1477],B:[770,1633],7:[852,1209],8:[852,1336],9:[852,1477],C:[852,1633],"*":[941,1209],0:[941,1336],"#":[941,1477],D:[941,1633]}}(); \ No newline at end of file +!function(t){var e="object"==typeof window&&!!window.document,n=(e?window:Object).Recorder,r=n.i18n;!function(l,t,e,n){"use strict";l.DTMF_Encode=function(t,e,n,r){for(var i=Math.floor(e*(n||100)/1e3),a=Math.floor(e*(null==r?50:r)/1e3),o=new Int16Array(i+2*a),s=new Int16Array(i+2*a),u=k[t][0],c=k[t][1],d=0;d=f.length&&(o.keyIdx=-1),o.keyIdx!=r.idx&&(f=l.DTMF_Encode(d,e,i.duration,i.mute),o.keyIdx=r.idx,o.cur=0,o.keyPcm=f,a.push({key:d,data:f}));var k=x(c,s,f,o.cur,!0);if(o.cur=k.cur,s=k.last,k.cur>=f.length&&(r.idx++,d=r.keys.charAt(r.idx),o.skip=Math.floor(e*(i.interval-i.duration-2*i.mute)/1e3)),k.last>=c.length){s=0;continue t}}else o.skip=Math.max(0,o.skip-c.length)}return{newEncodes:a,hasNext:r.idx=t.length||o>=n.length)return{last:a,cur:o};i&&(t[a]=0);var s,u=t[a],c=n[o];s=u<0&&c<0?u+c-u*c/-32767:u+c-u*c/32767,t[a]=s}},k={1:[697,1209],2:[697,1336],3:[697,1477],A:[697,1633],4:[770,1209],5:[770,1336],6:[770,1477],B:[770,1633],7:[852,1209],8:[852,1336],9:[852,1477],C:[852,1633],"*":[941,1209],0:[941,1336],"#":[941,1477],D:[941,1633]}}(n,0,r.$T)}(); \ No newline at end of file diff --git a/dist/extensions/frequency.histogram.view.js b/dist/extensions/frequency.histogram.view.js index faf4061c..04a6b28e 100644 --- a/dist/extensions/frequency.histogram.view.js +++ b/dist/extensions/frequency.histogram.view.js @@ -3,4 +3,4 @@ https://github.com/xiangyuecn/Recorder src: extensions/frequency.histogram.view.js */ -!function(){"use strict";var t=function(t){return new e(t)},d="FrequencyHistogramView",e=function(t){var e=this,r={scale:2,fps:20,lineCount:30,widthRatio:.6,spaceWidth:0,minHeight:0,position:-1,mirrorEnable:!1,stripeEnable:!0,stripeHeight:3,stripeMargin:6,fallDuration:1e3,stripeFallDuration:3500,linear:[0,"rgba(0,187,17,1)",.5,"rgba(255,215,0,1)",1,"rgba(255,102,0,1)"],stripeLinear:null,shadowBlur:0,shadowColor:"#bbb",stripeShadowBlur:-1,stripeShadowColor:"",onDraw:function(t,e){}};for(var a in t)r[a]=t[a];e.set=t=r;var i=t.elem;i&&("string"==typeof i?i=document.querySelector(i):i.length&&(i=i[0])),i&&(t.width=i.offsetWidth,t.height=i.offsetHeight);var o=t.scale,n=t.width*o,l=t.height*o;if(!n||!l)throw new Error(d+"无宽高");var h=e.elem=document.createElement("div"),s=["","transform-origin:0 0;","transform:scale("+1/o+");"];h.innerHTML='
';var f=e.canvas=h.querySelector("canvas");e.ctx=f.getContext("2d");if(f.width=n,f.height=l,i&&(i.innerHTML="",i.appendChild(h)),!Recorder.LibFFT)throw new Error("需要lib.fft.js支持");e.fft=Recorder.LibFFT(1024),e.lastH=[],e.stripesH=[]};e.prototype=t.prototype={genLinear:function(t,e,r,a){for(var i=t.createLinearGradient(0,r,0,a),o=0;o1.3*e.stripeFallDuration)return clearInterval(t.timer),void(t.timer=0);if(!(a-i';var o=e.canvas=l.querySelector("canvas");n&&(n.innerHTML="",n.appendChild(l))}var s=t.scale,h=t.width*s,f=t.height*s;if(!h||!f)throw new Error(d.G("IllegalArgs-1",[w+" width=0 height=0"]));o.width=h,o.height=f;e.ctx=o.getContext("2d");if(!c.LibFFT)throw new Error(d.G("NeedImport-2",[w,"src/extensions/lib.fft.js"]));e.fft=c.LibFFT(1024),e.lastH=[],e.stripesH=[]};r.prototype=e.prototype={genLinear:function(t,e,r,a){for(var i=t.createLinearGradient(0,r,0,a),o=0;o1.3*e.stripeFallDuration)return clearInterval(t.timer),t.timer=0,t.lastH=[],t.stripesH=[],void t.draw(null,t.sampleRate);if(!(a-i>>=1;m[o]=f}var n,u=2*Math.PI/v;for(o=(v>>1)-1;0>1;var c=new Float64Array(t);for(n=-(u=d),o=t;0!=o;o--)e=l[o],h=F[o],c[o-1]=n>>=1;g[o]=a}var f,i=2*Math.PI/w;for(o=(w>>1)-1;0>1;var M=new Float64Array(t);for(f=-(i=s),o=t;0!=o;o--)e=v[o],u=b[o],M[o-1]=f>1)+t))}function N(t){p>1)+t))}function Q(t,r,o){D(o),B(a,y,t,r,o),y+=o}function V(t){var r=L;return S>1)+r)),B(f,k,a,t,r),y=t,k+=r}function K(t){0!=t&&(B(f,0,f,t,k-t),k-=t)}function X(t){return 0<=t?1:-1}function Y(t,r,o,n){var e,i,a,c,f,s,u,l,h,v,d,p,w,m=0,M=O*o,y=I*n,k=(I+1)*n,b=k-M-1,R=k-y,S=0;for(e=0;e>16&65535}function Z(t,r,o,n){var e;return 2<=o?e=Math.floor(n/(o-1)):(e=n,L=Math.floor(n*(2-o)/(o-1))),D(e),G(e,x,a,y,t,r,t,r+n),y+=e,e}function $(t,r,o,n){var e;return o<.5?e=Math.floor(n*o/(1-o)):(e=n,L=Math.floor(n*(2*o-1)/(1-o))),D(n+e),B(a,y,t,r,n),G(e,x,a,y+n,t,r+n,t,r),y+=n+e,e}function tt(t){var r,o,n=M,e=0;if(!(M>=1,e>>=1;if(y==r)return;for(J(r),o=0;o>12;32767>1)+t))}function N(t){w>1)+t))}function Q(t,r,o){D(o),F(a,y,t,r,o),y+=o}function V(t){var r=x;return R>1)+r)),F(f,k,a,t,r),y=t,k+=r}function H(t){0!=t&&(F(f,0,f,t,k-t),k-=t)}function J(t){return 0<=t?1:-1}function K(t,r,o,n){var e,i,a,c,f,s,u,l,h,v,d,w,p,m=0,M=L*o,y=I*n,k=(I+1)*n,b=k-M-1,S=k-y,R=0;for(e=0;e>16&65535}function X(t,r,o,n){var e;return 2<=o?e=Math.floor(n/(o-1)):(e=n,x=Math.floor(n*(2-o)/(o-1))),D(e),$(e,O,a,y,t,r,t,r+n),y+=e,e}function Z(t,r,o,n){var e;return o<.5?e=Math.floor(n*o/(1-o)):(e=n,x=Math.floor(n*(2*o-1)/(1-o))),D(n+e),F(a,y,t,r,n),$(e,O,a,y+n,t,r+n,t,r),y+=n+e,e}function tt(t){var r,o,n=M,e=0;if(!(M>=1,e>>=1;if(y==r)return;for(G(r),o=0;o>12;32767
';var s=t.canvas=c.querySelector("canvas");t.ctx=s.getContext("2d");s.width=o,s.height=l;var d=t.canvas2=document.createElement("canvas");t.ctx2=d.getContext("2d");d.width=2*o,d.height=l,i&&(i.innerHTML="",i.appendChild(c)),t.x=0};t.prototype=e.prototype={genLinear:function(e,t,a,r){for(var i=e.createLinearGradient(0,a,0,r),n=0;n';var i=t.canvas=c.querySelector("canvas"),o=t.canvas2=document.createElement("canvas");l&&(l.innerHTML="",l.appendChild(c))}var s=e.scale,h=e.width*s,f=e.height*s;if(!h||!f)throw new Error(v.G("IllegalArgs-1",[m+" width=0 height=0"]));i.width=h,i.height=f;t.ctx=i.getContext("2d");o.width=2*h,o.height=f;t.ctx2=o.getContext("2d");t.x=0};r.prototype=a.prototype={genLinear:function(e,t,a,r){for(var n=e.createLinearGradient(0,a,0,r),i=0;i
';var c=t.canvas=l.querySelector("canvas"),d=t.ctx=c.getContext("2d");c.width=h,c.height=o,t.linear1=t.genLinear(d,h,e.linear1),t.linear2=t.genLinear(d,h,e.linear2),t.linearBg=t.genLinear(d,o,e.linearBg,!0),r&&(r.innerHTML="",r.appendChild(l)),t._phase=0};t.prototype=e.prototype={genLinear:function(e,t,a,i){for(var r=e.createLinearGradient(0,0,i?0:t,i?t:0),n=0;n';var n=t.canvas=h.querySelector("canvas");o&&(o.innerHTML="",o.appendChild(h))}var l=e.scale,s=e.width*l,c=e.height*l;if(!s||!c)throw new Error(f.G("IllegalArgs-1",[v+" width=0 height=0"]));n.width=s,n.height=c;var d=t.ctx=n.getContext("2d");t.linear1=t.genLinear(d,s,e.linear1),t.linear2=t.genLinear(d,s,e.linear2),t.linearBg=t.genLinear(d,c,e.linearBg,!0),t._phase=0};a.prototype=t.prototype={genLinear:function(e,t,a,r){for(var i=e.createLinearGradient(0,0,r?0:t,r?t:0),n=0;n"+h,3);for(var p=0,g=i;g"+m.length+" 花:"+(Date.now()-n)+"ms"),setTimeout(function(){n=Date.now(),a[o.type](m,function(e){u(e,g)},function(e){f(e)})})}else f("未加载"+o.type+"编码器");else f("音频buffers被释放");else f("未采集到录音")}},w[I]&&(z("重复引入"+I,3),w[I].Destroy()),w[I]=P;var R=function(e,t){t.pos||(t.pos=[0],t.tracks={},t.bytes=[]);var r=t.tracks,n=[t.pos[0]],a=function(){t.pos[0]=n[0]},o=t.bytes.length,i=new Uint8Array(o+e.length);if(i.set(t.bytes),i.set(e,o),t.bytes=i,!t._ht){if(E(i,n),W(i,n),!O(E(i,n),[24,83,128,103]))return;for(E(i,n);n[0]=e.length)){var a=e[n],o=("0000000"+a.toString(2)).substr(-8),i=/^(0*1)(\d*)$/.exec(o);if(i){var s=i[1].length,c=[];if(!(n+s>e.length)){for(var f=0;fe.length)return;for(var i=0;i"+p),3);for(var h=0,g=i;g"+d.length,Date.now()-v)),setTimeout(function(){v=Date.now(),p[h.type](d,function(e,t){a(e,t,f)},function(e){m(e)})})}else m($("xkKd::音频buffers被释放"))}else m($("xGuI::未加载{1}编码器,请尝试到{2}的src/engine内找到{1}的编码器并加载",0,h.type,k));else m($("Ltz3::未采集到录音"))}};var z=function(e,t){t.pos||(t.pos=[0],t.tracks={},t.bytes=[]);var r=t.tracks,n=[t.pos[0]],a=function(){t.pos[0]=n[0]},o=t.bytes.length,i=new Uint8Array(o+e.length);if(i.set(t.bytes),i.set(e,o),t.bytes=i,!t._ht){if(P(i,n),W(i,n),!D(P(i,n),[24,83,128,103]))return;for(P(i,n);n[0]32 bit",3)),x[U]!=t[U]||32!=x.bitDepth||x.channels<1||!/(\b|_)PCM\b/i.test(x.codec))return t.bytes=[],t.bad||N("WebM Track Unexpected",3,t),-(t.bad=1);for(var M=[],k=0;n[0]=e.length)){var a=e[n],o=("0000000"+a.toString(2)).substr(-8),i=/^(0*1)(\d*)$/.exec(o);if(i){var s=i[1].length,c=[];if(!(n+s>e.length)){for(var f=0;fe.length)return;for(var i=0;ia.length)&&(e="{?}",N("i18n["+n+"] no {"+t+"}: "+o,3)),r?"":e})):"en"==e?B.v_G(n,a,"zh"):B.v_G(n,a,"en")},$T:function(){return B.v_T.apply(null,arguments)},v_T:function(){for(var e,t=arguments,r="",n=[],a=0,o=k+".i18n.$T:",i=/^([\w\-]*):/,s=0;s -Recorder H5: 用于html5网页中的前端录音解决方案,此录音插件支持mp3 wav pcm amr ogg webm格式,支持实时上传 语音识别 音频可视化 实时处理,可在PC端 移动端 Android iOS 原生App中跨平台使用 +Recorder H5: 用于html5网页中的前端录音解决方案,此录音插件支持mp3 wav pcm g711a g711u amr ogg webm格式,支持实时上传 语音识别 音频可视化 实时处理,可在PC端 移动端 Android iOS 原生App中跨平台使用 +var PageLM="2023-12-01 20:16"; +(function(){ +console.log("【温馨提示】本页面用于测试Recorder的主要功能,代码难看臃肿,不建议阅读本页面源码;如果想要快速入门,请阅读github项目内首页README文档,参考文档内的快速使用部分,简单快捷高效,或者参考QuickStart.html页面。 " ++"[Reminder] This page is used to test the main functions of Recorder. The code is ugly and bloated. It is not recommended to read the source code of this page; if you want to get started quickly, please read the README document on the homepage of the github project, and refer to the quick use part in the document, which is simple and fast Efficient, or refer to the QuickStart.html page."); + +//加载核心库,其他类型支持库在下面根据用户点击选择加载,刷新页面可以恢复选择的类型 +var srcC="src/recorder-core.js",distC="dist/recorder-core.js"; +var initJss=[srcC]; +var tei=window.TypeEngineImports={//不同类型编码器需要加载的js文件 + mp3:{src:[srcC,"src/engine/mp3.js","src/engine/mp3-engine.js"] + ,dist:["recorder.mp3.min.js"]} + ,wav:{src:[srcC,"src/engine/wav.js"] + ,dist:["recorder.wav.min.js"]} + ,pcm:{src:[srcC,"src/engine/pcm.js",0,"src/engine/wav.js"] + ,dist:[distC,"dist/engine/pcm.js",0,"src/engine/wav.js"]} + ,amr:{src:[srcC,"src/engine/beta-amr.js","src/engine/beta-amr-engine.js",0,"src/engine/wav.js"] + ,dist:[distC,"dist/engine/beta-amr.js",0,"src/engine/wav.js"]} + ,ogg:{src:[srcC,"src/engine/beta-ogg.js","src/engine/beta-ogg-engine.js"] + ,dist:[distC,"dist/engine/beta-ogg.js"]} + ,g711a:{},g711u:{} + ,webm:{name:"webm(beta)",sort:99, + src:[srcC,"src/engine/beta-webm.js"] + ,dist:[distC,"dist/engine/beta-webm.js"]} +}; +tei.g711a.src=tei.g711u.src=[srcC,"src/engine/g711x.js",0,"src/engine/wav.js"]; +tei.g711a.dist=tei.g711u.dist=[distC,"dist/engine/g711x.js",0,"src/engine/wav.js"]; + +window.Import_RecJs_Set={};//刷新页面,加载选中的类型js +if(/recImport=([^?#&]+)/.test(location.href)){ + try{ + var o=JSON.parse(decodeURIComponent(RegExp.$1)); + var te=tei[o.type]||{},jss=te[o.minJs?"dist":"src"]; + if(!jss)throw "unknown type="+o.type; + Import_RecJs_Set=o; initJss=jss; + console.log("recImport init", o, jss); + }catch(e){ + console.error("recImport init error",e); + } +} +for(var i=0;i'); + } +} +})()
- - - @@ -152,8 +170,6 @@ + +
@@ -239,50 +257,43 @@
- 类型 : - - - - - - - - + 类型 : -
- - +
+
- 提示 : - + 提示 : -
- 比特率 : kbps,越大音质越好 + 比特率 : + kbps,越大音质越好
- 采样率 : hz,越大细节越丰富 + 采样率 : + hz,越大细节越丰富
- - + +
- - + + - - + + - - - + + +
@@ -293,8 +304,9 @@
- - kbps 测试音质用的,除比特率外其他参数可调整 + + + kbps 测试音质用的,除比特率外其他参数可调整
@@ -308,19 +320,20 @@
- - ms自动停止录音,定时录音 + + + ms自动停止录音,定时录音
- +
- - ,发送间隔ms + + ms
- +
@@ -333,140 +346,147 @@
- 切换麦克风 : + 切换麦克风 : - 从未请求过录音权限时,可能无法正常拉取设备列表,打开一次录音后可尝试 - + 从未请求过录音权限时,可能无法正常拉取设备列表,打开一次录音后可尝试 +
noiseSuppression : - 降噪(ANS)配置开关 + 降噪(ANS)配置开关
echoCancellation : - 回声消除(AEC)配置开关 + 回声消除(AEC)配置开关
autoGainControl : - 自动增益(AGC)配置开关 + 自动增益(AGC)配置开关
- 以上参数设置后需重新打开录音;均为set中的audioTrackSet高级配置,会直接传递给浏览器的getUserMedia方法,不同浏览器的支持程度不同,并不一定会生效,这些参数浏览器一般默认为打开; - 移动端打开降噪、回声消除可能会表现的很怪异(包括系统播放音量变小),但iOS上如果关闭又可能导致录音没有声音,如需更改配置请Android和iOS分别配置,并测试好 + 以上参数设置后需重新打开录音;均为set中的audioTrackSet高级配置,会直接传递给浏览器的getUserMedia方法,不同浏览器的支持程度不同,并不一定会生效;这些参数不设置时浏览器给的默认状态是打开还是关闭将不确定; + 移动端打开降噪、回声消除可能会表现的很怪异(包括系统播放音量变小),但iOS上如果关闭又可能导致录音没有声音,如需更改配置请Android和iOS分别配置,并测试好
- 启用MediaRecorder : + 启用MediaRecorder : -
音频采集连接方式:启用时尝试使用MediaRecorder.WebM.PCM,默认启用,未启用或者不支持时使用AudioWorklet或ScriptProcessor;通过设置Recorder.ConnectEnableWebM=false禁用。
+
音频采集连接方式:启用时尝试使用MediaRecorder.WebM.PCM,默认启用,未启用或者不支持时使用AudioWorklet或ScriptProcessor;通过设置Recorder.ConnectEnableWebM=false禁用。
- 使用MediaRecorder采集到的音频数据比其他方式更好,几乎不存在丢帧现象,所以音质明显会好很多,建议保持开启; - 有些浏览器不支持录制PCM编码的WebM,如FireFox、低版本的Chrome,将依旧使用AudioWorklet或ScriptProcessor来连接采集。 + 使用MediaRecorder采集到的音频数据比其他方式更好,几乎不存在丢帧现象,所以音质明显会好很多,建议保持开启; + 有些浏览器不支持录制PCM编码的WebM,如FireFox、低版本的Chrome,将依旧使用AudioWorklet或ScriptProcessor来连接采集。
- 启用AudioWorklet : + 启用AudioWorklet : -
音频采集连接方式:启用时尝试使用AudioWorklet,默认禁用,未启用或者不支持时使用ScriptProcessor;通过设置Recorder.ConnectEnableWorklet=true启用。
+
音频采集连接方式:启用时尝试使用AudioWorklet,默认禁用,未启用或者不支持时使用ScriptProcessor;通过设置Recorder.ConnectEnableWorklet=true启用。
- 已知:AudioWorklet在一定条件下会导致某些浏览器崩溃 - 测试 - (坑已填好)。 + 已知:AudioWorklet在一定条件下会导致某些浏览器崩溃 + 测试 + (坑已填好)。
- 如需录音功能定制开发,网站、App、小程序、前端后端开发等需求,请加QQ群:①群 781036591、②群 748359095,口令recorder,联系群主(即作者),谢谢~ + 如需录音功能定制开发,网站、App、小程序、前端后端开发等需求,请加QQ群:①群 781036591、②群 748359095,口令recorder,联系群主(即作者),谢谢~
- 变速变调 : - - 实时变速变调控制选项(Sonic 插件),可以边录边修改,同一时间应该只控制一个,否则叠加作用;请填写0.1-2.0的数字,1.0为不调整,当然超过2.0也是可以的(需手动输入) + 变速变调 : + + 实时变速变调控制选项(Sonic 插件),可以边录边修改,同一时间应该只控制一个,否则叠加作用;请填写0.1-2.0的数字,1.0为不调整,当然超过2.0也是可以的(需手动输入)
-
Pitch: 男声女声,变调不变速(会说话的汤姆猫)
-
Speed: 慢放快放,变速不变调(快放慢放),由于会增减PCM数据,实时处理时本功能需要禁用丢失补偿
-
Rate: 缓重尖锐,变速变调,由于会增减PCM数据,实时处理时本功能需要禁用丢失补偿
-
Volume: 调低调高,调整音量
+
Pitch: 男声女声,变调不变速(会说话的汤姆猫)
+
Speed: 慢放快放,变速不变调(快放慢放)
+
Rate: 缓重尖锐,变速变调
+
Volume: 调低调高,调整音量
-
处理缓冲:ms 0ms1000ms,控制缓冲大小减少转换引入的杂音,0不缓冲
-
播放反馈: 不播放 实时播放反馈
+
处理缓冲:ms 0ms1000ms,控制缓冲大小减少转换引入的杂音,0不缓冲
+
播放反馈: 不播放 实时播放反馈
-
+
-
挡住!防止滑块被误触
-
+
挡住!防止滑块被误触
+
- 丢失补偿 : + 丢失补偿 : -
issues#51如果没有进行补偿,录音时设备偶尔出现很卡的情况下(CPU被其他程序大量占用),浏览器采集到的音频是断断续续的,导致10秒的录音可能就只返回了5秒的数据量,这个时候最终编码得到的音频时长明显变短,播放时的效果就像快放一样。未禁用时会在卡顿时自动补偿静默音频,消除了快放效果,但由于丢失的音频已被静默数据代替,听起来就是数据本身的断断续续的效果。在设备不卡时录音没有此问题。
+
issues#51如果没有进行补偿,录音时设备偶尔出现很卡的情况下(CPU被其他程序大量占用),浏览器采集到的音频是断断续续的,导致10秒的录音可能就只返回了5秒的数据量,这个时候最终编码得到的音频时长明显变短,播放时的效果就像快放一样。未禁用时会在卡顿时自动补偿静默音频,消除了快放效果,但由于丢失的音频已被静默数据代替,听起来就是数据本身的断断续续的效果。在设备不卡时录音没有此问题。
Destroy : - - Destroy会关闭所有的全局资源,包括AudioContext,当录音出现问题时,可尝试Destroy一下重试 + + Destroy会关闭所有的全局资源,包括AudioContext,当录音出现问题时,可尝试Destroy一下重试
- 阻止自动锁屏 : - - 手机锁屏后是否能录音不可控,直接简单粗暴的调用wakeLock接口 或 静音+循环播放视频来阻止锁屏,就是有点费电 + 阻止自动锁屏 : + + 手机锁屏后是否能录音不可控,直接简单粗暴的调用wakeLock接口 或 静音+循环播放视频来阻止锁屏,就是有点费电
- 暴力测试 : - - ,每个会录5秒,打开浏览器控制台查看日志 + 暴力测试 : + + + 小时的录音数据,测试长时间录音编码和内存泄露 +
+ +
+ 暴力测试 : + + ,每个会录5秒,打开浏览器控制台查看日志
- DTMF电话按键信号 : - DTMF解码、编码插件,可以方便的处理电话拨号按键信号,用于:电话录音软解,软电话实时提取DTMF按键信号、实时发送DTMF按键信号等。下面拨号盘可在录音时往录音文件中添加按键信息: + DTMF电话按键信号 : + DTMF解码、编码插件,可以方便的处理电话拨号按键信号,用于:电话录音软解,软电话实时提取DTMF按键信号、实时发送DTMF按键信号等。下面拨号盘可在录音时往录音文件中添加按键信息: