app php01 3 nedēļas atpakaļ
vecāks
revīzija
1832d8ae9e
100 mainītis faili ar 18 papildinājumiem un 34623 dzēšanām
  1. 4 4
      msdYongHu/config/urlConfig.js
  2. 1 1
      msdYongHu/hybrid/html/maps/mapindex.html
  3. 1 1
      msdYongHu/manifest.json
  4. 11 11
      msdYongHu/pages/index/mindex/yinszhengc.vue
  5. 1 0
      msdYongHu/pages/pinglun/pingLunList.vue
  6. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/.manifest/google-keystore.keystore
  7. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/.manifest/icon-android-hdpi.png
  8. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/.manifest/icon-android-xhdpi.png
  9. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/.manifest/icon-android-xxhdpi.png
  10. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/.manifest/icon-android-xxxhdpi.png
  11. 0 9
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/AndroidManifest.xml
  12. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappchooselocation.js
  13. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniapperror.png
  14. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappes6.js
  15. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappopenlocation.js
  16. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniapppicker.js
  17. 0 6
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappquill.js
  18. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappquillimageresize.js
  19. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappscan.js
  20. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappsuccess.png
  21. 0 25
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappview.html
  22. 0 92
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/androidPrivacy.json
  23. 0 3
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/app-config-service.js
  24. 0 1
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/app-config.js
  25. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/app-service.js
  26. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/app-view.js
  27. 0 254
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/index.css
  28. 0 1
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/code.css
  29. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/laydate/default/laydate.css
  30. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/icon-ext.png
  31. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/icon.png
  32. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/layer.css
  33. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/loading-0.gif
  34. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/loading-1.gif
  35. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/loading-2.gif
  36. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/slider.css
  37. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/vant.css
  38. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/img/1.png
  39. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/img/loading2.gif
  40. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/img/positioning.png
  41. 0 5
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/VConsole.js
  42. 0 1104
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/city.js
  43. 0 747
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/city.json
  44. 0 92
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/common.js
  45. 0 1
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/jquery-3.2.1.min.js
  46. 0 26
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/rem.js
  47. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/slider.js
  48. 0 17
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/toast.js
  49. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/uniwebviewsdk.js
  50. 0 16810
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/vant.js
  51. 0 6
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/vue.js
  52. 0 472
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/mapindex.js
  53. 0 37
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/mapindex.html
  54. 0 404
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/audio.html
  55. 0 74
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/index.css
  56. 0 1
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/code.css
  57. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/laydate/default/laydate.css
  58. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/icon-ext.png
  59. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/icon.png
  60. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/layer.css
  61. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/loading-0.gif
  62. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/loading-1.gif
  63. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/loading-2.gif
  64. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/slider.css
  65. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/vant.css
  66. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/img/guaduandd.png
  67. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/img/jietong.png
  68. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/img/loading2.gif
  69. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/img/logo.png
  70. 0 254
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/index.html
  71. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/js/lib/uniwebviewsdk.js
  72. 0 5649
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/css/mui.css
  73. 0 4
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/css/mui.min.css
  74. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/fonts/mui.ttf
  75. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/img/guaduandd.png
  76. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/img/jietong.png
  77. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/img/logo.png
  78. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/img/xinxi.png
  79. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/img/y800.mp3
  80. 0 117
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/index.html
  81. 0 8390
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/js/mui.js
  82. 0 5
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/js/mui.min.js
  83. 0 0
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/manifest.json
  84. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/background/indextopB.png
  85. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/background/lunbo1.png
  86. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/10@3x.png
  87. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/11111.png
  88. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/234@3x.png
  89. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/2@3x.png
  90. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/324@3x.png
  91. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/3@3x.png
  92. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/4@3x.png
  93. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/534@3x.png
  94. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/5@3x.png
  95. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/6@3x.png
  96. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/7@3x.png
  97. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/8@3x.png
  98. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/9@3x.png
  99. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/abc.jpg
  100. BIN
      msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/ccc.png

+ 4 - 4
msdYongHu/config/urlConfig.js

@@ -1,8 +1,8 @@
 
-const imageBaseUrl = 'https://backend.fooder.tw/prod-api';//生产环境
-const UploadUrl = 'https://api.fooder.tw/utils/Upload';//生产环境
-const ApibaseUrl = 'https://api.fooder.tw';//生产环境
-const webBaseUrl = 'https://backend.fooder.tw';//生产环境
+const imageBaseUrl = 'https://backend.awayqtw.com/prod-api';//生产环境
+const UploadUrl = 'https://api.awayqtw.com/utils/Upload';//生产环境
+const ApibaseUrl = 'https://api.awayqtw.com';//生产环境
+const webBaseUrl = 'https://backend.awayqtw.com';//生产环境
 
 export default {
 	getimageBaseUrl(){

+ 1 - 1
msdYongHu/hybrid/html/maps/mapindex.html

@@ -31,7 +31,7 @@
 	</body>
 	<script type="text/javascript" src="./js/lib/uniwebviewsdk.js"></script>
 	 
-	<script type="text/javascript" src="https://api.fooder.tw/profile/upload/mapload.js"></script>
+	<script type="text/javascript" src="https://api.awayqtw.com/profile/upload/mapload.js"></script>
 
 	<script type="text/javascript" src="./js/mapindex.js"></script>
 </html>

+ 1 - 1
msdYongHu/manifest.json

@@ -1,6 +1,6 @@
 {
     "name" : "美食达",
-    "appid" : "__UNI__F607D49",
+    "appid" : "__UNI__75020C4",
     "description" : "",
     "versionName" : "1.0.01",
     "versionCode" : 1001,

+ 11 - 11
msdYongHu/pages/index/mindex/yinszhengc.vue

@@ -17,17 +17,17 @@
 			}
 		},
 		onLoad() {
-			// var language = uni.getStorageSync('language');
-			// if(language=='yuenan'){
-			// 	this.url='https://backend.cityexpress168.com.vn/ynszc_vi.html'
-			// }
-			// else if(language=='zh-Hant'){
-			// 	this.url='https://backend.fooder.tw/ynszc_tw.html'
-			// }
-			// else{
-			// 	this.url='https://backend.cityexpress168.com.vn/ynszc.html'
-			// }
-			this.url='https://backend.fooder.tw/ynszc_tw.html'
+			var language = uni.getStorageSync('language');
+			if(language=='yuenan'){
+				this.url='https://backend.awayqtw.com/ynszc_vi.html'
+			}
+			else if(language=='zh-Hant'){
+				this.url='https://backend.awayqtw.com/ynszc_tw.html'
+			}
+			else{
+				this.url='https://backend.awayqtw.com/ynszc.html'
+			}
+			
 			setTimeout(() => {
 				uni.setNavigationBarTitle({
 				  title: this.$t('user.yinsizhc'),

+ 1 - 0
msdYongHu/pages/pinglun/pingLunList.vue

@@ -74,6 +74,7 @@ import api from "@/pages/api/api.js";
 					size:10,
 					mdid:this.mendid
 				},res=>{
+					console.log(res);
 					this.tabList=res.data.data;
 				},failc=>{
 					//console.log('getadvertis----',failc)

BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/.manifest/google-keystore.keystore


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/.manifest/icon-android-hdpi.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/.manifest/icon-android-xhdpi.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/.manifest/icon-android-xxhdpi.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/.manifest/icon-android-xxxhdpi.png


+ 0 - 9
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/AndroidManifest.xml

@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>  
-<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"   
-  package="vn.com.cityexpress168.ptyh">  
-    <!--按下面方式配置需要移除的permissions-->  
-	<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" tools:node="remove"/>
-    <application>  
-        <!--meta-data-->  
-    </application>  
-</manifest>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappchooselocation.js


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniapperror.png


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappes6.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappopenlocation.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniapppicker.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 6
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappquill.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappquillimageresize.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappscan.js


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappsuccess.png


+ 0 - 25
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/__uniappview.html

@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh-CN">
-
-  <head>
-    <meta charset="UTF-8" />
-    <script>
-      var __UniViewStartTime__ = Date.now();
-      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
-        CSS.supports('top: constant(a)'))
-      document.write(
-        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
-        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
-    </script>
-    <title>View</title>
-    <link rel="stylesheet" href="view.css" />
-  </head>
-
-  <body>
-    <div id="app"></div>
-    <script src="__uniappes6.js"></script>
-    <script src="view.umd.min.js"></script>
-    <script src="app-view.js"></script>
-  </body>
-
-</html>

+ 0 - 92
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/androidPrivacy.json

@@ -1,92 +0,0 @@
-{
-  "version": "1",
-  "prompt": "none",
-  "title": "服务协议和隐私政策",
-  "message": "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href='https://backend.cityexpress168.com.vn/ynszc.html'>《服务协议》</a>和<a href='https://backend.cityexpress168.com.vn/ynszc.html'>《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
-  "buttonAccept": "同意并接受",
-  "buttonRefuse": "暂不同意",
-  "second": {
-    "title": "确认",
-    "message": "  进入应用前,你需先同意<a href='https://backend.cityexpress168.com.vn/ynszc.html'>《服务协议》</a>和<a href='https://backend.cityexpress168.com.vn/ynszc.html'>《隐私政策》</a>,否则将退出应用。",
-    "buttonAccept": "同意并接受",
-    "buttonRefuse": "退出应用",
-    "titleLocales": {
-      "zh-Hans": "确认",
-      "en": "",
-      "ja": "",
-      "yuenan": "Xác nhận",
-      "zh-Hant": "確認"
-    },
-    "messageLocales": {
-      "zh-Hans": "  进入应用前,你需先同意<a href='https://backend.cityexpress168.com.vn/ynszc.html'>《服务协议》</a>和<a href='https://backend.cityexpress168.com.vn/ynszc.html'>《隐私政策》</a>,否则将退出应用。",
-      "en": "",
-      "ja": "",
-      "yuenan": "   Trước khi vào ứng dụng, bạn phải đồng ý với<a href='https://backend.cityexpress168.com.vn/ynszc.html'>《Thoả Thuận Dịch Vụ》</a> & <a href='https://backend.cityexpress168.com.vn/ynszc.html'>《Chính Sách Bảo Mật》</a>,Nếu không sẽ thoát khỏi ứng dụng。",
-      "zh-Hant": "  進入應用前,你需先同意<a href='https://backend.cityexpress168.com.vn/ynszc_tw.html'>《服務協議》</a>和<a href='https://backend.cityexpress168.com.vn/ynszc_tw.html'>《隱私政策》</a>,否則將退出應用。"
-    },
-    "buttonAcceptLocales": {
-      "zh-Hans": "同意并接受",
-      "en": "",
-      "ja": "",
-      "yuenan": "Đồng ý và chấp nhận",
-      "zh-Hant": "同意並接受"
-    },
-    "buttonRefuseLocales": {
-      "zh-Hans": "退出应用",
-      "en": "",
-      "ja": "",
-      "yuenan": "Thoát khỏi ứng dụng",
-      "zh-Hant": "退出應用"
-    }
-  },
-  "disagreeMode": {
-    "support": false,
-    "loadNativePlugins": false,
-    "visitorEntry": false,
-    "showAlways": false
-  },
-  "styles": {
-    "backgroundColor": "#FFFFFF",
-    "borderRadius": "5px",
-    "title": {
-      "color": "#ff00ff"
-    },
-    "buttonAccept": {
-      "color": "#E86E48"
-    },
-    "buttonRefuse": {
-      "color": "#727679"
-    },
-    "buttonVisitor": {
-      "color": "#727679"
-    }
-  },
-  "titleLocales": {
-    "zh-Hans": "服务协议和隐私政策",
-    "en": "",
-    "ja": "",
-    "yuenan": "Thỏa thuận dịch vụ và chính sách bảo mật",
-    "zh-Hant": "服務協議和隱私政策"
-  },
-  "messageLocales": {
-    "zh-Hans": "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href='https://backend.cityexpress168.com.vn/ynszc.html'>《服务协议》</a>和<a href='https://backend.cityexpress168.com.vn/ynszc.html'>《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
-    "en": "",
-    "ja": "",
-    "yuenan": "   Vui lòng đọc cẩn thận và hiểu đầy đủ các điều khoản của Thỏa thuận dịch vụ và Chính sách bảo mật bao gồm nhưng không giới hạn: Để cung cấp dịch vụ tốt hơn cho bạn chúng tôi cần thu thập thông tin như nhận dạng thiết bị nhật ký hoạt động của bạn để phân tích và tối ưu hóa hiệu suất ứng dụng.<br/>  Bạn có thể đọc <a href='https://backend.cityexpress168.com.vn/ynszc_vi.html'>Thỏa thuận dịch vụ</a> và <a href='https://backend.cityexpress168.com.vn/ynszc_vi.html'>Chính sách bảo mật</a>Xem chi tiết. Nếu bạn đồng ý vui lòng nhấp vào nút bên dưới để bắt đầu chấp nhận dịch vụ của chúng tôi.",
-    "zh-Hant": "  請你務必審慎閱讀、充分理解「服務協議」和「隱私政策」各條款,包括但不限於:為了更好的向你提供服務,我們需要收集你的設備標識、操作日誌等信息用於分析、優化應用性能。<br/>  你可閱讀<a href='https://backend.cityexpress168.com.vn/ynszc_tw.html'>《服務協議》</a>和<a href='https://backend.cityexpress168.com.vn/ynszc_tw.html'>《隱私政策》</a>了解詳細信息。如果你同意,請點擊下面按鈕開始接受我們的服務。"
-  },
-  "buttonAcceptLocales": {
-    "zh-Hans": "同意并接受",
-    "en": "",
-    "ja": "",
-    "yuenan": "Đồng ý và chấp nhận",
-    "zh-Hant": "同意並接受"
-  },
-  "buttonRefuseLocales": {
-    "zh-Hans": "暂不同意",
-    "en": "",
-    "ja": "",
-    "yuenan": "Tạm thời không đồng ý.",
-    "zh-Hant": "暫不同意"
-  }
-}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 3
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/app-config-service.js


+ 0 - 1
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/app-config.js

@@ -1 +0,0 @@
-(function(e){function r(r){for(var n,l,i=r[0],p=r[1],a=r[2],c=0,s=[];c<i.length;c++)l=i[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in p)Object.prototype.hasOwnProperty.call(p,n)&&(e[n]=p[n]);f&&f(r);while(s.length)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var p=t[i];0!==o[p]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={"app-config":0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e["default"]}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var i=this["webpackJsonp"]=this["webpackJsonp"]||[],p=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var f=p;t()})([]);

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/app-service.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/app-view.js


+ 0 - 254
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/index.css

@@ -1,254 +0,0 @@
-* {
-	padding: 0;
-	margin: 0;
-}
-
-html,
-body {
-	width: 100%;
-	height: 100%;
-	overflow: hidden;
-	position: relative;
-}
-
-#map {
-	position: relative;
-	width: 100%;
-	height: 100%;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-}
-
-.loadinggif {
-	width: 50px;
-	height: 50px;
-	position: fixed;
-	left: 50%;
-	bottom: 50%;
-	margin-left: -25px;
-	margin-top: -25px;
-	z-index: 99;
-}
-
-.gm-style-mtc {
-	display: none;
-}
-
-.gmnoprint {
-	display: none !important;
-}
-
-.gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom {
-	display: none;
-}
-
-.gm-control-active.gm-fullscreen-control {
-	display: none;
-}
-
-[class^="https://maps.google.com/maps"] {
-	display: none !important;
-}
-
-.tabs {
-	width: 60%;
-	height: 40px;
-	margin-left: 20%;
-	position: fixed;
-	left: 0;
-	top: 20px;
-	display: flex;
-	align-items: center;
-	justify-content: space-around;
-	z-index: 100;
-
-}
-
-.tabs div {
-	width: 100px;
-	height: 40px;
-	font-size: 18px;
-	font-weight: 700;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	border-radius: 20px;
-	position: relative;
-	color: #666;
-}
-
-.tabs .active span {
-	position: relative;
-	font-size: 20px;
-	font-weight: bold;
-	color: #333;
-}
-
-.tabs .active span ::after {
-	content: '';
-	width: 20px;
-	height: 5px;
-	background-color: saddlebrown;
-	position: absolute;
-	left: 20px;
-	bottom: 10px;
-
-}
-
-.tabs-left {}
-
-.tabs-right {}
-
-
-
-/* 动画 */
-.loader {
-	position: fixed;
-	z-index: 99;
-	border: 8px solid #f3f3f3;
-	border-top: 8px solid #ea4335;
-	border-radius: 50%;
-	width: 45px;
-	height: 45px;
-	animation: spin 2s linear infinite;
-	position: absolute;
-	top: 50%;
-	left: 50%;
-	margin-left: -30px;
-	margin-top: -30px;
-	transform: translate(-50%, -50%);
-
-}
-
-@keyframes spin {
-	0% {
-		transform: rotate(0deg);
-	}
-
-	100% {
-		transform: rotate(360deg);
-	}
-}
-
-/* end */
-/* 地图信息窗口样式 */
-.textoverflow {
-	width: 100%;
-
-	line-height: 23px;
-}
-
-.imgs {
-	width: 100%;
-	height: auto;
-	max-height: 150px;
-}
-
-.infoWindow-title {
-	width: 100%;
-
-	font-size: 16px;
-	font-weight: 600;
-	line-height: 22px;
-
-}
-
-/* end */
-#slider {
-	width: 96%;
-	margin-left: 2%;
-
-	background-color: #fff;
-	position: fixed;
-	left: 0;
-	bottom: 10px;
-	z-index: 100;
-	border-radius: 6px;
-	padding: 20px 15px;
-	box-sizing: border-box;
-
-}
-
-.slider-title {
-	width: 100%;
-	font-size: 15px;
-	font-weight: 500;
-
-
-}
-
-.slider-box {
-	width: 100%;
-	padding: 0 10p x 0 0;
-	box-sizing: border-box;
-	margin-top: 20px;
-	display: flex;
-	align-items: center;
-
-}
-
-.slider-btn {
-	width: 100%;
-	height: 40px;
-	color: #fff;
-	background-color: darkcyan;
-	font-size: 15px;
-	font-weight: 500;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	border-radius: 5px;
-	margin-top: 30px;
-}
-
-.custom-button {
-	width: 26px;
-	color: #fff;
-	font-size: 12px;
-	font-weight: 500;
-	line-height: 25px;
-	text-align: center;
-	background-color: darkcyan;
-	border-radius: 100px;
-}
-
-#search-box {
-	height: 30px;
-	width: 93%;
-	position: fixed;
-	padding: 5px;
-	font-size: 16px;
-	border-radius: 4px;
-	border: 1px solid #ccc;
-	box-shadow: 0px 1px 3px #ddd;
-	left: 2%;
-	top: 80px;
-	font-size: 12px;
-}
-
-/* 定位图标 */
-.pos {
-	width: 36px;
-	height: 36px;
-	position: fixed;
-	right: 10px;
-	bottom: 250px;
-	z-index: 100;
-	padding: 6px;
-	box-sizing: border-box;
-	border-radius: 5px;
-	background-color: #fff;
-}
-.citys {
-	width: 96%;
-	position: fixed;
-	font-size: 16px;
-	left: 2%;
-	top: 130px;
-	font-size: 12px;
-	background-color: #fff;
-	padding: 5px 10px;
-	box-sizing: border-box;
-	border-radius: 5px;
-}

+ 0 - 1
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/code.css

@@ -1 +0,0 @@
-html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-view{display:block;position:relative;margin:10px 0;padding:0;border:1px solid #eee;border-left-width:6px;background-color:#fafafa;color:#333;font-family:Courier New;font-size:13px}.layui-code-title{position:relative;padding:0 10px;height:40px;line-height:40px;border-bottom:1px solid #eee;font-size:12px}.layui-code-title>.layui-code-about{position:absolute;right:10px;top:0;color:#b7b7b7}.layui-code-about>a{padding-left:10px}.layui-code-view>.layui-code-ol,.layui-code-view>.layui-code-ul{position:relative;overflow:auto}.layui-code-view>.layui-code-ol>li{position:relative;margin-left:45px;line-height:20px;padding:0 10px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view>.layui-code-ol>li:first-child,.layui-code-view>.layui-code-ul>li:first-child{padding-top:10px}.layui-code-view>.layui-code-ol>li:last-child,.layui-code-view>.layui-code-ul>li:last-child{padding-bottom:10px}.layui-code-view>.layui-code-ul>li{position:relative;line-height:20px;padding:0 10px;list-style-type:none;*list-style-type:none;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-dark{border:1px solid #0c0c0c;border-left-color:#3f3f3f;background-color:#0c0c0c;color:#c2be9e}.layui-code-dark>.layui-code-title{border-bottom:none}.layui-code-dark>.layui-code-ol>li,.layui-code-dark>.layui-code-ul>li{background-color:#3f3f3f;border-left:none}.layui-code-dark>.layui-code-ul>li{margin-left:6px}.layui-code-demo .layui-code{visibility:visible!important;margin:-15px;border-top:none;border-right:none;border-bottom:none}.layui-code-demo .layui-tab-content{padding:15px;border-top:none}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/laydate/default/laydate.css


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/icon-ext.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/icon.png


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/layer.css


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/loading-0.gif


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/loading-1.gif


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/modules/layer/default/loading-2.gif


+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/slider.css


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/css/vant.css


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/img/1.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/img/loading2.gif


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/img/positioning.png


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/VConsole.js


+ 0 - 1104
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/city.js

@@ -1,1104 +0,0 @@
-var cityArr = [
-	[
-		[113.631683, 34.766461],
-		[113.631493, 34.766214],
-		[113.631206, 34.765443],
-		[113.631135, 34.764565],
-		[113.629877, 34.760791],
-		[113.629858, 34.760548],
-		[113.628865, 34.757271],
-		[113.628885, 34.757173],
-		[113.628207, 34.75494],
-		[113.628336, 34.75464],
-		[113.628877, 34.754559],
-		[113.632646, 34.754195],
-		[113.632646, 34.748388],
-		[113.629856, 34.748396],
-		[113.629648, 34.748177],
-		[113.628111, 34.748233],
-		[113.628168, 34.747357],
-		[113.628111, 34.747295],
-		[113.628128, 34.744636],
-		[113.628075, 34.742891],
-		[113.628092, 34.739063],
-		[113.627832, 34.738785],
-		[113.626073, 34.737594],
-		[113.625458, 34.737044],
-		[113.625288, 34.736645],
-		[113.62499, 34.735003],
-		[113.624114, 34.732545],
-		[113.623589, 34.730981],
-		[113.622339, 34.728215],
-		[113.622179, 34.727586],
-		[113.621745, 34.722947],
-		[113.621609, 34.720152],
-		[113.62152, 34.719806],
-		[113.621315, 34.719665],
-		[113.620744, 34.719637],
-		[113.620682, 34.719439],
-		[113.62069, 34.716988],
-		[113.620828, 34.711984],
-		[113.62074, 34.712305],
-		[113.616795, 34.712387],
-		[113.61575, 34.710532],
-		[113.616838, 34.710591],
-		[113.617074, 34.710099],
-		[113.615588, 34.710021],
-		[113.61537, 34.709961],
-		[113.614199, 34.709926],
-		[113.613063, 34.709775],
-		[113.612829, 34.708557],
-		[113.613671, 34.707152],
-		[113.610734, 34.706881],
-		[113.609829, 34.706658],
-		[113.608224, 34.706452],
-		[113.607389, 34.704688],
-		[113.606157, 34.704815],
-		[113.60162, 34.704915],
-		[113.601132, 34.704976],
-		[113.600857, 34.705118],
-		[113.600664, 34.705563],
-		[113.600552, 34.706605],
-		[113.600404, 34.706974],
-		[113.600084, 34.707259],
-		[113.599676, 34.70741],
-		[113.59912, 34.707459],
-		[113.594411, 34.707332],
-		[113.592235, 34.707334],
-		[113.589581, 34.707502],
-		[113.589114, 34.707553],
-		[113.588264, 34.707763],
-		[113.587734, 34.708214],
-		[113.587553, 34.708811],
-		[113.587353, 34.71019],
-		[113.587024, 34.710641],
-		[113.586436, 34.711197],
-		[113.586262, 34.711515],
-		[113.586209, 34.711917],
-		[113.5862, 34.713282],
-		[113.585854, 34.713561],
-		[113.58509, 34.713438],
-		[113.584312, 34.713446],
-		[113.583921, 34.713533],
-		[113.580514, 34.714686],
-		[113.579866, 34.714859],
-		[113.5716, 34.716309],
-		[113.570214, 34.716446],
-		[113.568863, 34.716334],
-		[113.565763, 34.715707],
-		[113.565208, 34.715922],
-		[113.564091, 34.717555],
-		[113.563633, 34.717657],
-		[113.563563, 34.717442],
-		[113.563614, 34.716769],
-		[113.562583, 34.712566],
-		[113.562272, 34.712034],
-		[113.561831, 34.711711],
-		[113.5606, 34.711307],
-		[113.557571, 34.707848],
-		[113.557216, 34.707142],
-		[113.556843, 34.705519],
-		[113.556445, 34.704692],
-		[113.556082, 34.704351],
-		[113.554056, 34.702875],
-		[113.553667, 34.702537],
-		[113.553373, 34.702123],
-		[113.552627, 34.70072],
-		[113.552385, 34.70043],
-		[113.551798, 34.700271],
-		[113.551502, 34.70037],
-		[113.550033, 34.701585],
-		[113.549522, 34.70173],
-		[113.549279, 34.701605],
-		[113.549166, 34.701327],
-		[113.549305, 34.699319],
-		[113.549131, 34.699034],
-		[113.546587, 34.698547],
-		[113.542313, 34.70158],
-		[113.541934, 34.703698],
-		[113.54227, 34.705968],
-		[113.542349, 34.708364],
-		[113.541094, 34.708989],
-		[113.537366, 34.709618],
-		[113.534529, 34.714445],
-		[113.533889, 34.717165],
-		[113.531987, 34.717765],
-		[113.526763, 34.717931],
-		[113.525389, 34.718905],
-		[113.52538, 34.719773],
-		[113.524212, 34.720329],
-		[113.522793, 34.720019],
-		[113.519776, 34.718507],
-		[113.517597, 34.717975],
-		[113.515106, 34.715288],
-		[113.512894, 34.712832],
-		[113.511164, 34.710214],
-		[113.50978, 34.707642],
-		[113.508949, 34.704785],
-		[113.507911, 34.700316],
-		[113.507563, 34.696483],
-		[113.506942, 34.692996],
-		[113.50638, 34.689333],
-		[113.507131, 34.687209],
-		[113.507892, 34.685382],
-		[113.508723, 34.682396],
-		[113.508651, 34.68085],
-		[113.507761, 34.678853],
-		[113.506647, 34.676453],
-		[113.506162, 34.674679],
-		[113.505814, 34.672964],
-		[113.506646, 34.671122],
-		[113.507613, 34.669575],
-		[113.507683, 34.667804],
-		[113.506151, 34.665342],
-		[113.506635, 34.665234],
-		[113.509541, 34.663727],
-		[113.511746, 34.661948],
-		[113.513605, 34.660168],
-		[113.514226, 34.658847],
-		[113.514226, 34.65736],
-		[113.51388, 34.65421],
-		[113.514572, 34.652147],
-		[113.514285, 34.650206],
-		[113.512851, 34.649294],
-		[113.511112, 34.649127],
-		[113.507871, 34.649022],
-		[113.504688, 34.64806],
-		[113.504422, 34.64737],
-		[113.506072, 34.646448],
-		[113.510083, 34.645579],
-		[113.513326, 34.644763],
-		[113.516015, 34.644302],
-		[113.517053, 34.643952],
-		[113.516913, 34.64298],
-		[113.516015, 34.641378],
-		[113.515185, 34.64058],
-		[113.514562, 34.639097],
-		[113.514908, 34.637778],
-		[113.515867, 34.636512],
-		[113.517042, 34.635538],
-		[113.518626, 34.634792],
-		[113.520908, 34.634547],
-		[113.523261, 34.634542],
-		[113.526642, 34.634239],
-		[113.528847, 34.634401],
-		[113.527603, 34.632296],
-		[113.526219, 34.630694],
-		[113.525733, 34.629092],
-		[113.525396, 34.628179],
-		[113.526771, 34.627198],
-		[113.527947, 34.626855],
-		[113.530221, 34.626677],
-		[113.53208, 34.626325],
-		[113.534572, 34.626026],
-		[113.536777, 34.624991],
-		[113.538647, 34.622806],
-		[113.53933, 34.621772],
-		[113.539397, 34.620969],
-		[113.539122, 34.619777],
-		[113.538836, 34.618339],
-		[113.538359, 34.617089],
-		[113.538419, 34.61548],
-		[113.539251, 34.614848],
-		[113.541327, 34.613807],
-		[113.542917, 34.613809],
-		[113.544086, 34.614254],
-		[113.545195, 34.61517],
-		[113.546639, 34.61677],
-		[113.547885, 34.618198],
-		[113.549002, 34.621576],
-		[113.549279, 34.623632],
-		[113.549627, 34.625523],
-		[113.550319, 34.627749],
-		[113.551703, 34.629866],
-		[113.55302, 34.632036],
-		[113.554333, 34.633979],
-		[113.556273, 34.635283],
-		[113.557996, 34.635571],
-		[113.559865, 34.635841],
-		[113.561182, 34.635668],
-		[113.563114, 34.633833],
-		[113.564014, 34.632404],
-		[113.564835, 34.630969],
-		[113.567112, 34.628725],
-		[113.568837, 34.627406],
-		[113.570629, 34.625688],
-		[113.571391, 34.624255],
-		[113.572292, 34.622015],
-		[113.572707, 34.619617],
-		[113.572629, 34.617723],
-		[113.572006, 34.616241],
-		[113.570619, 34.614638],
-		[113.570064, 34.612921],
-		[113.570125, 34.610916],
-		[113.57172, 34.609311],
-		[113.573442, 34.607189],
-		[113.574333, 34.60627],
-		[113.575235, 34.605582],
-		[113.576969, 34.60512],
-		[113.57911, 34.604997],
-		[113.579941, 34.604536],
-		[113.582012, 34.603506],
-		[113.584021, 34.602761],
-		[113.586224, 34.603441],
-		[113.588513, 34.603834],
-		[113.590039, 34.603313],
-		[113.592942, 34.60251],
-		[113.595017, 34.602395],
-		[113.596196, 34.602791],
-		[113.597645, 34.603759],
-		[113.59917, 34.604047],
-		[113.601036, 34.604042],
-		[113.601799, 34.603121],
-		[113.601938, 34.60192],
-		[113.601792, 34.600659],
-		[113.602007, 34.600034],
-		[113.603179, 34.600547],
-		[113.604289, 34.601519],
-		[113.60547, 34.602663],
-		[113.606443, 34.603233],
-		[113.607822, 34.604376],
-		[113.608247, 34.606036],
-		[113.607553, 34.607186],
-		[113.605895, 34.607869],
-		[113.600499, 34.608625],
-		[113.599258, 34.609718],
-		[113.598981, 34.611082],
-		[113.599535, 34.612581],
-		[113.600647, 34.613771],
-		[113.601966, 34.615546],
-		[113.602382, 34.617089],
-		[113.602105, 34.618588],
-		[113.601143, 34.619783],
-		[113.600516, 34.623046],
-		[113.601637, 34.625391],
-		[113.603432, 34.627631],
-		[113.606142, 34.629395],
-		[113.607875, 34.629443],
-		[113.609405, 34.629043],
-		[113.611338, 34.627275],
-		[113.611956, 34.626186],
-		[113.61501, 34.625493],
-		[113.617015, 34.625771],
-		[113.618883, 34.626059],
-		[113.62062, 34.626915],
-		[113.621663, 34.627831],
-		[113.622706, 34.629496],
-		[113.622914, 34.631666],
-		[113.622854, 34.634985],
-		[113.622792, 34.636764],
-		[113.622862, 34.638194],
-		[113.623696, 34.638481],
-		[113.625085, 34.638762],
-		[113.626259, 34.638595],
-		[113.627927, 34.638299],
-		[113.632356, 34.637784],
-		[113.634094, 34.637839],
-		[113.636526, 34.638822],
-		[113.638404, 34.639788],
-		[113.640759, 34.641106],
-		[113.642358, 34.641218],
-		[113.644305, 34.641213],
-		[113.646383, 34.641096],
-		[113.648947, 34.640758],
-		[113.650894, 34.640189],
-		[113.652285, 34.639386],
-		[113.653666, 34.639042],
-		[113.655189, 34.639093],
-		[113.657206, 34.639321],
-		[113.658945, 34.639836],
-		[113.660544, 34.640699],
-		[113.662832, 34.642475],
-		[113.664057, 34.643516],
-		[113.663214, 34.645447],
-		[113.660484, 34.6463],
-		[113.662363, 34.648941],
-		[113.667145, 34.653972],
-		[113.66625, 34.656271],
-		[113.661589, 34.657275],
-		[113.655451, 34.659506],
-		[113.653044, 34.661863],
-		[113.653156, 34.665337],
-		[113.65539, 34.667172],
-		[113.65953, 34.668144],
-		[113.661007, 34.671446],
-		[113.664608, 34.678014],
-		[113.668392, 34.68207],
-		[113.670922, 34.686777],
-		[113.67507, 34.687892],
-		[113.675802, 34.69671],
-		[113.675229, 34.699284],
-		[113.673349, 34.699778],
-		[113.670541, 34.70049],
-		[113.669586, 34.702019],
-		[113.669672, 34.704723],
-		[113.673908, 34.708573],
-		[113.676411, 34.710117],
-		[113.676552, 34.714616],
-		[113.674005, 34.720109],
-		[113.670283, 34.726879],
-		[113.665971, 34.734431],
-		[113.665257, 34.736635],
-		[113.665119, 34.736848],
-		[113.667734, 34.73874],
-		[113.66771, 34.739233],
-		[113.668032, 34.739326],
-		[113.667949, 34.740447],
-		[113.667388, 34.740392],
-		[113.666617, 34.742058],
-		[113.666391, 34.742141],
-		[113.665493, 34.741709],
-		[113.66452, 34.741461],
-		[113.664093, 34.74255],
-		[113.663963, 34.743643],
-		[113.664694, 34.743821],
-		[113.66552, 34.744307],
-		[113.666452, 34.744554],
-		[113.666512, 34.744653],
-		[113.666529, 34.74674],
-		[113.66672, 34.747736],
-		[113.666903, 34.748032],
-		[113.668094, 34.748502],
-		[113.669445, 34.748692],
-		[113.669526, 34.751476],
-		[113.669481, 34.751576],
-		[113.668111, 34.751802],
-		[113.667025, 34.752287],
-		[113.66673, 34.752497],
-		[113.666617, 34.752799],
-		[113.666693, 34.753586],
-		[113.666904, 34.754427],
-		[113.666827, 34.755312],
-		[113.667001, 34.75608],
-		[113.665627, 34.756373],
-		[113.665321, 34.756797],
-		[113.662272, 34.757863],
-		[113.66026, 34.758383],
-		[113.660217, 34.759303],
-		[113.661169, 34.759344],
-		[113.661062, 34.760425],
-		[113.661029, 34.761295],
-		[113.661429, 34.761127],
-		[113.66205, 34.760999],
-		[113.662684, 34.758756],
-		[113.664283, 34.758315],
-		[113.664436, 34.759231],
-		[113.665233, 34.760768],
-		[113.665271, 34.763483],
-		[113.664553, 34.763546],
-		[113.662971, 34.763814],
-		[113.662954, 34.764218],
-		[113.659651, 34.764176],
-		[113.658165, 34.764174],
-		[113.657409, 34.764023],
-		[113.656687, 34.763579],
-		[113.655938, 34.76333],
-		[113.655081, 34.762911],
-		[113.654213, 34.762128],
-		[113.652755, 34.760014],
-		[113.652531, 34.75986],
-		[113.651638, 34.758318],
-		[113.645064, 34.759777],
-		[113.644274, 34.759999],
-		[113.643692, 34.760265],
-		[113.643301, 34.76061],
-		[113.63926, 34.766352],
-		[113.637755, 34.765835],
-		[113.637115, 34.765796],
-		[113.63249, 34.766386],
-		[113.631683, 34.766461]
-	],
-	[
-		[113.845063, 34.746141],
-		[113.842337, 34.746668],
-		[113.838943, 34.748032],
-		[113.835423, 34.751599],
-		[113.833044, 34.756248],
-		[113.830603, 34.757305],
-		[113.8222, 34.758942],
-		[113.818954, 34.759705],
-		[113.816583, 34.761645],
-		[113.817145, 34.765164],
-		[113.817034, 34.768043],
-		[113.813795, 34.768866],
-		[113.807788, 34.768331],
-		[113.800817, 34.766566],
-		[113.793379, 34.765379],
-		[113.790485, 34.763199],
-		[113.7889, 34.756143],
-		[113.786447, 34.751614],
-		[113.78189, 34.751265],
-		[113.779413, 34.753264],
-		[113.779239, 34.756374],
-		[113.774569, 34.758819],
-		[113.765151, 34.760605],
-		[113.761701, 34.760314],
-		[113.758829, 34.756933],
-		[113.75844, 34.756157],
-		[113.757469, 34.755301],
-		[113.757053, 34.755041],
-		[113.756635, 34.754963],
-		[113.755057, 34.754956],
-		[113.753417, 34.754812],
-		[113.752081, 34.754531],
-		[113.751613, 34.754326],
-		[113.749608, 34.753042],
-		[113.745545, 34.750775],
-		[113.744703, 34.750233],
-		[113.743871, 34.749621],
-		[113.737316, 34.744604],
-		[113.736526, 34.743906],
-		[113.736204, 34.743438],
-		[113.736003, 34.742902],
-		[113.735527, 34.741364],
-		[113.735265, 34.740858],
-		[113.734249, 34.739082],
-		[113.734014, 34.73854],
-		[113.733598, 34.737067],
-		[113.733354, 34.736777],
-		[113.732538, 34.736244],
-		[113.730437, 34.735149],
-		[113.729655, 34.734874],
-		[113.728761, 34.734842],
-		[113.727901, 34.735001],
-		[113.727093, 34.735363],
-		[113.726311, 34.735342],
-		[113.726348, 34.737886],
-		[113.723068, 34.737882],
-		[113.720638, 34.737832],
-		[113.720708, 34.739321],
-		[113.712267, 34.738883],
-		[113.712307, 34.735548],
-		[113.710463, 34.735163],
-		[113.710441, 34.737173],
-		[113.71036, 34.737542],
-		[113.710302, 34.738782],
-		[113.705473, 34.738531],
-		[113.705351, 34.737729],
-		[113.704123, 34.737682],
-		[113.703936, 34.739238],
-		[113.703925, 34.740128],
-		[113.703995, 34.742198],
-		[113.705752, 34.742455],
-		[113.706429, 34.742871],
-		[113.709098, 34.742766],
-		[113.710421, 34.746894],
-		[113.706056, 34.746933],
-		[113.703623, 34.746917],
-		[113.70298, 34.755799],
-		[113.70285, 34.756537],
-		[113.702545, 34.756967],
-		[113.702094, 34.757109],
-		[113.700041, 34.756983],
-		[113.69973, 34.756782],
-		[113.697573, 34.757123],
-		[113.697381, 34.755422],
-		[113.69437, 34.755397],
-		[113.694277, 34.755329],
-		[113.693282, 34.755377],
-		[113.691451, 34.755296],
-		[113.69146, 34.754044],
-		[113.690269, 34.753971],
-		[113.683531, 34.75567],
-		[113.681748, 34.756064],
-		[113.680052, 34.756388],
-		[113.677296, 34.756878],
-		[113.674209, 34.757375],
-		[113.67393, 34.757401],
-		[113.67339, 34.757211],
-		[113.671131, 34.755444],
-		[113.670887, 34.755305],
-		[113.67053, 34.755417],
-		[113.670373, 34.755836],
-		[113.670504, 34.756124],
-		[113.671296, 34.75707],
-		[113.671427, 34.757386],
-		[113.671366, 34.757688],
-		[113.671131, 34.757923],
-		[113.670695, 34.757805],
-		[113.669633, 34.75699],
-		[113.669095, 34.756881],
-		[113.668695, 34.75702],
-		[113.667591, 34.757672],
-		[113.66721, 34.757738],
-		[113.667234, 34.757409],
-		[113.667852, 34.756796],
-		[113.667939, 34.756543],
-		[113.667678, 34.756282],
-		[113.667001, 34.756081],
-		[113.666827, 34.755313],
-		[113.666905, 34.754427],
-		[113.666692, 34.753586],
-		[113.666618, 34.7528],
-		[113.666731, 34.752496],
-		[113.667025, 34.752287],
-		[113.668111, 34.751803],
-		[113.669481, 34.751575],
-		[113.669526, 34.751476],
-		[113.669444, 34.748691],
-		[113.668094, 34.748503],
-		[113.666903, 34.748032],
-		[113.66672, 34.747735],
-		[113.666529, 34.74674],
-		[113.666511, 34.744652],
-		[113.66645, 34.744554],
-		[113.665521, 34.744307],
-		[113.664693, 34.743821],
-		[113.663964, 34.743643],
-		[113.664092, 34.74255],
-		[113.664519, 34.741461],
-		[113.665494, 34.74171],
-		[113.666391, 34.742142],
-		[113.666616, 34.742059],
-		[113.667388, 34.740392],
-		[113.66795, 34.740447],
-		[113.668033, 34.739325],
-		[113.667711, 34.739234],
-		[113.667735, 34.73874],
-		[113.66512, 34.736849],
-		[113.665257, 34.736634],
-		[113.665971, 34.734431],
-		[113.670284, 34.726879],
-		[113.674004, 34.72011],
-		[113.676551, 34.714616],
-		[113.676412, 34.710118],
-		[113.673909, 34.708572],
-		[113.669672, 34.704725],
-		[113.669585, 34.702019],
-		[113.670541, 34.700491],
-		[113.673349, 34.699778],
-		[113.675228, 34.699284],
-		[113.675803, 34.69671],
-		[113.675071, 34.687892],
-		[113.670922, 34.686777],
-		[113.668392, 34.68207],
-		[113.664608, 34.678014],
-		[113.661008, 34.671447],
-		[113.659529, 34.668143],
-		[113.655391, 34.667172],
-		[113.653157, 34.665337],
-		[113.653044, 34.661864],
-		[113.655452, 34.659506],
-		[113.661589, 34.657275],
-		[113.66625, 34.656271],
-		[113.667147, 34.653973],
-		[113.662364, 34.648941],
-		[113.660485, 34.646299],
-		[113.663213, 34.645446],
-		[113.664058, 34.643516],
-		[113.664371, 34.643785],
-		[113.666241, 34.644473],
-		[113.667284, 34.644016],
-		[113.668457, 34.642759],
-		[113.669154, 34.641618],
-		[113.670266, 34.640521],
-		[113.672822, 34.638984],
-		[113.673996, 34.638124],
-		[113.675874, 34.635947],
-		[113.678787, 34.634057],
-		[113.681003, 34.633372],
-		[113.682665, 34.633427],
-		[113.684613, 34.634113],
-		[113.685658, 34.634857],
-		[113.687029, 34.636931],
-		[113.689735, 34.635289],
-		[113.692317, 34.637618],
-		[113.692779, 34.638422],
-		[113.692613, 34.641265],
-		[113.691338, 34.642137],
-		[113.691597, 34.643185],
-		[113.69257, 34.644066],
-		[113.692901, 34.644472],
-		[113.692596, 34.644779],
-		[113.691814, 34.645301],
-		[113.692222, 34.646028],
-		[113.693188, 34.645958],
-		[113.693952, 34.646012],
-		[113.694379, 34.646299],
-		[113.694466, 34.646798],
-		[113.694074, 34.647031],
-		[113.69358, 34.64719],
-		[113.693545, 34.647562],
-		[113.694022, 34.648117],
-		[113.695126, 34.648209],
-		[113.695938, 34.647784],
-		[113.696482, 34.64764],
-		[113.69697, 34.648086],
-		[113.696275, 34.649299],
-		[113.695944, 34.652111],
-		[113.698056, 34.651403],
-		[113.702569, 34.649678],
-		[113.704924, 34.649044],
-		[113.70888, 34.647896],
-		[113.711643, 34.646011],
-		[113.713093, 34.644348],
-		[113.714347, 34.644007],
-		[113.716284, 34.643774],
-		[113.717882, 34.643137],
-		[113.719264, 34.642224],
-		[113.720575, 34.641131],
-		[113.721063, 34.639358],
-		[113.722018, 34.637415],
-		[113.722774, 34.633806],
-		[113.723599, 34.630716],
-		[113.724076, 34.62911],
-		[113.724831, 34.627903],
-		[113.725804, 34.626934],
-		[113.730095, 34.625664],
-		[113.731693, 34.625549],
-		[113.735159, 34.625427],
-		[113.737303, 34.625371],
-		[113.740072, 34.625248],
-		[113.742295, 34.624666],
-		[113.743329, 34.624158],
-		[113.744084, 34.623297],
-		[113.745887, 34.622262],
-		[113.74969, 34.619849],
-		[113.751761, 34.61789],
-		[113.753759, 34.616169],
-		[113.754998, 34.614745],
-		[113.756655, 34.613482],
-		[113.757756, 34.613012],
-		[113.758945, 34.613528],
-		[113.7595, 34.614497],
-		[113.760332, 34.616332],
-		[113.760898, 34.618218],
-		[113.76139, 34.619534],
-		[113.761947, 34.620901],
-		[113.762918, 34.621988],
-		[113.764862, 34.622727],
-		[113.766109, 34.622896],
-		[113.768114, 34.622769],
-		[113.768876, 34.622311],
-		[113.770322, 34.621565],
-		[113.772039, 34.62064],
-		[113.773426, 34.620236],
-		[113.775845, 34.619827],
-		[113.777994, 34.6193],
-		[113.779927, 34.619012],
-		[113.781305, 34.618542],
-		[113.782483, 34.618378],
-		[113.7838, 34.618715],
-		[113.785315, 34.619334],
-		[113.786632, 34.619671],
-		[113.788088, 34.619558],
-		[113.789196, 34.619152],
-		[113.791543, 34.619877],
-		[113.792566, 34.621648],
-		[113.790723, 34.622975],
-		[113.790115, 34.625376],
-		[113.789995, 34.630702],
-		[113.78912, 34.635921],
-		[113.789623, 34.640326],
-		[113.790672, 34.643639],
-		[113.791728, 34.647066],
-		[113.793185, 34.649636],
-		[113.794648, 34.652036],
-		[113.796148, 34.653994],
-		[113.79841, 34.657669],
-		[113.802696, 34.65867],
-		[113.80636, 34.661676],
-		[113.809083, 34.662051],
-		[113.810303, 34.661425],
-		[113.81032, 34.649516],
-		[113.812379, 34.649309],
-		[113.813168, 34.649265],
-		[113.816207, 34.649019],
-		[113.816908, 34.650506],
-		[113.816986, 34.652507],
-		[113.816995, 34.655533],
-		[113.816945, 34.659896],
-		[113.816625, 34.663898],
-		[113.815456, 34.667334],
-		[113.815889, 34.671455],
-		[113.816453, 34.674317],
-		[113.817855, 34.677341],
-		[113.82181, 34.680471],
-		[113.825202, 34.682803],
-		[113.827843, 34.685764],
-		[113.829419, 34.687273],
-		[113.835819, 34.699649],
-		[113.835993, 34.701664],
-		[113.851294, 34.701122],
-		[113.859732, 34.701296],
-		[113.8623, 34.706665],
-		[113.863522, 34.714437],
-		[113.866104, 34.714406],
-		[113.866903, 34.72262],
-		[113.870743, 34.731437],
-		[113.867462, 34.731984],
-		[113.854431, 34.734131],
-		[113.85061, 34.736086],
-		[113.847, 34.740478],
-		[113.845496, 34.744942],
-		[113.845063, 34.746141]
-	],
-	[
-		[113.667, 34.756081],
-		[113.667677, 34.756281],
-		[113.66794, 34.756544],
-		[113.667853, 34.756796],
-		[113.667234, 34.75741],
-		[113.66721, 34.757738],
-		[113.66759, 34.757673],
-		[113.668695, 34.757021],
-		[113.669097, 34.75688],
-		[113.669633, 34.756991],
-		[113.670696, 34.757804],
-		[113.671131, 34.757923],
-		[113.671365, 34.757688],
-		[113.671428, 34.757386],
-		[113.671297, 34.757071],
-		[113.670504, 34.756124],
-		[113.670373, 34.755836],
-		[113.67053, 34.755418],
-		[113.670887, 34.755305],
-		[113.671131, 34.755444],
-		[113.673391, 34.757211],
-		[113.673929, 34.757401],
-		[113.67421, 34.757375],
-		[113.677297, 34.756877],
-		[113.680053, 34.756387],
-		[113.681748, 34.756064],
-		[113.68353, 34.75567],
-		[113.690268, 34.753971],
-		[113.69146, 34.754045],
-		[113.691452, 34.755296],
-		[113.693281, 34.755377],
-		[113.694276, 34.755329],
-		[113.69437, 34.755397],
-		[113.697381, 34.755423],
-		[113.697573, 34.757123],
-		[113.69973, 34.756781],
-		[113.700042, 34.756982],
-		[113.702092, 34.757108],
-		[113.702546, 34.756967],
-		[113.702851, 34.756536],
-		[113.70298, 34.755798],
-		[113.703623, 34.746918],
-		[113.706056, 34.746933],
-		[113.710421, 34.746894],
-		[113.709098, 34.742766],
-		[113.706428, 34.742871],
-		[113.705751, 34.742455],
-		[113.703995, 34.742198],
-		[113.703924, 34.740129],
-		[113.703938, 34.739238],
-		[113.704124, 34.737683],
-		[113.705352, 34.737729],
-		[113.705473, 34.738532],
-		[113.710302, 34.738782],
-		[113.71036, 34.737541],
-		[113.710442, 34.737173],
-		[113.710463, 34.735164],
-		[113.712308, 34.735547],
-		[113.712268, 34.738883],
-		[113.720707, 34.739321],
-		[113.720636, 34.737831],
-		[113.723066, 34.737883],
-		[113.72635, 34.737887],
-		[113.726311, 34.735343],
-		[113.727093, 34.735363],
-		[113.727901, 34.735001],
-		[113.728759, 34.734842],
-		[113.729655, 34.734874],
-		[113.730437, 34.735149],
-		[113.732539, 34.736245],
-		[113.733355, 34.736776],
-		[113.733597, 34.737067],
-		[113.734014, 34.738541],
-		[113.73425, 34.739083],
-		[113.735266, 34.740858],
-		[113.735526, 34.741365],
-		[113.736004, 34.742901],
-		[113.736206, 34.743437],
-		[113.736526, 34.743905],
-		[113.737316, 34.744604],
-		[113.74387, 34.749621],
-		[113.744702, 34.750234],
-		[113.745545, 34.750774],
-		[113.749608, 34.753043],
-		[113.751613, 34.754325],
-		[113.75208, 34.754532],
-		[113.753416, 34.754811],
-		[113.755056, 34.754956],
-		[113.756634, 34.754962],
-		[113.757051, 34.755041],
-		[113.757469, 34.7553],
-		[113.75844, 34.756158],
-		[113.758831, 34.756932],
-		[113.7617, 34.760314],
-		[113.765151, 34.760605],
-		[113.774569, 34.758818],
-		[113.779241, 34.756373],
-		[113.779411, 34.753263],
-		[113.781889, 34.751266],
-		[113.786445, 34.751613],
-		[113.7889, 34.756143],
-		[113.790485, 34.763199],
-		[113.793377, 34.76538],
-		[113.800816, 34.766566],
-		[113.807787, 34.768331],
-		[113.813795, 34.768865],
-		[113.817034, 34.768043],
-		[113.817144, 34.765165],
-		[113.816582, 34.761645],
-		[113.818953, 34.759704],
-		[113.822199, 34.75894],
-		[113.830601, 34.757305],
-		[113.833042, 34.756247],
-		[113.835423, 34.751598],
-		[113.838945, 34.748033],
-		[113.842336, 34.746667],
-		[113.845063, 34.746142],
-		[113.844457, 34.747956],
-		[113.84405, 34.750078],
-		[113.844761, 34.752649],
-		[113.845601, 34.756425],
-		[113.846596, 34.760143],
-		[113.848344, 34.764195],
-		[113.849541, 34.768194],
-		[113.849628, 34.77346],
-		[113.848822, 34.777819],
-		[113.846, 34.781724],
-		[113.843517, 34.784139],
-		[113.841596, 34.786615],
-		[113.839667, 34.788393],
-		[113.838578, 34.791263],
-		[113.838593, 34.794818],
-		[113.838751, 34.799227],
-		[113.838155, 34.804383],
-		[113.838795, 34.807009],
-		[113.839627, 34.80912],
-		[113.840536, 34.810719],
-		[113.841236, 34.812153],
-		[113.84, 34.8145],
-		[113.839601, 34.816964],
-		[113.839748, 34.819422],
-		[113.840588, 34.820562],
-		[113.843079, 34.822213],
-		[113.845591, 34.824486],
-		[113.845806, 34.825917],
-		[113.845192, 34.827354],
-		[113.842509, 34.830347],
-		[113.841402, 34.831665],
-		[113.840509, 34.833791],
-		[113.840727, 34.835502],
-		[113.841638, 34.838079],
-		[113.843334, 34.842764],
-		[113.844874, 34.846991],
-		[113.845575, 34.849958],
-		[113.846769, 34.852364],
-		[113.848231, 34.853608],
-		[113.849688, 34.854292],
-		[113.852179, 34.854511],
-		[113.853575, 34.855135],
-		[113.854958, 34.855983],
-		[113.85573, 34.857182],
-		[113.856145, 34.859061],
-		[113.8572, 34.859978],
-		[113.858932, 34.860654],
-		[113.861158, 34.861562],
-		[113.862819, 34.862638],
-		[113.864499, 34.864172],
-		[113.865746, 34.865488],
-		[113.866239, 34.867373],
-		[113.866389, 34.870062],
-		[113.86683, 34.873091],
-		[113.868024, 34.877383],
-		[113.870156, 34.885652],
-		[113.86484, 34.88483],
-		[113.841536, 34.879669],
-		[113.83799, 34.879079],
-		[113.826045, 34.877701],
-		[113.811262, 34.879],
-		[113.800467, 34.879942],
-		[113.795635, 34.882333],
-		[113.795469, 34.877478],
-		[113.801488, 34.871976],
-		[113.801322, 34.86708],
-		[113.797684, 34.865685],
-		[113.789102, 34.860424],
-		[113.783254, 34.858513],
-		[113.77892, 34.86101],
-		[113.767834, 34.867651],
-		[113.74297, 34.867303],
-		[113.71482, 34.868817],
-		[113.709988, 34.8647],
-		[113.705365, 34.858755],
-		[113.697245, 34.855843],
-		[113.685911, 34.854704],
-		[113.680192, 34.854945],
-		[113.680165, 34.852286],
-		[113.679116, 34.852459],
-		[113.678963, 34.853486],
-		[113.67642, 34.853588],
-		[113.676045, 34.851381],
-		[113.666979, 34.851166],
-		[113.66122, 34.850988],
-		[113.661089, 34.85172],
-		[113.654632, 34.851748],
-		[113.654921, 34.856858],
-		[113.646204, 34.857396],
-		[113.645884, 34.855973],
-		[113.644842, 34.856087],
-		[113.644278, 34.853951],
-		[113.641472, 34.852153],
-		[113.639742, 34.851191],
-		[113.639041, 34.846667],
-		[113.638459, 34.844046],
-		[113.638181, 34.843173],
-		[113.637971, 34.842188],
-		[113.634763, 34.841614],
-		[113.634721, 34.840336],
-		[113.634041, 34.8404],
-		[113.633243, 34.836785],
-		[113.633986, 34.836719],
-		[113.633425, 34.834685],
-		[113.63853, 34.834149],
-		[113.638524, 34.832954],
-		[113.637976, 34.831075],
-		[113.63837, 34.830983],
-		[113.637283, 34.827204],
-		[113.632582, 34.827696],
-		[113.632086, 34.825811],
-		[113.631225, 34.825983],
-		[113.631125, 34.824786],
-		[113.631138, 34.824341],
-		[113.630989, 34.823436],
-		[113.630865, 34.821566],
-		[113.630792, 34.821271],
-		[113.630732, 34.81992],
-		[113.630464, 34.816614],
-		[113.630188, 34.813452],
-		[113.63149, 34.81328],
-		[113.631154, 34.810978],
-		[113.63281, 34.810425],
-		[113.633007, 34.810146],
-		[113.632537, 34.806328],
-		[113.632566, 34.805981],
-		[113.633246, 34.805113],
-		[113.633981, 34.804325],
-		[113.634842, 34.803073],
-		[113.635784, 34.801441],
-		[113.637417, 34.799447],
-		[113.637574, 34.799002],
-		[113.638805, 34.797229],
-		[113.64006, 34.79537],
-		[113.638406, 34.794631],
-		[113.636842, 34.794737],
-		[113.636223, 34.794869],
-		[113.635543, 34.795875],
-		[113.633705, 34.798864],
-		[113.633608, 34.799286],
-		[113.63312, 34.799158],
-		[113.631928, 34.798577],
-		[113.631262, 34.798475],
-		[113.6308, 34.798665],
-		[113.629653, 34.799666],
-		[113.629212, 34.799823],
-		[113.628697, 34.799855],
-		[113.628047, 34.799776],
-		[113.624493, 34.798613],
-		[113.623598, 34.798434],
-		[113.622871, 34.798446],
-		[113.622435, 34.798579],
-		[113.622149, 34.798829],
-		[113.618997, 34.803537],
-		[113.618451, 34.80407],
-		[113.618067, 34.804304],
-		[113.617322, 34.804339],
-		[113.607988, 34.801055],
-		[113.607781, 34.800831],
-		[113.607687, 34.800328],
-		[113.607781, 34.799828],
-		[113.608128, 34.799156],
-		[113.610306, 34.795978],
-		[113.610784, 34.795577],
-		[113.611453, 34.795342],
-		[113.612345, 34.795385],
-		[113.615818, 34.795863],
-		[113.616157, 34.79564],
-		[113.620393, 34.7882],
-		[113.620584, 34.787726],
-		[113.620645, 34.787281],
-		[113.620479, 34.784954],
-		[113.620532, 34.784468],
-		[113.620671, 34.784335],
-		[113.621773, 34.783689],
-		[113.622175, 34.783333],
-		[113.622409, 34.782965],
-		[113.622514, 34.782484],
-		[113.622514, 34.781939],
-		[113.622165, 34.781078],
-		[113.621815, 34.780664],
-		[113.620802, 34.779912],
-		[113.621207, 34.779047],
-		[113.621283, 34.778671],
-		[113.622411, 34.778579],
-		[113.623451, 34.778546],
-		[113.624417, 34.776894],
-		[113.625952, 34.777371],
-		[113.627081, 34.777419],
-		[113.627435, 34.777129],
-		[113.628755, 34.774949],
-		[113.629243, 34.773824],
-		[113.629789, 34.772413],
-		[113.630789, 34.77064],
-		[113.631293, 34.769244],
-		[113.631474, 34.768529],
-		[113.631692, 34.766978],
-		[113.631682, 34.76646],
-		[113.63249, 34.766386],
-		[113.637115, 34.765796],
-		[113.637755, 34.765835],
-		[113.639259, 34.766353],
-		[113.643301, 34.760611],
-		[113.643692, 34.760265],
-		[113.644275, 34.759998],
-		[113.645065, 34.759778],
-		[113.651637, 34.758319],
-		[113.652532, 34.75986],
-		[113.652756, 34.760015],
-		[113.654212, 34.762128],
-		[113.655081, 34.762911],
-		[113.655514, 34.763158],
-		[113.656687, 34.763578],
-		[113.657409, 34.764023],
-		[113.658165, 34.764174],
-		[113.659651, 34.764175],
-		[113.662953, 34.764218],
-		[113.662971, 34.763813],
-		[113.664554, 34.763546],
-		[113.66527, 34.763483],
-		[113.665233, 34.760768],
-		[113.664436, 34.759232],
-		[113.664283, 34.758314],
-		[113.662685, 34.758756],
-		[113.66205, 34.760999],
-		[113.661428, 34.761126],
-		[113.661029, 34.761295],
-		[113.661063, 34.760425],
-		[113.661168, 34.759345],
-		[113.660215, 34.759303],
-		[113.66026, 34.758382],
-		[113.662273, 34.757863],
-		[113.66532, 34.756797],
-		[113.665627, 34.756373],
-		[113.667, 34.756081]
-	]
-
-]
-var cityObjArr = [];
-for (var i = 0; i < cityArr.length; i++) {
-	var arr = [];
-	for (var k = 0; k < cityArr[i].length; k++) {
-		var obj = {
-			lat: cityArr[i][k][1],
-			lng: cityArr[i][k][0]
-		}
-		arr.push(obj)
-	}
-	cityObjArr.push(arr)
-
-}

+ 0 - 747
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/city.json

@@ -1,747 +0,0 @@
-{
-	"type": "FeatureCollection",
-	"features": [{
-		"type": "Feature",
-		"properties": {
-			"adcode": 410182,
-			"name": "荥阳市",
-			"center": [113.391523, 34.789077],
-			"centroid": [113.351681, 34.799765],
-			"childrenNum": 0,
-			"level": "district",
-			"acroutes": [100000, 410000, 410100],
-			"parent": {
-				"adcode": 410100
-			}
-		},
-		"geometry": {
-			"type": "MultiPolygon",
-			"coordinates": [
-				[
-					[
-						[113.272065, 34.723098],
-						[113.272632, 34.721607],
-						[113.271449, 34.720573],
-						[113.270334, 34.719883],
-						[113.26958, 34.71868],
-						[113.26958, 34.717254],
-						[113.270216, 34.715304],
-						[113.269518, 34.713583],
-						[113.267784, 34.7121],
-						[113.266818, 34.710602],
-						[113.265099, 34.705508],
-						[113.263567, 34.702868],
-						[113.261851, 34.700633],
-						[113.260319, 34.698966],
-						[113.259285, 34.696789],
-						[113.259009, 34.694045],
-						[113.260683, 34.691066],
-						[113.262222, 34.68872],
-						[113.263471, 34.686037],
-						[113.263888, 34.684657],
-						[113.26354, 34.682767],
-						[113.262437, 34.681456],
-						[113.26071, 34.680356],
-						[113.256263, 34.679175],
-						[113.255509, 34.678772],
-						[113.255229, 34.678228],
-						[113.254995, 34.677074],
-						[113.254881, 34.675145],
-						[113.255325, 34.673002],
-						[113.256064, 34.671829],
-						[113.256818, 34.671196],
-						[113.258224, 34.67061],
-						[113.259273, 34.669789],
-						[113.260212, 34.668305],
-						[113.261395, 34.666684],
-						[113.261116, 34.6662],
-						[113.261273, 34.665694],
-						[113.262686, 34.664973],
-						[113.263555, 34.66474],
-						[113.263348, 34.663934],
-						[113.262479, 34.663252],
-						[113.262272, 34.662788],
-						[113.263356, 34.661983],
-						[113.260897, 34.658033],
-						[113.25917, 34.654996],
-						[113.256478, 34.650635],
-						[113.253636, 34.648169],
-						[113.251694, 34.646566],
-						[113.250522, 34.64662],
-						[113.249274, 34.648971],
-						[113.24809, 34.648219],
-						[113.246018, 34.646616],
-						[113.244291, 34.64512],
-						[113.242912, 34.643122],
-						[113.242008, 34.641116],
-						[113.242227, 34.639571],
-						[113.241947, 34.638251],
-						[113.239871, 34.638428],
-						[113.236957, 34.639045],
-						[113.235225, 34.639739],
-						[113.233222, 34.640134],
-						[113.231901, 34.639793],
-						[113.230595, 34.638873],
-						[113.229691, 34.637894],
-						[113.228458, 34.635892],
-						[113.226646, 34.635888],
-						[113.223732, 34.637035],
-						[113.222357, 34.637319],
-						[113.220342, 34.637204],
-						[113.216953, 34.636744],
-						[113.213981, 34.635144],
-						[113.212464, 34.635255],
-						[113.209136, 34.636682],
-						[113.207474, 34.637085],
-						[113.205678, 34.637031],
-						[113.204364, 34.636448],
-						[113.203192, 34.634906],
-						[113.201407, 34.630729],
-						[113.199829, 34.628209],
-						[113.198792, 34.62672],
-						[113.199891, 34.626375],
-						[113.202047, 34.624718],
-						[113.202403, 34.622942],
-						[113.202192, 34.620935],
-						[113.201457, 34.615438],
-						[113.20215, 34.612464],
-						[113.203675, 34.610519],
-						[113.204992, 34.609368],
-						[113.206934, 34.609207],
-						[113.209707, 34.610116],
-						[113.212254, 34.610688],
-						[113.214126, 34.609725],
-						[113.21613, 34.609602],
-						[113.217861, 34.610231],
-						[113.220002, 34.611213],
-						[113.222223, 34.6119],
-						[113.222778, 34.610465],
-						[113.220775, 34.608865],
-						[113.220021, 34.607089],
-						[113.221886, 34.607146],
-						[113.225272, 34.608125],
-						[113.229906, 34.60893],
-						[113.232184, 34.609444],
-						[113.232939, 34.611796],
-						[113.233219, 34.613738],
-						[113.233835, 34.615457],
-						[113.236531, 34.616608],
-						[113.238534, 34.616719],
-						[113.240687, 34.617187],
-						[113.242204, 34.619408],
-						[113.243448, 34.62148],
-						[113.245034, 34.622282],
-						[113.248159, 34.6228],
-						[113.251135, 34.622804],
-						[113.253904, 34.623268],
-						[113.257994, 34.62316],
-						[113.262016, 34.623682],
-						[113.265409, 34.62443],
-						[113.269224, 34.624894],
-						[113.273038, 34.625761],
-						[113.276435, 34.626226],
-						[113.279066, 34.626287],
-						[113.281429, 34.626064],
-						[113.284133, 34.625332],
-						[113.286359, 34.624354],
-						[113.288028, 34.623387],
-						[113.290671, 34.621737],
-						[113.292889, 34.621227],
-						[113.299411, 34.621411],
-						[113.303654, 34.621365],
-						[113.3083, 34.621607],
-						[113.313019, 34.621511],
-						[113.316151, 34.620997],
-						[113.318718, 34.621012],
-						[113.322402, 34.622623],
-						[113.324688, 34.624917],
-						[113.328917, 34.628362],
-						[113.332739, 34.630096],
-						[113.334478, 34.629126],
-						[113.33614, 34.627633],
-						[113.337113, 34.626264],
-						[113.339966, 34.624902],
-						[113.343926, 34.625082],
-						[113.347116, 34.624407],
-						[113.349625, 34.623264],
-						[113.35324, 34.62064],
-						[113.35185, 34.618411],
-						[113.351023, 34.6168],
-						[113.354424, 34.614916],
-						[113.357545, 34.613439],
-						[113.36054, 34.612476],
-						[113.363941, 34.611213],
-						[113.366503, 34.610995],
-						[113.36887, 34.611344],
-						[113.370532, 34.612322],
-						[113.371923, 34.613749],
-						[113.373374, 34.615476],
-						[113.373792, 34.617425],
-						[113.374064, 34.620686],
-						[113.375385, 34.623153],
-						[113.376974, 34.62504],
-						[113.378981, 34.626985],
-						[113.382528, 34.629114],
-						[113.385232, 34.628316],
-						[113.387307, 34.627457],
-						[113.391677, 34.623513],
-						[113.393562, 34.622316],
-						[113.394665, 34.619969],
-						[113.395082, 34.61848],
-						[113.395362, 34.616305],
-						[113.394745, 34.6135],
-						[113.394603, 34.610753],
-						[113.394266, 34.609091],
-						[113.395438, 34.607952],
-						[113.398069, 34.607426],
-						[113.403619, 34.606689],
-						[113.407361, 34.606759],
-						[113.416844, 34.609272],
-						[113.421137, 34.60984],
-						[113.427502, 34.610979],
-						[113.434074, 34.611839],
-						[113.438433, 34.612115],
-						[113.44196, 34.612111],
-						[113.444725, 34.612568],
-						[113.446112, 34.61434],
-						[113.447912, 34.617951],
-						[113.449842, 34.620797],
-						[113.451298, 34.619305],
-						[113.452952, 34.618672],
-						[113.454752, 34.618618],
-						[113.456901, 34.618668],
-						[113.4589, 34.619754],
-						[113.460076, 34.620951],
-						[113.461799, 34.623978],
-						[113.462079, 34.628213],
-						[113.462841, 34.630215],
-						[113.463599, 34.632509],
-						[113.461592, 34.635773],
-						[113.45993, 34.637787],
-						[113.45993, 34.640077],
-						[113.460692, 34.641615],
-						[113.463186, 34.64229],
-						[113.464503, 34.643437],
-						[113.466989, 34.645032],
-						[113.468915, 34.644522],
-						[113.470727, 34.644622],
-						[113.471822, 34.646681],
-						[113.472102, 34.648568],
-						[113.472933, 34.651146],
-						[113.473545, 34.653776],
-						[113.475491, 34.655832],
-						[113.48129, 34.657818],
-						[113.484196, 34.659352],
-						[113.487368, 34.660491],
-						[113.491787, 34.662309],
-						[113.496146, 34.662803],
-						[113.499321, 34.662907],
-						[113.501741, 34.663298],
-						[113.503878, 34.664095],
-						[113.506153, 34.665342],
-						[113.507681, 34.667803],
-						[113.507613, 34.669575],
-						[113.506644, 34.671124],
-						[113.505816, 34.672964],
-						[113.506161, 34.674678],
-						[113.506647, 34.676453],
-						[113.50865, 34.68085],
-						[113.508723, 34.682395],
-						[113.507892, 34.685381],
-						[113.50713, 34.68721],
-						[113.506379, 34.689334],
-						[113.506942, 34.692994],
-						[113.507563, 34.696482],
-						[113.507911, 34.700315],
-						[113.508949, 34.704784],
-						[113.50978, 34.707643],
-						[113.511163, 34.710215],
-						[113.512894, 34.712832],
-						[113.517597, 34.717975],
-						[113.518359, 34.721006],
-						[113.517873, 34.722956],
-						[113.516153, 34.723707],
-						[113.514284, 34.724404],
-						[113.511864, 34.724347],
-						[113.508899, 34.725052],
-						[113.503848, 34.725469],
-						[113.499294, 34.725711],
-						[113.49528, 34.724523],
-						[113.494036, 34.723159],
-						[113.491554, 34.722136],
-						[113.488785, 34.723577],
-						[113.487402, 34.725071],
-						[113.485051, 34.725477],
-						[113.4825, 34.725546],
-						[113.479386, 34.725435],
-						[113.476625, 34.724761],
-						[113.473503, 34.724259],
-						[113.472197, 34.725684],
-						[113.471979, 34.727864],
-						[113.472197, 34.729753],
-						[113.473718, 34.731925],
-						[113.476269, 34.732086],
-						[113.478279, 34.731508],
-						[113.480075, 34.731278],
-						[113.482362, 34.732757],
-						[113.484162, 34.735439],
-						[113.485889, 34.736986],
-						[113.490803, 34.738224],
-						[113.488727, 34.739377],
-						[113.48672, 34.740239],
-						[113.485338, 34.741335],
-						[113.48327, 34.74397],
-						[113.481887, 34.746839],
-						[113.481194, 34.749023],
-						[113.481404, 34.75165],
-						[113.480573, 34.754347],
-						[113.476567, 34.756251],
-						[113.474553, 34.756484],
-						[113.470478, 34.756607],
-						[113.467571, 34.75725],
-						[113.464522, 34.75897],
-						[113.464315, 34.761662],
-						[113.465978, 34.763953],
-						[113.467502, 34.765668],
-						[113.468402, 34.768238],
-						[113.467916, 34.769778],
-						[113.467847, 34.771957],
-						[113.468402, 34.774426],
-						[113.470619, 34.774698],
-						[113.474633, 34.774292],
-						[113.476223, 34.773373],
-						[113.477253, 34.770953],
-						[113.479535, 34.768487],
-						[113.482718, 34.768541],
-						[113.485556, 34.768475],
-						[113.488808, 34.768805],
-						[113.493511, 34.769479],
-						[113.495518, 34.771011],
-						[113.494066, 34.772795],
-						[113.493653, 34.775139],
-						[113.494905, 34.777203],
-						[113.492622, 34.777896],
-						[113.489715, 34.778363],
-						[113.487364, 34.778428],
-						[113.485912, 34.779466],
-						[113.485981, 34.7813],
-						[113.487088, 34.782609],
-						[113.487712, 34.784037],
-						[113.487712, 34.786101],
-						[113.488482, 34.793946],
-						[113.487437, 34.796752],
-						[113.484331, 34.797793],
-						[113.482592, 34.798203],
-						[113.478448, 34.798207],
-						[113.477134, 34.797066],
-						[113.476502, 34.794095],
-						[113.474641, 34.791075],
-						[113.472358, 34.791419],
-						[113.470007, 34.792112],
-						[113.463358, 34.793211],
-						[113.460106, 34.793337],
-						[113.457682, 34.794091],
-						[113.455602, 34.795933],
-						[113.455744, 34.798046],
-						[113.456575, 34.799639],
-						[113.45782, 34.801641],
-						[113.458858, 34.802847],
-						[113.460106, 34.804102],
-						[113.460738, 34.805871],
-						[113.4608, 34.807765],
-						[113.460313, 34.809886],
-						[113.459482, 34.811945],
-						[113.457824, 34.813614],
-						[113.454844, 34.815976],
-						[113.453814, 34.81735],
-						[113.45319, 34.819003],
-						[113.453461, 34.82164],
-						[113.455744, 34.824617],
-						[113.457276, 34.830162],
-						[113.457762, 34.83268],
-						[113.458942, 34.834456],
-						[113.462335, 34.835585],
-						[113.464204, 34.835814],
-						[113.466142, 34.835696],
-						[113.468498, 34.835914],
-						[113.472305, 34.837563],
-						[113.474311, 34.837904],
-						[113.476525, 34.837609],
-						[113.478394, 34.83772],
-						[113.479995, 34.83909],
-						[113.483522, 34.840333],
-						[113.486085, 34.839468],
-						[113.489263, 34.83808],
-						[113.493147, 34.837268],
-						[113.495905, 34.837429],
-						[113.498888, 34.837816],
-						[113.50137, 34.838271],
-						[113.504629, 34.838256],
-						[113.507961, 34.840704],
-						[113.508444, 34.842992],
-						[113.508091, 34.844599],
-						[113.507061, 34.847522],
-						[113.507061, 34.849982],
-						[113.509007, 34.854038],
-						[113.509562, 34.856276],
-						[113.5097, 34.858452],
-						[113.509148, 34.860916],
-						[113.50811, 34.862867],
-						[113.506862, 34.86424],
-						[113.505414, 34.865445],
-						[113.504166, 34.866776],
-						[113.502232, 34.867698],
-						[113.499742, 34.869362],
-						[113.497735, 34.872295],
-						[113.497322, 34.875221],
-						[113.498291, 34.878591],
-						[113.498643, 34.88162],
-						[113.497954, 34.885517],
-						[113.498505, 34.886947],
-						[113.49975, 34.888258],
-						[113.501144, 34.88923],
-						[113.504395, 34.891964],
-						[113.508417, 34.89739],
-						[113.509393, 34.899852],
-						[113.509669, 34.901618],
-						[113.508907, 34.903633],
-						[113.508493, 34.905121],
-						[113.506904, 34.907873],
-						[113.505391, 34.909716],
-						[113.504828, 34.911379],
-						[113.503583, 34.914529],
-						[113.50227, 34.916704],
-						[113.501856, 34.918367],
-						[113.501657, 34.922323],
-						[113.502488, 34.926562],
-						[113.503258, 34.933136],
-						[113.503243, 34.933331],
-						[113.505966, 34.954257],
-						[113.510454, 34.961842],
-						[113.516318, 34.963698],
-						[113.522128, 34.966411],
-						[113.522787, 34.967034],
-						[113.515096, 34.965995],
-						[113.495843, 34.959924],
-						[113.477368, 34.957299],
-						[113.474859, 34.957463],
-						[113.465629, 34.958162],
-						[113.45931, 34.959928],
-						[113.452535, 34.960493],
-						[113.449674, 34.960226],
-						[113.429433, 34.964761],
-						[113.428755, 34.969876],
-						[113.429659, 34.977317],
-						[113.427188, 34.983563],
-						[113.419904, 34.987764],
-						[113.407824, 34.989506],
-						[113.394531, 34.986798],
-						[113.388816, 34.985064],
-						[113.381218, 34.982046],
-						[113.37558, 34.98001],
-						[113.371222, 34.977673],
-						[113.362578, 34.970331],
-						[113.358794, 34.965265],
-						[113.352114, 34.958258],
-						[113.349338, 34.95608],
-						[113.343455, 34.950517],
-						[113.333034, 34.944865],
-						[113.328227, 34.943302],
-						[113.320809, 34.942052],
-						[113.315294, 34.942209],
-						[113.304436, 34.945878],
-						[113.30228, 34.946539],
-						[113.28989, 34.952576],
-						[113.279978, 34.953696],
-						[113.27408, 34.954292],
-						[113.266114, 34.954135],
-						[113.260556, 34.953608],
-						[113.252985, 34.951529],
-						[113.243904, 34.946187],
-						[113.239327, 34.9395],
-						[113.23698, 34.92519],
-						[113.231472, 34.91628],
-						[113.228964, 34.911368],
-						[113.227677, 34.908412],
-						[113.222958, 34.90743],
-						[113.220323, 34.906604],
-						[113.214326, 34.905036],
-						[113.207761, 34.903041],
-						[113.197654, 34.900296],
-						[113.189596, 34.897493],
-						[113.185754, 34.896327],
-						[113.184203, 34.89578],
-						[113.179539, 34.893684],
-						[113.176693, 34.89305],
-						[113.170496, 34.891421],
-						[113.168727, 34.891111],
-						[113.16276, 34.889624],
-						[113.1579, 34.887727],
-						[113.156934, 34.887482],
-						[113.153158, 34.887245],
-						[113.140048, 34.884801],
-						[113.139799, 34.884633],
-						[113.142025, 34.877321],
-						[113.147965, 34.85628],
-						[113.147915, 34.856119],
-						[113.144468, 34.855847],
-						[113.14518, 34.853403],
-						[113.147314, 34.847633],
-						[113.147494, 34.846822],
-						[113.147325, 34.845361],
-						[113.146594, 34.843857],
-						[113.146804, 34.842767],
-						[113.147681, 34.841714],
-						[113.149202, 34.840203],
-						[113.15073, 34.837567],
-						[113.152235, 34.835642],
-						[113.15356, 34.833645],
-						[113.154663, 34.83234],
-						[113.156168, 34.831632],
-						[113.156716, 34.83102],
-						[113.157842, 34.828567],
-						[113.158363, 34.826933],
-						[113.158861, 34.82619],
-						[113.161825, 34.823152],
-						[113.163342, 34.821759],
-						[113.164399, 34.821005],
-						[113.166249, 34.820331],
-						[113.166957, 34.819757],
-						[113.167436, 34.818479],
-						[113.167516, 34.817667],
-						[113.167865, 34.817051],
-						[113.166827, 34.81653],
-						[113.164954, 34.815899],
-						[113.163637, 34.815845],
-						[113.162392, 34.816818],
-						[113.160718, 34.818708],
-						[113.159956, 34.818769],
-						[113.159964, 34.817162],
-						[113.159688, 34.815669],
-						[113.158447, 34.81441],
-						[113.156992, 34.81361],
-						[113.15631, 34.812462],
-						[113.155755, 34.810514],
-						[113.1559, 34.808688],
-						[113.15916, 34.806797],
-						[113.161316, 34.806456],
-						[113.164514, 34.80411],
-						[113.163411, 34.802678],
-						[113.161117, 34.802445],
-						[113.156751, 34.804163],
-						[113.155632, 34.804221],
-						[113.154533, 34.803593],
-						[113.153074, 34.802092],
-						[113.152806, 34.800722],
-						[113.152875, 34.799635],
-						[113.154748, 34.799007],
-						[113.156283, 34.798318],
-						[113.157042, 34.797464],
-						[113.154487, 34.795799],
-						[113.152415, 34.793452],
-						[113.152484, 34.792824],
-						[113.153039, 34.79202],
-						[113.156785, 34.792361],
-						[113.159765, 34.793739],
-						[113.161634, 34.793456],
-						[113.161921, 34.790646],
-						[113.160603, 34.789275],
-						[113.157915, 34.785374],
-						[113.154537, 34.781484],
-						[113.152607, 34.779427],
-						[113.151427, 34.777528],
-						[113.151159, 34.775698],
-						[113.152553, 34.774323],
-						[113.154771, 34.773978],
-						[113.157961, 34.773634],
-						[113.160247, 34.77381],
-						[113.16302, 34.773243],
-						[113.164414, 34.772324],
-						[113.165663, 34.77044],
-						[113.167325, 34.768376],
-						[113.168857, 34.76774],
-						[113.169968, 34.765971],
-						[113.170814, 34.762704],
-						[113.17076, 34.757438],
-						[113.169523, 34.754286],
-						[113.167876, 34.750857],
-						[113.166708, 34.748161],
-						[113.166785, 34.745131],
-						[113.167417, 34.743124],
-						[113.169497, 34.742036],
-						[113.171921, 34.741986],
-						[113.173924, 34.743411],
-						[113.175647, 34.745008],
-						[113.176758, 34.746387],
-						[113.177581, 34.747651],
-						[113.178202, 34.749823],
-						[113.177976, 34.752516],
-						[113.177424, 34.753952],
-						[113.177631, 34.755779],
-						[113.179772, 34.757491],
-						[113.182733, 34.759215],
-						[113.186754, 34.759732],
-						[113.190147, 34.75979],
-						[113.194582, 34.758821],
-						[113.198604, 34.758702],
-						[113.201863, 34.757844],
-						[113.208033, 34.75612],
-						[113.2131, 34.754527],
-						[113.215743, 34.752976],
-						[113.220312, 34.751555],
-						[113.224551, 34.750463],
-						[113.22919, 34.750356],
-						[113.231897, 34.750474],
-						[113.234601, 34.751045],
-						[113.23737, 34.752022],
-						[113.240285, 34.753347],
-						[113.24313, 34.754083],
-						[113.246524, 34.753922],
-						[113.24909, 34.754374],
-						[113.251035, 34.753581],
-						[113.253743, 34.75427],
-						[113.25575, 34.755822],
-						[113.25706, 34.758112],
-						[113.258243, 34.761034],
-						[113.258094, 34.762754],
-						[113.258929, 34.764642],
-						[113.258128, 34.766944],
-						[113.257688, 34.770026],
-						[113.257029, 34.772451],
-						[113.256367, 34.776747],
-						[113.255267, 34.781537],
-						[113.253881, 34.785845],
-						[113.25256, 34.787721],
-						[113.252008, 34.790581],
-						[113.253329, 34.796584],
-						[113.253, 34.798456],
-						[113.251284, 34.80091],
-						[113.251009, 34.80246],
-						[113.251085, 34.803922],
-						[113.251954, 34.806609],
-						[113.251683, 34.80881],
-						[113.250143, 34.812447],
-						[113.249756, 34.815585],
-						[113.25058, 34.819868],
-						[113.249538, 34.821249],
-						[113.248071, 34.822604],
-						[113.247481, 34.824353],
-						[113.248155, 34.825819],
-						[113.251058, 34.827537],
-						[113.252184, 34.828835],
-						[113.251935, 34.830503],
-						[113.252728, 34.831735],
-						[113.254314, 34.831957],
-						[113.255631, 34.831471],
-						[113.256757, 34.831463],
-						[113.257125, 34.832168],
-						[113.259867, 34.838363],
-						[113.260966, 34.83974],
-						[113.263272, 34.84147],
-						[113.266374, 34.842813],
-						[113.269825, 34.843589],
-						[113.274229, 34.843907],
-						[113.281315, 34.843597],
-						[113.284876, 34.84367],
-						[113.287094, 34.843321],
-						[113.288791, 34.841313],
-						[113.289105, 34.83899],
-						[113.288978, 34.835673],
-						[113.289472, 34.832921],
-						[113.291675, 34.830614],
-						[113.293494, 34.829757],
-						[113.294976, 34.828911],
-						[113.298005, 34.827885],
-						[113.30079, 34.828291],
-						[113.302839, 34.828111],
-						[113.308377, 34.827874],
-						[113.310319, 34.826783],
-						[113.311908, 34.825589],
-						[113.313635, 34.824005],
-						[113.315661, 34.821406],
-						[113.317653, 34.819627],
-						[113.318836, 34.817055],
-						[113.320445, 34.814823],
-						[113.320406, 34.81309],
-						[113.323405, 34.811983],
-						[113.324639, 34.811436],
-						[113.32434, 34.810464],
-						[113.325673, 34.809905],
-						[113.32545, 34.807674],
-						[113.32619, 34.807528],
-						[113.326071, 34.806962],
-						[113.32519, 34.806456],
-						[113.325198, 34.805729],
-						[113.325883, 34.805561],
-						[113.325791, 34.805028],
-						[113.323547, 34.804986],
-						[113.322946, 34.805323],
-						[113.32257, 34.805147],
-						[113.321682, 34.805652],
-						[113.320207, 34.80566],
-						[113.319951, 34.804133],
-						[113.320181, 34.802705],
-						[113.319958, 34.802517],
-						[113.318775, 34.802425],
-						[113.318243, 34.802062],
-						[113.318147, 34.798781],
-						[113.318534, 34.795573],
-						[113.3173, 34.792047],
-						[113.316171, 34.789153],
-						[113.314336, 34.785837],
-						[113.312195, 34.78184],
-						[113.311261, 34.778202],
-						[113.309108, 34.775062],
-						[113.306021, 34.771807],
-						[113.305412, 34.769766],
-						[113.304754, 34.766848],
-						[113.304424, 34.764041],
-						[113.302712, 34.762991],
-						[113.300839, 34.762271],
-						[113.298358, 34.761992],
-						[113.293838, 34.762482],
-						[113.291812, 34.762608],
-						[113.288281, 34.760889],
-						[113.287841, 34.758637],
-						[113.290388, 34.755894],
-						[113.29408, 34.754232],
-						[113.295975, 34.75265],
-						[113.298136, 34.751156],
-						[113.299285, 34.749835],
-						[113.299461, 34.748073],
-						[113.299369, 34.746441],
-						[113.298002, 34.743533],
-						[113.29717, 34.741043],
-						[113.297488, 34.739507],
-						[113.298365, 34.738902],
-						[113.300376, 34.738094],
-						[113.305229, 34.736408],
-						[113.306852, 34.735577],
-						[113.308254, 34.735013],
-						[113.308794, 34.734159],
-						[113.309315, 34.732761],
-						[113.309139, 34.730734],
-						[113.307687, 34.727385],
-						[113.305125, 34.725837],
-						[113.302789, 34.724734],
-						[113.300939, 34.722615],
-						[113.299878, 34.720458],
-						[113.299085, 34.718296],
-						[113.296749, 34.71653],
-						[113.294501, 34.715426],
-						[113.292823, 34.714897],
-						[113.29084, 34.714143],
-						[113.289032, 34.714143],
-						[113.287534, 34.715154],
-						[113.284892, 34.718013],
-						[113.282157, 34.719952],
-						[113.278327, 34.722105],
-						[113.27652, 34.722676],
-						[113.273877, 34.723205],
-						[113.272065, 34.723098]
-					]
-				]
-			]
-		}
-	}]
-}

+ 0 - 92
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/common.js

@@ -1,92 +0,0 @@
-/**
- * MapID
- * 
- * 
- * */
-var MAPID = 'c0248134c43b27bf'
-
-/**
- * 
- * 获取url地址参数
- * 
- * */
-
-function getQueryVariable(variable) {
-	var query = decodeURI(window.location.search.substring(1));
-	var vars = query.split("&");
-	for (var i = 0; i < vars.length; i++) {
-		var pair = vars[i].split("=");
-		if (pair[0] == variable) {
-			return pair[1];
-		}
-	}
-	return (false);
-}
-
-
-
-/**
- * 随机生成颜色rgb值
- * 
- * */
-
-function getRandomColor() {
-	const letters = '0123456789ABCDEF'; // 16进制颜色表示中可能出现的字符
-	let color = '#';
-	for (let i = 0; i < 6; i++) { // 随机生成6位十六进制数
-		color += letters[Math.floor(Math.random() * 16)]; // 根据随机数选取相应的字符
-	}
-	return color;
-}
-
-
-/**
- * 随机生成中文文字
- * 辅助方法 实际中可废弃
- * */
-function randomChinese(num) {
-
-	let str = "";
-	const words = ["Lorem", "ipsum", "dolor", "sit", "amet", "consectetur", "adipiscing", "elit", "sed", "do",
-		"eiusmod", "tempor",
-		"incididunt", "ut", "labore", "et", "dolore", "magna", "aliqua", "Ut", "enim", "ad", "minim", "veniam",
-		"quis",
-		"nostrud", "exercitation", "ullamco", "laboris", "nisi", "ut", "aliquip", "ex", "ea", "commodo",
-		"consequat",
-		"Duis", "aute", "irure", "dolor", "in", "reprehenderit", "in", "voluptate", "velit", "esse", "cillum",
-		"dolore",
-		"eu", "fugiat", "nulla", "pariatur", "Excepteur", "sint", "occaecat", "cupidatat", "non", "proident",
-		"sunt",
-		"in", "culpa", "qui", "officia", "deserunt", "mollit", "anim", "id", "est", "laborum"
-	];
-	for (let i = 0; i < num; i++) {
-		const randomWord = words[Math.floor(Math.random() * words.length)];
-		str += randomWord + " ";
-	}
-	return str.trim();
-}
-
-
-/**
- * 加载动画
- * 
- */
-function LoadAnimation(isFalse) {
-	if (isFalse) {
-		document.getElementById("loader").style.display = "inline";
-	} else {
-		document.getElementById("loader").style.display = "none";
-	}
-
-}
-
-
-
-// export default {
-// 	LoadAnimation,
-// 	randomChinese,
-// 	getRandomColor,
-// 	getQueryVariable,
-// 	getMapID
-
-// }

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 1
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/jquery-3.2.1.min.js


+ 0 - 26
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/rem.js

@@ -1,26 +0,0 @@
-!(function(window) {
-  /* 设计图文档宽度 */
-  var docWidth = 750;
-  var doc = window.document,
-    docEl = doc.documentElement,
-    resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
-  var recalc = (function refreshRem() {
-    var clientWidth = docEl.getBoundingClientRect().width;
-    /* 8.55:小于320px不再缩小,11.2:大于420px不再放大 */
-    docEl.style.fontSize = Math.max(Math.min(20 * (clientWidth / docWidth), 11.2), 8.55) * 5 + 'px';
-    return refreshRem;
-  })();
-  /* 添加倍屏标识,安卓为1 */
-  docEl.setAttribute('data-dpr', window.navigator.appVersion.match(/iphone/gi) ? window.devicePixelRatio : 1);
-  if (/iP(hone|od|ad)/.test(window.navigator.userAgent)) {
-    /* 添加IOS标识 */
-    doc.documentElement.classList.add('ios');
-    /* IOS8以上给html添加hairline样式,以便特殊处理 */
-    if (parseInt(window.navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/)[1], 10) >= 8)
-      doc.documentElement.classList.add('hairline');
-  }
-  if (!doc.addEventListener)
-    return;
-  window.addEventListener(resizeEvt, recalc, false);
-  doc.addEventListener('DOMContentLoaded', recalc, false);
-})(window);

+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/slider.js


+ 0 - 17
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/toast.js

@@ -1,17 +0,0 @@
-function Toast(msg, duration) {
-	duration = isNaN(duration) ? 3000 : duration;
-	var m = document.createElement('div');
-
-	m.innerHTML = msg;
-	m.style.cssText =
-		"max-width:60%;min-width: 150px;padding:0 14px;height:auto;color: rgb(255, 255, 255);line-height: 40px;text-align: center;border-radius: 4px;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 999999;background: rgba(0, 0, 0,.7);font-size: 16px;";
-	document.body.appendChild(m);
-	setTimeout(function() {
-		var d = 0.5;
-		m.style.webkitTransition = '-webkit-transform ' + d + 's ease-in, opacity ' + d + 's ease-in';
-		m.style.opacity = '0';
-		setTimeout(function() {
-			document.body.removeChild(m)
-		}, d * 1000);
-	}, duration);
-}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/uniwebviewsdk.js


+ 0 - 16810
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/vant.js

@@ -1,16810 +0,0 @@
-(function(global, factory) {
-  typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("vue")) : typeof define === "function" && define.amd ? define(["exports", "vue"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.vant = {}, global.Vue));
-})(this, function(exports2, vue) {
-  "use strict";
-  const isDef = (val) => val !== void 0 && val !== null;
-  const isFunction = (val) => typeof val === "function";
-  const isObject = (val) => val !== null && typeof val === "object";
-  const isPromise = (val) => isObject(val) && isFunction(val.then) && isFunction(val.catch);
-  const isDate = (val) => Object.prototype.toString.call(val) === "[object Date]" && !Number.isNaN(val.getTime());
-  function isMobile(value) {
-    value = value.replace(/[^-|\d]/g, "");
-    return /^((\+86)|(86))?(1)\d{10}$/.test(value) || /^0[0-9-]{10,13}$/.test(value);
-  }
-  const isNumeric = (val) => typeof val === "number" || /^\d+(\.\d+)?$/.test(val);
-  const isIOS$1 = () => inBrowser$1 ? /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()) : false;
-  function noop() {
-  }
-  const extend = Object.assign;
-  const inBrowser$1 = typeof window !== "undefined";
-  function get(object, path) {
-    const keys = path.split(".");
-    let result = object;
-    keys.forEach((key) => {
-      var _a;
-      result = isObject(result) ? (_a = result[key]) != null ? _a : "" : "";
-    });
-    return result;
-  }
-  function pick(obj, keys, ignoreUndefined) {
-    return keys.reduce((ret, key) => {
-      if (!ignoreUndefined || obj[key] !== void 0) {
-        ret[key] = obj[key];
-      }
-      return ret;
-    }, {});
-  }
-  const isSameValue = (newValue, oldValue) => JSON.stringify(newValue) === JSON.stringify(oldValue);
-  const toArray = (item) => Array.isArray(item) ? item : [item];
-  const unknownProp = null;
-  const numericProp = [Number, String];
-  const truthProp = {
-    type: Boolean,
-    default: true
-  };
-  const makeRequiredProp = (type) => ({
-    type,
-    required: true
-  });
-  const makeArrayProp = () => ({
-    type: Array,
-    default: () => []
-  });
-  const makeNumberProp = (defaultVal) => ({
-    type: Number,
-    default: defaultVal
-  });
-  const makeNumericProp = (defaultVal) => ({
-    type: numericProp,
-    default: defaultVal
-  });
-  const makeStringProp = (defaultVal) => ({
-    type: String,
-    default: defaultVal
-  });
-  var inBrowser = typeof window !== "undefined";
-  function raf(fn) {
-    return inBrowser ? requestAnimationFrame(fn) : -1;
-  }
-  function cancelRaf(id) {
-    if (inBrowser) {
-      cancelAnimationFrame(id);
-    }
-  }
-  function doubleRaf(fn) {
-    raf(() => raf(fn));
-  }
-  var isWindow = (val) => val === window;
-  var makeDOMRect = (width2, height2) => ({
-    top: 0,
-    left: 0,
-    right: width2,
-    bottom: height2,
-    width: width2,
-    height: height2
-  });
-  var useRect = (elementOrRef) => {
-    const element = vue.unref(elementOrRef);
-    if (isWindow(element)) {
-      const width2 = element.innerWidth;
-      const height2 = element.innerHeight;
-      return makeDOMRect(width2, height2);
-    }
-    if (element == null ? void 0 : element.getBoundingClientRect) {
-      return element.getBoundingClientRect();
-    }
-    return makeDOMRect(0, 0);
-  };
-  function useToggle(defaultValue = false) {
-    const state = vue.ref(defaultValue);
-    const toggle = (value = !state.value) => {
-      state.value = value;
-    };
-    return [state, toggle];
-  }
-  function useParent(key) {
-    const parent = vue.inject(key, null);
-    if (parent) {
-      const instance2 = vue.getCurrentInstance();
-      const { link, unlink, internalChildren } = parent;
-      link(instance2);
-      vue.onUnmounted(() => unlink(instance2));
-      const index = vue.computed(() => internalChildren.indexOf(instance2));
-      return {
-        parent,
-        index
-      };
-    }
-    return {
-      parent: null,
-      index: vue.ref(-1)
-    };
-  }
-  function flattenVNodes(children) {
-    const result = [];
-    const traverse = (children2) => {
-      if (Array.isArray(children2)) {
-        children2.forEach((child) => {
-          var _a;
-          if (vue.isVNode(child)) {
-            result.push(child);
-            if ((_a = child.component) == null ? void 0 : _a.subTree) {
-              result.push(child.component.subTree);
-              traverse(child.component.subTree.children);
-            }
-            if (child.children) {
-              traverse(child.children);
-            }
-          }
-        });
-      }
-    };
-    traverse(children);
-    return result;
-  }
-  var findVNodeIndex = (vnodes, vnode) => {
-    const index = vnodes.indexOf(vnode);
-    if (index === -1) {
-      return vnodes.findIndex(
-        (item) => vnode.key !== void 0 && vnode.key !== null && item.type === vnode.type && item.key === vnode.key
-      );
-    }
-    return index;
-  };
-  function sortChildren(parent, publicChildren, internalChildren) {
-    const vnodes = flattenVNodes(parent.subTree.children);
-    internalChildren.sort(
-      (a, b) => findVNodeIndex(vnodes, a.vnode) - findVNodeIndex(vnodes, b.vnode)
-    );
-    const orderedPublicChildren = internalChildren.map((item) => item.proxy);
-    publicChildren.sort((a, b) => {
-      const indexA = orderedPublicChildren.indexOf(a);
-      const indexB = orderedPublicChildren.indexOf(b);
-      return indexA - indexB;
-    });
-  }
-  function useChildren(key) {
-    const publicChildren = vue.reactive([]);
-    const internalChildren = vue.reactive([]);
-    const parent = vue.getCurrentInstance();
-    const linkChildren = (value) => {
-      const link = (child) => {
-        if (child.proxy) {
-          internalChildren.push(child);
-          publicChildren.push(child.proxy);
-          sortChildren(parent, publicChildren, internalChildren);
-        }
-      };
-      const unlink = (child) => {
-        const index = internalChildren.indexOf(child);
-        publicChildren.splice(index, 1);
-        internalChildren.splice(index, 1);
-      };
-      vue.provide(
-        key,
-        Object.assign(
-          {
-            link,
-            unlink,
-            children: publicChildren,
-            internalChildren
-          },
-          value
-        )
-      );
-    };
-    return {
-      children: publicChildren,
-      linkChildren
-    };
-  }
-  var SECOND = 1e3;
-  var MINUTE = 60 * SECOND;
-  var HOUR = 60 * MINUTE;
-  var DAY = 24 * HOUR;
-  function parseTime(time) {
-    const days = Math.floor(time / DAY);
-    const hours = Math.floor(time % DAY / HOUR);
-    const minutes = Math.floor(time % HOUR / MINUTE);
-    const seconds = Math.floor(time % MINUTE / SECOND);
-    const milliseconds = Math.floor(time % SECOND);
-    return {
-      total: time,
-      days,
-      hours,
-      minutes,
-      seconds,
-      milliseconds
-    };
-  }
-  function isSameSecond(time1, time2) {
-    return Math.floor(time1 / 1e3) === Math.floor(time2 / 1e3);
-  }
-  function useCountDown(options) {
-    let rafId;
-    let endTime;
-    let counting;
-    let deactivated;
-    const remain = vue.ref(options.time);
-    const current2 = vue.computed(() => parseTime(remain.value));
-    const pause = () => {
-      counting = false;
-      cancelRaf(rafId);
-    };
-    const getCurrentRemain = () => Math.max(endTime - Date.now(), 0);
-    const setRemain = (value) => {
-      var _a, _b;
-      remain.value = value;
-      (_a = options.onChange) == null ? void 0 : _a.call(options, current2.value);
-      if (value === 0) {
-        pause();
-        (_b = options.onFinish) == null ? void 0 : _b.call(options);
-      }
-    };
-    const microTick = () => {
-      rafId = raf(() => {
-        if (counting) {
-          setRemain(getCurrentRemain());
-          if (remain.value > 0) {
-            microTick();
-          }
-        }
-      });
-    };
-    const macroTick = () => {
-      rafId = raf(() => {
-        if (counting) {
-          const remainRemain = getCurrentRemain();
-          if (!isSameSecond(remainRemain, remain.value) || remainRemain === 0) {
-            setRemain(remainRemain);
-          }
-          if (remain.value > 0) {
-            macroTick();
-          }
-        }
-      });
-    };
-    const tick = () => {
-      if (!inBrowser) {
-        return;
-      }
-      if (options.millisecond) {
-        microTick();
-      } else {
-        macroTick();
-      }
-    };
-    const start2 = () => {
-      if (!counting) {
-        endTime = Date.now() + remain.value;
-        counting = true;
-        tick();
-      }
-    };
-    const reset = (totalTime = options.time) => {
-      pause();
-      remain.value = totalTime;
-    };
-    vue.onBeforeUnmount(pause);
-    vue.onActivated(() => {
-      if (deactivated) {
-        counting = true;
-        deactivated = false;
-        tick();
-      }
-    });
-    vue.onDeactivated(() => {
-      if (counting) {
-        pause();
-        deactivated = true;
-      }
-    });
-    return {
-      start: start2,
-      pause,
-      reset,
-      current: current2
-    };
-  }
-  function onMountedOrActivated(hook) {
-    let mounted;
-    vue.onMounted(() => {
-      hook();
-      vue.nextTick(() => {
-        mounted = true;
-      });
-    });
-    vue.onActivated(() => {
-      if (mounted) {
-        hook();
-      }
-    });
-  }
-  function useEventListener(type, listener, options = {}) {
-    if (!inBrowser) {
-      return;
-    }
-    const { target = window, passive: passive2 = false, capture = false } = options;
-    let cleaned = false;
-    let attached;
-    const add = (target2) => {
-      if (cleaned) {
-        return;
-      }
-      const element = vue.unref(target2);
-      if (element && !attached) {
-        element.addEventListener(type, listener, {
-          capture,
-          passive: passive2
-        });
-        attached = true;
-      }
-    };
-    const remove2 = (target2) => {
-      if (cleaned) {
-        return;
-      }
-      const element = vue.unref(target2);
-      if (element && attached) {
-        element.removeEventListener(type, listener, capture);
-        attached = false;
-      }
-    };
-    vue.onUnmounted(() => remove2(target));
-    vue.onDeactivated(() => remove2(target));
-    onMountedOrActivated(() => add(target));
-    let stopWatch;
-    if (vue.isRef(target)) {
-      stopWatch = vue.watch(target, (val, oldVal) => {
-        remove2(oldVal);
-        add(val);
-      });
-    }
-    return () => {
-      stopWatch == null ? void 0 : stopWatch();
-      remove2(target);
-      cleaned = true;
-    };
-  }
-  function useClickAway(target, listener, options = {}) {
-    if (!inBrowser) {
-      return;
-    }
-    const { eventName = "click" } = options;
-    const onClick = (event) => {
-      const targets = Array.isArray(target) ? target : [target];
-      const isClickAway = targets.every((item) => {
-        const element = vue.unref(item);
-        return element && !element.contains(event.target);
-      });
-      if (isClickAway) {
-        listener(event);
-      }
-    };
-    useEventListener(eventName, onClick, { target: document });
-  }
-  var width;
-  var height;
-  function useWindowSize() {
-    if (!width) {
-      width = vue.ref(0);
-      height = vue.ref(0);
-      if (inBrowser) {
-        const update = () => {
-          width.value = window.innerWidth;
-          height.value = window.innerHeight;
-        };
-        update();
-        window.addEventListener("resize", update, { passive: true });
-        window.addEventListener("orientationchange", update, { passive: true });
-      }
-    }
-    return { width, height };
-  }
-  var overflowScrollReg = /scroll|auto|overlay/i;
-  var defaultRoot = inBrowser ? window : void 0;
-  function isElement$1(node) {
-    const ELEMENT_NODE_TYPE = 1;
-    return node.tagName !== "HTML" && node.tagName !== "BODY" && node.nodeType === ELEMENT_NODE_TYPE;
-  }
-  function getScrollParent$1(el, root = defaultRoot) {
-    let node = el;
-    while (node && node !== root && isElement$1(node)) {
-      const { overflowY } = window.getComputedStyle(node);
-      if (overflowScrollReg.test(overflowY)) {
-        return node;
-      }
-      node = node.parentNode;
-    }
-    return root;
-  }
-  function useScrollParent(el, root = defaultRoot) {
-    const scrollParent = vue.ref();
-    vue.onMounted(() => {
-      if (el.value) {
-        scrollParent.value = getScrollParent$1(el.value, root);
-      }
-    });
-    return scrollParent;
-  }
-  var visibility;
-  function usePageVisibility() {
-    if (!visibility) {
-      visibility = vue.ref("visible");
-      if (inBrowser) {
-        const update = () => {
-          visibility.value = document.hidden ? "hidden" : "visible";
-        };
-        update();
-        window.addEventListener("visibilitychange", update);
-      }
-    }
-    return visibility;
-  }
-  var CUSTOM_FIELD_INJECTION_KEY = Symbol("van-field");
-  function useCustomFieldValue(customValue) {
-    const field = vue.inject(CUSTOM_FIELD_INJECTION_KEY, null);
-    if (field && !field.customValue.value) {
-      field.customValue.value = customValue;
-      vue.watch(customValue, () => {
-        field.resetValidation();
-        field.validateWithTrigger("onChange");
-      });
-    }
-  }
-  function getScrollTop(el) {
-    const top2 = "scrollTop" in el ? el.scrollTop : el.pageYOffset;
-    return Math.max(top2, 0);
-  }
-  function setScrollTop(el, value) {
-    if ("scrollTop" in el) {
-      el.scrollTop = value;
-    } else {
-      el.scrollTo(el.scrollX, value);
-    }
-  }
-  function getRootScrollTop() {
-    return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
-  }
-  function setRootScrollTop(value) {
-    setScrollTop(window, value);
-    setScrollTop(document.body, value);
-  }
-  function getElementTop(el, scroller) {
-    if (el === window) {
-      return 0;
-    }
-    const scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();
-    return useRect(el).top + scrollTop;
-  }
-  const isIOS = isIOS$1();
-  function resetScroll() {
-    if (isIOS) {
-      setRootScrollTop(getRootScrollTop());
-    }
-  }
-  const stopPropagation = (event) => event.stopPropagation();
-  function preventDefault(event, isStopPropagation) {
-    if (typeof event.cancelable !== "boolean" || event.cancelable) {
-      event.preventDefault();
-    }
-    if (isStopPropagation) {
-      stopPropagation(event);
-    }
-  }
-  function isHidden(elementRef) {
-    const el = vue.unref(elementRef);
-    if (!el) {
-      return false;
-    }
-    const style = window.getComputedStyle(el);
-    const hidden = style.display === "none";
-    const parentHidden = el.offsetParent === null && style.position !== "fixed";
-    return hidden || parentHidden;
-  }
-  const { width: windowWidth, height: windowHeight } = useWindowSize();
-  function addUnit(value) {
-    if (isDef(value)) {
-      return isNumeric(value) ? `${value}px` : String(value);
-    }
-    return void 0;
-  }
-  function getSizeStyle(originSize) {
-    if (isDef(originSize)) {
-      if (Array.isArray(originSize)) {
-        return {
-          width: addUnit(originSize[0]),
-          height: addUnit(originSize[1])
-        };
-      }
-      const size = addUnit(originSize);
-      return {
-        width: size,
-        height: size
-      };
-    }
-  }
-  function getZIndexStyle(zIndex) {
-    const style = {};
-    if (zIndex !== void 0) {
-      style.zIndex = +zIndex;
-    }
-    return style;
-  }
-  let rootFontSize;
-  function getRootFontSize() {
-    if (!rootFontSize) {
-      const doc = document.documentElement;
-      const fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;
-      rootFontSize = parseFloat(fontSize);
-    }
-    return rootFontSize;
-  }
-  function convertRem(value) {
-    value = value.replace(/rem/g, "");
-    return +value * getRootFontSize();
-  }
-  function convertVw(value) {
-    value = value.replace(/vw/g, "");
-    return +value * windowWidth.value / 100;
-  }
-  function convertVh(value) {
-    value = value.replace(/vh/g, "");
-    return +value * windowHeight.value / 100;
-  }
-  function unitToPx(value) {
-    if (typeof value === "number") {
-      return value;
-    }
-    if (inBrowser$1) {
-      if (value.includes("rem")) {
-        return convertRem(value);
-      }
-      if (value.includes("vw")) {
-        return convertVw(value);
-      }
-      if (value.includes("vh")) {
-        return convertVh(value);
-      }
-    }
-    return parseFloat(value);
-  }
-  const camelizeRE = /-(\w)/g;
-  const camelize = (str) => str.replace(camelizeRE, (_, c) => c.toUpperCase());
-  const kebabCase = (str) => str.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^-/, "");
-  function padZero(num, targetLength = 2) {
-    let str = num + "";
-    while (str.length < targetLength) {
-      str = "0" + str;
-    }
-    return str;
-  }
-  const clamp = (num, min, max) => Math.min(Math.max(num, min), max);
-  function trimExtraChar(value, char, regExp) {
-    const index = value.indexOf(char);
-    if (index === -1) {
-      return value;
-    }
-    if (char === "-" && index !== 0) {
-      return value.slice(0, index);
-    }
-    return value.slice(0, index + 1) + value.slice(index).replace(regExp, "");
-  }
-  function formatNumber(value, allowDot = true, allowMinus = true) {
-    if (allowDot) {
-      value = trimExtraChar(value, ".", /\./g);
-    } else {
-      value = value.split(".")[0];
-    }
-    if (allowMinus) {
-      value = trimExtraChar(value, "-", /-/g);
-    } else {
-      value = value.replace(/-/, "");
-    }
-    const regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;
-    return value.replace(regExp, "");
-  }
-  function addNumber(num1, num2) {
-    const cardinal = 10 ** 10;
-    return Math.round((num1 + num2) * cardinal) / cardinal;
-  }
-  const { hasOwnProperty } = Object.prototype;
-  function assignKey(to, from, key) {
-    const val = from[key];
-    if (!isDef(val)) {
-      return;
-    }
-    if (!hasOwnProperty.call(to, key) || !isObject(val)) {
-      to[key] = val;
-    } else {
-      to[key] = deepAssign(Object(to[key]), val);
-    }
-  }
-  function deepAssign(to, from) {
-    Object.keys(from).forEach((key) => {
-      assignKey(to, from, key);
-    });
-    return to;
-  }
-  var stdin_default$1O = {
-    name: "姓名",
-    tel: "电话",
-    save: "保存",
-    confirm: "确认",
-    cancel: "取消",
-    delete: "删除",
-    loading: "加载中...",
-    noCoupon: "暂无优惠券",
-    nameEmpty: "请填写姓名",
-    addContact: "添加联系人",
-    telInvalid: "请填写正确的电话",
-    vanCalendar: {
-      end: "结束",
-      start: "开始",
-      title: "日期选择",
-      weekdays: ["日", "一", "二", "三", "四", "五", "六"],
-      monthTitle: (year, month) => `${year}年${month}月`,
-      rangePrompt: (maxRange) => `最多选择 ${maxRange} 天`
-    },
-    vanCascader: {
-      select: "请选择"
-    },
-    vanPagination: {
-      prev: "上一页",
-      next: "下一页"
-    },
-    vanPullRefresh: {
-      pulling: "下拉即可刷新...",
-      loosing: "释放即可刷新..."
-    },
-    vanSubmitBar: {
-      label: "合计:"
-    },
-    vanCoupon: {
-      unlimited: "无门槛",
-      discount: (discount) => `${discount}折`,
-      condition: (condition) => `满${condition}元可用`
-    },
-    vanCouponCell: {
-      title: "优惠券",
-      count: (count) => `${count}张可用`
-    },
-    vanCouponList: {
-      exchange: "兑换",
-      close: "不使用",
-      enable: "可用",
-      disabled: "不可用",
-      placeholder: "输入优惠码"
-    },
-    vanAddressEdit: {
-      area: "地区",
-      areaEmpty: "请选择地区",
-      addressEmpty: "请填写详细地址",
-      addressDetail: "详细地址",
-      defaultAddress: "设为默认收货地址"
-    },
-    vanAddressList: {
-      add: "新增地址"
-    }
-  };
-  const lang = vue.ref("zh-CN");
-  const messages = vue.reactive({
-    "zh-CN": stdin_default$1O
-  });
-  const Locale = {
-    messages() {
-      return messages[lang.value];
-    },
-    use(newLang, newMessages) {
-      lang.value = newLang;
-      this.add({ [newLang]: newMessages });
-    },
-    add(newMessages = {}) {
-      deepAssign(messages, newMessages);
-    }
-  };
-  const useCurrentLang = () => lang;
-  var stdin_default$1N = Locale;
-  function createTranslate(name2) {
-    const prefix = camelize(name2) + ".";
-    return (path, ...args) => {
-      const messages2 = stdin_default$1N.messages();
-      const message = get(messages2, prefix + path) || get(messages2, path);
-      return isFunction(message) ? message(...args) : message;
-    };
-  }
-  function genBem(name2, mods) {
-    if (!mods) {
-      return "";
-    }
-    if (typeof mods === "string") {
-      return ` ${name2}--${mods}`;
-    }
-    if (Array.isArray(mods)) {
-      return mods.reduce(
-        (ret, item) => ret + genBem(name2, item),
-        ""
-      );
-    }
-    return Object.keys(mods).reduce(
-      (ret, key) => ret + (mods[key] ? genBem(name2, key) : ""),
-      ""
-    );
-  }
-  function createBEM(name2) {
-    return (el, mods) => {
-      if (el && typeof el !== "string") {
-        mods = el;
-        el = "";
-      }
-      el = el ? `${name2}__${el}` : name2;
-      return `${el}${genBem(el, mods)}`;
-    };
-  }
-  function createNamespace(name2) {
-    const prefixedName = `van-${name2}`;
-    return [
-      prefixedName,
-      createBEM(prefixedName),
-      createTranslate(prefixedName)
-    ];
-  }
-  const BORDER = "van-hairline";
-  const BORDER_TOP = `${BORDER}--top`;
-  const BORDER_LEFT = `${BORDER}--left`;
-  const BORDER_BOTTOM = `${BORDER}--bottom`;
-  const BORDER_SURROUND = `${BORDER}--surround`;
-  const BORDER_TOP_BOTTOM = `${BORDER}--top-bottom`;
-  const BORDER_UNSET_TOP_BOTTOM = `${BORDER}-unset--top-bottom`;
-  const HAPTICS_FEEDBACK = "van-haptics-feedback";
-  const FORM_KEY = Symbol("van-form");
-  const LONG_PRESS_START_TIME = 500;
-  function callInterceptor(interceptor, {
-    args = [],
-    done,
-    canceled
-  }) {
-    if (interceptor) {
-      const returnVal = interceptor.apply(null, args);
-      if (isPromise(returnVal)) {
-        returnVal.then((value) => {
-          if (value) {
-            done();
-          } else if (canceled) {
-            canceled();
-          }
-        }).catch(noop);
-      } else if (returnVal) {
-        done();
-      } else if (canceled) {
-        canceled();
-      }
-    } else {
-      done();
-    }
-  }
-  function withInstall(options) {
-    options.install = (app) => {
-      const { name: name2 } = options;
-      if (name2) {
-        app.component(name2, options);
-        app.component(camelize(`-${name2}`), options);
-      }
-    };
-    return options;
-  }
-  const POPUP_TOGGLE_KEY = Symbol();
-  function onPopupReopen(callback) {
-    const popupToggleStatus = vue.inject(POPUP_TOGGLE_KEY, null);
-    if (popupToggleStatus) {
-      vue.watch(popupToggleStatus, (show) => {
-        if (show) {
-          callback();
-        }
-      });
-    }
-  }
-  const useHeight = (element, withSafeArea) => {
-    const height2 = vue.ref();
-    const setHeight = () => {
-      height2.value = useRect(element).height;
-    };
-    vue.onMounted(() => {
-      vue.nextTick(setHeight);
-      if (withSafeArea) {
-        for (let i = 1; i <= 3; i++) {
-          setTimeout(setHeight, 100 * i);
-        }
-      }
-    });
-    onPopupReopen(() => vue.nextTick(setHeight));
-    vue.watch([windowWidth, windowHeight], setHeight);
-    return height2;
-  };
-  function usePlaceholder(contentRef, bem2) {
-    const height2 = useHeight(contentRef, true);
-    return (renderContent) => vue.createVNode("div", {
-      "class": bem2("placeholder"),
-      "style": {
-        height: height2.value ? `${height2.value}px` : void 0
-      }
-    }, [renderContent()]);
-  }
-  const [name$1C, bem$1x] = createNamespace("action-bar");
-  const ACTION_BAR_KEY = Symbol(name$1C);
-  const actionBarProps = {
-    placeholder: Boolean,
-    safeAreaInsetBottom: truthProp
-  };
-  var stdin_default$1M = vue.defineComponent({
-    name: name$1C,
-    props: actionBarProps,
-    setup(props, {
-      slots
-    }) {
-      const root = vue.ref();
-      const renderPlaceholder = usePlaceholder(root, bem$1x);
-      const {
-        linkChildren
-      } = useChildren(ACTION_BAR_KEY);
-      linkChildren();
-      const renderActionBar = () => {
-        var _a;
-        return vue.createVNode("div", {
-          "ref": root,
-          "class": [bem$1x(), {
-            "van-safe-area-bottom": props.safeAreaInsetBottom
-          }]
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-      return () => {
-        if (props.placeholder) {
-          return renderPlaceholder(renderActionBar);
-        }
-        return renderActionBar();
-      };
-    }
-  });
-  const ActionBar = withInstall(stdin_default$1M);
-  function useExpose(apis) {
-    const instance2 = vue.getCurrentInstance();
-    if (instance2) {
-      extend(instance2.proxy, apis);
-    }
-  }
-  const routeProps = {
-    to: [String, Object],
-    url: String,
-    replace: Boolean
-  };
-  function route({
-    to,
-    url,
-    replace,
-    $router: router
-  }) {
-    if (to && router) {
-      router[replace ? "replace" : "push"](to);
-    } else if (url) {
-      replace ? location.replace(url) : location.href = url;
-    }
-  }
-  function useRoute() {
-    const vm = vue.getCurrentInstance().proxy;
-    return () => route(vm);
-  }
-  const [name$1B, bem$1w] = createNamespace("badge");
-  const badgeProps = {
-    dot: Boolean,
-    max: numericProp,
-    tag: makeStringProp("div"),
-    color: String,
-    offset: Array,
-    content: numericProp,
-    showZero: truthProp,
-    position: makeStringProp("top-right")
-  };
-  var stdin_default$1L = vue.defineComponent({
-    name: name$1B,
-    props: badgeProps,
-    setup(props, {
-      slots
-    }) {
-      const hasContent = () => {
-        if (slots.content) {
-          return true;
-        }
-        const {
-          content,
-          showZero
-        } = props;
-        return isDef(content) && content !== "" && (showZero || content !== 0 && content !== "0");
-      };
-      const renderContent = () => {
-        const {
-          dot,
-          max,
-          content
-        } = props;
-        if (!dot && hasContent()) {
-          if (slots.content) {
-            return slots.content();
-          }
-          if (isDef(max) && isNumeric(content) && +content > +max) {
-            return `${max}+`;
-          }
-          return content;
-        }
-      };
-      const getOffsetWithMinusString = (val) => val.startsWith("-") ? val.replace("-", "") : `-${val}`;
-      const style = vue.computed(() => {
-        const style2 = {
-          background: props.color
-        };
-        if (props.offset) {
-          const [x, y] = props.offset;
-          const {
-            position
-          } = props;
-          const [offsetY, offsetX] = position.split("-");
-          if (slots.default) {
-            if (typeof y === "number") {
-              style2[offsetY] = addUnit(offsetY === "top" ? y : -y);
-            } else {
-              style2[offsetY] = offsetY === "top" ? addUnit(y) : getOffsetWithMinusString(y);
-            }
-            if (typeof x === "number") {
-              style2[offsetX] = addUnit(offsetX === "left" ? x : -x);
-            } else {
-              style2[offsetX] = offsetX === "left" ? addUnit(x) : getOffsetWithMinusString(x);
-            }
-          } else {
-            style2.marginTop = addUnit(y);
-            style2.marginLeft = addUnit(x);
-          }
-        }
-        return style2;
-      });
-      const renderBadge = () => {
-        if (hasContent() || props.dot) {
-          return vue.createVNode("div", {
-            "class": bem$1w([props.position, {
-              dot: props.dot,
-              fixed: !!slots.default
-            }]),
-            "style": style.value
-          }, [renderContent()]);
-        }
-      };
-      return () => {
-        if (slots.default) {
-          const {
-            tag
-          } = props;
-          return vue.createVNode(tag, {
-            "class": bem$1w("wrapper")
-          }, {
-            default: () => [slots.default(), renderBadge()]
-          });
-        }
-        return renderBadge();
-      };
-    }
-  });
-  const Badge = withInstall(stdin_default$1L);
-  let globalZIndex = 2e3;
-  const useGlobalZIndex = () => ++globalZIndex;
-  const setGlobalZIndex = (val) => {
-    globalZIndex = val;
-  };
-  const [name$1A, bem$1v] = createNamespace("config-provider");
-  const CONFIG_PROVIDER_KEY = Symbol(name$1A);
-  const configProviderProps = {
-    tag: makeStringProp("div"),
-    theme: makeStringProp("light"),
-    zIndex: Number,
-    themeVars: Object,
-    themeVarsDark: Object,
-    themeVarsLight: Object,
-    iconPrefix: String
-  };
-  function mapThemeVarsToCSSVars(themeVars) {
-    const cssVars = {};
-    Object.keys(themeVars).forEach((key) => {
-      cssVars[`--van-${kebabCase(key)}`] = themeVars[key];
-    });
-    return cssVars;
-  }
-  var stdin_default$1K = vue.defineComponent({
-    name: name$1A,
-    props: configProviderProps,
-    setup(props, {
-      slots
-    }) {
-      const style = vue.computed(() => mapThemeVarsToCSSVars(extend({}, props.themeVars, props.theme === "dark" ? props.themeVarsDark : props.themeVarsLight)));
-      if (inBrowser$1) {
-        const addTheme = () => {
-          document.documentElement.classList.add(`van-theme-${props.theme}`);
-        };
-        const removeTheme = (theme = props.theme) => {
-          document.documentElement.classList.remove(`van-theme-${theme}`);
-        };
-        vue.watch(() => props.theme, (newVal, oldVal) => {
-          if (oldVal) {
-            removeTheme(oldVal);
-          }
-          addTheme();
-        }, {
-          immediate: true
-        });
-        vue.onActivated(addTheme);
-        vue.onDeactivated(removeTheme);
-        vue.onBeforeUnmount(removeTheme);
-      }
-      vue.provide(CONFIG_PROVIDER_KEY, props);
-      vue.watchEffect(() => {
-        if (props.zIndex !== void 0) {
-          setGlobalZIndex(props.zIndex);
-        }
-      });
-      return () => vue.createVNode(props.tag, {
-        "class": bem$1v(),
-        "style": style.value
-      }, {
-        default: () => {
-          var _a;
-          return [(_a = slots.default) == null ? void 0 : _a.call(slots)];
-        }
-      });
-    }
-  });
-  const [name$1z, bem$1u] = createNamespace("icon");
-  const isImage = (name2) => name2 == null ? void 0 : name2.includes("/");
-  const iconProps = {
-    dot: Boolean,
-    tag: makeStringProp("i"),
-    name: String,
-    size: numericProp,
-    badge: numericProp,
-    color: String,
-    badgeProps: Object,
-    classPrefix: String
-  };
-  var stdin_default$1J = vue.defineComponent({
-    name: name$1z,
-    props: iconProps,
-    setup(props, {
-      slots
-    }) {
-      const config = vue.inject(CONFIG_PROVIDER_KEY, null);
-      const classPrefix = vue.computed(() => props.classPrefix || (config == null ? void 0 : config.iconPrefix) || bem$1u());
-      return () => {
-        const {
-          tag,
-          dot,
-          name: name2,
-          size,
-          badge,
-          color
-        } = props;
-        const isImageIcon = isImage(name2);
-        return vue.createVNode(Badge, vue.mergeProps({
-          "dot": dot,
-          "tag": tag,
-          "class": [classPrefix.value, isImageIcon ? "" : `${classPrefix.value}-${name2}`],
-          "style": {
-            color,
-            fontSize: addUnit(size)
-          },
-          "content": badge
-        }, props.badgeProps), {
-          default: () => {
-            var _a;
-            return [(_a = slots.default) == null ? void 0 : _a.call(slots), isImageIcon && vue.createVNode("img", {
-              "class": bem$1u("image"),
-              "src": name2
-            }, null)];
-          }
-        });
-      };
-    }
-  });
-  const Icon = withInstall(stdin_default$1J);
-  const [name$1y, bem$1t] = createNamespace("loading");
-  const SpinIcon = Array(12).fill(null).map((_, index) => vue.createVNode("i", {
-    "class": bem$1t("line", String(index + 1))
-  }, null));
-  const CircularIcon = vue.createVNode("svg", {
-    "class": bem$1t("circular"),
-    "viewBox": "25 25 50 50"
-  }, [vue.createVNode("circle", {
-    "cx": "50",
-    "cy": "50",
-    "r": "20",
-    "fill": "none"
-  }, null)]);
-  const loadingProps = {
-    size: numericProp,
-    type: makeStringProp("circular"),
-    color: String,
-    vertical: Boolean,
-    textSize: numericProp,
-    textColor: String
-  };
-  var stdin_default$1I = vue.defineComponent({
-    name: name$1y,
-    props: loadingProps,
-    setup(props, {
-      slots
-    }) {
-      const spinnerStyle = vue.computed(() => extend({
-        color: props.color
-      }, getSizeStyle(props.size)));
-      const renderIcon = () => {
-        const DefaultIcon = props.type === "spinner" ? SpinIcon : CircularIcon;
-        return vue.createVNode("span", {
-          "class": bem$1t("spinner", props.type),
-          "style": spinnerStyle.value
-        }, [slots.icon ? slots.icon() : DefaultIcon]);
-      };
-      const renderText = () => {
-        var _a;
-        if (slots.default) {
-          return vue.createVNode("span", {
-            "class": bem$1t("text"),
-            "style": {
-              fontSize: addUnit(props.textSize),
-              color: (_a = props.textColor) != null ? _a : props.color
-            }
-          }, [slots.default()]);
-        }
-      };
-      return () => {
-        const {
-          type,
-          vertical
-        } = props;
-        return vue.createVNode("div", {
-          "class": bem$1t([type, {
-            vertical
-          }]),
-          "aria-live": "polite",
-          "aria-busy": true
-        }, [renderIcon(), renderText()]);
-      };
-    }
-  });
-  const Loading = withInstall(stdin_default$1I);
-  const [name$1x, bem$1s] = createNamespace("button");
-  const buttonProps = extend({}, routeProps, {
-    tag: makeStringProp("button"),
-    text: String,
-    icon: String,
-    type: makeStringProp("default"),
-    size: makeStringProp("normal"),
-    color: String,
-    block: Boolean,
-    plain: Boolean,
-    round: Boolean,
-    square: Boolean,
-    loading: Boolean,
-    hairline: Boolean,
-    disabled: Boolean,
-    iconPrefix: String,
-    nativeType: makeStringProp("button"),
-    loadingSize: numericProp,
-    loadingText: String,
-    loadingType: String,
-    iconPosition: makeStringProp("left")
-  });
-  var stdin_default$1H = vue.defineComponent({
-    name: name$1x,
-    props: buttonProps,
-    emits: ["click"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const route2 = useRoute();
-      const renderLoadingIcon = () => {
-        if (slots.loading) {
-          return slots.loading();
-        }
-        return vue.createVNode(Loading, {
-          "size": props.loadingSize,
-          "type": props.loadingType,
-          "class": bem$1s("loading")
-        }, null);
-      };
-      const renderIcon = () => {
-        if (props.loading) {
-          return renderLoadingIcon();
-        }
-        if (slots.icon) {
-          return vue.createVNode("div", {
-            "class": bem$1s("icon")
-          }, [slots.icon()]);
-        }
-        if (props.icon) {
-          return vue.createVNode(Icon, {
-            "name": props.icon,
-            "class": bem$1s("icon"),
-            "classPrefix": props.iconPrefix
-          }, null);
-        }
-      };
-      const renderText = () => {
-        let text;
-        if (props.loading) {
-          text = props.loadingText;
-        } else {
-          text = slots.default ? slots.default() : props.text;
-        }
-        if (text) {
-          return vue.createVNode("span", {
-            "class": bem$1s("text")
-          }, [text]);
-        }
-      };
-      const getStyle = () => {
-        const {
-          color,
-          plain
-        } = props;
-        if (color) {
-          const style = {
-            color: plain ? color : "white"
-          };
-          if (!plain) {
-            style.background = color;
-          }
-          if (color.includes("gradient")) {
-            style.border = 0;
-          } else {
-            style.borderColor = color;
-          }
-          return style;
-        }
-      };
-      const onClick = (event) => {
-        if (props.loading) {
-          preventDefault(event);
-        } else if (!props.disabled) {
-          emit("click", event);
-          route2();
-        }
-      };
-      return () => {
-        const {
-          tag,
-          type,
-          size,
-          block,
-          round: round2,
-          plain,
-          square,
-          loading,
-          disabled,
-          hairline,
-          nativeType,
-          iconPosition
-        } = props;
-        const classes = [bem$1s([type, size, {
-          plain,
-          block,
-          round: round2,
-          square,
-          loading,
-          disabled,
-          hairline
-        }]), {
-          [BORDER_SURROUND]: hairline
-        }];
-        return vue.createVNode(tag, {
-          "type": nativeType,
-          "class": classes,
-          "style": getStyle(),
-          "disabled": disabled,
-          "onClick": onClick
-        }, {
-          default: () => [vue.createVNode("div", {
-            "class": bem$1s("content")
-          }, [iconPosition === "left" && renderIcon(), renderText(), iconPosition === "right" && renderIcon()])]
-        });
-      };
-    }
-  });
-  const Button = withInstall(stdin_default$1H);
-  const [name$1w, bem$1r] = createNamespace("action-bar-button");
-  const actionBarButtonProps = extend({}, routeProps, {
-    type: String,
-    text: String,
-    icon: String,
-    color: String,
-    loading: Boolean,
-    disabled: Boolean
-  });
-  var stdin_default$1G = vue.defineComponent({
-    name: name$1w,
-    props: actionBarButtonProps,
-    setup(props, {
-      slots
-    }) {
-      const route2 = useRoute();
-      const {
-        parent,
-        index
-      } = useParent(ACTION_BAR_KEY);
-      const isFirst = vue.computed(() => {
-        if (parent) {
-          const prev = parent.children[index.value - 1];
-          return !(prev && "isButton" in prev);
-        }
-      });
-      const isLast = vue.computed(() => {
-        if (parent) {
-          const next = parent.children[index.value + 1];
-          return !(next && "isButton" in next);
-        }
-      });
-      useExpose({
-        isButton: true
-      });
-      return () => {
-        const {
-          type,
-          icon,
-          text,
-          color,
-          loading,
-          disabled
-        } = props;
-        return vue.createVNode(Button, {
-          "class": bem$1r([type, {
-            last: isLast.value,
-            first: isFirst.value
-          }]),
-          "size": "large",
-          "type": type,
-          "icon": icon,
-          "color": color,
-          "loading": loading,
-          "disabled": disabled,
-          "onClick": route2
-        }, {
-          default: () => [slots.default ? slots.default() : text]
-        });
-      };
-    }
-  });
-  const ActionBarButton = withInstall(stdin_default$1G);
-  const [name$1v, bem$1q] = createNamespace("action-bar-icon");
-  const actionBarIconProps = extend({}, routeProps, {
-    dot: Boolean,
-    text: String,
-    icon: String,
-    color: String,
-    badge: numericProp,
-    iconClass: unknownProp,
-    badgeProps: Object,
-    iconPrefix: String
-  });
-  var stdin_default$1F = vue.defineComponent({
-    name: name$1v,
-    props: actionBarIconProps,
-    setup(props, {
-      slots
-    }) {
-      const route2 = useRoute();
-      useParent(ACTION_BAR_KEY);
-      const renderIcon = () => {
-        const {
-          dot,
-          badge,
-          icon,
-          color,
-          iconClass,
-          badgeProps: badgeProps2,
-          iconPrefix
-        } = props;
-        if (slots.icon) {
-          return vue.createVNode(Badge, vue.mergeProps({
-            "dot": dot,
-            "class": bem$1q("icon"),
-            "content": badge
-          }, badgeProps2), {
-            default: slots.icon
-          });
-        }
-        return vue.createVNode(Icon, {
-          "tag": "div",
-          "dot": dot,
-          "name": icon,
-          "badge": badge,
-          "color": color,
-          "class": [bem$1q("icon"), iconClass],
-          "badgeProps": badgeProps2,
-          "classPrefix": iconPrefix
-        }, null);
-      };
-      return () => vue.createVNode("div", {
-        "role": "button",
-        "class": bem$1q(),
-        "tabindex": 0,
-        "onClick": route2
-      }, [renderIcon(), slots.default ? slots.default() : props.text]);
-    }
-  });
-  const ActionBarIcon = withInstall(stdin_default$1F);
-  const popupSharedProps = {
-    // whether to show popup
-    show: Boolean,
-    // z-index
-    zIndex: numericProp,
-    // whether to show overlay
-    overlay: truthProp,
-    // transition duration
-    duration: numericProp,
-    // teleport
-    teleport: [String, Object],
-    // prevent body scroll
-    lockScroll: truthProp,
-    // whether to lazy render
-    lazyRender: truthProp,
-    // callback function before close
-    beforeClose: Function,
-    // overlay custom style
-    overlayStyle: Object,
-    // overlay custom class name
-    overlayClass: unknownProp,
-    // Initial rendering animation
-    transitionAppear: Boolean,
-    // whether to close popup when overlay is clicked
-    closeOnClickOverlay: truthProp
-  };
-  const popupSharedPropKeys = Object.keys(
-    popupSharedProps
-  );
-  function getDirection(x, y) {
-    if (x > y) {
-      return "horizontal";
-    }
-    if (y > x) {
-      return "vertical";
-    }
-    return "";
-  }
-  function useTouch() {
-    const startX = vue.ref(0);
-    const startY = vue.ref(0);
-    const deltaX = vue.ref(0);
-    const deltaY = vue.ref(0);
-    const offsetX = vue.ref(0);
-    const offsetY = vue.ref(0);
-    const direction = vue.ref("");
-    const isVertical = () => direction.value === "vertical";
-    const isHorizontal = () => direction.value === "horizontal";
-    const reset = () => {
-      deltaX.value = 0;
-      deltaY.value = 0;
-      offsetX.value = 0;
-      offsetY.value = 0;
-      direction.value = "";
-    };
-    const start2 = (event) => {
-      reset();
-      startX.value = event.touches[0].clientX;
-      startY.value = event.touches[0].clientY;
-    };
-    const move = (event) => {
-      const touch = event.touches[0];
-      deltaX.value = (touch.clientX < 0 ? 0 : touch.clientX) - startX.value;
-      deltaY.value = touch.clientY - startY.value;
-      offsetX.value = Math.abs(deltaX.value);
-      offsetY.value = Math.abs(deltaY.value);
-      const LOCK_DIRECTION_DISTANCE = 10;
-      if (!direction.value || offsetX.value < LOCK_DIRECTION_DISTANCE && offsetY.value < LOCK_DIRECTION_DISTANCE) {
-        direction.value = getDirection(offsetX.value, offsetY.value);
-      }
-    };
-    return {
-      move,
-      start: start2,
-      reset,
-      startX,
-      startY,
-      deltaX,
-      deltaY,
-      offsetX,
-      offsetY,
-      direction,
-      isVertical,
-      isHorizontal
-    };
-  }
-  let totalLockCount = 0;
-  const BODY_LOCK_CLASS = "van-overflow-hidden";
-  function useLockScroll(rootRef, shouldLock) {
-    const touch = useTouch();
-    const DIRECTION_UP = "01";
-    const DIRECTION_DOWN = "10";
-    const onTouchMove = (event) => {
-      touch.move(event);
-      const direction = touch.deltaY.value > 0 ? DIRECTION_DOWN : DIRECTION_UP;
-      const el = getScrollParent$1(
-        event.target,
-        rootRef.value
-      );
-      const { scrollHeight, offsetHeight, scrollTop } = el;
-      let status = "11";
-      if (scrollTop === 0) {
-        status = offsetHeight >= scrollHeight ? "00" : "01";
-      } else if (scrollTop + offsetHeight >= scrollHeight) {
-        status = "10";
-      }
-      if (status !== "11" && touch.isVertical() && !(parseInt(status, 2) & parseInt(direction, 2))) {
-        preventDefault(event, true);
-      }
-    };
-    const lock = () => {
-      document.addEventListener("touchstart", touch.start);
-      document.addEventListener("touchmove", onTouchMove, { passive: false });
-      if (!totalLockCount) {
-        document.body.classList.add(BODY_LOCK_CLASS);
-      }
-      totalLockCount++;
-    };
-    const unlock = () => {
-      if (totalLockCount) {
-        document.removeEventListener("touchstart", touch.start);
-        document.removeEventListener("touchmove", onTouchMove);
-        totalLockCount--;
-        if (!totalLockCount) {
-          document.body.classList.remove(BODY_LOCK_CLASS);
-        }
-      }
-    };
-    const init = () => shouldLock() && lock();
-    const destroy = () => shouldLock() && unlock();
-    onMountedOrActivated(init);
-    vue.onDeactivated(destroy);
-    vue.onBeforeUnmount(destroy);
-    vue.watch(shouldLock, (value) => {
-      value ? lock() : unlock();
-    });
-  }
-  function useLazyRender(show) {
-    const inited = vue.ref(false);
-    vue.watch(
-      show,
-      (value) => {
-        if (value) {
-          inited.value = value;
-        }
-      },
-      { immediate: true }
-    );
-    return (render) => () => inited.value ? render() : null;
-  }
-  const [name$1u, bem$1p] = createNamespace("overlay");
-  const overlayProps = {
-    show: Boolean,
-    zIndex: numericProp,
-    duration: numericProp,
-    className: unknownProp,
-    lockScroll: truthProp,
-    lazyRender: truthProp,
-    customStyle: Object
-  };
-  var stdin_default$1E = vue.defineComponent({
-    name: name$1u,
-    props: overlayProps,
-    setup(props, {
-      slots
-    }) {
-      const root = vue.ref();
-      const lazyRender = useLazyRender(() => props.show || !props.lazyRender);
-      const onTouchMove = (event) => {
-        if (props.lockScroll) {
-          preventDefault(event, true);
-        }
-      };
-      const renderOverlay = lazyRender(() => {
-        var _a;
-        const style = extend(getZIndexStyle(props.zIndex), props.customStyle);
-        if (isDef(props.duration)) {
-          style.animationDuration = `${props.duration}s`;
-        }
-        return vue.withDirectives(vue.createVNode("div", {
-          "ref": root,
-          "style": style,
-          "class": [bem$1p(), props.className]
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), [[vue.vShow, props.show]]);
-      });
-      useEventListener("touchmove", onTouchMove, {
-        target: root
-      });
-      return () => vue.createVNode(vue.Transition, {
-        "name": "van-fade",
-        "appear": true
-      }, {
-        default: renderOverlay
-      });
-    }
-  });
-  const Overlay = withInstall(stdin_default$1E);
-  const popupProps$2 = extend({}, popupSharedProps, {
-    round: Boolean,
-    position: makeStringProp("center"),
-    closeIcon: makeStringProp("cross"),
-    closeable: Boolean,
-    transition: String,
-    iconPrefix: String,
-    closeOnPopstate: Boolean,
-    closeIconPosition: makeStringProp("top-right"),
-    safeAreaInsetTop: Boolean,
-    safeAreaInsetBottom: Boolean
-  });
-  const [name$1t, bem$1o] = createNamespace("popup");
-  var stdin_default$1D = vue.defineComponent({
-    name: name$1t,
-    inheritAttrs: false,
-    props: popupProps$2,
-    emits: ["open", "close", "opened", "closed", "keydown", "update:show", "clickOverlay", "clickCloseIcon"],
-    setup(props, {
-      emit,
-      attrs,
-      slots
-    }) {
-      let opened;
-      let shouldReopen;
-      const zIndex = vue.ref();
-      const popupRef = vue.ref();
-      const lazyRender = useLazyRender(() => props.show || !props.lazyRender);
-      const style = vue.computed(() => {
-        const style2 = {
-          zIndex: zIndex.value
-        };
-        if (isDef(props.duration)) {
-          const key = props.position === "center" ? "animationDuration" : "transitionDuration";
-          style2[key] = `${props.duration}s`;
-        }
-        return style2;
-      });
-      const open = () => {
-        if (!opened) {
-          opened = true;
-          zIndex.value = props.zIndex !== void 0 ? +props.zIndex : useGlobalZIndex();
-          emit("open");
-        }
-      };
-      const close = () => {
-        if (opened) {
-          callInterceptor(props.beforeClose, {
-            done() {
-              opened = false;
-              emit("close");
-              emit("update:show", false);
-            }
-          });
-        }
-      };
-      const onClickOverlay = (event) => {
-        emit("clickOverlay", event);
-        if (props.closeOnClickOverlay) {
-          close();
-        }
-      };
-      const renderOverlay = () => {
-        if (props.overlay) {
-          return vue.createVNode(Overlay, {
-            "show": props.show,
-            "class": props.overlayClass,
-            "zIndex": zIndex.value,
-            "duration": props.duration,
-            "customStyle": props.overlayStyle,
-            "role": props.closeOnClickOverlay ? "button" : void 0,
-            "tabindex": props.closeOnClickOverlay ? 0 : void 0,
-            "onClick": onClickOverlay
-          }, {
-            default: slots["overlay-content"]
-          });
-        }
-      };
-      const onClickCloseIcon = (event) => {
-        emit("clickCloseIcon", event);
-        close();
-      };
-      const renderCloseIcon = () => {
-        if (props.closeable) {
-          return vue.createVNode(Icon, {
-            "role": "button",
-            "tabindex": 0,
-            "name": props.closeIcon,
-            "class": [bem$1o("close-icon", props.closeIconPosition), HAPTICS_FEEDBACK],
-            "classPrefix": props.iconPrefix,
-            "onClick": onClickCloseIcon
-          }, null);
-        }
-      };
-      const onOpened = () => emit("opened");
-      const onClosed = () => emit("closed");
-      const onKeydown = (event) => emit("keydown", event);
-      const renderPopup = lazyRender(() => {
-        var _a;
-        const {
-          round: round2,
-          position,
-          safeAreaInsetTop,
-          safeAreaInsetBottom
-        } = props;
-        return vue.withDirectives(vue.createVNode("div", vue.mergeProps({
-          "ref": popupRef,
-          "style": style.value,
-          "role": "dialog",
-          "tabindex": 0,
-          "class": [bem$1o({
-            round: round2,
-            [position]: position
-          }), {
-            "van-safe-area-top": safeAreaInsetTop,
-            "van-safe-area-bottom": safeAreaInsetBottom
-          }],
-          "onKeydown": onKeydown
-        }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots), renderCloseIcon()]), [[vue.vShow, props.show]]);
-      });
-      const renderTransition = () => {
-        const {
-          position,
-          transition,
-          transitionAppear
-        } = props;
-        const name2 = position === "center" ? "van-fade" : `van-popup-slide-${position}`;
-        return vue.createVNode(vue.Transition, {
-          "name": transition || name2,
-          "appear": transitionAppear,
-          "onAfterEnter": onOpened,
-          "onAfterLeave": onClosed
-        }, {
-          default: renderPopup
-        });
-      };
-      vue.watch(() => props.show, (show) => {
-        if (show && !opened) {
-          open();
-          if (attrs.tabindex === 0) {
-            vue.nextTick(() => {
-              var _a;
-              (_a = popupRef.value) == null ? void 0 : _a.focus();
-            });
-          }
-        }
-        if (!show && opened) {
-          opened = false;
-          emit("close");
-        }
-      });
-      useExpose({
-        popupRef
-      });
-      useLockScroll(popupRef, () => props.show && props.lockScroll);
-      useEventListener("popstate", () => {
-        if (props.closeOnPopstate) {
-          close();
-          shouldReopen = false;
-        }
-      });
-      vue.onMounted(() => {
-        if (props.show) {
-          open();
-        }
-      });
-      vue.onActivated(() => {
-        if (shouldReopen) {
-          emit("update:show", true);
-          shouldReopen = false;
-        }
-      });
-      vue.onDeactivated(() => {
-        if (props.show && props.teleport) {
-          close();
-          shouldReopen = true;
-        }
-      });
-      vue.provide(POPUP_TOGGLE_KEY, () => props.show);
-      return () => {
-        if (props.teleport) {
-          return vue.createVNode(vue.Teleport, {
-            "to": props.teleport
-          }, {
-            default: () => [renderOverlay(), renderTransition()]
-          });
-        }
-        return vue.createVNode(vue.Fragment, null, [renderOverlay(), renderTransition()]);
-      };
-    }
-  });
-  const Popup = withInstall(stdin_default$1D);
-  const [name$1s, bem$1n] = createNamespace("action-sheet");
-  const actionSheetProps = extend({}, popupSharedProps, {
-    title: String,
-    round: truthProp,
-    actions: makeArrayProp(),
-    closeIcon: makeStringProp("cross"),
-    closeable: truthProp,
-    cancelText: String,
-    description: String,
-    closeOnPopstate: truthProp,
-    closeOnClickAction: Boolean,
-    safeAreaInsetBottom: truthProp
-  });
-  const popupInheritKeys$2 = [...popupSharedPropKeys, "round", "closeOnPopstate", "safeAreaInsetBottom"];
-  var stdin_default$1C = vue.defineComponent({
-    name: name$1s,
-    props: actionSheetProps,
-    emits: ["select", "cancel", "update:show"],
-    setup(props, {
-      slots,
-      emit
-    }) {
-      const updateShow = (show) => emit("update:show", show);
-      const onCancel = () => {
-        updateShow(false);
-        emit("cancel");
-      };
-      const renderHeader = () => {
-        if (props.title) {
-          return vue.createVNode("div", {
-            "class": bem$1n("header")
-          }, [props.title, props.closeable && vue.createVNode(Icon, {
-            "name": props.closeIcon,
-            "class": [bem$1n("close"), HAPTICS_FEEDBACK],
-            "onClick": onCancel
-          }, null)]);
-        }
-      };
-      const renderCancel = () => {
-        if (slots.cancel || props.cancelText) {
-          return [vue.createVNode("div", {
-            "class": bem$1n("gap")
-          }, null), vue.createVNode("button", {
-            "type": "button",
-            "class": bem$1n("cancel"),
-            "onClick": onCancel
-          }, [slots.cancel ? slots.cancel() : props.cancelText])];
-        }
-      };
-      const renderActionContent = (action, index) => {
-        if (action.loading) {
-          return vue.createVNode(Loading, {
-            "class": bem$1n("loading-icon")
-          }, null);
-        }
-        if (slots.action) {
-          return slots.action({
-            action,
-            index
-          });
-        }
-        return [vue.createVNode("span", {
-          "class": bem$1n("name")
-        }, [action.name]), action.subname && vue.createVNode("div", {
-          "class": bem$1n("subname")
-        }, [action.subname])];
-      };
-      const renderAction = (action, index) => {
-        const {
-          color,
-          loading,
-          callback,
-          disabled,
-          className
-        } = action;
-        const onClick = () => {
-          if (disabled || loading) {
-            return;
-          }
-          if (callback) {
-            callback(action);
-          }
-          if (props.closeOnClickAction) {
-            updateShow(false);
-          }
-          vue.nextTick(() => emit("select", action, index));
-        };
-        return vue.createVNode("button", {
-          "type": "button",
-          "style": {
-            color
-          },
-          "class": [bem$1n("item", {
-            loading,
-            disabled
-          }), className],
-          "onClick": onClick
-        }, [renderActionContent(action, index)]);
-      };
-      const renderDescription = () => {
-        if (props.description || slots.description) {
-          const content = slots.description ? slots.description() : props.description;
-          return vue.createVNode("div", {
-            "class": bem$1n("description")
-          }, [content]);
-        }
-      };
-      return () => vue.createVNode(Popup, vue.mergeProps({
-        "class": bem$1n(),
-        "position": "bottom",
-        "onUpdate:show": updateShow
-      }, pick(props, popupInheritKeys$2)), {
-        default: () => {
-          var _a;
-          return [renderHeader(), renderDescription(), vue.createVNode("div", {
-            "class": bem$1n("content")
-          }, [props.actions.map(renderAction), (_a = slots.default) == null ? void 0 : _a.call(slots)]), renderCancel()];
-        }
-      });
-    }
-  });
-  const ActionSheet = withInstall(stdin_default$1C);
-  const [name$1r, bem$1m, t$j] = createNamespace("picker");
-  const getFirstEnabledOption = (options) => options.find((option) => !option.disabled) || options[0];
-  function getColumnsType(columns, fields) {
-    const firstColumn = columns[0];
-    if (firstColumn) {
-      if (Array.isArray(firstColumn)) {
-        return "multiple";
-      }
-      if (fields.children in firstColumn) {
-        return "cascade";
-      }
-    }
-    return "default";
-  }
-  function findIndexOfEnabledOption(options, index) {
-    index = clamp(index, 0, options.length);
-    for (let i = index; i < options.length; i++) {
-      if (!options[i].disabled)
-        return i;
-    }
-    for (let i = index - 1; i >= 0; i--) {
-      if (!options[i].disabled)
-        return i;
-    }
-    return 0;
-  }
-  const isOptionExist = (options, value, fields) => value !== void 0 && !!options.find((option) => option[fields.value] === value);
-  function findOptionByValue(options, value, fields) {
-    const index = options.findIndex((option) => option[fields.value] === value);
-    const enabledIndex = findIndexOfEnabledOption(options, index);
-    return options[enabledIndex];
-  }
-  function formatCascadeColumns(columns, fields, selectedValues) {
-    const formatted = [];
-    let cursor = {
-      [fields.children]: columns
-    };
-    let columnIndex = 0;
-    while (cursor && cursor[fields.children]) {
-      const options = cursor[fields.children];
-      const value = selectedValues.value[columnIndex];
-      cursor = isDef(value) ? findOptionByValue(options, value, fields) : void 0;
-      if (!cursor && options.length) {
-        const firstValue = getFirstEnabledOption(options)[fields.value];
-        cursor = findOptionByValue(options, firstValue, fields);
-      }
-      columnIndex++;
-      formatted.push(options);
-    }
-    return formatted;
-  }
-  function getElementTranslateY(element) {
-    const { transform } = window.getComputedStyle(element);
-    const translateY = transform.slice(7, transform.length - 1).split(", ")[5];
-    return Number(translateY);
-  }
-  function assignDefaultFields(fields) {
-    return extend(
-      {
-        text: "text",
-        value: "value",
-        children: "children"
-      },
-      fields
-    );
-  }
-  const DEFAULT_DURATION = 200;
-  const MOMENTUM_TIME = 300;
-  const MOMENTUM_DISTANCE = 15;
-  const [name$1q, bem$1l] = createNamespace("picker-column");
-  const PICKER_KEY = Symbol(name$1q);
-  var stdin_default$1B = vue.defineComponent({
-    name: name$1q,
-    props: {
-      value: numericProp,
-      fields: makeRequiredProp(Object),
-      options: makeArrayProp(),
-      readonly: Boolean,
-      allowHtml: Boolean,
-      optionHeight: makeRequiredProp(Number),
-      swipeDuration: makeRequiredProp(numericProp),
-      visibleOptionNum: makeRequiredProp(numericProp)
-    },
-    emits: ["change", "clickOption"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      let moving;
-      let startOffset;
-      let touchStartTime;
-      let momentumOffset;
-      let transitionEndTrigger;
-      const root = vue.ref();
-      const wrapper = vue.ref();
-      const currentOffset = vue.ref(0);
-      const currentDuration = vue.ref(0);
-      const touch = useTouch();
-      const count = () => props.options.length;
-      const baseOffset = () => props.optionHeight * (+props.visibleOptionNum - 1) / 2;
-      const updateValueByIndex = (index) => {
-        const enabledIndex = findIndexOfEnabledOption(props.options, index);
-        const offset2 = -enabledIndex * props.optionHeight;
-        const trigger = () => {
-          const value = props.options[enabledIndex][props.fields.value];
-          if (value !== props.value) {
-            emit("change", value);
-          }
-        };
-        if (moving && offset2 !== currentOffset.value) {
-          transitionEndTrigger = trigger;
-        } else {
-          trigger();
-        }
-        currentOffset.value = offset2;
-      };
-      const isReadonly = () => props.readonly || !props.options.length;
-      const onClickOption = (index) => {
-        if (moving || isReadonly()) {
-          return;
-        }
-        transitionEndTrigger = null;
-        currentDuration.value = DEFAULT_DURATION;
-        updateValueByIndex(index);
-        emit("clickOption", props.options[index]);
-      };
-      const getIndexByOffset = (offset2) => clamp(Math.round(-offset2 / props.optionHeight), 0, count() - 1);
-      const momentum = (distance, duration) => {
-        const speed = Math.abs(distance / duration);
-        distance = currentOffset.value + speed / 3e-3 * (distance < 0 ? -1 : 1);
-        const index = getIndexByOffset(distance);
-        currentDuration.value = +props.swipeDuration;
-        updateValueByIndex(index);
-      };
-      const stopMomentum = () => {
-        moving = false;
-        currentDuration.value = 0;
-        if (transitionEndTrigger) {
-          transitionEndTrigger();
-          transitionEndTrigger = null;
-        }
-      };
-      const onTouchStart = (event) => {
-        if (isReadonly()) {
-          return;
-        }
-        touch.start(event);
-        if (moving) {
-          const translateY = getElementTranslateY(wrapper.value);
-          currentOffset.value = Math.min(0, translateY - baseOffset());
-        }
-        currentDuration.value = 0;
-        startOffset = currentOffset.value;
-        touchStartTime = Date.now();
-        momentumOffset = startOffset;
-        transitionEndTrigger = null;
-      };
-      const onTouchMove = (event) => {
-        if (isReadonly()) {
-          return;
-        }
-        touch.move(event);
-        if (touch.isVertical()) {
-          moving = true;
-          preventDefault(event, true);
-        }
-        currentOffset.value = clamp(startOffset + touch.deltaY.value, -(count() * props.optionHeight), props.optionHeight);
-        const now = Date.now();
-        if (now - touchStartTime > MOMENTUM_TIME) {
-          touchStartTime = now;
-          momentumOffset = currentOffset.value;
-        }
-      };
-      const onTouchEnd = () => {
-        if (isReadonly()) {
-          return;
-        }
-        const distance = currentOffset.value - momentumOffset;
-        const duration = Date.now() - touchStartTime;
-        const startMomentum = duration < MOMENTUM_TIME && Math.abs(distance) > MOMENTUM_DISTANCE;
-        if (startMomentum) {
-          momentum(distance, duration);
-          return;
-        }
-        const index = getIndexByOffset(currentOffset.value);
-        currentDuration.value = DEFAULT_DURATION;
-        updateValueByIndex(index);
-        setTimeout(() => {
-          moving = false;
-        }, 0);
-      };
-      const renderOptions = () => {
-        const optionStyle = {
-          height: `${props.optionHeight}px`
-        };
-        return props.options.map((option, index) => {
-          const text = option[props.fields.text];
-          const {
-            disabled
-          } = option;
-          const value = option[props.fields.value];
-          const data = {
-            role: "button",
-            style: optionStyle,
-            tabindex: disabled ? -1 : 0,
-            class: [bem$1l("item", {
-              disabled,
-              selected: value === props.value
-            }), option.className],
-            onClick: () => onClickOption(index)
-          };
-          const childData = {
-            class: "van-ellipsis",
-            [props.allowHtml ? "innerHTML" : "textContent"]: text
-          };
-          return vue.createVNode("li", data, [slots.option ? slots.option(option, index) : vue.createVNode("div", childData, null)]);
-        });
-      };
-      useParent(PICKER_KEY);
-      useExpose({
-        stopMomentum
-      });
-      vue.watchEffect(() => {
-        const index = props.options.findIndex((option) => option[props.fields.value] === props.value);
-        const enabledIndex = findIndexOfEnabledOption(props.options, index);
-        const offset2 = -enabledIndex * props.optionHeight;
-        currentOffset.value = offset2;
-      });
-      useEventListener("touchmove", onTouchMove, {
-        target: root
-      });
-      return () => vue.createVNode("div", {
-        "ref": root,
-        "class": bem$1l(),
-        "onTouchstartPassive": onTouchStart,
-        "onTouchend": onTouchEnd,
-        "onTouchcancel": onTouchEnd
-      }, [vue.createVNode("ul", {
-        "ref": wrapper,
-        "style": {
-          transform: `translate3d(0, ${currentOffset.value + baseOffset()}px, 0)`,
-          transitionDuration: `${currentDuration.value}ms`,
-          transitionProperty: currentDuration.value ? "all" : "none"
-        },
-        "class": bem$1l("wrapper"),
-        "onTransitionend": stopMomentum
-      }, [renderOptions()])]);
-    }
-  });
-  const [name$1p] = createNamespace("picker-toolbar");
-  const pickerToolbarProps = {
-    title: String,
-    cancelButtonText: String,
-    confirmButtonText: String
-  };
-  const pickerToolbarSlots = ["cancel", "confirm", "title", "toolbar"];
-  const pickerToolbarPropKeys = Object.keys(pickerToolbarProps);
-  var stdin_default$1A = vue.defineComponent({
-    name: name$1p,
-    props: pickerToolbarProps,
-    emits: ["confirm", "cancel"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const renderTitle = () => {
-        if (slots.title) {
-          return slots.title();
-        }
-        if (props.title) {
-          return vue.createVNode("div", {
-            "class": [bem$1m("title"), "van-ellipsis"]
-          }, [props.title]);
-        }
-      };
-      const onCancel = () => emit("cancel");
-      const onConfirm = () => emit("confirm");
-      const renderCancel = () => {
-        const text = props.cancelButtonText || t$j("cancel");
-        return vue.createVNode("button", {
-          "type": "button",
-          "class": [bem$1m("cancel"), HAPTICS_FEEDBACK],
-          "onClick": onCancel
-        }, [slots.cancel ? slots.cancel() : text]);
-      };
-      const renderConfirm = () => {
-        const text = props.confirmButtonText || t$j("confirm");
-        return vue.createVNode("button", {
-          "type": "button",
-          "class": [bem$1m("confirm"), HAPTICS_FEEDBACK],
-          "onClick": onConfirm
-        }, [slots.confirm ? slots.confirm() : text]);
-      };
-      return () => vue.createVNode("div", {
-        "class": bem$1m("toolbar")
-      }, [slots.toolbar ? slots.toolbar() : [renderCancel(), renderTitle(), renderConfirm()]]);
-    }
-  });
-  function scrollLeftTo(scroller, to, duration) {
-    let count = 0;
-    const from = scroller.scrollLeft;
-    const frames = duration === 0 ? 1 : Math.round(duration * 1e3 / 16);
-    function animate() {
-      scroller.scrollLeft += (to - from) / frames;
-      if (++count < frames) {
-        raf(animate);
-      }
-    }
-    animate();
-  }
-  function scrollTopTo(scroller, to, duration, callback) {
-    let current2 = getScrollTop(scroller);
-    const isDown = current2 < to;
-    const frames = duration === 0 ? 1 : Math.round(duration * 1e3 / 16);
-    const step = (to - current2) / frames;
-    function animate() {
-      current2 += step;
-      if (isDown && current2 > to || !isDown && current2 < to) {
-        current2 = to;
-      }
-      setScrollTop(scroller, current2);
-      if (isDown && current2 < to || !isDown && current2 > to) {
-        raf(animate);
-      } else if (callback) {
-        raf(callback);
-      }
-    }
-    animate();
-  }
-  let current = 0;
-  function useId() {
-    const vm = vue.getCurrentInstance();
-    const { name: name2 = "unknown" } = (vm == null ? void 0 : vm.type) || {};
-    return `${name2}-${++current}`;
-  }
-  function useRefs() {
-    const refs = vue.ref([]);
-    const cache = [];
-    vue.onBeforeUpdate(() => {
-      refs.value = [];
-    });
-    const setRefs = (index) => {
-      if (!cache[index]) {
-        cache[index] = (el) => {
-          refs.value[index] = el;
-        };
-      }
-      return cache[index];
-    };
-    return [refs, setRefs];
-  }
-  function useVisibilityChange(target, onChange) {
-    if (!inBrowser$1 || !window.IntersectionObserver) {
-      return;
-    }
-    const observer = new IntersectionObserver(
-      (entries) => {
-        onChange(entries[0].intersectionRatio > 0);
-      },
-      { root: document.body }
-    );
-    const observe = () => {
-      if (target.value) {
-        observer.observe(target.value);
-      }
-    };
-    const unobserve = () => {
-      if (target.value) {
-        observer.unobserve(target.value);
-      }
-    };
-    vue.onDeactivated(unobserve);
-    vue.onBeforeUnmount(unobserve);
-    onMountedOrActivated(observe);
-  }
-  const [name$1o, bem$1k] = createNamespace("sticky");
-  const stickyProps = {
-    zIndex: numericProp,
-    position: makeStringProp("top"),
-    container: Object,
-    offsetTop: makeNumericProp(0),
-    offsetBottom: makeNumericProp(0)
-  };
-  var stdin_default$1z = vue.defineComponent({
-    name: name$1o,
-    props: stickyProps,
-    emits: ["scroll", "change"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const root = vue.ref();
-      const scrollParent = useScrollParent(root);
-      const state = vue.reactive({
-        fixed: false,
-        width: 0,
-        // root width
-        height: 0,
-        // root height
-        transform: 0
-      });
-      const offset2 = vue.computed(() => unitToPx(props.position === "top" ? props.offsetTop : props.offsetBottom));
-      const rootStyle = vue.computed(() => {
-        const {
-          fixed,
-          height: height2,
-          width: width2
-        } = state;
-        if (fixed) {
-          return {
-            width: `${width2}px`,
-            height: `${height2}px`
-          };
-        }
-      });
-      const stickyStyle = vue.computed(() => {
-        if (!state.fixed) {
-          return;
-        }
-        const style = extend(getZIndexStyle(props.zIndex), {
-          width: `${state.width}px`,
-          height: `${state.height}px`,
-          [props.position]: `${offset2.value}px`
-        });
-        if (state.transform) {
-          style.transform = `translate3d(0, ${state.transform}px, 0)`;
-        }
-        return style;
-      });
-      const emitScroll = (scrollTop) => emit("scroll", {
-        scrollTop,
-        isFixed: state.fixed
-      });
-      const onScroll = () => {
-        if (!root.value || isHidden(root)) {
-          return;
-        }
-        const {
-          container,
-          position
-        } = props;
-        const rootRect = useRect(root);
-        const scrollTop = getScrollTop(window);
-        state.width = rootRect.width;
-        state.height = rootRect.height;
-        if (position === "top") {
-          if (container) {
-            const containerRect = useRect(container);
-            const difference = containerRect.bottom - offset2.value - state.height;
-            state.fixed = offset2.value > rootRect.top && containerRect.bottom > 0;
-            state.transform = difference < 0 ? difference : 0;
-          } else {
-            state.fixed = offset2.value > rootRect.top;
-          }
-        } else {
-          const {
-            clientHeight
-          } = document.documentElement;
-          if (container) {
-            const containerRect = useRect(container);
-            const difference = clientHeight - containerRect.top - offset2.value - state.height;
-            state.fixed = clientHeight - offset2.value < rootRect.bottom && clientHeight > containerRect.top;
-            state.transform = difference < 0 ? -difference : 0;
-          } else {
-            state.fixed = clientHeight - offset2.value < rootRect.bottom;
-          }
-        }
-        emitScroll(scrollTop);
-      };
-      vue.watch(() => state.fixed, (value) => emit("change", value));
-      useEventListener("scroll", onScroll, {
-        target: scrollParent,
-        passive: true
-      });
-      useVisibilityChange(root, onScroll);
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "ref": root,
-          "style": rootStyle.value
-        }, [vue.createVNode("div", {
-          "class": bem$1k({
-            fixed: state.fixed
-          }),
-          "style": stickyStyle.value
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)])]);
-      };
-    }
-  });
-  const Sticky = withInstall(stdin_default$1z);
-  const [name$1n, bem$1j] = createNamespace("tab");
-  var stdin_default$1y = vue.defineComponent({
-    name: name$1n,
-    props: {
-      id: String,
-      dot: Boolean,
-      type: String,
-      color: String,
-      title: String,
-      badge: numericProp,
-      shrink: Boolean,
-      isActive: Boolean,
-      disabled: Boolean,
-      controls: String,
-      scrollable: Boolean,
-      activeColor: String,
-      inactiveColor: String,
-      showZeroBadge: truthProp
-    },
-    setup(props, {
-      slots
-    }) {
-      const style = vue.computed(() => {
-        const style2 = {};
-        const {
-          type,
-          color,
-          disabled,
-          isActive,
-          activeColor,
-          inactiveColor
-        } = props;
-        const isCard = type === "card";
-        if (color && isCard) {
-          style2.borderColor = color;
-          if (!disabled) {
-            if (isActive) {
-              style2.backgroundColor = color;
-            } else {
-              style2.color = color;
-            }
-          }
-        }
-        const titleColor = isActive ? activeColor : inactiveColor;
-        if (titleColor) {
-          style2.color = titleColor;
-        }
-        return style2;
-      });
-      const renderText = () => {
-        const Text = vue.createVNode("span", {
-          "class": bem$1j("text", {
-            ellipsis: !props.scrollable
-          })
-        }, [slots.title ? slots.title() : props.title]);
-        if (props.dot || isDef(props.badge) && props.badge !== "") {
-          return vue.createVNode(Badge, {
-            "dot": props.dot,
-            "content": props.badge,
-            "showZero": props.showZeroBadge
-          }, {
-            default: () => [Text]
-          });
-        }
-        return Text;
-      };
-      return () => vue.createVNode("div", {
-        "id": props.id,
-        "role": "tab",
-        "class": [bem$1j([props.type, {
-          grow: props.scrollable && !props.shrink,
-          shrink: props.shrink,
-          active: props.isActive,
-          disabled: props.disabled
-        }])],
-        "style": style.value,
-        "tabindex": props.disabled ? void 0 : props.isActive ? 0 : -1,
-        "aria-selected": props.isActive,
-        "aria-disabled": props.disabled || void 0,
-        "aria-controls": props.controls
-      }, [renderText()]);
-    }
-  });
-  const [name$1m, bem$1i] = createNamespace("swipe");
-  const swipeProps = {
-    loop: truthProp,
-    width: numericProp,
-    height: numericProp,
-    vertical: Boolean,
-    autoplay: makeNumericProp(0),
-    duration: makeNumericProp(500),
-    touchable: truthProp,
-    lazyRender: Boolean,
-    initialSwipe: makeNumericProp(0),
-    indicatorColor: String,
-    showIndicators: truthProp,
-    stopPropagation: truthProp
-  };
-  const SWIPE_KEY = Symbol(name$1m);
-  var stdin_default$1x = vue.defineComponent({
-    name: name$1m,
-    props: swipeProps,
-    emits: ["change", "dragStart", "dragEnd"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const root = vue.ref();
-      const track = vue.ref();
-      const state = vue.reactive({
-        rect: null,
-        width: 0,
-        height: 0,
-        offset: 0,
-        active: 0,
-        swiping: false
-      });
-      let dragging = false;
-      const touch = useTouch();
-      const {
-        children,
-        linkChildren
-      } = useChildren(SWIPE_KEY);
-      const count = vue.computed(() => children.length);
-      const size = vue.computed(() => state[props.vertical ? "height" : "width"]);
-      const delta = vue.computed(() => props.vertical ? touch.deltaY.value : touch.deltaX.value);
-      const minOffset = vue.computed(() => {
-        if (state.rect) {
-          const base = props.vertical ? state.rect.height : state.rect.width;
-          return base - size.value * count.value;
-        }
-        return 0;
-      });
-      const maxCount = vue.computed(() => size.value ? Math.ceil(Math.abs(minOffset.value) / size.value) : count.value);
-      const trackSize = vue.computed(() => count.value * size.value);
-      const activeIndicator = vue.computed(() => (state.active + count.value) % count.value);
-      const isCorrectDirection = vue.computed(() => {
-        const expect = props.vertical ? "vertical" : "horizontal";
-        return touch.direction.value === expect;
-      });
-      const trackStyle = vue.computed(() => {
-        const style = {
-          transitionDuration: `${state.swiping ? 0 : props.duration}ms`,
-          transform: `translate${props.vertical ? "Y" : "X"}(${state.offset}px)`
-        };
-        if (size.value) {
-          const mainAxis = props.vertical ? "height" : "width";
-          const crossAxis = props.vertical ? "width" : "height";
-          style[mainAxis] = `${trackSize.value}px`;
-          style[crossAxis] = props[crossAxis] ? `${props[crossAxis]}px` : "";
-        }
-        return style;
-      });
-      const getTargetActive = (pace) => {
-        const {
-          active
-        } = state;
-        if (pace) {
-          if (props.loop) {
-            return clamp(active + pace, -1, count.value);
-          }
-          return clamp(active + pace, 0, maxCount.value);
-        }
-        return active;
-      };
-      const getTargetOffset = (targetActive, offset2 = 0) => {
-        let currentPosition = targetActive * size.value;
-        if (!props.loop) {
-          currentPosition = Math.min(currentPosition, -minOffset.value);
-        }
-        let targetOffset = offset2 - currentPosition;
-        if (!props.loop) {
-          targetOffset = clamp(targetOffset, minOffset.value, 0);
-        }
-        return targetOffset;
-      };
-      const move = ({
-        pace = 0,
-        offset: offset2 = 0,
-        emitChange
-      }) => {
-        if (count.value <= 1) {
-          return;
-        }
-        const {
-          active
-        } = state;
-        const targetActive = getTargetActive(pace);
-        const targetOffset = getTargetOffset(targetActive, offset2);
-        if (props.loop) {
-          if (children[0] && targetOffset !== minOffset.value) {
-            const outRightBound = targetOffset < minOffset.value;
-            children[0].setOffset(outRightBound ? trackSize.value : 0);
-          }
-          if (children[count.value - 1] && targetOffset !== 0) {
-            const outLeftBound = targetOffset > 0;
-            children[count.value - 1].setOffset(outLeftBound ? -trackSize.value : 0);
-          }
-        }
-        state.active = targetActive;
-        state.offset = targetOffset;
-        if (emitChange && targetActive !== active) {
-          emit("change", activeIndicator.value);
-        }
-      };
-      const correctPosition = () => {
-        state.swiping = true;
-        if (state.active <= -1) {
-          move({
-            pace: count.value
-          });
-        } else if (state.active >= count.value) {
-          move({
-            pace: -count.value
-          });
-        }
-      };
-      const prev = () => {
-        correctPosition();
-        touch.reset();
-        doubleRaf(() => {
-          state.swiping = false;
-          move({
-            pace: -1,
-            emitChange: true
-          });
-        });
-      };
-      const next = () => {
-        correctPosition();
-        touch.reset();
-        doubleRaf(() => {
-          state.swiping = false;
-          move({
-            pace: 1,
-            emitChange: true
-          });
-        });
-      };
-      let autoplayTimer;
-      const stopAutoplay = () => clearTimeout(autoplayTimer);
-      const autoplay = () => {
-        stopAutoplay();
-        if (+props.autoplay > 0 && count.value > 1) {
-          autoplayTimer = setTimeout(() => {
-            next();
-            autoplay();
-          }, +props.autoplay);
-        }
-      };
-      const initialize = (active = +props.initialSwipe) => {
-        if (!root.value) {
-          return;
-        }
-        const cb = () => {
-          var _a, _b;
-          if (!isHidden(root)) {
-            const rect = {
-              width: root.value.offsetWidth,
-              height: root.value.offsetHeight
-            };
-            state.rect = rect;
-            state.width = +((_a = props.width) != null ? _a : rect.width);
-            state.height = +((_b = props.height) != null ? _b : rect.height);
-          }
-          if (count.value) {
-            active = Math.min(count.value - 1, active);
-            if (active === -1) {
-              active = count.value - 1;
-            }
-          }
-          state.active = active;
-          state.swiping = true;
-          state.offset = getTargetOffset(active);
-          children.forEach((swipe) => {
-            swipe.setOffset(0);
-          });
-          autoplay();
-        };
-        if (isHidden(root)) {
-          vue.nextTick().then(cb);
-        } else {
-          cb();
-        }
-      };
-      const resize = () => initialize(state.active);
-      let touchStartTime;
-      const onTouchStart = (event) => {
-        if (!props.touchable || // avoid resetting position on multi-finger touch
-        event.touches.length > 1)
-          return;
-        touch.start(event);
-        dragging = false;
-        touchStartTime = Date.now();
-        stopAutoplay();
-        correctPosition();
-      };
-      const onTouchMove = (event) => {
-        if (props.touchable && state.swiping) {
-          touch.move(event);
-          if (isCorrectDirection.value) {
-            const isEdgeTouch = !props.loop && (state.active === 0 && delta.value > 0 || state.active === count.value - 1 && delta.value < 0);
-            if (!isEdgeTouch) {
-              preventDefault(event, props.stopPropagation);
-              move({
-                offset: delta.value
-              });
-              if (!dragging) {
-                emit("dragStart", {
-                  index: activeIndicator.value
-                });
-                dragging = true;
-              }
-            }
-          }
-        }
-      };
-      const onTouchEnd = () => {
-        if (!props.touchable || !state.swiping) {
-          return;
-        }
-        const duration = Date.now() - touchStartTime;
-        const speed = delta.value / duration;
-        const shouldSwipe = Math.abs(speed) > 0.25 || Math.abs(delta.value) > size.value / 2;
-        if (shouldSwipe && isCorrectDirection.value) {
-          const offset2 = props.vertical ? touch.offsetY.value : touch.offsetX.value;
-          let pace = 0;
-          if (props.loop) {
-            pace = offset2 > 0 ? delta.value > 0 ? -1 : 1 : 0;
-          } else {
-            pace = -Math[delta.value > 0 ? "ceil" : "floor"](delta.value / size.value);
-          }
-          move({
-            pace,
-            emitChange: true
-          });
-        } else if (delta.value) {
-          move({
-            pace: 0
-          });
-        }
-        dragging = false;
-        state.swiping = false;
-        emit("dragEnd", {
-          index: activeIndicator.value
-        });
-        autoplay();
-      };
-      const swipeTo = (index, options = {}) => {
-        correctPosition();
-        touch.reset();
-        doubleRaf(() => {
-          let targetIndex;
-          if (props.loop && index === count.value) {
-            targetIndex = state.active === 0 ? 0 : index;
-          } else {
-            targetIndex = index % count.value;
-          }
-          if (options.immediate) {
-            doubleRaf(() => {
-              state.swiping = false;
-            });
-          } else {
-            state.swiping = false;
-          }
-          move({
-            pace: targetIndex - state.active,
-            emitChange: true
-          });
-        });
-      };
-      const renderDot = (_, index) => {
-        const active = index === activeIndicator.value;
-        const style = active ? {
-          backgroundColor: props.indicatorColor
-        } : void 0;
-        return vue.createVNode("i", {
-          "style": style,
-          "class": bem$1i("indicator", {
-            active
-          })
-        }, null);
-      };
-      const renderIndicator = () => {
-        if (slots.indicator) {
-          return slots.indicator({
-            active: activeIndicator.value,
-            total: count.value
-          });
-        }
-        if (props.showIndicators && count.value > 1) {
-          return vue.createVNode("div", {
-            "class": bem$1i("indicators", {
-              vertical: props.vertical
-            })
-          }, [Array(count.value).fill("").map(renderDot)]);
-        }
-      };
-      useExpose({
-        prev,
-        next,
-        state,
-        resize,
-        swipeTo
-      });
-      linkChildren({
-        size,
-        props,
-        count,
-        activeIndicator
-      });
-      vue.watch(() => props.initialSwipe, (value) => initialize(+value));
-      vue.watch(count, () => initialize(state.active));
-      vue.watch(() => props.autoplay, autoplay);
-      vue.watch([windowWidth, windowHeight], resize);
-      vue.watch(usePageVisibility(), (visible) => {
-        if (visible === "visible") {
-          autoplay();
-        } else {
-          stopAutoplay();
-        }
-      });
-      vue.onMounted(initialize);
-      vue.onActivated(() => initialize(state.active));
-      onPopupReopen(() => initialize(state.active));
-      vue.onDeactivated(stopAutoplay);
-      vue.onBeforeUnmount(stopAutoplay);
-      useEventListener("touchmove", onTouchMove, {
-        target: track
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "ref": root,
-          "class": bem$1i()
-        }, [vue.createVNode("div", {
-          "ref": track,
-          "style": trackStyle.value,
-          "class": bem$1i("track", {
-            vertical: props.vertical
-          }),
-          "onTouchstartPassive": onTouchStart,
-          "onTouchend": onTouchEnd,
-          "onTouchcancel": onTouchEnd
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), renderIndicator()]);
-      };
-    }
-  });
-  const Swipe = withInstall(stdin_default$1x);
-  const [name$1l, bem$1h] = createNamespace("tabs");
-  var stdin_default$1w = vue.defineComponent({
-    name: name$1l,
-    props: {
-      count: makeRequiredProp(Number),
-      inited: Boolean,
-      animated: Boolean,
-      duration: makeRequiredProp(numericProp),
-      swipeable: Boolean,
-      lazyRender: Boolean,
-      currentIndex: makeRequiredProp(Number)
-    },
-    emits: ["change"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const swipeRef = vue.ref();
-      const onChange = (index) => emit("change", index);
-      const renderChildren = () => {
-        var _a;
-        const Content = (_a = slots.default) == null ? void 0 : _a.call(slots);
-        if (props.animated || props.swipeable) {
-          return vue.createVNode(Swipe, {
-            "ref": swipeRef,
-            "loop": false,
-            "class": bem$1h("track"),
-            "duration": +props.duration * 1e3,
-            "touchable": props.swipeable,
-            "lazyRender": props.lazyRender,
-            "showIndicators": false,
-            "onChange": onChange
-          }, {
-            default: () => [Content]
-          });
-        }
-        return Content;
-      };
-      const swipeToCurrentTab = (index) => {
-        const swipe = swipeRef.value;
-        if (swipe && swipe.state.active !== index) {
-          swipe.swipeTo(index, {
-            immediate: !props.inited
-          });
-        }
-      };
-      vue.watch(() => props.currentIndex, swipeToCurrentTab);
-      vue.onMounted(() => {
-        swipeToCurrentTab(props.currentIndex);
-      });
-      useExpose({
-        swipeRef
-      });
-      return () => vue.createVNode("div", {
-        "class": bem$1h("content", {
-          animated: props.animated || props.swipeable
-        })
-      }, [renderChildren()]);
-    }
-  });
-  const [name$1k, bem$1g] = createNamespace("tabs");
-  const tabsProps = {
-    type: makeStringProp("line"),
-    color: String,
-    border: Boolean,
-    sticky: Boolean,
-    shrink: Boolean,
-    active: makeNumericProp(0),
-    duration: makeNumericProp(0.3),
-    animated: Boolean,
-    ellipsis: truthProp,
-    swipeable: Boolean,
-    scrollspy: Boolean,
-    offsetTop: makeNumericProp(0),
-    background: String,
-    lazyRender: truthProp,
-    lineWidth: numericProp,
-    lineHeight: numericProp,
-    beforeChange: Function,
-    swipeThreshold: makeNumericProp(5),
-    titleActiveColor: String,
-    titleInactiveColor: String
-  };
-  const TABS_KEY = Symbol(name$1k);
-  var stdin_default$1v = vue.defineComponent({
-    name: name$1k,
-    props: tabsProps,
-    emits: ["change", "scroll", "rendered", "clickTab", "update:active"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      let tabHeight;
-      let lockScroll;
-      let stickyFixed;
-      const root = vue.ref();
-      const navRef = vue.ref();
-      const wrapRef = vue.ref();
-      const contentRef = vue.ref();
-      const id = useId();
-      const scroller = useScrollParent(root);
-      const [titleRefs, setTitleRefs] = useRefs();
-      const {
-        children,
-        linkChildren
-      } = useChildren(TABS_KEY);
-      const state = vue.reactive({
-        inited: false,
-        position: "",
-        lineStyle: {},
-        currentIndex: -1
-      });
-      const scrollable = vue.computed(() => children.length > +props.swipeThreshold || !props.ellipsis || props.shrink);
-      const navStyle = vue.computed(() => ({
-        borderColor: props.color,
-        background: props.background
-      }));
-      const getTabName = (tab, index) => {
-        var _a;
-        return (_a = tab.name) != null ? _a : index;
-      };
-      const currentName = vue.computed(() => {
-        const activeTab = children[state.currentIndex];
-        if (activeTab) {
-          return getTabName(activeTab, state.currentIndex);
-        }
-      });
-      const offsetTopPx = vue.computed(() => unitToPx(props.offsetTop));
-      const scrollOffset = vue.computed(() => {
-        if (props.sticky) {
-          return offsetTopPx.value + tabHeight;
-        }
-        return 0;
-      });
-      const scrollIntoView = (immediate) => {
-        const nav = navRef.value;
-        const titles = titleRefs.value;
-        if (!scrollable.value || !nav || !titles || !titles[state.currentIndex]) {
-          return;
-        }
-        const title = titles[state.currentIndex].$el;
-        const to = title.offsetLeft - (nav.offsetWidth - title.offsetWidth) / 2;
-        scrollLeftTo(nav, to, immediate ? 0 : +props.duration);
-      };
-      const setLine = () => {
-        const shouldAnimate = state.inited;
-        vue.nextTick(() => {
-          const titles = titleRefs.value;
-          if (!titles || !titles[state.currentIndex] || props.type !== "line" || isHidden(root.value)) {
-            return;
-          }
-          const title = titles[state.currentIndex].$el;
-          const {
-            lineWidth,
-            lineHeight
-          } = props;
-          const left2 = title.offsetLeft + title.offsetWidth / 2;
-          const lineStyle = {
-            width: addUnit(lineWidth),
-            backgroundColor: props.color,
-            transform: `translateX(${left2}px) translateX(-50%)`
-          };
-          if (shouldAnimate) {
-            lineStyle.transitionDuration = `${props.duration}s`;
-          }
-          if (isDef(lineHeight)) {
-            const height2 = addUnit(lineHeight);
-            lineStyle.height = height2;
-            lineStyle.borderRadius = height2;
-          }
-          state.lineStyle = lineStyle;
-        });
-      };
-      const findAvailableTab = (index) => {
-        const diff = index < state.currentIndex ? -1 : 1;
-        while (index >= 0 && index < children.length) {
-          if (!children[index].disabled) {
-            return index;
-          }
-          index += diff;
-        }
-      };
-      const setCurrentIndex = (currentIndex, skipScrollIntoView) => {
-        const newIndex = findAvailableTab(currentIndex);
-        if (!isDef(newIndex)) {
-          return;
-        }
-        const newTab = children[newIndex];
-        const newName = getTabName(newTab, newIndex);
-        const shouldEmitChange = state.currentIndex !== null;
-        if (state.currentIndex !== newIndex) {
-          state.currentIndex = newIndex;
-          if (!skipScrollIntoView) {
-            scrollIntoView();
-          }
-          setLine();
-        }
-        if (newName !== props.active) {
-          emit("update:active", newName);
-          if (shouldEmitChange) {
-            emit("change", newName, newTab.title);
-          }
-        }
-        if (stickyFixed && !props.scrollspy) {
-          setRootScrollTop(Math.ceil(getElementTop(root.value) - offsetTopPx.value));
-        }
-      };
-      const setCurrentIndexByName = (name2, skipScrollIntoView) => {
-        const matched = children.find((tab, index2) => getTabName(tab, index2) === name2);
-        const index = matched ? children.indexOf(matched) : 0;
-        setCurrentIndex(index, skipScrollIntoView);
-      };
-      const scrollToCurrentContent = (immediate = false) => {
-        if (props.scrollspy) {
-          const target = children[state.currentIndex].$el;
-          if (target && scroller.value) {
-            const to = getElementTop(target, scroller.value) - scrollOffset.value;
-            lockScroll = true;
-            scrollTopTo(scroller.value, to, immediate ? 0 : +props.duration, () => {
-              lockScroll = false;
-            });
-          }
-        }
-      };
-      const onClickTab = (item, index, event) => {
-        const {
-          title,
-          disabled
-        } = children[index];
-        const name2 = getTabName(children[index], index);
-        if (!disabled) {
-          callInterceptor(props.beforeChange, {
-            args: [name2],
-            done: () => {
-              setCurrentIndex(index);
-              scrollToCurrentContent();
-            }
-          });
-          route(item);
-        }
-        emit("clickTab", {
-          name: name2,
-          title,
-          event,
-          disabled
-        });
-      };
-      const onStickyScroll = (params) => {
-        stickyFixed = params.isFixed;
-        emit("scroll", params);
-      };
-      const scrollTo = (name2) => {
-        vue.nextTick(() => {
-          setCurrentIndexByName(name2);
-          scrollToCurrentContent(true);
-        });
-      };
-      const getCurrentIndexOnScroll = () => {
-        for (let index = 0; index < children.length; index++) {
-          const {
-            top: top2
-          } = useRect(children[index].$el);
-          if (top2 > scrollOffset.value) {
-            return index === 0 ? 0 : index - 1;
-          }
-        }
-        return children.length - 1;
-      };
-      const onScroll = () => {
-        if (props.scrollspy && !lockScroll) {
-          const index = getCurrentIndexOnScroll();
-          setCurrentIndex(index);
-        }
-      };
-      const renderNav = () => children.map((item, index) => vue.createVNode(stdin_default$1y, vue.mergeProps({
-        "key": item.id,
-        "id": `${id}-${index}`,
-        "ref": setTitleRefs(index),
-        "type": props.type,
-        "color": props.color,
-        "style": item.titleStyle,
-        "class": item.titleClass,
-        "shrink": props.shrink,
-        "isActive": index === state.currentIndex,
-        "controls": item.id,
-        "scrollable": scrollable.value,
-        "activeColor": props.titleActiveColor,
-        "inactiveColor": props.titleInactiveColor,
-        "onClick": (event) => onClickTab(item, index, event)
-      }, pick(item, ["dot", "badge", "title", "disabled", "showZeroBadge"])), {
-        title: item.$slots.title
-      }));
-      const renderLine = () => {
-        if (props.type === "line" && children.length) {
-          return vue.createVNode("div", {
-            "class": bem$1g("line"),
-            "style": state.lineStyle
-          }, null);
-        }
-      };
-      const renderHeader = () => {
-        var _a, _b, _c;
-        const {
-          type,
-          border,
-          sticky
-        } = props;
-        const Header = [vue.createVNode("div", {
-          "ref": sticky ? void 0 : wrapRef,
-          "class": [bem$1g("wrap"), {
-            [BORDER_TOP_BOTTOM]: type === "line" && border
-          }]
-        }, [vue.createVNode("div", {
-          "ref": navRef,
-          "role": "tablist",
-          "class": bem$1g("nav", [type, {
-            shrink: props.shrink,
-            complete: scrollable.value
-          }]),
-          "style": navStyle.value,
-          "aria-orientation": "horizontal"
-        }, [(_a = slots["nav-left"]) == null ? void 0 : _a.call(slots), renderNav(), renderLine(), (_b = slots["nav-right"]) == null ? void 0 : _b.call(slots)])]), (_c = slots["nav-bottom"]) == null ? void 0 : _c.call(slots)];
-        if (sticky) {
-          return vue.createVNode("div", {
-            "ref": wrapRef
-          }, [Header]);
-        }
-        return Header;
-      };
-      vue.watch([() => props.color, windowWidth], setLine);
-      vue.watch(() => props.active, (value) => {
-        if (value !== currentName.value) {
-          setCurrentIndexByName(value);
-        }
-      });
-      vue.watch(() => children.length, () => {
-        if (state.inited) {
-          setCurrentIndexByName(props.active);
-          setLine();
-          vue.nextTick(() => {
-            scrollIntoView(true);
-          });
-        }
-      });
-      const init = () => {
-        setCurrentIndexByName(props.active, true);
-        vue.nextTick(() => {
-          state.inited = true;
-          if (wrapRef.value) {
-            tabHeight = useRect(wrapRef.value).height;
-          }
-          scrollIntoView(true);
-        });
-      };
-      const onRendered = (name2, title) => emit("rendered", name2, title);
-      const resize = () => {
-        setLine();
-        vue.nextTick(() => {
-          var _a, _b;
-          return (_b = (_a = contentRef.value) == null ? void 0 : _a.swipeRef.value) == null ? void 0 : _b.resize();
-        });
-      };
-      useExpose({
-        resize,
-        scrollTo
-      });
-      vue.onActivated(setLine);
-      onPopupReopen(setLine);
-      onMountedOrActivated(init);
-      useVisibilityChange(root, setLine);
-      useEventListener("scroll", onScroll, {
-        target: scroller,
-        passive: true
-      });
-      linkChildren({
-        id,
-        props,
-        setLine,
-        onRendered,
-        currentName,
-        scrollIntoView
-      });
-      return () => vue.createVNode("div", {
-        "ref": root,
-        "class": bem$1g([props.type])
-      }, [props.sticky ? vue.createVNode(Sticky, {
-        "container": root.value,
-        "offsetTop": offsetTopPx.value,
-        "onScroll": onStickyScroll
-      }, {
-        default: () => [renderHeader()]
-      }) : renderHeader(), vue.createVNode(stdin_default$1w, {
-        "ref": contentRef,
-        "count": children.length,
-        "inited": state.inited,
-        "animated": props.animated,
-        "duration": props.duration,
-        "swipeable": props.swipeable,
-        "lazyRender": props.lazyRender,
-        "currentIndex": state.currentIndex,
-        "onChange": setCurrentIndex
-      }, {
-        default: () => {
-          var _a;
-          return [(_a = slots.default) == null ? void 0 : _a.call(slots)];
-        }
-      })]);
-    }
-  });
-  const TAB_STATUS_KEY = Symbol();
-  const useTabStatus = () => vue.inject(TAB_STATUS_KEY, null);
-  const [name$1j, bem$1f] = createNamespace("swipe-item");
-  var stdin_default$1u = vue.defineComponent({
-    name: name$1j,
-    setup(props, {
-      slots
-    }) {
-      let rendered;
-      const state = vue.reactive({
-        offset: 0,
-        inited: false,
-        mounted: false
-      });
-      const {
-        parent,
-        index
-      } = useParent(SWIPE_KEY);
-      if (!parent) {
-        return;
-      }
-      const style = vue.computed(() => {
-        const style2 = {};
-        const {
-          vertical
-        } = parent.props;
-        if (parent.size.value) {
-          style2[vertical ? "height" : "width"] = `${parent.size.value}px`;
-        }
-        if (state.offset) {
-          style2.transform = `translate${vertical ? "Y" : "X"}(${state.offset}px)`;
-        }
-        return style2;
-      });
-      const shouldRender = vue.computed(() => {
-        const {
-          loop,
-          lazyRender
-        } = parent.props;
-        if (!lazyRender || rendered) {
-          return true;
-        }
-        if (!state.mounted) {
-          return false;
-        }
-        const active = parent.activeIndicator.value;
-        const maxActive = parent.count.value - 1;
-        const prevActive = active === 0 && loop ? maxActive : active - 1;
-        const nextActive = active === maxActive && loop ? 0 : active + 1;
-        rendered = index.value === active || index.value === prevActive || index.value === nextActive;
-        return rendered;
-      });
-      const setOffset = (offset2) => {
-        state.offset = offset2;
-      };
-      vue.onMounted(() => {
-        vue.nextTick(() => {
-          state.mounted = true;
-        });
-      });
-      useExpose({
-        setOffset
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "class": bem$1f(),
-          "style": style.value
-        }, [shouldRender.value ? (_a = slots.default) == null ? void 0 : _a.call(slots) : null]);
-      };
-    }
-  });
-  const SwipeItem = withInstall(stdin_default$1u);
-  const [name$1i, bem$1e] = createNamespace("tab");
-  const tabProps = extend({}, routeProps, {
-    dot: Boolean,
-    name: numericProp,
-    badge: numericProp,
-    title: String,
-    disabled: Boolean,
-    titleClass: unknownProp,
-    titleStyle: [String, Object],
-    showZeroBadge: truthProp
-  });
-  var stdin_default$1t = vue.defineComponent({
-    name: name$1i,
-    props: tabProps,
-    setup(props, {
-      slots
-    }) {
-      const id = useId();
-      const inited = vue.ref(false);
-      const {
-        parent,
-        index
-      } = useParent(TABS_KEY);
-      if (!parent) {
-        return;
-      }
-      const getName = () => {
-        var _a;
-        return (_a = props.name) != null ? _a : index.value;
-      };
-      const init = () => {
-        inited.value = true;
-        if (parent.props.lazyRender) {
-          vue.nextTick(() => {
-            parent.onRendered(getName(), props.title);
-          });
-        }
-      };
-      const active = vue.computed(() => {
-        const isActive = getName() === parent.currentName.value;
-        if (isActive && !inited.value) {
-          init();
-        }
-        return isActive;
-      });
-      const hasInactiveClass = vue.ref(!active.value);
-      vue.watch(active, (val) => {
-        if (val) {
-          hasInactiveClass.value = false;
-        } else {
-          doubleRaf(() => {
-            hasInactiveClass.value = true;
-          });
-        }
-      });
-      vue.watch(() => props.title, () => {
-        parent.setLine();
-        parent.scrollIntoView();
-      });
-      vue.provide(TAB_STATUS_KEY, active);
-      return () => {
-        var _a;
-        const label = `${parent.id}-${index.value}`;
-        const {
-          animated,
-          swipeable,
-          scrollspy,
-          lazyRender
-        } = parent.props;
-        if (!slots.default && !animated) {
-          return;
-        }
-        const show = scrollspy || active.value;
-        if (animated || swipeable) {
-          return vue.createVNode(SwipeItem, {
-            "id": id,
-            "role": "tabpanel",
-            "class": bem$1e("panel-wrapper", {
-              inactive: hasInactiveClass.value
-            }),
-            "tabindex": active.value ? 0 : -1,
-            "aria-hidden": !active.value,
-            "aria-labelledby": label
-          }, {
-            default: () => {
-              var _a2;
-              return [vue.createVNode("div", {
-                "class": bem$1e("panel")
-              }, [(_a2 = slots.default) == null ? void 0 : _a2.call(slots)])];
-            }
-          });
-        }
-        const shouldRender = inited.value || scrollspy || !lazyRender;
-        const Content = shouldRender ? (_a = slots.default) == null ? void 0 : _a.call(slots) : null;
-        useExpose({
-          id
-        });
-        return vue.withDirectives(vue.createVNode("div", {
-          "id": id,
-          "role": "tabpanel",
-          "class": bem$1e("panel"),
-          "tabindex": show ? 0 : -1,
-          "aria-labelledby": label
-        }, [Content]), [[vue.vShow, show]]);
-      };
-    }
-  });
-  const Tab = withInstall(stdin_default$1t);
-  const Tabs = withInstall(stdin_default$1v);
-  const [name$1h, bem$1d] = createNamespace("picker-group");
-  const PICKER_GROUP_KEY = Symbol(name$1h);
-  const pickerGroupProps = extend({
-    tabs: makeArrayProp(),
-    nextStepText: String
-  }, pickerToolbarProps);
-  var stdin_default$1s = vue.defineComponent({
-    name: name$1h,
-    props: pickerGroupProps,
-    emits: ["confirm", "cancel"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const activeTab = vue.ref(0);
-      const {
-        children,
-        linkChildren
-      } = useChildren(PICKER_GROUP_KEY);
-      linkChildren();
-      const showNextButton = () => activeTab.value < props.tabs.length - 1 && props.nextStepText;
-      const onConfirm = () => {
-        if (showNextButton()) {
-          activeTab.value++;
-        } else {
-          emit("confirm", children.map((item) => item.confirm()));
-        }
-      };
-      const onCancel = () => emit("cancel");
-      return () => {
-        var _a;
-        const childNodes = (_a = slots.default) == null ? void 0 : _a.call(slots);
-        const confirmButtonText = showNextButton() ? props.nextStepText : props.confirmButtonText;
-        return vue.createVNode("div", {
-          "class": bem$1d()
-        }, [vue.createVNode(stdin_default$1A, {
-          "title": props.title,
-          "cancelButtonText": props.cancelButtonText,
-          "confirmButtonText": confirmButtonText,
-          "onConfirm": onConfirm,
-          "onCancel": onCancel
-        }, pick(slots, pickerToolbarSlots)), vue.createVNode(Tabs, {
-          "active": activeTab.value,
-          "onUpdate:active": ($event) => activeTab.value = $event,
-          "class": bem$1d("tabs"),
-          "shrink": true,
-          "animated": true,
-          "lazyRender": false
-        }, {
-          default: () => [props.tabs.map((title, index) => vue.createVNode(Tab, {
-            "title": title,
-            "titleClass": bem$1d("tab-title")
-          }, {
-            default: () => [childNodes == null ? void 0 : childNodes[index]]
-          }))]
-        })]);
-      };
-    }
-  });
-  const pickerSharedProps = extend({
-    loading: Boolean,
-    readonly: Boolean,
-    allowHtml: Boolean,
-    optionHeight: makeNumericProp(44),
-    showToolbar: truthProp,
-    swipeDuration: makeNumericProp(1e3),
-    visibleOptionNum: makeNumericProp(6)
-  }, pickerToolbarProps);
-  const pickerProps = extend({}, pickerSharedProps, {
-    columns: makeArrayProp(),
-    modelValue: makeArrayProp(),
-    toolbarPosition: makeStringProp("top"),
-    columnsFieldNames: Object
-  });
-  var stdin_default$1r = vue.defineComponent({
-    name: name$1r,
-    props: pickerProps,
-    emits: ["confirm", "cancel", "change", "clickOption", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const columnsRef = vue.ref();
-      const selectedValues = vue.ref(props.modelValue.slice(0));
-      const {
-        parent
-      } = useParent(PICKER_GROUP_KEY);
-      const {
-        children,
-        linkChildren
-      } = useChildren(PICKER_KEY);
-      linkChildren();
-      const fields = vue.computed(() => assignDefaultFields(props.columnsFieldNames));
-      const optionHeight = vue.computed(() => unitToPx(props.optionHeight));
-      const columnsType = vue.computed(() => getColumnsType(props.columns, fields.value));
-      const currentColumns = vue.computed(() => {
-        const {
-          columns
-        } = props;
-        switch (columnsType.value) {
-          case "multiple":
-            return columns;
-          case "cascade":
-            return formatCascadeColumns(columns, fields.value, selectedValues);
-          default:
-            return [columns];
-        }
-      });
-      const hasOptions = vue.computed(() => currentColumns.value.some((options) => options.length));
-      const selectedOptions = vue.computed(() => currentColumns.value.map((options, index) => findOptionByValue(options, selectedValues.value[index], fields.value)));
-      const selectedIndexes = vue.computed(() => currentColumns.value.map((options, index) => options.findIndex((option) => option[fields.value.value] === selectedValues.value[index])));
-      const setValue = (index, value) => {
-        if (selectedValues.value[index] !== value) {
-          const newValues = selectedValues.value.slice(0);
-          newValues[index] = value;
-          selectedValues.value = newValues;
-        }
-      };
-      const getEventParams = () => ({
-        selectedValues: selectedValues.value.slice(0),
-        selectedOptions: selectedOptions.value,
-        selectedIndexes: selectedIndexes.value
-      });
-      const onChange = (value, columnIndex) => {
-        setValue(columnIndex, value);
-        if (columnsType.value === "cascade") {
-          selectedValues.value.forEach((value2, index) => {
-            const options = currentColumns.value[index];
-            if (!isOptionExist(options, value2, fields.value)) {
-              setValue(index, options.length ? options[0][fields.value.value] : void 0);
-            }
-          });
-        }
-        vue.nextTick(() => {
-          emit("change", extend({
-            columnIndex
-          }, getEventParams()));
-        });
-      };
-      const onClickOption = (currentOption, columnIndex) => emit("clickOption", extend({
-        columnIndex,
-        currentOption
-      }, getEventParams()));
-      const confirm = () => {
-        children.forEach((child) => child.stopMomentum());
-        const params = getEventParams();
-        vue.nextTick(() => {
-          emit("confirm", params);
-        });
-        return params;
-      };
-      const cancel = () => emit("cancel", getEventParams());
-      const renderColumnItems = () => currentColumns.value.map((options, columnIndex) => vue.createVNode(stdin_default$1B, {
-        "value": selectedValues.value[columnIndex],
-        "fields": fields.value,
-        "options": options,
-        "readonly": props.readonly,
-        "allowHtml": props.allowHtml,
-        "optionHeight": optionHeight.value,
-        "swipeDuration": props.swipeDuration,
-        "visibleOptionNum": props.visibleOptionNum,
-        "onChange": (value) => onChange(value, columnIndex),
-        "onClickOption": (option) => onClickOption(option, columnIndex)
-      }, {
-        option: slots.option
-      }));
-      const renderMask = (wrapHeight) => {
-        if (hasOptions.value) {
-          const frameStyle = {
-            height: `${optionHeight.value}px`
-          };
-          const maskStyle = {
-            backgroundSize: `100% ${(wrapHeight - optionHeight.value) / 2}px`
-          };
-          return [vue.createVNode("div", {
-            "class": bem$1m("mask"),
-            "style": maskStyle
-          }, null), vue.createVNode("div", {
-            "class": [BORDER_UNSET_TOP_BOTTOM, bem$1m("frame")],
-            "style": frameStyle
-          }, null)];
-        }
-      };
-      const renderColumns = () => {
-        const wrapHeight = optionHeight.value * +props.visibleOptionNum;
-        const columnsStyle = {
-          height: `${wrapHeight}px`
-        };
-        return vue.createVNode("div", {
-          "ref": columnsRef,
-          "class": bem$1m("columns"),
-          "style": columnsStyle
-        }, [renderColumnItems(), renderMask(wrapHeight)]);
-      };
-      const renderToolbar = () => {
-        if (props.showToolbar && !parent) {
-          return vue.createVNode(stdin_default$1A, vue.mergeProps(pick(props, pickerToolbarPropKeys), {
-            "onConfirm": confirm,
-            "onCancel": cancel
-          }), pick(slots, pickerToolbarSlots));
-        }
-      };
-      vue.watch(currentColumns, (columns) => {
-        columns.forEach((options, index) => {
-          if (options.length && !isOptionExist(options, selectedValues.value[index], fields.value)) {
-            setValue(index, getFirstEnabledOption(options)[fields.value.value]);
-          }
-        });
-      }, {
-        immediate: true
-      });
-      let lastEmittedModelValue;
-      vue.watch(() => props.modelValue, (newValues) => {
-        if (!isSameValue(newValues, selectedValues.value) && !isSameValue(newValues, lastEmittedModelValue)) {
-          selectedValues.value = newValues.slice(0);
-          lastEmittedModelValue = newValues.slice(0);
-        }
-      }, {
-        deep: true
-      });
-      vue.watch(selectedValues, (newValues) => {
-        if (!isSameValue(newValues, props.modelValue)) {
-          lastEmittedModelValue = newValues.slice(0);
-          emit("update:modelValue", lastEmittedModelValue);
-        }
-      }, {
-        immediate: true
-      });
-      useEventListener("touchmove", preventDefault, {
-        target: columnsRef
-      });
-      const getSelectedOptions = () => selectedOptions.value;
-      useExpose({
-        confirm,
-        getSelectedOptions
-      });
-      return () => {
-        var _a, _b;
-        return vue.createVNode("div", {
-          "class": bem$1m()
-        }, [props.toolbarPosition === "top" ? renderToolbar() : null, props.loading ? vue.createVNode(Loading, {
-          "class": bem$1m("loading")
-        }, null) : null, (_a = slots["columns-top"]) == null ? void 0 : _a.call(slots), renderColumns(), (_b = slots["columns-bottom"]) == null ? void 0 : _b.call(slots), props.toolbarPosition === "bottom" ? renderToolbar() : null]);
-      };
-    }
-  });
-  const AREA_EMPTY_CODE = "000000";
-  const INHERIT_SLOTS = [
-    "title",
-    "cancel",
-    "confirm",
-    "toolbar",
-    "columns-top",
-    "columns-bottom"
-  ];
-  const INHERIT_PROPS = [
-    "title",
-    "loading",
-    "readonly",
-    "optionHeight",
-    "swipeDuration",
-    "visibleOptionNum",
-    "cancelButtonText",
-    "confirmButtonText"
-  ];
-  const makeOption = (text = "", value = AREA_EMPTY_CODE, children = void 0) => ({
-    text,
-    value,
-    children
-  });
-  function formatDataForCascade({
-    areaList,
-    columnsNum,
-    columnsPlaceholder: placeholder
-  }) {
-    const {
-      city_list: city = {},
-      county_list: county = {},
-      province_list: province = {}
-    } = areaList;
-    const showCity = +columnsNum > 1;
-    const showCounty = +columnsNum > 2;
-    const getProvinceChildren = () => {
-      if (showCity) {
-        return placeholder.length ? [
-          makeOption(
-            placeholder[0],
-            AREA_EMPTY_CODE,
-            showCounty ? [] : void 0
-          )
-        ] : [];
-      }
-    };
-    const provinceMap = /* @__PURE__ */ new Map();
-    Object.keys(province).forEach((code) => {
-      provinceMap.set(
-        code.slice(0, 2),
-        makeOption(province[code], code, getProvinceChildren())
-      );
-    });
-    const cityMap = /* @__PURE__ */ new Map();
-    if (showCity) {
-      const getCityChildren = () => {
-        if (showCounty) {
-          return placeholder.length ? [makeOption(placeholder[1])] : [];
-        }
-      };
-      Object.keys(city).forEach((code) => {
-        const option = makeOption(city[code], code, getCityChildren());
-        cityMap.set(code.slice(0, 4), option);
-        const province2 = provinceMap.get(code.slice(0, 2));
-        if (province2) {
-          province2.children.push(option);
-        }
-      });
-    }
-    if (showCounty) {
-      Object.keys(county).forEach((code) => {
-        const city2 = cityMap.get(code.slice(0, 4));
-        if (city2) {
-          city2.children.push(makeOption(county[code], code));
-        }
-      });
-    }
-    const options = Array.from(provinceMap.values());
-    if (placeholder.length) {
-      const county2 = showCounty ? [makeOption(placeholder[2])] : void 0;
-      const city2 = showCity ? [makeOption(placeholder[1], AREA_EMPTY_CODE, county2)] : void 0;
-      options.unshift(makeOption(placeholder[0], AREA_EMPTY_CODE, city2));
-    }
-    return options;
-  }
-  const Picker = withInstall(stdin_default$1r);
-  const [name$1g, bem$1c] = createNamespace("area");
-  const areaProps = extend({}, pickerSharedProps, {
-    modelValue: String,
-    columnsNum: makeNumericProp(3),
-    columnsPlaceholder: makeArrayProp(),
-    areaList: {
-      type: Object,
-      default: () => ({})
-    }
-  });
-  var stdin_default$1q = vue.defineComponent({
-    name: name$1g,
-    props: areaProps,
-    emits: ["change", "confirm", "cancel", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const codes = vue.ref([]);
-      const picker = vue.ref();
-      const columns = vue.computed(() => formatDataForCascade(props));
-      const onChange = (...args) => emit("change", ...args);
-      const onCancel = (...args) => emit("cancel", ...args);
-      const onConfirm = (...args) => emit("confirm", ...args);
-      vue.watch(codes, (newCodes) => {
-        const lastCode = newCodes.length ? newCodes[newCodes.length - 1] : "";
-        if (lastCode && lastCode !== props.modelValue) {
-          emit("update:modelValue", lastCode);
-        }
-      }, {
-        deep: true
-      });
-      vue.watch(() => props.modelValue, (newCode) => {
-        if (newCode) {
-          const lastCode = codes.value.length ? codes.value[codes.value.length - 1] : "";
-          if (newCode !== lastCode) {
-            codes.value = [`${newCode.slice(0, 2)}0000`, `${newCode.slice(0, 4)}00`, newCode].slice(0, +props.columnsNum);
-          }
-        } else {
-          codes.value = [];
-        }
-      }, {
-        immediate: true
-      });
-      useExpose({
-        confirm: () => {
-          var _a;
-          return (_a = picker.value) == null ? void 0 : _a.confirm();
-        },
-        getSelectedOptions: () => {
-          var _a;
-          return ((_a = picker.value) == null ? void 0 : _a.getSelectedOptions()) || [];
-        }
-      });
-      return () => vue.createVNode(Picker, vue.mergeProps({
-        "ref": picker,
-        "modelValue": codes.value,
-        "onUpdate:modelValue": ($event) => codes.value = $event,
-        "class": bem$1c(),
-        "columns": columns.value,
-        "onChange": onChange,
-        "onCancel": onCancel,
-        "onConfirm": onConfirm
-      }, pick(props, INHERIT_PROPS)), pick(slots, INHERIT_SLOTS));
-    }
-  });
-  const Area = withInstall(stdin_default$1q);
-  const [name$1f, bem$1b] = createNamespace("cell");
-  const cellSharedProps = {
-    tag: makeStringProp("div"),
-    icon: String,
-    size: String,
-    title: numericProp,
-    value: numericProp,
-    label: numericProp,
-    center: Boolean,
-    isLink: Boolean,
-    border: truthProp,
-    required: Boolean,
-    iconPrefix: String,
-    valueClass: unknownProp,
-    labelClass: unknownProp,
-    titleClass: unknownProp,
-    titleStyle: null,
-    arrowDirection: String,
-    clickable: {
-      type: Boolean,
-      default: null
-    }
-  };
-  const cellProps = extend({}, cellSharedProps, routeProps);
-  var stdin_default$1p = vue.defineComponent({
-    name: name$1f,
-    props: cellProps,
-    setup(props, {
-      slots
-    }) {
-      const route2 = useRoute();
-      const renderLabel = () => {
-        const showLabel = slots.label || isDef(props.label);
-        if (showLabel) {
-          return vue.createVNode("div", {
-            "class": [bem$1b("label"), props.labelClass]
-          }, [slots.label ? slots.label() : props.label]);
-        }
-      };
-      const renderTitle = () => {
-        var _a;
-        if (slots.title || isDef(props.title)) {
-          const titleSlot = (_a = slots.title) == null ? void 0 : _a.call(slots);
-          if (Array.isArray(titleSlot) && titleSlot.length === 0) {
-            return;
-          }
-          return vue.createVNode("div", {
-            "class": [bem$1b("title"), props.titleClass],
-            "style": props.titleStyle
-          }, [titleSlot || vue.createVNode("span", null, [props.title]), renderLabel()]);
-        }
-      };
-      const renderValue = () => {
-        const slot = slots.value || slots.default;
-        const hasValue = slot || isDef(props.value);
-        if (hasValue) {
-          return vue.createVNode("div", {
-            "class": [bem$1b("value"), props.valueClass]
-          }, [slot ? slot() : vue.createVNode("span", null, [props.value])]);
-        }
-      };
-      const renderLeftIcon = () => {
-        if (slots.icon) {
-          return slots.icon();
-        }
-        if (props.icon) {
-          return vue.createVNode(Icon, {
-            "name": props.icon,
-            "class": bem$1b("left-icon"),
-            "classPrefix": props.iconPrefix
-          }, null);
-        }
-      };
-      const renderRightIcon = () => {
-        if (slots["right-icon"]) {
-          return slots["right-icon"]();
-        }
-        if (props.isLink) {
-          const name2 = props.arrowDirection && props.arrowDirection !== "right" ? `arrow-${props.arrowDirection}` : "arrow";
-          return vue.createVNode(Icon, {
-            "name": name2,
-            "class": bem$1b("right-icon")
-          }, null);
-        }
-      };
-      return () => {
-        var _a;
-        const {
-          tag,
-          size,
-          center,
-          border,
-          isLink,
-          required
-        } = props;
-        const clickable = (_a = props.clickable) != null ? _a : isLink;
-        const classes = {
-          center,
-          required,
-          clickable,
-          borderless: !border
-        };
-        if (size) {
-          classes[size] = !!size;
-        }
-        return vue.createVNode(tag, {
-          "class": bem$1b(classes),
-          "role": clickable ? "button" : void 0,
-          "tabindex": clickable ? 0 : void 0,
-          "onClick": route2
-        }, {
-          default: () => {
-            var _a2;
-            return [renderLeftIcon(), renderTitle(), renderValue(), renderRightIcon(), (_a2 = slots.extra) == null ? void 0 : _a2.call(slots)];
-          }
-        });
-      };
-    }
-  });
-  const Cell = withInstall(stdin_default$1p);
-  const [name$1e, bem$1a] = createNamespace("form");
-  const formProps = {
-    colon: Boolean,
-    disabled: Boolean,
-    readonly: Boolean,
-    showError: Boolean,
-    labelWidth: numericProp,
-    labelAlign: String,
-    inputAlign: String,
-    scrollToError: Boolean,
-    validateFirst: Boolean,
-    submitOnEnter: truthProp,
-    showErrorMessage: truthProp,
-    errorMessageAlign: String,
-    validateTrigger: {
-      type: [String, Array],
-      default: "onBlur"
-    }
-  };
-  var stdin_default$1o = vue.defineComponent({
-    name: name$1e,
-    props: formProps,
-    emits: ["submit", "failed"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const {
-        children,
-        linkChildren
-      } = useChildren(FORM_KEY);
-      const getFieldsByNames = (names) => {
-        if (names) {
-          return children.filter((field) => names.includes(field.name));
-        }
-        return children;
-      };
-      const validateSeq = (names) => new Promise((resolve, reject) => {
-        const errors = [];
-        const fields = getFieldsByNames(names);
-        fields.reduce((promise, field) => promise.then(() => {
-          if (!errors.length) {
-            return field.validate().then((error) => {
-              if (error) {
-                errors.push(error);
-              }
-            });
-          }
-        }), Promise.resolve()).then(() => {
-          if (errors.length) {
-            reject(errors);
-          } else {
-            resolve();
-          }
-        });
-      });
-      const validateAll = (names) => new Promise((resolve, reject) => {
-        const fields = getFieldsByNames(names);
-        Promise.all(fields.map((item) => item.validate())).then((errors) => {
-          errors = errors.filter(Boolean);
-          if (errors.length) {
-            reject(errors);
-          } else {
-            resolve();
-          }
-        });
-      });
-      const validateField = (name2) => {
-        const matched = children.find((item) => item.name === name2);
-        if (matched) {
-          return new Promise((resolve, reject) => {
-            matched.validate().then((error) => {
-              if (error) {
-                reject(error);
-              } else {
-                resolve();
-              }
-            });
-          });
-        }
-        return Promise.reject();
-      };
-      const validate = (name2) => {
-        if (typeof name2 === "string") {
-          return validateField(name2);
-        }
-        return props.validateFirst ? validateSeq(name2) : validateAll(name2);
-      };
-      const resetValidation = (name2) => {
-        if (typeof name2 === "string") {
-          name2 = [name2];
-        }
-        const fields = getFieldsByNames(name2);
-        fields.forEach((item) => {
-          item.resetValidation();
-        });
-      };
-      const getValidationStatus = () => children.reduce((form, field) => {
-        form[field.name] = field.getValidationStatus();
-        return form;
-      }, {});
-      const scrollToField = (name2, options) => {
-        children.some((item) => {
-          if (item.name === name2) {
-            item.$el.scrollIntoView(options);
-            return true;
-          }
-          return false;
-        });
-      };
-      const getValues = () => children.reduce((form, field) => {
-        if (field.name !== void 0) {
-          form[field.name] = field.formValue.value;
-        }
-        return form;
-      }, {});
-      const submit = () => {
-        const values = getValues();
-        validate().then(() => emit("submit", values)).catch((errors) => {
-          emit("failed", {
-            values,
-            errors
-          });
-          if (props.scrollToError && errors[0].name) {
-            scrollToField(errors[0].name);
-          }
-        });
-      };
-      const onSubmit = (event) => {
-        preventDefault(event);
-        submit();
-      };
-      linkChildren({
-        props
-      });
-      useExpose({
-        submit,
-        validate,
-        getValues,
-        scrollToField,
-        resetValidation,
-        getValidationStatus
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("form", {
-          "class": bem$1a(),
-          "onSubmit": onSubmit
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-    }
-  });
-  const Form = withInstall(stdin_default$1o);
-  function isEmptyValue(value) {
-    if (Array.isArray(value)) {
-      return !value.length;
-    }
-    if (value === 0) {
-      return false;
-    }
-    return !value;
-  }
-  function runSyncRule(value, rule) {
-    if (isEmptyValue(value)) {
-      if (rule.required) {
-        return false;
-      }
-      if (rule.validateEmpty === false) {
-        return true;
-      }
-    }
-    if (rule.pattern && !rule.pattern.test(String(value))) {
-      return false;
-    }
-    return true;
-  }
-  function runRuleValidator(value, rule) {
-    return new Promise((resolve) => {
-      const returnVal = rule.validator(value, rule);
-      if (isPromise(returnVal)) {
-        returnVal.then(resolve);
-        return;
-      }
-      resolve(returnVal);
-    });
-  }
-  function getRuleMessage(value, rule) {
-    const { message } = rule;
-    if (isFunction(message)) {
-      return message(value, rule);
-    }
-    return message || "";
-  }
-  function startComposing({ target }) {
-    target.composing = true;
-  }
-  function endComposing({ target }) {
-    if (target.composing) {
-      target.composing = false;
-      target.dispatchEvent(new Event("input"));
-    }
-  }
-  function resizeTextarea(input, autosize) {
-    const scrollTop = getRootScrollTop();
-    input.style.height = "auto";
-    let height2 = input.scrollHeight;
-    if (isObject(autosize)) {
-      const { maxHeight, minHeight } = autosize;
-      if (maxHeight !== void 0) {
-        height2 = Math.min(height2, maxHeight);
-      }
-      if (minHeight !== void 0) {
-        height2 = Math.max(height2, minHeight);
-      }
-    }
-    if (height2) {
-      input.style.height = `${height2}px`;
-      setRootScrollTop(scrollTop);
-    }
-  }
-  function mapInputType(type) {
-    if (type === "number") {
-      return {
-        type: "text",
-        inputmode: "decimal"
-      };
-    }
-    if (type === "digit") {
-      return {
-        type: "tel",
-        inputmode: "numeric"
-      };
-    }
-    return { type };
-  }
-  function getStringLength(str) {
-    return [...str].length;
-  }
-  function cutString(str, maxlength) {
-    return [...str].slice(0, maxlength).join("");
-  }
-  const [name$1d, bem$19] = createNamespace("field");
-  const fieldSharedProps = {
-    id: String,
-    name: String,
-    leftIcon: String,
-    rightIcon: String,
-    autofocus: Boolean,
-    clearable: Boolean,
-    maxlength: numericProp,
-    formatter: Function,
-    clearIcon: makeStringProp("clear"),
-    modelValue: makeNumericProp(""),
-    inputAlign: String,
-    placeholder: String,
-    autocomplete: String,
-    errorMessage: String,
-    enterkeyhint: String,
-    clearTrigger: makeStringProp("focus"),
-    formatTrigger: makeStringProp("onChange"),
-    error: {
-      type: Boolean,
-      default: null
-    },
-    disabled: {
-      type: Boolean,
-      default: null
-    },
-    readonly: {
-      type: Boolean,
-      default: null
-    }
-  };
-  const fieldProps = extend({}, cellSharedProps, fieldSharedProps, {
-    rows: numericProp,
-    type: makeStringProp("text"),
-    rules: Array,
-    autosize: [Boolean, Object],
-    labelWidth: numericProp,
-    labelClass: unknownProp,
-    labelAlign: String,
-    showWordLimit: Boolean,
-    errorMessageAlign: String,
-    colon: {
-      type: Boolean,
-      default: null
-    }
-  });
-  var stdin_default$1n = vue.defineComponent({
-    name: name$1d,
-    props: fieldProps,
-    emits: ["blur", "focus", "clear", "keypress", "clickInput", "endValidate", "startValidate", "clickLeftIcon", "clickRightIcon", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const id = useId();
-      const state = vue.reactive({
-        status: "unvalidated",
-        focused: false,
-        validateMessage: ""
-      });
-      const inputRef = vue.ref();
-      const clearIconRef = vue.ref();
-      const customValue = vue.ref();
-      const {
-        parent: form
-      } = useParent(FORM_KEY);
-      const getModelValue = () => {
-        var _a;
-        return String((_a = props.modelValue) != null ? _a : "");
-      };
-      const getProp = (key) => {
-        if (isDef(props[key])) {
-          return props[key];
-        }
-        if (form && isDef(form.props[key])) {
-          return form.props[key];
-        }
-      };
-      const showClear = vue.computed(() => {
-        const readonly = getProp("readonly");
-        if (props.clearable && !readonly) {
-          const hasValue = getModelValue() !== "";
-          const trigger = props.clearTrigger === "always" || props.clearTrigger === "focus" && state.focused;
-          return hasValue && trigger;
-        }
-        return false;
-      });
-      const formValue = vue.computed(() => {
-        if (customValue.value && slots.input) {
-          return customValue.value();
-        }
-        return props.modelValue;
-      });
-      const runRules = (rules) => rules.reduce((promise, rule) => promise.then(() => {
-        if (state.status === "failed") {
-          return;
-        }
-        let {
-          value
-        } = formValue;
-        if (rule.formatter) {
-          value = rule.formatter(value, rule);
-        }
-        if (!runSyncRule(value, rule)) {
-          state.status = "failed";
-          state.validateMessage = getRuleMessage(value, rule);
-          return;
-        }
-        if (rule.validator) {
-          if (isEmptyValue(value) && rule.validateEmpty === false) {
-            return;
-          }
-          return runRuleValidator(value, rule).then((result) => {
-            if (result && typeof result === "string") {
-              state.status = "failed";
-              state.validateMessage = result;
-            } else if (result === false) {
-              state.status = "failed";
-              state.validateMessage = getRuleMessage(value, rule);
-            }
-          });
-        }
-      }), Promise.resolve());
-      const resetValidation = () => {
-        state.status = "unvalidated";
-        state.validateMessage = "";
-      };
-      const endValidate = () => emit("endValidate", {
-        status: state.status,
-        message: state.validateMessage
-      });
-      const validate = (rules = props.rules) => new Promise((resolve) => {
-        resetValidation();
-        if (rules) {
-          emit("startValidate");
-          runRules(rules).then(() => {
-            if (state.status === "failed") {
-              resolve({
-                name: props.name,
-                message: state.validateMessage
-              });
-              endValidate();
-            } else {
-              state.status = "passed";
-              resolve();
-              endValidate();
-            }
-          });
-        } else {
-          resolve();
-        }
-      });
-      const validateWithTrigger = (trigger) => {
-        if (form && props.rules) {
-          const {
-            validateTrigger
-          } = form.props;
-          const defaultTrigger = toArray(validateTrigger).includes(trigger);
-          const rules = props.rules.filter((rule) => {
-            if (rule.trigger) {
-              return toArray(rule.trigger).includes(trigger);
-            }
-            return defaultTrigger;
-          });
-          if (rules.length) {
-            validate(rules);
-          }
-        }
-      };
-      const limitValueLength = (value) => {
-        var _a;
-        const {
-          maxlength
-        } = props;
-        if (isDef(maxlength) && getStringLength(value) > +maxlength) {
-          const modelValue = getModelValue();
-          if (modelValue && getStringLength(modelValue) === +maxlength) {
-            return modelValue;
-          }
-          const selectionEnd = (_a = inputRef.value) == null ? void 0 : _a.selectionEnd;
-          if (state.focused && selectionEnd) {
-            const valueArr = [...value];
-            const exceededLength = valueArr.length - +maxlength;
-            valueArr.splice(selectionEnd - exceededLength, exceededLength);
-            return valueArr.join("");
-          }
-          return cutString(value, +maxlength);
-        }
-        return value;
-      };
-      const updateValue = (value, trigger = "onChange") => {
-        const originalValue = value;
-        value = limitValueLength(value);
-        const limitDiffLen = getStringLength(originalValue) - getStringLength(value);
-        if (props.type === "number" || props.type === "digit") {
-          const isNumber = props.type === "number";
-          value = formatNumber(value, isNumber, isNumber);
-        }
-        let formatterDiffLen = 0;
-        if (props.formatter && trigger === props.formatTrigger) {
-          const {
-            formatter,
-            maxlength
-          } = props;
-          value = formatter(value);
-          if (isDef(maxlength) && getStringLength(value) > +maxlength) {
-            value = cutString(value, +maxlength);
-          }
-          if (inputRef.value && state.focused) {
-            const {
-              selectionEnd
-            } = inputRef.value;
-            const bcoVal = cutString(originalValue, selectionEnd);
-            formatterDiffLen = getStringLength(formatter(bcoVal)) - getStringLength(bcoVal);
-          }
-        }
-        if (inputRef.value && inputRef.value.value !== value) {
-          if (state.focused) {
-            let {
-              selectionStart,
-              selectionEnd
-            } = inputRef.value;
-            inputRef.value.value = value;
-            if (isDef(selectionStart) && isDef(selectionEnd)) {
-              const valueLen = getStringLength(value);
-              if (limitDiffLen) {
-                selectionStart -= limitDiffLen;
-                selectionEnd -= limitDiffLen;
-              } else if (formatterDiffLen) {
-                selectionStart += formatterDiffLen;
-                selectionEnd += formatterDiffLen;
-              }
-              inputRef.value.setSelectionRange(Math.min(selectionStart, valueLen), Math.min(selectionEnd, valueLen));
-            }
-          } else {
-            inputRef.value.value = value;
-          }
-        }
-        if (value !== props.modelValue) {
-          emit("update:modelValue", value);
-        }
-      };
-      const onInput = (event) => {
-        if (!event.target.composing) {
-          updateValue(event.target.value);
-        }
-      };
-      const blur = () => {
-        var _a;
-        return (_a = inputRef.value) == null ? void 0 : _a.blur();
-      };
-      const focus = () => {
-        var _a;
-        return (_a = inputRef.value) == null ? void 0 : _a.focus();
-      };
-      const adjustTextareaSize = () => {
-        const input = inputRef.value;
-        if (props.type === "textarea" && props.autosize && input) {
-          resizeTextarea(input, props.autosize);
-        }
-      };
-      const onFocus = (event) => {
-        state.focused = true;
-        emit("focus", event);
-        vue.nextTick(adjustTextareaSize);
-        if (getProp("readonly")) {
-          blur();
-        }
-      };
-      const onBlur = (event) => {
-        state.focused = false;
-        updateValue(getModelValue(), "onBlur");
-        emit("blur", event);
-        if (getProp("readonly")) {
-          return;
-        }
-        validateWithTrigger("onBlur");
-        vue.nextTick(adjustTextareaSize);
-        resetScroll();
-      };
-      const onClickInput = (event) => emit("clickInput", event);
-      const onClickLeftIcon = (event) => emit("clickLeftIcon", event);
-      const onClickRightIcon = (event) => emit("clickRightIcon", event);
-      const onClear = (event) => {
-        preventDefault(event);
-        emit("update:modelValue", "");
-        emit("clear", event);
-      };
-      const showError = vue.computed(() => {
-        if (typeof props.error === "boolean") {
-          return props.error;
-        }
-        if (form && form.props.showError && state.status === "failed") {
-          return true;
-        }
-      });
-      const labelStyle = vue.computed(() => {
-        const labelWidth = getProp("labelWidth");
-        const labelAlign = getProp("labelAlign");
-        if (labelWidth && labelAlign !== "top") {
-          return {
-            width: addUnit(labelWidth)
-          };
-        }
-      });
-      const onKeypress = (event) => {
-        const ENTER_CODE = 13;
-        if (event.keyCode === ENTER_CODE) {
-          const submitOnEnter = form && form.props.submitOnEnter;
-          if (!submitOnEnter && props.type !== "textarea") {
-            preventDefault(event);
-          }
-          if (props.type === "search") {
-            blur();
-          }
-        }
-        emit("keypress", event);
-      };
-      const getInputId = () => props.id || `${id}-input`;
-      const getValidationStatus = () => state.status;
-      const renderInput = () => {
-        const controlClass = bem$19("control", [getProp("inputAlign"), {
-          error: showError.value,
-          custom: !!slots.input,
-          "min-height": props.type === "textarea" && !props.autosize
-        }]);
-        if (slots.input) {
-          return vue.createVNode("div", {
-            "class": controlClass,
-            "onClick": onClickInput
-          }, [slots.input()]);
-        }
-        const inputAttrs = {
-          id: getInputId(),
-          ref: inputRef,
-          name: props.name,
-          rows: props.rows !== void 0 ? +props.rows : void 0,
-          class: controlClass,
-          disabled: getProp("disabled"),
-          readonly: getProp("readonly"),
-          autofocus: props.autofocus,
-          placeholder: props.placeholder,
-          autocomplete: props.autocomplete,
-          enterkeyhint: props.enterkeyhint,
-          "aria-labelledby": props.label ? `${id}-label` : void 0,
-          onBlur,
-          onFocus,
-          onInput,
-          onClick: onClickInput,
-          onChange: endComposing,
-          onKeypress,
-          onCompositionend: endComposing,
-          onCompositionstart: startComposing
-        };
-        if (props.type === "textarea") {
-          return vue.createVNode("textarea", inputAttrs, null);
-        }
-        return vue.createVNode("input", vue.mergeProps(mapInputType(props.type), inputAttrs), null);
-      };
-      const renderLeftIcon = () => {
-        const leftIconSlot = slots["left-icon"];
-        if (props.leftIcon || leftIconSlot) {
-          return vue.createVNode("div", {
-            "class": bem$19("left-icon"),
-            "onClick": onClickLeftIcon
-          }, [leftIconSlot ? leftIconSlot() : vue.createVNode(Icon, {
-            "name": props.leftIcon,
-            "classPrefix": props.iconPrefix
-          }, null)]);
-        }
-      };
-      const renderRightIcon = () => {
-        const rightIconSlot = slots["right-icon"];
-        if (props.rightIcon || rightIconSlot) {
-          return vue.createVNode("div", {
-            "class": bem$19("right-icon"),
-            "onClick": onClickRightIcon
-          }, [rightIconSlot ? rightIconSlot() : vue.createVNode(Icon, {
-            "name": props.rightIcon,
-            "classPrefix": props.iconPrefix
-          }, null)]);
-        }
-      };
-      const renderWordLimit = () => {
-        if (props.showWordLimit && props.maxlength) {
-          const count = getStringLength(getModelValue());
-          return vue.createVNode("div", {
-            "class": bem$19("word-limit")
-          }, [vue.createVNode("span", {
-            "class": bem$19("word-num")
-          }, [count]), vue.createTextVNode("/"), props.maxlength]);
-        }
-      };
-      const renderMessage = () => {
-        if (form && form.props.showErrorMessage === false) {
-          return;
-        }
-        const message = props.errorMessage || state.validateMessage;
-        if (message) {
-          const slot = slots["error-message"];
-          const errorMessageAlign = getProp("errorMessageAlign");
-          return vue.createVNode("div", {
-            "class": bem$19("error-message", errorMessageAlign)
-          }, [slot ? slot({
-            message
-          }) : message]);
-        }
-      };
-      const renderLabel = () => {
-        const labelWidth = getProp("labelWidth");
-        const labelAlign = getProp("labelAlign");
-        const colon = getProp("colon") ? ":" : "";
-        if (slots.label) {
-          return [slots.label(), colon];
-        }
-        if (props.label) {
-          return vue.createVNode("label", {
-            "id": `${id}-label`,
-            "for": getInputId(),
-            "style": labelAlign === "top" && labelWidth ? {
-              width: addUnit(labelWidth)
-            } : void 0
-          }, [props.label + colon]);
-        }
-      };
-      const renderFieldBody = () => [vue.createVNode("div", {
-        "class": bem$19("body")
-      }, [renderInput(), showClear.value && vue.createVNode(Icon, {
-        "ref": clearIconRef,
-        "name": props.clearIcon,
-        "class": bem$19("clear")
-      }, null), renderRightIcon(), slots.button && vue.createVNode("div", {
-        "class": bem$19("button")
-      }, [slots.button()])]), renderWordLimit(), renderMessage()];
-      useExpose({
-        blur,
-        focus,
-        validate,
-        formValue,
-        resetValidation,
-        getValidationStatus
-      });
-      vue.provide(CUSTOM_FIELD_INJECTION_KEY, {
-        customValue,
-        resetValidation,
-        validateWithTrigger
-      });
-      vue.watch(() => props.modelValue, () => {
-        updateValue(getModelValue());
-        resetValidation();
-        validateWithTrigger("onChange");
-        vue.nextTick(adjustTextareaSize);
-      });
-      vue.onMounted(() => {
-        updateValue(getModelValue(), props.formatTrigger);
-        vue.nextTick(adjustTextareaSize);
-      });
-      useEventListener("touchstart", onClear, {
-        target: vue.computed(() => {
-          var _a;
-          return (_a = clearIconRef.value) == null ? void 0 : _a.$el;
-        })
-      });
-      return () => {
-        const disabled = getProp("disabled");
-        const labelAlign = getProp("labelAlign");
-        const LeftIcon = renderLeftIcon();
-        const renderTitle = () => {
-          const Label = renderLabel();
-          if (labelAlign === "top") {
-            return [LeftIcon, Label].filter(Boolean);
-          }
-          return Label || [];
-        };
-        return vue.createVNode(Cell, {
-          "size": props.size,
-          "class": bem$19({
-            error: showError.value,
-            disabled,
-            [`label-${labelAlign}`]: labelAlign
-          }),
-          "center": props.center,
-          "border": props.border,
-          "isLink": props.isLink,
-          "clickable": props.clickable,
-          "titleStyle": labelStyle.value,
-          "valueClass": bem$19("value"),
-          "titleClass": [bem$19("label", [labelAlign, {
-            required: props.required
-          }]), props.labelClass],
-          "arrowDirection": props.arrowDirection
-        }, {
-          icon: LeftIcon && labelAlign !== "top" ? () => LeftIcon : null,
-          title: renderTitle,
-          value: renderFieldBody,
-          extra: slots.extra
-        });
-      };
-    }
-  });
-  const Field = withInstall(stdin_default$1n);
-  let lockCount = 0;
-  function lockClick(lock) {
-    if (lock) {
-      if (!lockCount) {
-        document.body.classList.add("van-toast--unclickable");
-      }
-      lockCount++;
-    } else if (lockCount) {
-      lockCount--;
-      if (!lockCount) {
-        document.body.classList.remove("van-toast--unclickable");
-      }
-    }
-  }
-  const [name$1c, bem$18] = createNamespace("toast");
-  const popupInheritProps = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay"];
-  const toastProps = {
-    icon: String,
-    show: Boolean,
-    type: makeStringProp("text"),
-    overlay: Boolean,
-    message: numericProp,
-    iconSize: numericProp,
-    duration: makeNumberProp(2e3),
-    position: makeStringProp("middle"),
-    teleport: [String, Object],
-    wordBreak: String,
-    className: unknownProp,
-    iconPrefix: String,
-    transition: makeStringProp("van-fade"),
-    loadingType: String,
-    forbidClick: Boolean,
-    overlayClass: unknownProp,
-    overlayStyle: Object,
-    closeOnClick: Boolean,
-    closeOnClickOverlay: Boolean
-  };
-  var stdin_default$1m = vue.defineComponent({
-    name: name$1c,
-    props: toastProps,
-    emits: ["update:show"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      let timer2;
-      let clickable = false;
-      const toggleClickable = () => {
-        const newValue = props.show && props.forbidClick;
-        if (clickable !== newValue) {
-          clickable = newValue;
-          lockClick(clickable);
-        }
-      };
-      const updateShow = (show) => emit("update:show", show);
-      const onClick = () => {
-        if (props.closeOnClick) {
-          updateShow(false);
-        }
-      };
-      const clearTimer = () => clearTimeout(timer2);
-      const renderIcon = () => {
-        const {
-          icon,
-          type,
-          iconSize,
-          iconPrefix,
-          loadingType
-        } = props;
-        const hasIcon = icon || type === "success" || type === "fail";
-        if (hasIcon) {
-          return vue.createVNode(Icon, {
-            "name": icon || type,
-            "size": iconSize,
-            "class": bem$18("icon"),
-            "classPrefix": iconPrefix
-          }, null);
-        }
-        if (type === "loading") {
-          return vue.createVNode(Loading, {
-            "class": bem$18("loading"),
-            "size": iconSize,
-            "type": loadingType
-          }, null);
-        }
-      };
-      const renderMessage = () => {
-        const {
-          type,
-          message
-        } = props;
-        if (slots.message) {
-          return vue.createVNode("div", {
-            "class": bem$18("text")
-          }, [slots.message()]);
-        }
-        if (isDef(message) && message !== "") {
-          return type === "html" ? vue.createVNode("div", {
-            "key": 0,
-            "class": bem$18("text"),
-            "innerHTML": String(message)
-          }, null) : vue.createVNode("div", {
-            "class": bem$18("text")
-          }, [message]);
-        }
-      };
-      vue.watch(() => [props.show, props.forbidClick], toggleClickable);
-      vue.watch(() => [props.show, props.type, props.message, props.duration], () => {
-        clearTimer();
-        if (props.show && props.duration > 0) {
-          timer2 = setTimeout(() => {
-            updateShow(false);
-          }, props.duration);
-        }
-      });
-      vue.onMounted(toggleClickable);
-      vue.onUnmounted(toggleClickable);
-      return () => vue.createVNode(Popup, vue.mergeProps({
-        "class": [bem$18([props.position, props.wordBreak === "normal" ? "break-normal" : props.wordBreak, {
-          [props.type]: !props.icon
-        }]), props.className],
-        "lockScroll": false,
-        "onClick": onClick,
-        "onClosed": clearTimer,
-        "onUpdate:show": updateShow
-      }, pick(props, popupInheritProps)), {
-        default: () => [renderIcon(), renderMessage()]
-      });
-    }
-  });
-  function usePopupState() {
-    const state = vue.reactive({
-      show: false
-    });
-    const toggle = (show) => {
-      state.show = show;
-    };
-    const open = (props) => {
-      extend(state, props, { transitionAppear: true });
-      toggle(true);
-    };
-    const close = () => toggle(false);
-    useExpose({ open, close, toggle });
-    return {
-      open,
-      close,
-      state,
-      toggle
-    };
-  }
-  function mountComponent(RootComponent) {
-    const app = vue.createApp(RootComponent);
-    const root = document.createElement("div");
-    document.body.appendChild(root);
-    return {
-      instance: app.mount(root),
-      unmount() {
-        app.unmount();
-        document.body.removeChild(root);
-      }
-    };
-  }
-  const defaultOptions$1 = {
-    icon: "",
-    type: "text",
-    message: "",
-    className: "",
-    overlay: false,
-    onClose: void 0,
-    onOpened: void 0,
-    duration: 2e3,
-    teleport: "body",
-    iconSize: void 0,
-    iconPrefix: void 0,
-    position: "middle",
-    transition: "van-fade",
-    forbidClick: false,
-    loadingType: void 0,
-    overlayClass: "",
-    overlayStyle: void 0,
-    closeOnClick: false,
-    closeOnClickOverlay: false
-  };
-  let queue = [];
-  let allowMultiple = false;
-  let currentOptions$2 = extend({}, defaultOptions$1);
-  const defaultOptionsMap = /* @__PURE__ */ new Map();
-  function parseOptions$1(message) {
-    if (isObject(message)) {
-      return message;
-    }
-    return {
-      message
-    };
-  }
-  function createInstance() {
-    const {
-      instance: instance2,
-      unmount
-    } = mountComponent({
-      setup() {
-        const message = vue.ref("");
-        const {
-          open,
-          state,
-          close,
-          toggle
-        } = usePopupState();
-        const onClosed = () => {
-          if (allowMultiple) {
-            queue = queue.filter((item) => item !== instance2);
-            unmount();
-          }
-        };
-        const render = () => {
-          const attrs = {
-            onClosed,
-            "onUpdate:show": toggle
-          };
-          return vue.createVNode(stdin_default$1m, vue.mergeProps(state, attrs), null);
-        };
-        vue.watch(message, (val) => {
-          state.message = val;
-        });
-        vue.getCurrentInstance().render = render;
-        return {
-          open,
-          close,
-          message
-        };
-      }
-    });
-    return instance2;
-  }
-  function getInstance() {
-    if (!queue.length || allowMultiple) {
-      const instance2 = createInstance();
-      queue.push(instance2);
-    }
-    return queue[queue.length - 1];
-  }
-  function showToast(options = {}) {
-    if (!inBrowser$1) {
-      return {};
-    }
-    const toast = getInstance();
-    const parsedOptions = parseOptions$1(options);
-    toast.open(extend({}, currentOptions$2, defaultOptionsMap.get(parsedOptions.type || currentOptions$2.type), parsedOptions));
-    return toast;
-  }
-  const createMethod = (type) => (options) => showToast(extend({
-    type
-  }, parseOptions$1(options)));
-  const showLoadingToast = createMethod("loading");
-  const showSuccessToast = createMethod("success");
-  const showFailToast = createMethod("fail");
-  const closeToast = (all) => {
-    var _a;
-    if (queue.length) {
-      if (all) {
-        queue.forEach((toast) => {
-          toast.close();
-        });
-        queue = [];
-      } else if (!allowMultiple) {
-        queue[0].close();
-      } else {
-        (_a = queue.shift()) == null ? void 0 : _a.close();
-      }
-    }
-  };
-  function setToastDefaultOptions(type, options) {
-    if (typeof type === "string") {
-      defaultOptionsMap.set(type, options);
-    } else {
-      extend(currentOptions$2, type);
-    }
-  }
-  const resetToastDefaultOptions = (type) => {
-    if (typeof type === "string") {
-      defaultOptionsMap.delete(type);
-    } else {
-      currentOptions$2 = extend({}, defaultOptions$1);
-      defaultOptionsMap.clear();
-    }
-  };
-  const allowMultipleToast = (value = true) => {
-    allowMultiple = value;
-  };
-  const Toast = withInstall(stdin_default$1m);
-  const [name$1b, bem$17] = createNamespace("switch");
-  const switchProps = {
-    size: numericProp,
-    loading: Boolean,
-    disabled: Boolean,
-    modelValue: unknownProp,
-    activeColor: String,
-    inactiveColor: String,
-    activeValue: {
-      type: unknownProp,
-      default: true
-    },
-    inactiveValue: {
-      type: unknownProp,
-      default: false
-    }
-  };
-  var stdin_default$1l = vue.defineComponent({
-    name: name$1b,
-    props: switchProps,
-    emits: ["change", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const isChecked = () => props.modelValue === props.activeValue;
-      const onClick = () => {
-        if (!props.disabled && !props.loading) {
-          const newValue = isChecked() ? props.inactiveValue : props.activeValue;
-          emit("update:modelValue", newValue);
-          emit("change", newValue);
-        }
-      };
-      const renderLoading = () => {
-        if (props.loading) {
-          const color = isChecked() ? props.activeColor : props.inactiveColor;
-          return vue.createVNode(Loading, {
-            "class": bem$17("loading"),
-            "color": color
-          }, null);
-        }
-        if (slots.node) {
-          return slots.node();
-        }
-      };
-      useCustomFieldValue(() => props.modelValue);
-      return () => {
-        var _a;
-        const {
-          size,
-          loading,
-          disabled,
-          activeColor,
-          inactiveColor
-        } = props;
-        const checked = isChecked();
-        const style = {
-          fontSize: addUnit(size),
-          backgroundColor: checked ? activeColor : inactiveColor
-        };
-        return vue.createVNode("div", {
-          "role": "switch",
-          "class": bem$17({
-            on: checked,
-            loading,
-            disabled
-          }),
-          "style": style,
-          "tabindex": disabled ? void 0 : 0,
-          "aria-checked": checked,
-          "onClick": onClick
-        }, [vue.createVNode("div", {
-          "class": bem$17("node")
-        }, [renderLoading()]), (_a = slots.background) == null ? void 0 : _a.call(slots)]);
-      };
-    }
-  });
-  const Switch = withInstall(stdin_default$1l);
-  const [name$1a, bem$16] = createNamespace("address-edit-detail");
-  const t$i = createNamespace("address-edit")[2];
-  var stdin_default$1k = vue.defineComponent({
-    name: name$1a,
-    props: {
-      show: Boolean,
-      rows: numericProp,
-      value: String,
-      rules: Array,
-      focused: Boolean,
-      maxlength: numericProp,
-      searchResult: Array,
-      showSearchResult: Boolean
-    },
-    emits: ["blur", "focus", "input", "selectSearch"],
-    setup(props, {
-      emit
-    }) {
-      const field = vue.ref();
-      const showSearchResult = () => props.focused && props.searchResult && props.showSearchResult;
-      const onSelect = (express) => {
-        emit("selectSearch", express);
-        emit("input", `${express.address || ""} ${express.name || ""}`.trim());
-      };
-      const renderSearchResult = () => {
-        if (!showSearchResult()) {
-          return;
-        }
-        const {
-          searchResult
-        } = props;
-        return searchResult.map((express) => vue.createVNode(Cell, {
-          "clickable": true,
-          "key": (express.name || "") + (express.address || ""),
-          "icon": "location-o",
-          "title": express.name,
-          "label": express.address,
-          "class": bem$16("search-item"),
-          "border": false,
-          "onClick": () => onSelect(express)
-        }, null));
-      };
-      const onBlur = (event) => emit("blur", event);
-      const onFocus = (event) => emit("focus", event);
-      const onInput = (value) => emit("input", value);
-      return () => {
-        if (props.show) {
-          return vue.createVNode(vue.Fragment, null, [vue.createVNode(Field, {
-            "autosize": true,
-            "clearable": true,
-            "ref": field,
-            "class": bem$16(),
-            "rows": props.rows,
-            "type": "textarea",
-            "rules": props.rules,
-            "label": t$i("addressDetail"),
-            "border": !showSearchResult(),
-            "maxlength": props.maxlength,
-            "modelValue": props.value,
-            "placeholder": t$i("addressDetail"),
-            "onBlur": onBlur,
-            "onFocus": onFocus,
-            "onUpdate:modelValue": onInput
-          }, null), renderSearchResult()]);
-        }
-      };
-    }
-  });
-  const [name$19, bem$15, t$h] = createNamespace("address-edit");
-  const DEFAULT_DATA = {
-    name: "",
-    tel: "",
-    city: "",
-    county: "",
-    country: "",
-    province: "",
-    areaCode: "",
-    isDefault: false,
-    addressDetail: ""
-  };
-  const addressEditProps = {
-    areaList: Object,
-    isSaving: Boolean,
-    isDeleting: Boolean,
-    validator: Function,
-    showArea: truthProp,
-    showDetail: truthProp,
-    showDelete: Boolean,
-    disableArea: Boolean,
-    searchResult: Array,
-    telMaxlength: numericProp,
-    showSetDefault: Boolean,
-    saveButtonText: String,
-    areaPlaceholder: String,
-    deleteButtonText: String,
-    showSearchResult: Boolean,
-    detailRows: makeNumericProp(1),
-    detailMaxlength: makeNumericProp(200),
-    areaColumnsPlaceholder: makeArrayProp(),
-    addressInfo: {
-      type: Object,
-      default: () => extend({}, DEFAULT_DATA)
-    },
-    telValidator: {
-      type: Function,
-      default: isMobile
-    }
-  };
-  var stdin_default$1j = vue.defineComponent({
-    name: name$19,
-    props: addressEditProps,
-    emits: ["save", "focus", "delete", "clickArea", "changeArea", "changeDetail", "selectSearch", "changeDefault"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const areaRef = vue.ref();
-      const data = vue.reactive({});
-      const showAreaPopup = vue.ref(false);
-      const detailFocused = vue.ref(false);
-      const areaListLoaded = vue.computed(() => isObject(props.areaList) && Object.keys(props.areaList).length);
-      const areaText = vue.computed(() => {
-        const {
-          province,
-          city,
-          county,
-          areaCode
-        } = data;
-        if (areaCode) {
-          const arr = [province, city, county];
-          if (province && province === city) {
-            arr.splice(1, 1);
-          }
-          return arr.filter(Boolean).join("/");
-        }
-        return "";
-      });
-      const hideBottomFields = vue.computed(() => {
-        var _a;
-        return ((_a = props.searchResult) == null ? void 0 : _a.length) && detailFocused.value;
-      });
-      const onFocus = (key) => {
-        detailFocused.value = key === "addressDetail";
-        emit("focus", key);
-      };
-      const rules = vue.computed(() => {
-        const {
-          validator,
-          telValidator
-        } = props;
-        const makeRule = (name2, emptyMessage) => ({
-          validator: (value) => {
-            if (validator) {
-              const message = validator(name2, value);
-              if (message) {
-                return message;
-              }
-            }
-            if (!value) {
-              return emptyMessage;
-            }
-            return true;
-          }
-        });
-        return {
-          name: [makeRule("name", t$h("nameEmpty"))],
-          tel: [makeRule("tel", t$h("telInvalid")), {
-            validator: telValidator,
-            message: t$h("telInvalid")
-          }],
-          areaCode: [makeRule("areaCode", t$h("areaEmpty"))],
-          addressDetail: [makeRule("addressDetail", t$h("addressEmpty"))]
-        };
-      });
-      const onSave = () => emit("save", data);
-      const onChangeDetail = (val) => {
-        data.addressDetail = val;
-        emit("changeDetail", val);
-      };
-      const assignAreaText = (options) => {
-        data.province = options[0].text;
-        data.city = options[1].text;
-        data.county = options[2].text;
-      };
-      const onAreaConfirm = ({
-        selectedValues,
-        selectedOptions
-      }) => {
-        if (selectedValues.some((value) => value === AREA_EMPTY_CODE)) {
-          showToast(t$h("areaEmpty"));
-        } else {
-          showAreaPopup.value = false;
-          assignAreaText(selectedOptions);
-          emit("changeArea", selectedOptions);
-        }
-      };
-      const onDelete = () => emit("delete", data);
-      const setAreaCode = (code) => {
-        data.areaCode = code || "";
-      };
-      const onDetailBlur = () => {
-        setTimeout(() => {
-          detailFocused.value = false;
-        });
-      };
-      const setAddressDetail = (value) => {
-        data.addressDetail = value;
-      };
-      const renderSetDefaultCell = () => {
-        if (props.showSetDefault) {
-          const slots2 = {
-            "right-icon": () => vue.createVNode(Switch, {
-              "modelValue": data.isDefault,
-              "onUpdate:modelValue": ($event) => data.isDefault = $event,
-              "onChange": (event) => emit("changeDefault", event)
-            }, null)
-          };
-          return vue.withDirectives(vue.createVNode(Cell, {
-            "center": true,
-            "title": t$h("defaultAddress"),
-            "class": bem$15("default")
-          }, slots2), [[vue.vShow, !hideBottomFields.value]]);
-        }
-      };
-      useExpose({
-        setAreaCode,
-        setAddressDetail
-      });
-      vue.watch(() => props.addressInfo, (value) => {
-        extend(data, DEFAULT_DATA, value);
-        vue.nextTick(() => {
-          var _a;
-          const options = (_a = areaRef.value) == null ? void 0 : _a.getSelectedOptions();
-          if (options && options.every((option) => option && option.value !== AREA_EMPTY_CODE)) {
-            assignAreaText(options);
-          }
-        });
-      }, {
-        deep: true,
-        immediate: true
-      });
-      return () => {
-        const {
-          disableArea
-        } = props;
-        return vue.createVNode(Form, {
-          "class": bem$15(),
-          "onSubmit": onSave
-        }, {
-          default: () => {
-            var _a;
-            return [vue.createVNode("div", {
-              "class": bem$15("fields")
-            }, [vue.createVNode(Field, {
-              "modelValue": data.name,
-              "onUpdate:modelValue": ($event) => data.name = $event,
-              "clearable": true,
-              "label": t$h("name"),
-              "rules": rules.value.name,
-              "placeholder": t$h("name"),
-              "onFocus": () => onFocus("name")
-            }, null), vue.createVNode(Field, {
-              "modelValue": data.tel,
-              "onUpdate:modelValue": ($event) => data.tel = $event,
-              "clearable": true,
-              "type": "tel",
-              "label": t$h("tel"),
-              "rules": rules.value.tel,
-              "maxlength": props.telMaxlength,
-              "placeholder": t$h("tel"),
-              "onFocus": () => onFocus("tel")
-            }, null), vue.withDirectives(vue.createVNode(Field, {
-              "readonly": true,
-              "label": t$h("area"),
-              "is-link": !disableArea,
-              "modelValue": areaText.value,
-              "rules": rules.value.areaCode,
-              "placeholder": props.areaPlaceholder || t$h("area"),
-              "onFocus": () => onFocus("areaCode"),
-              "onClick": () => {
-                emit("clickArea");
-                showAreaPopup.value = !disableArea;
-              }
-            }, null), [[vue.vShow, props.showArea]]), vue.createVNode(stdin_default$1k, {
-              "show": props.showDetail,
-              "rows": props.detailRows,
-              "rules": rules.value.addressDetail,
-              "value": data.addressDetail,
-              "focused": detailFocused.value,
-              "maxlength": props.detailMaxlength,
-              "searchResult": props.searchResult,
-              "showSearchResult": props.showSearchResult,
-              "onBlur": onDetailBlur,
-              "onFocus": () => onFocus("addressDetail"),
-              "onInput": onChangeDetail,
-              "onSelectSearch": (event) => emit("selectSearch", event)
-            }, null), (_a = slots.default) == null ? void 0 : _a.call(slots)]), renderSetDefaultCell(), vue.withDirectives(vue.createVNode("div", {
-              "class": bem$15("buttons")
-            }, [vue.createVNode(Button, {
-              "block": true,
-              "round": true,
-              "type": "primary",
-              "text": props.saveButtonText || t$h("save"),
-              "class": bem$15("button"),
-              "loading": props.isSaving,
-              "nativeType": "submit"
-            }, null), props.showDelete && vue.createVNode(Button, {
-              "block": true,
-              "round": true,
-              "class": bem$15("button"),
-              "loading": props.isDeleting,
-              "text": props.deleteButtonText || t$h("delete"),
-              "onClick": onDelete
-            }, null)]), [[vue.vShow, !hideBottomFields.value]]), vue.createVNode(Popup, {
-              "show": showAreaPopup.value,
-              "onUpdate:show": ($event) => showAreaPopup.value = $event,
-              "round": true,
-              "teleport": "body",
-              "position": "bottom",
-              "lazyRender": false
-            }, {
-              default: () => [vue.createVNode(Area, {
-                "modelValue": data.areaCode,
-                "onUpdate:modelValue": ($event) => data.areaCode = $event,
-                "ref": areaRef,
-                "loading": !areaListLoaded.value,
-                "areaList": props.areaList,
-                "columnsPlaceholder": props.areaColumnsPlaceholder,
-                "onConfirm": onAreaConfirm,
-                "onCancel": () => {
-                  showAreaPopup.value = false;
-                }
-              }, null)]
-            })];
-          }
-        });
-      };
-    }
-  });
-  const AddressEdit = withInstall(stdin_default$1j);
-  const [name$18, bem$14] = createNamespace("radio-group");
-  const radioGroupProps = {
-    disabled: Boolean,
-    iconSize: numericProp,
-    direction: String,
-    modelValue: unknownProp,
-    checkedColor: String
-  };
-  const RADIO_KEY = Symbol(name$18);
-  var stdin_default$1i = vue.defineComponent({
-    name: name$18,
-    props: radioGroupProps,
-    emits: ["change", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const {
-        linkChildren
-      } = useChildren(RADIO_KEY);
-      const updateValue = (value) => emit("update:modelValue", value);
-      vue.watch(() => props.modelValue, (value) => emit("change", value));
-      linkChildren({
-        props,
-        updateValue
-      });
-      useCustomFieldValue(() => props.modelValue);
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "class": bem$14([props.direction]),
-          "role": "radiogroup"
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-    }
-  });
-  const RadioGroup = withInstall(stdin_default$1i);
-  const [name$17, bem$13] = createNamespace("tag");
-  const tagProps = {
-    size: String,
-    mark: Boolean,
-    show: truthProp,
-    type: makeStringProp("default"),
-    color: String,
-    plain: Boolean,
-    round: Boolean,
-    textColor: String,
-    closeable: Boolean
-  };
-  var stdin_default$1h = vue.defineComponent({
-    name: name$17,
-    props: tagProps,
-    emits: ["close"],
-    setup(props, {
-      slots,
-      emit
-    }) {
-      const onClose = (event) => {
-        event.stopPropagation();
-        emit("close", event);
-      };
-      const getStyle = () => {
-        if (props.plain) {
-          return {
-            color: props.textColor || props.color,
-            borderColor: props.color
-          };
-        }
-        return {
-          color: props.textColor,
-          background: props.color
-        };
-      };
-      const renderTag = () => {
-        var _a;
-        const {
-          type,
-          mark,
-          plain,
-          round: round2,
-          size,
-          closeable
-        } = props;
-        const classes = {
-          mark,
-          plain,
-          round: round2
-        };
-        if (size) {
-          classes[size] = size;
-        }
-        const CloseIcon = closeable && vue.createVNode(Icon, {
-          "name": "cross",
-          "class": [bem$13("close"), HAPTICS_FEEDBACK],
-          "onClick": onClose
-        }, null);
-        return vue.createVNode("span", {
-          "style": getStyle(),
-          "class": bem$13([classes, type])
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots), CloseIcon]);
-      };
-      return () => vue.createVNode(vue.Transition, {
-        "name": props.closeable ? "van-fade" : void 0
-      }, {
-        default: () => [props.show ? renderTag() : null]
-      });
-    }
-  });
-  const Tag = withInstall(stdin_default$1h);
-  const checkerProps = {
-    name: unknownProp,
-    shape: makeStringProp("round"),
-    disabled: Boolean,
-    iconSize: numericProp,
-    modelValue: unknownProp,
-    checkedColor: String,
-    labelPosition: String,
-    labelDisabled: Boolean
-  };
-  var stdin_default$1g = vue.defineComponent({
-    props: extend({}, checkerProps, {
-      bem: makeRequiredProp(Function),
-      role: String,
-      parent: Object,
-      checked: Boolean,
-      bindGroup: truthProp
-    }),
-    emits: ["click", "toggle"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const iconRef = vue.ref();
-      const getParentProp = (name2) => {
-        if (props.parent && props.bindGroup) {
-          return props.parent.props[name2];
-        }
-      };
-      const disabled = vue.computed(() => getParentProp("disabled") || props.disabled);
-      const direction = vue.computed(() => getParentProp("direction"));
-      const iconStyle = vue.computed(() => {
-        const checkedColor = props.checkedColor || getParentProp("checkedColor");
-        if (checkedColor && props.checked && !disabled.value) {
-          return {
-            borderColor: checkedColor,
-            backgroundColor: checkedColor
-          };
-        }
-      });
-      const onClick = (event) => {
-        const {
-          target
-        } = event;
-        const icon = iconRef.value;
-        const iconClicked = icon === target || (icon == null ? void 0 : icon.contains(target));
-        if (!disabled.value && (iconClicked || !props.labelDisabled)) {
-          emit("toggle");
-        }
-        emit("click", event);
-      };
-      const renderIcon = () => {
-        const {
-          bem: bem2,
-          shape,
-          checked
-        } = props;
-        const iconSize = props.iconSize || getParentProp("iconSize");
-        return vue.createVNode("div", {
-          "ref": iconRef,
-          "class": bem2("icon", [shape, {
-            disabled: disabled.value,
-            checked
-          }]),
-          "style": {
-            fontSize: addUnit(iconSize)
-          }
-        }, [slots.icon ? slots.icon({
-          checked,
-          disabled: disabled.value
-        }) : vue.createVNode(Icon, {
-          "name": "success",
-          "style": iconStyle.value
-        }, null)]);
-      };
-      const renderLabel = () => {
-        if (slots.default) {
-          return vue.createVNode("span", {
-            "class": props.bem("label", [props.labelPosition, {
-              disabled: disabled.value
-            }])
-          }, [slots.default()]);
-        }
-      };
-      return () => {
-        const nodes = props.labelPosition === "left" ? [renderLabel(), renderIcon()] : [renderIcon(), renderLabel()];
-        return vue.createVNode("div", {
-          "role": props.role,
-          "class": props.bem([{
-            disabled: disabled.value,
-            "label-disabled": props.labelDisabled
-          }, direction.value]),
-          "tabindex": disabled.value ? void 0 : 0,
-          "aria-checked": props.checked,
-          "onClick": onClick
-        }, [nodes]);
-      };
-    }
-  });
-  const radioProps = checkerProps;
-  const [name$16, bem$12] = createNamespace("radio");
-  var stdin_default$1f = vue.defineComponent({
-    name: name$16,
-    props: checkerProps,
-    emits: ["update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const {
-        parent
-      } = useParent(RADIO_KEY);
-      const checked = () => {
-        const value = parent ? parent.props.modelValue : props.modelValue;
-        return value === props.name;
-      };
-      const toggle = () => {
-        if (parent) {
-          parent.updateValue(props.name);
-        } else {
-          emit("update:modelValue", props.name);
-        }
-      };
-      return () => vue.createVNode(stdin_default$1g, vue.mergeProps({
-        "bem": bem$12,
-        "role": "radio",
-        "parent": parent,
-        "checked": checked(),
-        "onToggle": toggle
-      }, props), pick(slots, ["default", "icon"]));
-    }
-  });
-  const Radio = withInstall(stdin_default$1f);
-  const [name$15, bem$11] = createNamespace("address-item");
-  var stdin_default$1e = vue.defineComponent({
-    name: name$15,
-    props: {
-      address: makeRequiredProp(Object),
-      disabled: Boolean,
-      switchable: Boolean,
-      defaultTagText: String
-    },
-    emits: ["edit", "click", "select"],
-    setup(props, {
-      slots,
-      emit
-    }) {
-      const onClick = () => {
-        if (props.switchable) {
-          emit("select");
-        }
-        emit("click");
-      };
-      const renderRightIcon = () => vue.createVNode(Icon, {
-        "name": "edit",
-        "class": bem$11("edit"),
-        "onClick": (event) => {
-          event.stopPropagation();
-          emit("edit");
-          emit("click");
-        }
-      }, null);
-      const renderTag = () => {
-        if (slots.tag) {
-          return slots.tag(props.address);
-        }
-        if (props.address.isDefault && props.defaultTagText) {
-          return vue.createVNode(Tag, {
-            "type": "primary",
-            "round": true,
-            "class": bem$11("tag")
-          }, {
-            default: () => [props.defaultTagText]
-          });
-        }
-      };
-      const renderContent = () => {
-        const {
-          address,
-          disabled,
-          switchable
-        } = props;
-        const Info = [vue.createVNode("div", {
-          "class": bem$11("name")
-        }, [`${address.name} ${address.tel}`, renderTag()]), vue.createVNode("div", {
-          "class": bem$11("address")
-        }, [address.address])];
-        if (switchable && !disabled) {
-          return vue.createVNode(Radio, {
-            "name": address.id,
-            "iconSize": 18
-          }, {
-            default: () => [Info]
-          });
-        }
-        return Info;
-      };
-      return () => {
-        var _a;
-        const {
-          disabled
-        } = props;
-        return vue.createVNode("div", {
-          "class": bem$11({
-            disabled
-          }),
-          "onClick": onClick
-        }, [vue.createVNode(Cell, {
-          "border": false,
-          "titleClass": bem$11("title")
-        }, {
-          title: renderContent,
-          "right-icon": renderRightIcon
-        }), (_a = slots.bottom) == null ? void 0 : _a.call(slots, extend({}, props.address, {
-          disabled
-        }))]);
-      };
-    }
-  });
-  const [name$14, bem$10, t$g] = createNamespace("address-list");
-  const addressListProps = {
-    list: makeArrayProp(),
-    modelValue: numericProp,
-    switchable: truthProp,
-    disabledText: String,
-    disabledList: makeArrayProp(),
-    addButtonText: String,
-    defaultTagText: String
-  };
-  var stdin_default$1d = vue.defineComponent({
-    name: name$14,
-    props: addressListProps,
-    emits: ["add", "edit", "select", "clickItem", "editDisabled", "selectDisabled", "update:modelValue"],
-    setup(props, {
-      slots,
-      emit
-    }) {
-      const renderItem = (item, index, disabled) => {
-        const onEdit = () => emit(disabled ? "editDisabled" : "edit", item, index);
-        const onClick = () => emit("clickItem", item, index);
-        const onSelect = () => {
-          emit(disabled ? "selectDisabled" : "select", item, index);
-          if (!disabled) {
-            emit("update:modelValue", item.id);
-          }
-        };
-        return vue.createVNode(stdin_default$1e, {
-          "key": item.id,
-          "address": item,
-          "disabled": disabled,
-          "switchable": props.switchable,
-          "defaultTagText": props.defaultTagText,
-          "onEdit": onEdit,
-          "onClick": onClick,
-          "onSelect": onSelect
-        }, {
-          bottom: slots["item-bottom"],
-          tag: slots.tag
-        });
-      };
-      const renderList = (list, disabled) => {
-        if (list) {
-          return list.map((item, index) => renderItem(item, index, disabled));
-        }
-      };
-      const renderBottom = () => vue.createVNode("div", {
-        "class": [bem$10("bottom"), "van-safe-area-bottom"]
-      }, [vue.createVNode(Button, {
-        "round": true,
-        "block": true,
-        "type": "primary",
-        "text": props.addButtonText || t$g("add"),
-        "class": bem$10("add"),
-        "onClick": () => emit("add")
-      }, null)]);
-      return () => {
-        var _a, _b;
-        const List2 = renderList(props.list);
-        const DisabledList = renderList(props.disabledList, true);
-        const DisabledText = props.disabledText && vue.createVNode("div", {
-          "class": bem$10("disabled-text")
-        }, [props.disabledText]);
-        return vue.createVNode("div", {
-          "class": bem$10()
-        }, [(_a = slots.top) == null ? void 0 : _a.call(slots), vue.createVNode(RadioGroup, {
-          "modelValue": props.modelValue
-        }, {
-          default: () => [List2]
-        }), DisabledText, DisabledList, (_b = slots.default) == null ? void 0 : _b.call(slots), renderBottom()]);
-      };
-    }
-  });
-  const AddressList = withInstall(stdin_default$1d);
-  const hasIntersectionObserver = inBrowser && "IntersectionObserver" in window && "IntersectionObserverEntry" in window && "intersectionRatio" in window.IntersectionObserverEntry.prototype;
-  const modeType = {
-    event: "event",
-    observer: "observer"
-  };
-  function remove(arr, item) {
-    if (!arr.length)
-      return;
-    const index = arr.indexOf(item);
-    if (index > -1)
-      return arr.splice(index, 1);
-  }
-  function getBestSelectionFromSrcset(el, scale) {
-    if (el.tagName !== "IMG" || !el.getAttribute("data-srcset"))
-      return;
-    let options = el.getAttribute("data-srcset");
-    const container = el.parentNode;
-    const containerWidth = container.offsetWidth * scale;
-    let spaceIndex;
-    let tmpSrc;
-    let tmpWidth;
-    options = options.trim().split(",");
-    const result = options.map((item) => {
-      item = item.trim();
-      spaceIndex = item.lastIndexOf(" ");
-      if (spaceIndex === -1) {
-        tmpSrc = item;
-        tmpWidth = 999998;
-      } else {
-        tmpSrc = item.substr(0, spaceIndex);
-        tmpWidth = parseInt(
-          item.substr(spaceIndex + 1, item.length - spaceIndex - 2),
-          10
-        );
-      }
-      return [tmpWidth, tmpSrc];
-    });
-    result.sort((a, b) => {
-      if (a[0] < b[0]) {
-        return 1;
-      }
-      if (a[0] > b[0]) {
-        return -1;
-      }
-      if (a[0] === b[0]) {
-        if (b[1].indexOf(".webp", b[1].length - 5) !== -1) {
-          return 1;
-        }
-        if (a[1].indexOf(".webp", a[1].length - 5) !== -1) {
-          return -1;
-        }
-      }
-      return 0;
-    });
-    let bestSelectedSrc = "";
-    let tmpOption;
-    for (let i = 0; i < result.length; i++) {
-      tmpOption = result[i];
-      bestSelectedSrc = tmpOption[1];
-      const next = result[i + 1];
-      if (next && next[0] < containerWidth) {
-        bestSelectedSrc = tmpOption[1];
-        break;
-      } else if (!next) {
-        bestSelectedSrc = tmpOption[1];
-        break;
-      }
-    }
-    return bestSelectedSrc;
-  }
-  const getDPR = (scale = 1) => inBrowser ? window.devicePixelRatio || scale : scale;
-  function supportWebp() {
-    if (!inBrowser)
-      return false;
-    let support = true;
-    try {
-      const elem = document.createElement("canvas");
-      if (elem.getContext && elem.getContext("2d")) {
-        support = elem.toDataURL("image/webp").indexOf("data:image/webp") === 0;
-      }
-    } catch (err) {
-      support = false;
-    }
-    return support;
-  }
-  function throttle(action, delay) {
-    let timeout = null;
-    let lastRun = 0;
-    return function(...args) {
-      if (timeout) {
-        return;
-      }
-      const elapsed = Date.now() - lastRun;
-      const runCallback = () => {
-        lastRun = Date.now();
-        timeout = false;
-        action.apply(this, args);
-      };
-      if (elapsed >= delay) {
-        runCallback();
-      } else {
-        timeout = setTimeout(runCallback, delay);
-      }
-    };
-  }
-  function on(el, type, func) {
-    el.addEventListener(type, func, {
-      capture: false,
-      passive: true
-    });
-  }
-  function off(el, type, func) {
-    el.removeEventListener(type, func, false);
-  }
-  const loadImageAsync = (item, resolve, reject) => {
-    const image = new Image();
-    if (!item || !item.src) {
-      return reject(new Error("image src is required"));
-    }
-    image.src = item.src;
-    if (item.cors) {
-      image.crossOrigin = item.cors;
-    }
-    image.onload = () => resolve({
-      naturalHeight: image.naturalHeight,
-      naturalWidth: image.naturalWidth,
-      src: image.src
-    });
-    image.onerror = (e) => reject(e);
-  };
-  class ImageCache {
-    constructor({ max }) {
-      this.options = {
-        max: max || 100
-      };
-      this.caches = [];
-    }
-    has(key) {
-      return this.caches.indexOf(key) > -1;
-    }
-    add(key) {
-      if (this.has(key))
-        return;
-      this.caches.push(key);
-      if (this.caches.length > this.options.max) {
-        this.free();
-      }
-    }
-    free() {
-      this.caches.shift();
-    }
-  }
-  const [name$13, bem$$] = createNamespace("back-top");
-  const backTopProps = {
-    right: numericProp,
-    bottom: numericProp,
-    zIndex: numericProp,
-    target: [String, Object],
-    offset: makeNumericProp(200),
-    immediate: Boolean,
-    teleport: {
-      type: [String, Object],
-      default: "body"
-    }
-  };
-  var stdin_default$1c = vue.defineComponent({
-    name: name$13,
-    inheritAttrs: false,
-    props: backTopProps,
-    emits: ["click"],
-    setup(props, {
-      emit,
-      slots,
-      attrs
-    }) {
-      const show = vue.ref(false);
-      const root = vue.ref();
-      const scrollParent = vue.ref();
-      const style = vue.computed(() => extend(getZIndexStyle(props.zIndex), {
-        right: addUnit(props.right),
-        bottom: addUnit(props.bottom)
-      }));
-      const onClick = (event) => {
-        var _a;
-        emit("click", event);
-        (_a = scrollParent.value) == null ? void 0 : _a.scrollTo({
-          top: 0,
-          behavior: props.immediate ? "auto" : "smooth"
-        });
-      };
-      const scroll = () => {
-        show.value = scrollParent.value ? getScrollTop(scrollParent.value) >= +props.offset : false;
-      };
-      const getTarget = () => {
-        const {
-          target
-        } = props;
-        if (typeof target === "string") {
-          const el = document.querySelector(target);
-          if (el) {
-            return el;
-          }
-        } else {
-          return target;
-        }
-      };
-      const updateTarget = () => {
-        if (inBrowser$1) {
-          vue.nextTick(() => {
-            scrollParent.value = props.target ? getTarget() : getScrollParent$1(root.value);
-            scroll();
-          });
-        }
-      };
-      useEventListener("scroll", throttle(scroll, 100), {
-        target: scrollParent
-      });
-      vue.onMounted(updateTarget);
-      vue.watch(() => props.target, updateTarget);
-      return () => {
-        const Content = vue.createVNode("div", vue.mergeProps({
-          "ref": root,
-          "class": bem$$({
-            active: show.value
-          }),
-          "style": style.value,
-          "onClick": onClick
-        }, attrs), [slots.default ? slots.default() : vue.createVNode(Icon, {
-          "name": "back-top",
-          "class": bem$$("icon")
-        }, null)]);
-        if (props.teleport) {
-          return vue.createVNode(vue.Teleport, {
-            "to": props.teleport
-          }, {
-            default: () => [Content]
-          });
-        }
-        return Content;
-      };
-    }
-  });
-  const BackTop = withInstall(stdin_default$1c);
-  const [name$12, bem$_, t$f] = createNamespace("calendar");
-  const formatMonthTitle = (date) => t$f("monthTitle", date.getFullYear(), date.getMonth() + 1);
-  function compareMonth(date1, date2) {
-    const year1 = date1.getFullYear();
-    const year2 = date2.getFullYear();
-    if (year1 === year2) {
-      const month1 = date1.getMonth();
-      const month2 = date2.getMonth();
-      return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
-    }
-    return year1 > year2 ? 1 : -1;
-  }
-  function compareDay(day1, day2) {
-    const compareMonthResult = compareMonth(day1, day2);
-    if (compareMonthResult === 0) {
-      const date1 = day1.getDate();
-      const date2 = day2.getDate();
-      return date1 === date2 ? 0 : date1 > date2 ? 1 : -1;
-    }
-    return compareMonthResult;
-  }
-  const cloneDate = (date) => new Date(date);
-  const cloneDates = (dates) => Array.isArray(dates) ? dates.map(cloneDate) : cloneDate(dates);
-  function getDayByOffset(date, offset2) {
-    const cloned = cloneDate(date);
-    cloned.setDate(cloned.getDate() + offset2);
-    return cloned;
-  }
-  const getPrevDay = (date) => getDayByOffset(date, -1);
-  const getNextDay = (date) => getDayByOffset(date, 1);
-  const getToday = () => {
-    const today = /* @__PURE__ */ new Date();
-    today.setHours(0, 0, 0, 0);
-    return today;
-  };
-  function calcDateNum(date) {
-    const day1 = date[0].getTime();
-    const day2 = date[1].getTime();
-    return (day2 - day1) / (1e3 * 60 * 60 * 24) + 1;
-  }
-  const sharedProps = extend({}, pickerSharedProps, {
-    modelValue: makeArrayProp(),
-    filter: Function,
-    formatter: {
-      type: Function,
-      default: (type, option) => option
-    }
-  });
-  const pickerInheritKeys = Object.keys(pickerSharedProps);
-  function times(n, iteratee) {
-    if (n < 0) {
-      return [];
-    }
-    const result = Array(n);
-    let index = -1;
-    while (++index < n) {
-      result[index] = iteratee(index);
-    }
-    return result;
-  }
-  const getMonthEndDay = (year, month) => 32 - new Date(year, month - 1, 32).getDate();
-  const genOptions = (min, max, type, formatter, filter) => {
-    const options = times(max - min + 1, (index) => {
-      const value = padZero(min + index);
-      return formatter(type, {
-        text: value,
-        value
-      });
-    });
-    return filter ? filter(type, options) : options;
-  };
-  const formatValueRange = (values, columns) => values.map((value, index) => {
-    const column = columns[index];
-    if (column.length) {
-      const maxValue = +column[column.length - 1].value;
-      if (+value > maxValue) {
-        return String(maxValue);
-      }
-    }
-    return value;
-  });
-  const [name$11] = createNamespace("calendar-day");
-  var stdin_default$1b = vue.defineComponent({
-    name: name$11,
-    props: {
-      item: makeRequiredProp(Object),
-      color: String,
-      index: Number,
-      offset: makeNumberProp(0),
-      rowHeight: String
-    },
-    emits: ["click"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const style = vue.computed(() => {
-        var _a;
-        const {
-          item,
-          index,
-          color,
-          offset: offset2,
-          rowHeight
-        } = props;
-        const style2 = {
-          height: rowHeight
-        };
-        if (item.type === "placeholder") {
-          style2.width = "100%";
-          return style2;
-        }
-        if (index === 0) {
-          style2.marginLeft = `${100 * offset2 / 7}%`;
-        }
-        if (color) {
-          switch (item.type) {
-            case "end":
-            case "start":
-            case "start-end":
-            case "multiple-middle":
-            case "multiple-selected":
-              style2.background = color;
-              break;
-            case "middle":
-              style2.color = color;
-              break;
-          }
-        }
-        if (offset2 + (((_a = item.date) == null ? void 0 : _a.getDate()) || 1) > 28) {
-          style2.marginBottom = 0;
-        }
-        return style2;
-      });
-      const onClick = () => {
-        if (props.item.type !== "disabled") {
-          emit("click", props.item);
-        }
-      };
-      const renderTopInfo = () => {
-        const {
-          topInfo
-        } = props.item;
-        if (topInfo || slots["top-info"]) {
-          return vue.createVNode("div", {
-            "class": bem$_("top-info")
-          }, [slots["top-info"] ? slots["top-info"](props.item) : topInfo]);
-        }
-      };
-      const renderBottomInfo = () => {
-        const {
-          bottomInfo
-        } = props.item;
-        if (bottomInfo || slots["bottom-info"]) {
-          return vue.createVNode("div", {
-            "class": bem$_("bottom-info")
-          }, [slots["bottom-info"] ? slots["bottom-info"](props.item) : bottomInfo]);
-        }
-      };
-      const renderContent = () => {
-        const {
-          item,
-          color,
-          rowHeight
-        } = props;
-        const {
-          type,
-          text
-        } = item;
-        const Nodes = [renderTopInfo(), text, renderBottomInfo()];
-        if (type === "selected") {
-          return vue.createVNode("div", {
-            "class": bem$_("selected-day"),
-            "style": {
-              width: rowHeight,
-              height: rowHeight,
-              background: color
-            }
-          }, [Nodes]);
-        }
-        return Nodes;
-      };
-      return () => {
-        const {
-          type,
-          className
-        } = props.item;
-        if (type === "placeholder") {
-          return vue.createVNode("div", {
-            "class": bem$_("day"),
-            "style": style.value
-          }, null);
-        }
-        return vue.createVNode("div", {
-          "role": "gridcell",
-          "style": style.value,
-          "class": [bem$_("day", type), className],
-          "tabindex": type === "disabled" ? void 0 : -1,
-          "onClick": onClick
-        }, [renderContent()]);
-      };
-    }
-  });
-  const [name$10] = createNamespace("calendar-month");
-  const calendarMonthProps = {
-    date: makeRequiredProp(Date),
-    type: String,
-    color: String,
-    minDate: makeRequiredProp(Date),
-    maxDate: makeRequiredProp(Date),
-    showMark: Boolean,
-    rowHeight: numericProp,
-    formatter: Function,
-    lazyRender: Boolean,
-    currentDate: [Date, Array],
-    allowSameDay: Boolean,
-    showSubtitle: Boolean,
-    showMonthTitle: Boolean,
-    firstDayOfWeek: Number
-  };
-  var stdin_default$1a = vue.defineComponent({
-    name: name$10,
-    props: calendarMonthProps,
-    emits: ["click"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const [visible, setVisible] = useToggle();
-      const daysRef = vue.ref();
-      const monthRef = vue.ref();
-      const height2 = useHeight(monthRef);
-      const title = vue.computed(() => formatMonthTitle(props.date));
-      const rowHeight = vue.computed(() => addUnit(props.rowHeight));
-      const offset2 = vue.computed(() => {
-        const realDay = props.date.getDay();
-        if (props.firstDayOfWeek) {
-          return (realDay + 7 - props.firstDayOfWeek) % 7;
-        }
-        return realDay;
-      });
-      const totalDay = vue.computed(() => getMonthEndDay(props.date.getFullYear(), props.date.getMonth() + 1));
-      const shouldRender = vue.computed(() => visible.value || !props.lazyRender);
-      const getTitle = () => title.value;
-      const getMultipleDayType = (day) => {
-        const isSelected = (date) => props.currentDate.some((item) => compareDay(item, date) === 0);
-        if (isSelected(day)) {
-          const prevDay = getPrevDay(day);
-          const nextDay = getNextDay(day);
-          const prevSelected = isSelected(prevDay);
-          const nextSelected = isSelected(nextDay);
-          if (prevSelected && nextSelected) {
-            return "multiple-middle";
-          }
-          if (prevSelected) {
-            return "end";
-          }
-          if (nextSelected) {
-            return "start";
-          }
-          return "multiple-selected";
-        }
-        return "";
-      };
-      const getRangeDayType = (day) => {
-        const [startDay, endDay] = props.currentDate;
-        if (!startDay) {
-          return "";
-        }
-        const compareToStart = compareDay(day, startDay);
-        if (!endDay) {
-          return compareToStart === 0 ? "start" : "";
-        }
-        const compareToEnd = compareDay(day, endDay);
-        if (props.allowSameDay && compareToStart === 0 && compareToEnd === 0) {
-          return "start-end";
-        }
-        if (compareToStart === 0) {
-          return "start";
-        }
-        if (compareToEnd === 0) {
-          return "end";
-        }
-        if (compareToStart > 0 && compareToEnd < 0) {
-          return "middle";
-        }
-        return "";
-      };
-      const getDayType = (day) => {
-        const {
-          type,
-          minDate,
-          maxDate,
-          currentDate
-        } = props;
-        if (compareDay(day, minDate) < 0 || compareDay(day, maxDate) > 0) {
-          return "disabled";
-        }
-        if (currentDate === null) {
-          return "";
-        }
-        if (Array.isArray(currentDate)) {
-          if (type === "multiple") {
-            return getMultipleDayType(day);
-          }
-          if (type === "range") {
-            return getRangeDayType(day);
-          }
-        } else if (type === "single") {
-          return compareDay(day, currentDate) === 0 ? "selected" : "";
-        }
-        return "";
-      };
-      const getBottomInfo = (dayType) => {
-        if (props.type === "range") {
-          if (dayType === "start" || dayType === "end") {
-            return t$f(dayType);
-          }
-          if (dayType === "start-end") {
-            return `${t$f("start")}/${t$f("end")}`;
-          }
-        }
-      };
-      const renderTitle = () => {
-        if (props.showMonthTitle) {
-          return vue.createVNode("div", {
-            "class": bem$_("month-title")
-          }, [slots["month-title"] ? slots["month-title"]({
-            date: props.date,
-            text: title.value
-          }) : title.value]);
-        }
-      };
-      const renderMark = () => {
-        if (props.showMark && shouldRender.value) {
-          return vue.createVNode("div", {
-            "class": bem$_("month-mark")
-          }, [props.date.getMonth() + 1]);
-        }
-      };
-      const placeholders = vue.computed(() => {
-        const count = Math.ceil((totalDay.value + offset2.value) / 7);
-        return Array(count).fill({
-          type: "placeholder"
-        });
-      });
-      const days = vue.computed(() => {
-        const days2 = [];
-        const year = props.date.getFullYear();
-        const month = props.date.getMonth();
-        for (let day = 1; day <= totalDay.value; day++) {
-          const date = new Date(year, month, day);
-          const type = getDayType(date);
-          let config = {
-            date,
-            type,
-            text: day,
-            bottomInfo: getBottomInfo(type)
-          };
-          if (props.formatter) {
-            config = props.formatter(config);
-          }
-          days2.push(config);
-        }
-        return days2;
-      });
-      const disabledDays = vue.computed(() => days.value.filter((day) => day.type === "disabled"));
-      const scrollToDate = (body, targetDate) => {
-        if (daysRef.value) {
-          const daysRect = useRect(daysRef.value);
-          const totalRows = placeholders.value.length;
-          const currentRow = Math.ceil((targetDate.getDate() + offset2.value) / 7);
-          const rowOffset = (currentRow - 1) * daysRect.height / totalRows;
-          setScrollTop(body, daysRect.top + rowOffset + body.scrollTop - useRect(body).top);
-        }
-      };
-      const renderDay = (item, index) => vue.createVNode(stdin_default$1b, {
-        "item": item,
-        "index": index,
-        "color": props.color,
-        "offset": offset2.value,
-        "rowHeight": rowHeight.value,
-        "onClick": (item2) => emit("click", item2)
-      }, pick(slots, ["top-info", "bottom-info"]));
-      const renderDays = () => vue.createVNode("div", {
-        "ref": daysRef,
-        "role": "grid",
-        "class": bem$_("days")
-      }, [renderMark(), (shouldRender.value ? days : placeholders).value.map(renderDay)]);
-      useExpose({
-        getTitle,
-        getHeight: () => height2.value,
-        setVisible,
-        scrollToDate,
-        disabledDays
-      });
-      return () => vue.createVNode("div", {
-        "class": bem$_("month"),
-        "ref": monthRef
-      }, [renderTitle(), renderDays()]);
-    }
-  });
-  const [name$$] = createNamespace("calendar-header");
-  var stdin_default$19 = vue.defineComponent({
-    name: name$$,
-    props: {
-      date: Date,
-      title: String,
-      subtitle: String,
-      showTitle: Boolean,
-      showSubtitle: Boolean,
-      firstDayOfWeek: Number
-    },
-    emits: ["clickSubtitle"],
-    setup(props, {
-      slots,
-      emit
-    }) {
-      const renderTitle = () => {
-        if (props.showTitle) {
-          const text = props.title || t$f("title");
-          const title = slots.title ? slots.title() : text;
-          return vue.createVNode("div", {
-            "class": bem$_("header-title")
-          }, [title]);
-        }
-      };
-      const onClickSubtitle = (event) => emit("clickSubtitle", event);
-      const renderSubtitle = () => {
-        if (props.showSubtitle) {
-          const title = slots.subtitle ? slots.subtitle({
-            date: props.date,
-            text: props.subtitle
-          }) : props.subtitle;
-          return vue.createVNode("div", {
-            "class": bem$_("header-subtitle"),
-            "onClick": onClickSubtitle
-          }, [title]);
-        }
-      };
-      const renderWeekDays = () => {
-        const {
-          firstDayOfWeek
-        } = props;
-        const weekdays = t$f("weekdays");
-        const renderWeekDays2 = [...weekdays.slice(firstDayOfWeek, 7), ...weekdays.slice(0, firstDayOfWeek)];
-        return vue.createVNode("div", {
-          "class": bem$_("weekdays")
-        }, [renderWeekDays2.map((text) => vue.createVNode("span", {
-          "class": bem$_("weekday")
-        }, [text]))]);
-      };
-      return () => vue.createVNode("div", {
-        "class": bem$_("header")
-      }, [renderTitle(), renderSubtitle(), renderWeekDays()]);
-    }
-  });
-  const calendarProps = {
-    show: Boolean,
-    type: makeStringProp("single"),
-    title: String,
-    color: String,
-    round: truthProp,
-    readonly: Boolean,
-    poppable: truthProp,
-    maxRange: makeNumericProp(null),
-    position: makeStringProp("bottom"),
-    teleport: [String, Object],
-    showMark: truthProp,
-    showTitle: truthProp,
-    formatter: Function,
-    rowHeight: numericProp,
-    confirmText: String,
-    rangePrompt: String,
-    lazyRender: truthProp,
-    showConfirm: truthProp,
-    defaultDate: [Date, Array],
-    allowSameDay: Boolean,
-    showSubtitle: truthProp,
-    closeOnPopstate: truthProp,
-    showRangePrompt: truthProp,
-    confirmDisabledText: String,
-    closeOnClickOverlay: truthProp,
-    safeAreaInsetTop: Boolean,
-    safeAreaInsetBottom: truthProp,
-    minDate: {
-      type: Date,
-      validator: isDate,
-      default: getToday
-    },
-    maxDate: {
-      type: Date,
-      validator: isDate,
-      default: () => {
-        const now = getToday();
-        return new Date(now.getFullYear(), now.getMonth() + 6, now.getDate());
-      }
-    },
-    firstDayOfWeek: {
-      type: numericProp,
-      default: 0,
-      validator: (val) => val >= 0 && val <= 6
-    }
-  };
-  var stdin_default$18 = vue.defineComponent({
-    name: name$12,
-    props: calendarProps,
-    emits: ["select", "confirm", "unselect", "monthShow", "overRange", "update:show", "clickSubtitle"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const limitDateRange = (date, minDate = props.minDate, maxDate = props.maxDate) => {
-        if (compareDay(date, minDate) === -1) {
-          return minDate;
-        }
-        if (compareDay(date, maxDate) === 1) {
-          return maxDate;
-        }
-        return date;
-      };
-      const getInitialDate = (defaultDate = props.defaultDate) => {
-        const {
-          type,
-          minDate,
-          maxDate,
-          allowSameDay
-        } = props;
-        if (defaultDate === null) {
-          return defaultDate;
-        }
-        const now = getToday();
-        if (type === "range") {
-          if (!Array.isArray(defaultDate)) {
-            defaultDate = [];
-          }
-          const start2 = limitDateRange(defaultDate[0] || now, minDate, allowSameDay ? maxDate : getPrevDay(maxDate));
-          const end2 = limitDateRange(defaultDate[1] || now, allowSameDay ? minDate : getNextDay(minDate));
-          return [start2, end2];
-        }
-        if (type === "multiple") {
-          if (Array.isArray(defaultDate)) {
-            return defaultDate.map((date) => limitDateRange(date));
-          }
-          return [limitDateRange(now)];
-        }
-        if (!defaultDate || Array.isArray(defaultDate)) {
-          defaultDate = now;
-        }
-        return limitDateRange(defaultDate);
-      };
-      let bodyHeight;
-      const bodyRef = vue.ref();
-      const subtitle = vue.ref({
-        text: "",
-        date: void 0
-      });
-      const currentDate = vue.ref(getInitialDate());
-      const [monthRefs, setMonthRefs] = useRefs();
-      const dayOffset = vue.computed(() => props.firstDayOfWeek ? +props.firstDayOfWeek % 7 : 0);
-      const months = vue.computed(() => {
-        const months2 = [];
-        const cursor = new Date(props.minDate);
-        cursor.setDate(1);
-        do {
-          months2.push(new Date(cursor));
-          cursor.setMonth(cursor.getMonth() + 1);
-        } while (compareMonth(cursor, props.maxDate) !== 1);
-        return months2;
-      });
-      const buttonDisabled = vue.computed(() => {
-        if (currentDate.value) {
-          if (props.type === "range") {
-            return !currentDate.value[0] || !currentDate.value[1];
-          }
-          if (props.type === "multiple") {
-            return !currentDate.value.length;
-          }
-        }
-        return !currentDate.value;
-      });
-      const getSelectedDate = () => currentDate.value;
-      const onScroll = () => {
-        const top2 = getScrollTop(bodyRef.value);
-        const bottom2 = top2 + bodyHeight;
-        const heights = months.value.map((item, index) => monthRefs.value[index].getHeight());
-        const heightSum = heights.reduce((a, b) => a + b, 0);
-        if (bottom2 > heightSum && top2 > 0) {
-          return;
-        }
-        let height2 = 0;
-        let currentMonth;
-        const visibleRange = [-1, -1];
-        for (let i = 0; i < months.value.length; i++) {
-          const month = monthRefs.value[i];
-          const visible = height2 <= bottom2 && height2 + heights[i] >= top2;
-          if (visible) {
-            visibleRange[1] = i;
-            if (!currentMonth) {
-              currentMonth = month;
-              visibleRange[0] = i;
-            }
-            if (!monthRefs.value[i].showed) {
-              monthRefs.value[i].showed = true;
-              emit("monthShow", {
-                date: month.date,
-                title: month.getTitle()
-              });
-            }
-          }
-          height2 += heights[i];
-        }
-        months.value.forEach((month, index) => {
-          const visible = index >= visibleRange[0] - 1 && index <= visibleRange[1] + 1;
-          monthRefs.value[index].setVisible(visible);
-        });
-        if (currentMonth) {
-          subtitle.value = {
-            text: currentMonth.getTitle(),
-            date: currentMonth.date
-          };
-        }
-      };
-      const scrollToDate = (targetDate) => {
-        raf(() => {
-          months.value.some((month, index) => {
-            if (compareMonth(month, targetDate) === 0) {
-              if (bodyRef.value) {
-                monthRefs.value[index].scrollToDate(bodyRef.value, targetDate);
-              }
-              return true;
-            }
-            return false;
-          });
-          onScroll();
-        });
-      };
-      const scrollToCurrentDate = () => {
-        if (props.poppable && !props.show) {
-          return;
-        }
-        if (currentDate.value) {
-          const targetDate = props.type === "single" ? currentDate.value : currentDate.value[0];
-          if (isDate(targetDate)) {
-            scrollToDate(targetDate);
-          }
-        } else {
-          raf(onScroll);
-        }
-      };
-      const init = () => {
-        if (props.poppable && !props.show) {
-          return;
-        }
-        raf(() => {
-          bodyHeight = Math.floor(useRect(bodyRef).height);
-        });
-        scrollToCurrentDate();
-      };
-      const reset = (date = getInitialDate()) => {
-        currentDate.value = date;
-        scrollToCurrentDate();
-      };
-      const checkRange = (date) => {
-        const {
-          maxRange,
-          rangePrompt,
-          showRangePrompt
-        } = props;
-        if (maxRange && calcDateNum(date) > +maxRange) {
-          if (showRangePrompt) {
-            showToast(rangePrompt || t$f("rangePrompt", maxRange));
-          }
-          emit("overRange");
-          return false;
-        }
-        return true;
-      };
-      const onConfirm = () => {
-        var _a;
-        return emit("confirm", (_a = currentDate.value) != null ? _a : cloneDates(currentDate.value));
-      };
-      const select = (date, complete) => {
-        const setCurrentDate = (date2) => {
-          currentDate.value = date2;
-          emit("select", cloneDates(date2));
-        };
-        if (complete && props.type === "range") {
-          const valid = checkRange(date);
-          if (!valid) {
-            setCurrentDate([date[0], getDayByOffset(date[0], +props.maxRange - 1)]);
-            return;
-          }
-        }
-        setCurrentDate(date);
-        if (complete && !props.showConfirm) {
-          onConfirm();
-        }
-      };
-      const getDisabledDate = (disabledDays2, startDay, date) => {
-        var _a;
-        return (_a = disabledDays2.find((day) => compareDay(startDay, day.date) === -1 && compareDay(day.date, date) === -1)) == null ? void 0 : _a.date;
-      };
-      const disabledDays = vue.computed(() => monthRefs.value.reduce((arr, ref2) => {
-        var _a, _b;
-        arr.push(...(_b = (_a = ref2.disabledDays) == null ? void 0 : _a.value) != null ? _b : []);
-        return arr;
-      }, []));
-      const onClickDay = (item) => {
-        if (props.readonly || !item.date) {
-          return;
-        }
-        const {
-          date
-        } = item;
-        const {
-          type
-        } = props;
-        if (type === "range") {
-          if (!currentDate.value) {
-            select([date]);
-            return;
-          }
-          const [startDay, endDay] = currentDate.value;
-          if (startDay && !endDay) {
-            const compareToStart = compareDay(date, startDay);
-            if (compareToStart === 1) {
-              const disabledDay = getDisabledDate(disabledDays.value, startDay, date);
-              if (disabledDay) {
-                const endDay2 = getPrevDay(disabledDay);
-                if (compareDay(startDay, endDay2) === -1) {
-                  select([startDay, endDay2]);
-                } else {
-                  select([date]);
-                }
-              } else {
-                select([startDay, date], true);
-              }
-            } else if (compareToStart === -1) {
-              select([date]);
-            } else if (props.allowSameDay) {
-              select([date, date], true);
-            }
-          } else {
-            select([date]);
-          }
-        } else if (type === "multiple") {
-          if (!currentDate.value) {
-            select([date]);
-            return;
-          }
-          const dates = currentDate.value;
-          const selectedIndex = dates.findIndex((dateItem) => compareDay(dateItem, date) === 0);
-          if (selectedIndex !== -1) {
-            const [unselectedDate] = dates.splice(selectedIndex, 1);
-            emit("unselect", cloneDate(unselectedDate));
-          } else if (props.maxRange && dates.length >= +props.maxRange) {
-            showToast(props.rangePrompt || t$f("rangePrompt", props.maxRange));
-          } else {
-            select([...dates, date]);
-          }
-        } else {
-          select(date, true);
-        }
-      };
-      const updateShow = (value) => emit("update:show", value);
-      const renderMonth = (date, index) => {
-        const showMonthTitle = index !== 0 || !props.showSubtitle;
-        return vue.createVNode(stdin_default$1a, vue.mergeProps({
-          "ref": setMonthRefs(index),
-          "date": date,
-          "currentDate": currentDate.value,
-          "showMonthTitle": showMonthTitle,
-          "firstDayOfWeek": dayOffset.value
-        }, pick(props, ["type", "color", "minDate", "maxDate", "showMark", "formatter", "rowHeight", "lazyRender", "showSubtitle", "allowSameDay"]), {
-          "onClick": onClickDay
-        }), pick(slots, ["top-info", "bottom-info", "month-title"]));
-      };
-      const renderFooterButton = () => {
-        if (slots.footer) {
-          return slots.footer();
-        }
-        if (props.showConfirm) {
-          const slot = slots["confirm-text"];
-          const disabled = buttonDisabled.value;
-          const text = disabled ? props.confirmDisabledText : props.confirmText;
-          return vue.createVNode(Button, {
-            "round": true,
-            "block": true,
-            "type": "primary",
-            "color": props.color,
-            "class": bem$_("confirm"),
-            "disabled": disabled,
-            "nativeType": "button",
-            "onClick": onConfirm
-          }, {
-            default: () => [slot ? slot({
-              disabled
-            }) : text || t$f("confirm")]
-          });
-        }
-      };
-      const renderFooter = () => vue.createVNode("div", {
-        "class": [bem$_("footer"), {
-          "van-safe-area-bottom": props.safeAreaInsetBottom
-        }]
-      }, [renderFooterButton()]);
-      const renderCalendar = () => vue.createVNode("div", {
-        "class": bem$_()
-      }, [vue.createVNode(stdin_default$19, {
-        "date": subtitle.value.date,
-        "title": props.title,
-        "subtitle": subtitle.value.text,
-        "showTitle": props.showTitle,
-        "showSubtitle": props.showSubtitle,
-        "firstDayOfWeek": dayOffset.value,
-        "onClickSubtitle": (event) => emit("clickSubtitle", event)
-      }, pick(slots, ["title", "subtitle"])), vue.createVNode("div", {
-        "ref": bodyRef,
-        "class": bem$_("body"),
-        "onScroll": onScroll
-      }, [months.value.map(renderMonth)]), renderFooter()]);
-      vue.watch(() => props.show, init);
-      vue.watch(() => [props.type, props.minDate, props.maxDate], () => reset(getInitialDate(currentDate.value)));
-      vue.watch(() => props.defaultDate, (value = null) => {
-        currentDate.value = value;
-        scrollToCurrentDate();
-      });
-      useExpose({
-        reset,
-        scrollToDate,
-        getSelectedDate
-      });
-      onMountedOrActivated(init);
-      return () => {
-        if (props.poppable) {
-          return vue.createVNode(Popup, {
-            "show": props.show,
-            "class": bem$_("popup"),
-            "round": props.round,
-            "position": props.position,
-            "closeable": props.showTitle || props.showSubtitle,
-            "teleport": props.teleport,
-            "closeOnPopstate": props.closeOnPopstate,
-            "safeAreaInsetTop": props.safeAreaInsetTop,
-            "closeOnClickOverlay": props.closeOnClickOverlay,
-            "onUpdate:show": updateShow
-          }, {
-            default: renderCalendar
-          });
-        }
-        return renderCalendar();
-      };
-    }
-  });
-  const Calendar = withInstall(stdin_default$18);
-  const [name$_, bem$Z] = createNamespace("image");
-  const imageProps = {
-    src: String,
-    alt: String,
-    fit: String,
-    position: String,
-    round: Boolean,
-    block: Boolean,
-    width: numericProp,
-    height: numericProp,
-    radius: numericProp,
-    lazyLoad: Boolean,
-    iconSize: numericProp,
-    showError: truthProp,
-    errorIcon: makeStringProp("photo-fail"),
-    iconPrefix: String,
-    showLoading: truthProp,
-    loadingIcon: makeStringProp("photo")
-  };
-  var stdin_default$17 = vue.defineComponent({
-    name: name$_,
-    props: imageProps,
-    emits: ["load", "error"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const error = vue.ref(false);
-      const loading = vue.ref(true);
-      const imageRef = vue.ref();
-      const {
-        $Lazyload
-      } = vue.getCurrentInstance().proxy;
-      const style = vue.computed(() => {
-        const style2 = {
-          width: addUnit(props.width),
-          height: addUnit(props.height)
-        };
-        if (isDef(props.radius)) {
-          style2.overflow = "hidden";
-          style2.borderRadius = addUnit(props.radius);
-        }
-        return style2;
-      });
-      vue.watch(() => props.src, () => {
-        error.value = false;
-        loading.value = true;
-      });
-      const onLoad = (event) => {
-        if (loading.value) {
-          loading.value = false;
-          emit("load", event);
-        }
-      };
-      const triggerLoad = () => {
-        const loadEvent = new Event("load");
-        Object.defineProperty(loadEvent, "target", {
-          value: imageRef.value,
-          enumerable: true
-        });
-        onLoad(loadEvent);
-      };
-      const onError = (event) => {
-        error.value = true;
-        loading.value = false;
-        emit("error", event);
-      };
-      const renderIcon = (name2, className, slot) => {
-        if (slot) {
-          return slot();
-        }
-        return vue.createVNode(Icon, {
-          "name": name2,
-          "size": props.iconSize,
-          "class": className,
-          "classPrefix": props.iconPrefix
-        }, null);
-      };
-      const renderPlaceholder = () => {
-        if (loading.value && props.showLoading) {
-          return vue.createVNode("div", {
-            "class": bem$Z("loading")
-          }, [renderIcon(props.loadingIcon, bem$Z("loading-icon"), slots.loading)]);
-        }
-        if (error.value && props.showError) {
-          return vue.createVNode("div", {
-            "class": bem$Z("error")
-          }, [renderIcon(props.errorIcon, bem$Z("error-icon"), slots.error)]);
-        }
-      };
-      const renderImage = () => {
-        if (error.value || !props.src) {
-          return;
-        }
-        const attrs = {
-          alt: props.alt,
-          class: bem$Z("img"),
-          style: {
-            objectFit: props.fit,
-            objectPosition: props.position
-          }
-        };
-        if (props.lazyLoad) {
-          return vue.withDirectives(vue.createVNode("img", vue.mergeProps({
-            "ref": imageRef
-          }, attrs), null), [[vue.resolveDirective("lazy"), props.src]]);
-        }
-        return vue.createVNode("img", vue.mergeProps({
-          "ref": imageRef,
-          "src": props.src,
-          "onLoad": onLoad,
-          "onError": onError
-        }, attrs), null);
-      };
-      const onLazyLoaded = ({
-        el
-      }) => {
-        const check = () => {
-          if (el === imageRef.value && loading.value) {
-            triggerLoad();
-          }
-        };
-        if (imageRef.value) {
-          check();
-        } else {
-          vue.nextTick(check);
-        }
-      };
-      const onLazyLoadError = ({
-        el
-      }) => {
-        if (el === imageRef.value && !error.value) {
-          onError();
-        }
-      };
-      if ($Lazyload && inBrowser$1) {
-        $Lazyload.$on("loaded", onLazyLoaded);
-        $Lazyload.$on("error", onLazyLoadError);
-        vue.onBeforeUnmount(() => {
-          $Lazyload.$off("loaded", onLazyLoaded);
-          $Lazyload.$off("error", onLazyLoadError);
-        });
-      }
-      vue.onMounted(() => {
-        vue.nextTick(() => {
-          var _a;
-          if ((_a = imageRef.value) == null ? void 0 : _a.complete) {
-            triggerLoad();
-          }
-        });
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "class": bem$Z({
-            round: props.round,
-            block: props.block
-          }),
-          "style": style.value
-        }, [renderImage(), renderPlaceholder(), (_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-    }
-  });
-  const Image$1 = withInstall(stdin_default$17);
-  const [name$Z, bem$Y] = createNamespace("card");
-  const cardProps = {
-    tag: String,
-    num: numericProp,
-    desc: String,
-    thumb: String,
-    title: String,
-    price: numericProp,
-    centered: Boolean,
-    lazyLoad: Boolean,
-    currency: makeStringProp("¥"),
-    thumbLink: String,
-    originPrice: numericProp
-  };
-  var stdin_default$16 = vue.defineComponent({
-    name: name$Z,
-    props: cardProps,
-    emits: ["clickThumb"],
-    setup(props, {
-      slots,
-      emit
-    }) {
-      const renderTitle = () => {
-        if (slots.title) {
-          return slots.title();
-        }
-        if (props.title) {
-          return vue.createVNode("div", {
-            "class": [bem$Y("title"), "van-multi-ellipsis--l2"]
-          }, [props.title]);
-        }
-      };
-      const renderThumbTag = () => {
-        if (slots.tag || props.tag) {
-          return vue.createVNode("div", {
-            "class": bem$Y("tag")
-          }, [slots.tag ? slots.tag() : vue.createVNode(Tag, {
-            "mark": true,
-            "type": "primary"
-          }, {
-            default: () => [props.tag]
-          })]);
-        }
-      };
-      const renderThumbImage = () => {
-        if (slots.thumb) {
-          return slots.thumb();
-        }
-        return vue.createVNode(Image$1, {
-          "src": props.thumb,
-          "fit": "cover",
-          "width": "100%",
-          "height": "100%",
-          "lazyLoad": props.lazyLoad
-        }, null);
-      };
-      const renderThumb = () => {
-        if (slots.thumb || props.thumb) {
-          return vue.createVNode("a", {
-            "href": props.thumbLink,
-            "class": bem$Y("thumb"),
-            "onClick": (event) => emit("clickThumb", event)
-          }, [renderThumbImage(), renderThumbTag()]);
-        }
-      };
-      const renderDesc = () => {
-        if (slots.desc) {
-          return slots.desc();
-        }
-        if (props.desc) {
-          return vue.createVNode("div", {
-            "class": [bem$Y("desc"), "van-ellipsis"]
-          }, [props.desc]);
-        }
-      };
-      const renderPriceText = () => {
-        const priceArr = props.price.toString().split(".");
-        return vue.createVNode("div", null, [vue.createVNode("span", {
-          "class": bem$Y("price-currency")
-        }, [props.currency]), vue.createVNode("span", {
-          "class": bem$Y("price-integer")
-        }, [priceArr[0]]), vue.createTextVNode("."), vue.createVNode("span", {
-          "class": bem$Y("price-decimal")
-        }, [priceArr[1]])]);
-      };
-      return () => {
-        var _a, _b, _c;
-        const showNum = slots.num || isDef(props.num);
-        const showPrice = slots.price || isDef(props.price);
-        const showOriginPrice = slots["origin-price"] || isDef(props.originPrice);
-        const showBottom = showNum || showPrice || showOriginPrice || slots.bottom;
-        const Price = showPrice && vue.createVNode("div", {
-          "class": bem$Y("price")
-        }, [slots.price ? slots.price() : renderPriceText()]);
-        const OriginPrice = showOriginPrice && vue.createVNode("div", {
-          "class": bem$Y("origin-price")
-        }, [slots["origin-price"] ? slots["origin-price"]() : `${props.currency} ${props.originPrice}`]);
-        const Num = showNum && vue.createVNode("div", {
-          "class": bem$Y("num")
-        }, [slots.num ? slots.num() : `x${props.num}`]);
-        const Footer = slots.footer && vue.createVNode("div", {
-          "class": bem$Y("footer")
-        }, [slots.footer()]);
-        const Bottom = showBottom && vue.createVNode("div", {
-          "class": bem$Y("bottom")
-        }, [(_a = slots["price-top"]) == null ? void 0 : _a.call(slots), Price, OriginPrice, Num, (_b = slots.bottom) == null ? void 0 : _b.call(slots)]);
-        return vue.createVNode("div", {
-          "class": bem$Y()
-        }, [vue.createVNode("div", {
-          "class": bem$Y("header")
-        }, [renderThumb(), vue.createVNode("div", {
-          "class": bem$Y("content", {
-            centered: props.centered
-          })
-        }, [vue.createVNode("div", null, [renderTitle(), renderDesc(), (_c = slots.tags) == null ? void 0 : _c.call(slots)]), Bottom])]), Footer]);
-      };
-    }
-  });
-  const Card = withInstall(stdin_default$16);
-  const [name$Y, bem$X, t$e] = createNamespace("cascader");
-  const cascaderProps = {
-    title: String,
-    options: makeArrayProp(),
-    closeable: truthProp,
-    swipeable: truthProp,
-    closeIcon: makeStringProp("cross"),
-    showHeader: truthProp,
-    modelValue: numericProp,
-    fieldNames: Object,
-    placeholder: String,
-    activeColor: String
-  };
-  var stdin_default$15 = vue.defineComponent({
-    name: name$Y,
-    props: cascaderProps,
-    emits: ["close", "change", "finish", "clickTab", "update:modelValue"],
-    setup(props, {
-      slots,
-      emit
-    }) {
-      const tabs = vue.ref([]);
-      const activeTab = vue.ref(0);
-      const {
-        text: textKey,
-        value: valueKey,
-        children: childrenKey
-      } = extend({
-        text: "text",
-        value: "value",
-        children: "children"
-      }, props.fieldNames);
-      const getSelectedOptionsByValue = (options, value) => {
-        for (const option of options) {
-          if (option[valueKey] === value) {
-            return [option];
-          }
-          if (option[childrenKey]) {
-            const selectedOptions = getSelectedOptionsByValue(option[childrenKey], value);
-            if (selectedOptions) {
-              return [option, ...selectedOptions];
-            }
-          }
-        }
-      };
-      const updateTabs = () => {
-        const {
-          options,
-          modelValue
-        } = props;
-        if (modelValue !== void 0) {
-          const selectedOptions = getSelectedOptionsByValue(options, modelValue);
-          if (selectedOptions) {
-            let optionsCursor = options;
-            tabs.value = selectedOptions.map((option) => {
-              const tab = {
-                options: optionsCursor,
-                selected: option
-              };
-              const next = optionsCursor.find((item) => item[valueKey] === option[valueKey]);
-              if (next) {
-                optionsCursor = next[childrenKey];
-              }
-              return tab;
-            });
-            if (optionsCursor) {
-              tabs.value.push({
-                options: optionsCursor,
-                selected: null
-              });
-            }
-            vue.nextTick(() => {
-              activeTab.value = tabs.value.length - 1;
-            });
-            return;
-          }
-        }
-        tabs.value = [{
-          options,
-          selected: null
-        }];
-      };
-      const onSelect = (option, tabIndex) => {
-        if (option.disabled) {
-          return;
-        }
-        tabs.value[tabIndex].selected = option;
-        if (tabs.value.length > tabIndex + 1) {
-          tabs.value = tabs.value.slice(0, tabIndex + 1);
-        }
-        if (option[childrenKey]) {
-          const nextTab = {
-            options: option[childrenKey],
-            selected: null
-          };
-          if (tabs.value[tabIndex + 1]) {
-            tabs.value[tabIndex + 1] = nextTab;
-          } else {
-            tabs.value.push(nextTab);
-          }
-          vue.nextTick(() => {
-            activeTab.value++;
-          });
-        }
-        const selectedOptions = tabs.value.map((tab) => tab.selected).filter(Boolean);
-        emit("update:modelValue", option[valueKey]);
-        const params = {
-          value: option[valueKey],
-          tabIndex,
-          selectedOptions
-        };
-        emit("change", params);
-        if (!option[childrenKey]) {
-          emit("finish", params);
-        }
-      };
-      const onClose = () => emit("close");
-      const onClickTab = ({
-        name: name2,
-        title
-      }) => emit("clickTab", name2, title);
-      const renderHeader = () => props.showHeader ? vue.createVNode("div", {
-        "class": bem$X("header")
-      }, [vue.createVNode("h2", {
-        "class": bem$X("title")
-      }, [slots.title ? slots.title() : props.title]), props.closeable ? vue.createVNode(Icon, {
-        "name": props.closeIcon,
-        "class": [bem$X("close-icon"), HAPTICS_FEEDBACK],
-        "onClick": onClose
-      }, null) : null]) : null;
-      const renderOption = (option, selectedOption, tabIndex) => {
-        const {
-          disabled
-        } = option;
-        const selected = !!(selectedOption && option[valueKey] === selectedOption[valueKey]);
-        const color = option.color || (selected ? props.activeColor : void 0);
-        const Text = slots.option ? slots.option({
-          option,
-          selected
-        }) : vue.createVNode("span", null, [option[textKey]]);
-        return vue.createVNode("li", {
-          "role": "menuitemradio",
-          "class": [bem$X("option", {
-            selected,
-            disabled
-          }), option.className],
-          "style": {
-            color
-          },
-          "tabindex": disabled ? void 0 : selected ? 0 : -1,
-          "aria-checked": selected,
-          "aria-disabled": disabled || void 0,
-          "onClick": () => onSelect(option, tabIndex)
-        }, [Text, selected ? vue.createVNode(Icon, {
-          "name": "success",
-          "class": bem$X("selected-icon")
-        }, null) : null]);
-      };
-      const renderOptions = (options, selectedOption, tabIndex) => vue.createVNode("ul", {
-        "role": "menu",
-        "class": bem$X("options")
-      }, [options.map((option) => renderOption(option, selectedOption, tabIndex))]);
-      const renderTab = (tab, tabIndex) => {
-        const {
-          options,
-          selected
-        } = tab;
-        const placeholder = props.placeholder || t$e("select");
-        const title = selected ? selected[textKey] : placeholder;
-        return vue.createVNode(Tab, {
-          "title": title,
-          "titleClass": bem$X("tab", {
-            unselected: !selected
-          })
-        }, {
-          default: () => {
-            var _a, _b;
-            return [(_a = slots["options-top"]) == null ? void 0 : _a.call(slots, {
-              tabIndex
-            }), renderOptions(options, selected, tabIndex), (_b = slots["options-bottom"]) == null ? void 0 : _b.call(slots, {
-              tabIndex
-            })];
-          }
-        });
-      };
-      const renderTabs = () => vue.createVNode(Tabs, {
-        "active": activeTab.value,
-        "onUpdate:active": ($event) => activeTab.value = $event,
-        "shrink": true,
-        "animated": true,
-        "class": bem$X("tabs"),
-        "color": props.activeColor,
-        "swipeable": props.swipeable,
-        "onClickTab": onClickTab
-      }, {
-        default: () => [tabs.value.map(renderTab)]
-      });
-      updateTabs();
-      vue.watch(() => props.options, updateTabs, {
-        deep: true
-      });
-      vue.watch(() => props.modelValue, (value) => {
-        if (value !== void 0) {
-          const values = tabs.value.map((tab) => {
-            var _a;
-            return (_a = tab.selected) == null ? void 0 : _a[valueKey];
-          });
-          if (values.includes(value)) {
-            return;
-          }
-        }
-        updateTabs();
-      });
-      return () => vue.createVNode("div", {
-        "class": bem$X()
-      }, [renderHeader(), renderTabs()]);
-    }
-  });
-  const Cascader = withInstall(stdin_default$15);
-  const [name$X, bem$W] = createNamespace("cell-group");
-  const cellGroupProps = {
-    title: String,
-    inset: Boolean,
-    border: truthProp
-  };
-  var stdin_default$14 = vue.defineComponent({
-    name: name$X,
-    inheritAttrs: false,
-    props: cellGroupProps,
-    setup(props, {
-      slots,
-      attrs
-    }) {
-      const renderGroup = () => {
-        var _a;
-        return vue.createVNode("div", vue.mergeProps({
-          "class": [bem$W({
-            inset: props.inset
-          }), {
-            [BORDER_TOP_BOTTOM]: props.border && !props.inset
-          }]
-        }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-      const renderTitle = () => vue.createVNode("div", {
-        "class": bem$W("title", {
-          inset: props.inset
-        })
-      }, [slots.title ? slots.title() : props.title]);
-      return () => {
-        if (props.title || slots.title) {
-          return vue.createVNode(vue.Fragment, null, [renderTitle(), renderGroup()]);
-        }
-        return renderGroup();
-      };
-    }
-  });
-  const CellGroup = withInstall(stdin_default$14);
-  const [name$W, bem$V] = createNamespace("checkbox-group");
-  const checkboxGroupProps = {
-    max: numericProp,
-    disabled: Boolean,
-    iconSize: numericProp,
-    direction: String,
-    modelValue: makeArrayProp(),
-    checkedColor: String
-  };
-  const CHECKBOX_GROUP_KEY = Symbol(name$W);
-  var stdin_default$13 = vue.defineComponent({
-    name: name$W,
-    props: checkboxGroupProps,
-    emits: ["change", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const {
-        children,
-        linkChildren
-      } = useChildren(CHECKBOX_GROUP_KEY);
-      const updateValue = (value) => emit("update:modelValue", value);
-      const toggleAll = (options = {}) => {
-        if (typeof options === "boolean") {
-          options = {
-            checked: options
-          };
-        }
-        const {
-          checked,
-          skipDisabled
-        } = options;
-        const checkedChildren = children.filter((item) => {
-          if (!item.props.bindGroup) {
-            return false;
-          }
-          if (item.props.disabled && skipDisabled) {
-            return item.checked.value;
-          }
-          return checked != null ? checked : !item.checked.value;
-        });
-        const names = checkedChildren.map((item) => item.name);
-        updateValue(names);
-      };
-      vue.watch(() => props.modelValue, (value) => emit("change", value));
-      useExpose({
-        toggleAll
-      });
-      useCustomFieldValue(() => props.modelValue);
-      linkChildren({
-        props,
-        updateValue
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "class": bem$V([props.direction])
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-    }
-  });
-  const [name$V, bem$U] = createNamespace("checkbox");
-  const checkboxProps = extend({}, checkerProps, {
-    bindGroup: truthProp
-  });
-  var stdin_default$12 = vue.defineComponent({
-    name: name$V,
-    props: checkboxProps,
-    emits: ["change", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const {
-        parent
-      } = useParent(CHECKBOX_GROUP_KEY);
-      const setParentValue = (checked2) => {
-        const {
-          name: name2
-        } = props;
-        const {
-          max,
-          modelValue
-        } = parent.props;
-        const value = modelValue.slice();
-        if (checked2) {
-          const overlimit = max && value.length >= +max;
-          if (!overlimit && !value.includes(name2)) {
-            value.push(name2);
-            if (props.bindGroup) {
-              parent.updateValue(value);
-            }
-          }
-        } else {
-          const index = value.indexOf(name2);
-          if (index !== -1) {
-            value.splice(index, 1);
-            if (props.bindGroup) {
-              parent.updateValue(value);
-            }
-          }
-        }
-      };
-      const checked = vue.computed(() => {
-        if (parent && props.bindGroup) {
-          return parent.props.modelValue.indexOf(props.name) !== -1;
-        }
-        return !!props.modelValue;
-      });
-      const toggle = (newValue = !checked.value) => {
-        if (parent && props.bindGroup) {
-          setParentValue(newValue);
-        } else {
-          emit("update:modelValue", newValue);
-        }
-      };
-      vue.watch(() => props.modelValue, (value) => emit("change", value));
-      useExpose({
-        toggle,
-        props,
-        checked
-      });
-      useCustomFieldValue(() => props.modelValue);
-      return () => vue.createVNode(stdin_default$1g, vue.mergeProps({
-        "bem": bem$U,
-        "role": "checkbox",
-        "parent": parent,
-        "checked": checked.value,
-        "onToggle": toggle
-      }, props), pick(slots, ["default", "icon"]));
-    }
-  });
-  const Checkbox = withInstall(stdin_default$12);
-  const CheckboxGroup = withInstall(stdin_default$13);
-  const [name$U, bem$T] = createNamespace("circle");
-  let uid = 0;
-  const format$1 = (rate) => Math.min(Math.max(+rate, 0), 100);
-  function getPath(clockwise, viewBoxSize) {
-    const sweepFlag = clockwise ? 1 : 0;
-    return `M ${viewBoxSize / 2} ${viewBoxSize / 2} m 0, -500 a 500, 500 0 1, ${sweepFlag} 0, 1000 a 500, 500 0 1, ${sweepFlag} 0, -1000`;
-  }
-  const circleProps = {
-    text: String,
-    size: numericProp,
-    fill: makeStringProp("none"),
-    rate: makeNumericProp(100),
-    speed: makeNumericProp(0),
-    color: [String, Object],
-    clockwise: truthProp,
-    layerColor: String,
-    currentRate: makeNumberProp(0),
-    strokeWidth: makeNumericProp(40),
-    strokeLinecap: String,
-    startPosition: makeStringProp("top")
-  };
-  var stdin_default$11 = vue.defineComponent({
-    name: name$U,
-    props: circleProps,
-    emits: ["update:currentRate"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const id = `van-circle-${uid++}`;
-      const viewBoxSize = vue.computed(() => +props.strokeWidth + 1e3);
-      const path = vue.computed(() => getPath(props.clockwise, viewBoxSize.value));
-      const svgStyle = vue.computed(() => {
-        const ROTATE_ANGLE_MAP = {
-          top: 0,
-          right: 90,
-          bottom: 180,
-          left: 270
-        };
-        const angleValue = ROTATE_ANGLE_MAP[props.startPosition];
-        if (angleValue) {
-          return {
-            transform: `rotate(${angleValue}deg)`
-          };
-        }
-      });
-      vue.watch(() => props.rate, (rate) => {
-        let rafId;
-        const startTime = Date.now();
-        const startRate = props.currentRate;
-        const endRate = format$1(rate);
-        const duration = Math.abs((startRate - endRate) * 1e3 / +props.speed);
-        const animate = () => {
-          const now = Date.now();
-          const progress = Math.min((now - startTime) / duration, 1);
-          const rate2 = progress * (endRate - startRate) + startRate;
-          emit("update:currentRate", format$1(parseFloat(rate2.toFixed(1))));
-          if (endRate > startRate ? rate2 < endRate : rate2 > endRate) {
-            rafId = raf(animate);
-          }
-        };
-        if (props.speed) {
-          if (rafId) {
-            cancelRaf(rafId);
-          }
-          rafId = raf(animate);
-        } else {
-          emit("update:currentRate", endRate);
-        }
-      }, {
-        immediate: true
-      });
-      const renderHover = () => {
-        const PERIMETER = 3140;
-        const {
-          strokeWidth,
-          currentRate,
-          strokeLinecap
-        } = props;
-        const offset2 = PERIMETER * currentRate / 100;
-        const color = isObject(props.color) ? `url(#${id})` : props.color;
-        const style = {
-          stroke: color,
-          strokeWidth: `${+strokeWidth + 1}px`,
-          strokeLinecap,
-          strokeDasharray: `${offset2}px ${PERIMETER}px`
-        };
-        return vue.createVNode("path", {
-          "d": path.value,
-          "style": style,
-          "class": bem$T("hover"),
-          "stroke": color
-        }, null);
-      };
-      const renderLayer = () => {
-        const style = {
-          fill: props.fill,
-          stroke: props.layerColor,
-          strokeWidth: `${props.strokeWidth}px`
-        };
-        return vue.createVNode("path", {
-          "class": bem$T("layer"),
-          "style": style,
-          "d": path.value
-        }, null);
-      };
-      const renderGradient = () => {
-        const {
-          color
-        } = props;
-        if (!isObject(color)) {
-          return;
-        }
-        const Stops = Object.keys(color).sort((a, b) => parseFloat(a) - parseFloat(b)).map((key, index) => vue.createVNode("stop", {
-          "key": index,
-          "offset": key,
-          "stop-color": color[key]
-        }, null));
-        return vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
-          "id": id,
-          "x1": "100%",
-          "y1": "0%",
-          "x2": "0%",
-          "y2": "0%"
-        }, [Stops])]);
-      };
-      const renderText = () => {
-        if (slots.default) {
-          return slots.default();
-        }
-        if (props.text) {
-          return vue.createVNode("div", {
-            "class": bem$T("text")
-          }, [props.text]);
-        }
-      };
-      return () => vue.createVNode("div", {
-        "class": bem$T(),
-        "style": getSizeStyle(props.size)
-      }, [vue.createVNode("svg", {
-        "viewBox": `0 0 ${viewBoxSize.value} ${viewBoxSize.value}`,
-        "style": svgStyle.value
-      }, [renderGradient(), renderLayer(), renderHover()]), renderText()]);
-    }
-  });
-  const Circle = withInstall(stdin_default$11);
-  const [name$T, bem$S] = createNamespace("row");
-  const ROW_KEY = Symbol(name$T);
-  const rowProps = {
-    tag: makeStringProp("div"),
-    wrap: truthProp,
-    align: String,
-    gutter: makeNumericProp(0),
-    justify: String
-  };
-  var stdin_default$10 = vue.defineComponent({
-    name: name$T,
-    props: rowProps,
-    setup(props, {
-      slots
-    }) {
-      const {
-        children,
-        linkChildren
-      } = useChildren(ROW_KEY);
-      const groups = vue.computed(() => {
-        const groups2 = [[]];
-        let totalSpan = 0;
-        children.forEach((child, index) => {
-          totalSpan += Number(child.span);
-          if (totalSpan > 24) {
-            groups2.push([index]);
-            totalSpan -= 24;
-          } else {
-            groups2[groups2.length - 1].push(index);
-          }
-        });
-        return groups2;
-      });
-      const spaces = vue.computed(() => {
-        const gutter = Number(props.gutter);
-        const spaces2 = [];
-        if (!gutter) {
-          return spaces2;
-        }
-        groups.value.forEach((group) => {
-          const averagePadding = gutter * (group.length - 1) / group.length;
-          group.forEach((item, index) => {
-            if (index === 0) {
-              spaces2.push({
-                right: averagePadding
-              });
-            } else {
-              const left2 = gutter - spaces2[item - 1].right;
-              const right2 = averagePadding - left2;
-              spaces2.push({
-                left: left2,
-                right: right2
-              });
-            }
-          });
-        });
-        return spaces2;
-      });
-      linkChildren({
-        spaces
-      });
-      return () => {
-        const {
-          tag,
-          wrap,
-          align,
-          justify
-        } = props;
-        return vue.createVNode(tag, {
-          "class": bem$S({
-            [`align-${align}`]: align,
-            [`justify-${justify}`]: justify,
-            nowrap: !wrap
-          })
-        }, {
-          default: () => {
-            var _a;
-            return [(_a = slots.default) == null ? void 0 : _a.call(slots)];
-          }
-        });
-      };
-    }
-  });
-  const [name$S, bem$R] = createNamespace("col");
-  const colProps = {
-    tag: makeStringProp("div"),
-    span: makeNumericProp(0),
-    offset: numericProp
-  };
-  var stdin_default$$ = vue.defineComponent({
-    name: name$S,
-    props: colProps,
-    setup(props, {
-      slots
-    }) {
-      const {
-        parent,
-        index
-      } = useParent(ROW_KEY);
-      const style = vue.computed(() => {
-        if (!parent) {
-          return;
-        }
-        const {
-          spaces
-        } = parent;
-        if (spaces && spaces.value && spaces.value[index.value]) {
-          const {
-            left: left2,
-            right: right2
-          } = spaces.value[index.value];
-          return {
-            paddingLeft: left2 ? `${left2}px` : null,
-            paddingRight: right2 ? `${right2}px` : null
-          };
-        }
-      });
-      return () => {
-        const {
-          tag,
-          span,
-          offset: offset2
-        } = props;
-        return vue.createVNode(tag, {
-          "style": style.value,
-          "class": bem$R({
-            [span]: span,
-            [`offset-${offset2}`]: offset2
-          })
-        }, {
-          default: () => {
-            var _a;
-            return [(_a = slots.default) == null ? void 0 : _a.call(slots)];
-          }
-        });
-      };
-    }
-  });
-  const Col = withInstall(stdin_default$$);
-  const [name$R, bem$Q] = createNamespace("collapse");
-  const COLLAPSE_KEY = Symbol(name$R);
-  const collapseProps = {
-    border: truthProp,
-    accordion: Boolean,
-    modelValue: {
-      type: [String, Number, Array],
-      default: ""
-    }
-  };
-  var stdin_default$_ = vue.defineComponent({
-    name: name$R,
-    props: collapseProps,
-    emits: ["change", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const {
-        linkChildren,
-        children
-      } = useChildren(COLLAPSE_KEY);
-      const updateName = (name2) => {
-        emit("change", name2);
-        emit("update:modelValue", name2);
-      };
-      const toggle = (name2, expanded) => {
-        const {
-          accordion,
-          modelValue
-        } = props;
-        if (accordion) {
-          updateName(name2 === modelValue ? "" : name2);
-        } else if (expanded) {
-          updateName(modelValue.concat(name2));
-        } else {
-          updateName(modelValue.filter((activeName) => activeName !== name2));
-        }
-      };
-      const toggleAll = (options = {}) => {
-        if (props.accordion) {
-          return;
-        }
-        if (typeof options === "boolean") {
-          options = {
-            expanded: options
-          };
-        }
-        const {
-          expanded,
-          skipDisabled
-        } = options;
-        const expandedChildren = children.filter((item) => {
-          if (item.disabled && skipDisabled) {
-            return item.expanded.value;
-          }
-          return expanded != null ? expanded : !item.expanded.value;
-        });
-        const names = expandedChildren.map((item) => item.itemName.value);
-        updateName(names);
-      };
-      const isExpanded = (name2) => {
-        const {
-          accordion,
-          modelValue
-        } = props;
-        return accordion ? modelValue === name2 : modelValue.includes(name2);
-      };
-      useExpose({
-        toggleAll
-      });
-      linkChildren({
-        toggle,
-        isExpanded
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "class": [bem$Q(), {
-            [BORDER_TOP_BOTTOM]: props.border
-          }]
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-    }
-  });
-  const Collapse = withInstall(stdin_default$_);
-  const [name$Q, bem$P] = createNamespace("collapse-item");
-  const CELL_SLOTS = ["icon", "title", "value", "label", "right-icon"];
-  const collapseItemProps = extend({}, cellSharedProps, {
-    name: numericProp,
-    isLink: truthProp,
-    disabled: Boolean,
-    readonly: Boolean,
-    lazyRender: truthProp
-  });
-  var stdin_default$Z = vue.defineComponent({
-    name: name$Q,
-    props: collapseItemProps,
-    setup(props, {
-      slots
-    }) {
-      const wrapperRef = vue.ref();
-      const contentRef = vue.ref();
-      const {
-        parent,
-        index
-      } = useParent(COLLAPSE_KEY);
-      if (!parent) {
-        return;
-      }
-      const name2 = vue.computed(() => {
-        var _a;
-        return (_a = props.name) != null ? _a : index.value;
-      });
-      const expanded = vue.computed(() => parent.isExpanded(name2.value));
-      const show = vue.ref(expanded.value);
-      const lazyRender = useLazyRender(() => show.value || !props.lazyRender);
-      const onTransitionEnd = () => {
-        if (!expanded.value) {
-          show.value = false;
-        } else if (wrapperRef.value) {
-          wrapperRef.value.style.height = "";
-        }
-      };
-      vue.watch(expanded, (value, oldValue) => {
-        if (oldValue === null) {
-          return;
-        }
-        if (value) {
-          show.value = true;
-        }
-        const tick = value ? vue.nextTick : raf;
-        tick(() => {
-          if (!contentRef.value || !wrapperRef.value) {
-            return;
-          }
-          const {
-            offsetHeight
-          } = contentRef.value;
-          if (offsetHeight) {
-            const contentHeight = `${offsetHeight}px`;
-            wrapperRef.value.style.height = value ? "0" : contentHeight;
-            doubleRaf(() => {
-              if (wrapperRef.value) {
-                wrapperRef.value.style.height = value ? contentHeight : "0";
-              }
-            });
-          } else {
-            onTransitionEnd();
-          }
-        });
-      });
-      const toggle = (newValue = !expanded.value) => {
-        parent.toggle(name2.value, newValue);
-      };
-      const onClickTitle = () => {
-        if (!props.disabled && !props.readonly) {
-          toggle();
-        }
-      };
-      const renderTitle = () => {
-        const {
-          border,
-          disabled,
-          readonly
-        } = props;
-        const attrs = pick(props, Object.keys(cellSharedProps));
-        if (readonly) {
-          attrs.isLink = false;
-        }
-        if (disabled || readonly) {
-          attrs.clickable = false;
-        }
-        return vue.createVNode(Cell, vue.mergeProps({
-          "role": "button",
-          "class": bem$P("title", {
-            disabled,
-            expanded: expanded.value,
-            borderless: !border
-          }),
-          "aria-expanded": String(expanded.value),
-          "onClick": onClickTitle
-        }, attrs), pick(slots, CELL_SLOTS));
-      };
-      const renderContent = lazyRender(() => {
-        var _a;
-        return vue.withDirectives(vue.createVNode("div", {
-          "ref": wrapperRef,
-          "class": bem$P("wrapper"),
-          "onTransitionend": onTransitionEnd
-        }, [vue.createVNode("div", {
-          "ref": contentRef,
-          "class": bem$P("content")
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)])]), [[vue.vShow, show.value]]);
-      });
-      useExpose({
-        toggle,
-        expanded,
-        itemName: name2
-      });
-      return () => vue.createVNode("div", {
-        "class": [bem$P({
-          border: index.value && props.border
-        })]
-      }, [renderTitle(), renderContent()]);
-    }
-  });
-  const CollapseItem = withInstall(stdin_default$Z);
-  const ConfigProvider = withInstall(stdin_default$1K);
-  const [name$P, bem$O, t$d] = createNamespace("contact-card");
-  const contactCardProps = {
-    tel: String,
-    name: String,
-    type: makeStringProp("add"),
-    addText: String,
-    editable: truthProp
-  };
-  var stdin_default$Y = vue.defineComponent({
-    name: name$P,
-    props: contactCardProps,
-    emits: ["click"],
-    setup(props, {
-      emit
-    }) {
-      const onClick = (event) => {
-        if (props.editable) {
-          emit("click", event);
-        }
-      };
-      const renderContent = () => {
-        if (props.type === "add") {
-          return props.addText || t$d("addContact");
-        }
-        return [vue.createVNode("div", null, [`${t$d("name")}:${props.name}`]), vue.createVNode("div", null, [`${t$d("tel")}:${props.tel}`])];
-      };
-      return () => vue.createVNode(Cell, {
-        "center": true,
-        "icon": props.type === "edit" ? "contact" : "add-square",
-        "class": bem$O([props.type]),
-        "border": false,
-        "isLink": props.editable,
-        "titleClass": bem$O("title"),
-        "onClick": onClick
-      }, {
-        title: renderContent
-      });
-    }
-  });
-  const ContactCard = withInstall(stdin_default$Y);
-  const [name$O, bem$N, t$c] = createNamespace("contact-edit");
-  const DEFAULT_CONTACT = {
-    tel: "",
-    name: ""
-  };
-  const contactEditProps = {
-    isEdit: Boolean,
-    isSaving: Boolean,
-    isDeleting: Boolean,
-    showSetDefault: Boolean,
-    setDefaultLabel: String,
-    contactInfo: {
-      type: Object,
-      default: () => extend({}, DEFAULT_CONTACT)
-    },
-    telValidator: {
-      type: Function,
-      default: isMobile
-    }
-  };
-  var stdin_default$X = vue.defineComponent({
-    name: name$O,
-    props: contactEditProps,
-    emits: ["save", "delete", "changeDefault"],
-    setup(props, {
-      emit
-    }) {
-      const contact = vue.reactive(extend({}, DEFAULT_CONTACT, props.contactInfo));
-      const onSave = () => {
-        if (!props.isSaving) {
-          emit("save", contact);
-        }
-      };
-      const onDelete = () => emit("delete", contact);
-      const renderButtons = () => vue.createVNode("div", {
-        "class": bem$N("buttons")
-      }, [vue.createVNode(Button, {
-        "block": true,
-        "round": true,
-        "type": "primary",
-        "text": t$c("save"),
-        "class": bem$N("button"),
-        "loading": props.isSaving,
-        "nativeType": "submit"
-      }, null), props.isEdit && vue.createVNode(Button, {
-        "block": true,
-        "round": true,
-        "text": t$c("delete"),
-        "class": bem$N("button"),
-        "loading": props.isDeleting,
-        "onClick": onDelete
-      }, null)]);
-      const renderSwitch = () => vue.createVNode(Switch, {
-        "modelValue": contact.isDefault,
-        "onUpdate:modelValue": ($event) => contact.isDefault = $event,
-        "onChange": (checked) => emit("changeDefault", checked)
-      }, null);
-      const renderSetDefault = () => {
-        if (props.showSetDefault) {
-          return vue.createVNode(Cell, {
-            "title": props.setDefaultLabel,
-            "class": bem$N("switch-cell"),
-            "border": false
-          }, {
-            "right-icon": renderSwitch
-          });
-        }
-      };
-      vue.watch(() => props.contactInfo, (value) => extend(contact, DEFAULT_CONTACT, value));
-      return () => vue.createVNode(Form, {
-        "class": bem$N(),
-        "onSubmit": onSave
-      }, {
-        default: () => [vue.createVNode("div", {
-          "class": bem$N("fields")
-        }, [vue.createVNode(Field, {
-          "modelValue": contact.name,
-          "onUpdate:modelValue": ($event) => contact.name = $event,
-          "clearable": true,
-          "label": t$c("name"),
-          "rules": [{
-            required: true,
-            message: t$c("nameEmpty")
-          }],
-          "maxlength": "30",
-          "placeholder": t$c("name")
-        }, null), vue.createVNode(Field, {
-          "modelValue": contact.tel,
-          "onUpdate:modelValue": ($event) => contact.tel = $event,
-          "clearable": true,
-          "type": "tel",
-          "label": t$c("tel"),
-          "rules": [{
-            validator: props.telValidator,
-            message: t$c("telInvalid")
-          }],
-          "placeholder": t$c("tel")
-        }, null)]), renderSetDefault(), renderButtons()]
-      });
-    }
-  });
-  const ContactEdit = withInstall(stdin_default$X);
-  const [name$N, bem$M, t$b] = createNamespace("contact-list");
-  const contactListProps = {
-    list: Array,
-    addText: String,
-    modelValue: unknownProp,
-    defaultTagText: String
-  };
-  var stdin_default$W = vue.defineComponent({
-    name: name$N,
-    props: contactListProps,
-    emits: ["add", "edit", "select", "update:modelValue"],
-    setup(props, {
-      emit
-    }) {
-      const renderItem = (item, index) => {
-        const onClick = () => {
-          emit("update:modelValue", item.id);
-          emit("select", item, index);
-        };
-        const renderRightIcon = () => vue.createVNode(Radio, {
-          "class": bem$M("radio"),
-          "name": item.id,
-          "iconSize": 16
-        }, null);
-        const renderEditIcon = () => vue.createVNode(Icon, {
-          "name": "edit",
-          "class": bem$M("edit"),
-          "onClick": (event) => {
-            event.stopPropagation();
-            emit("edit", item, index);
-          }
-        }, null);
-        const renderContent = () => {
-          const nodes = [`${item.name},${item.tel}`];
-          if (item.isDefault && props.defaultTagText) {
-            nodes.push(vue.createVNode(Tag, {
-              "type": "primary",
-              "round": true,
-              "class": bem$M("item-tag")
-            }, {
-              default: () => [props.defaultTagText]
-            }));
-          }
-          return nodes;
-        };
-        return vue.createVNode(Cell, {
-          "key": item.id,
-          "isLink": true,
-          "center": true,
-          "class": bem$M("item"),
-          "titleClass": bem$M("item-title"),
-          "onClick": onClick
-        }, {
-          icon: renderEditIcon,
-          title: renderContent,
-          "right-icon": renderRightIcon
-        });
-      };
-      return () => vue.createVNode("div", {
-        "class": bem$M()
-      }, [vue.createVNode(RadioGroup, {
-        "modelValue": props.modelValue,
-        "class": bem$M("group")
-      }, {
-        default: () => [props.list && props.list.map(renderItem)]
-      }), vue.createVNode("div", {
-        "class": [bem$M("bottom"), "van-safe-area-bottom"]
-      }, [vue.createVNode(Button, {
-        "round": true,
-        "block": true,
-        "type": "primary",
-        "class": bem$M("add"),
-        "text": props.addText || t$b("addContact"),
-        "onClick": () => emit("add")
-      }, null)])]);
-    }
-  });
-  const ContactList = withInstall(stdin_default$W);
-  function parseFormat(format2, currentTime) {
-    const { days } = currentTime;
-    let { hours, minutes, seconds, milliseconds } = currentTime;
-    if (format2.includes("DD")) {
-      format2 = format2.replace("DD", padZero(days));
-    } else {
-      hours += days * 24;
-    }
-    if (format2.includes("HH")) {
-      format2 = format2.replace("HH", padZero(hours));
-    } else {
-      minutes += hours * 60;
-    }
-    if (format2.includes("mm")) {
-      format2 = format2.replace("mm", padZero(minutes));
-    } else {
-      seconds += minutes * 60;
-    }
-    if (format2.includes("ss")) {
-      format2 = format2.replace("ss", padZero(seconds));
-    } else {
-      milliseconds += seconds * 1e3;
-    }
-    if (format2.includes("S")) {
-      const ms = padZero(milliseconds, 3);
-      if (format2.includes("SSS")) {
-        format2 = format2.replace("SSS", ms);
-      } else if (format2.includes("SS")) {
-        format2 = format2.replace("SS", ms.slice(0, 2));
-      } else {
-        format2 = format2.replace("S", ms.charAt(0));
-      }
-    }
-    return format2;
-  }
-  const [name$M, bem$L] = createNamespace("count-down");
-  const countDownProps = {
-    time: makeNumericProp(0),
-    format: makeStringProp("HH:mm:ss"),
-    autoStart: truthProp,
-    millisecond: Boolean
-  };
-  var stdin_default$V = vue.defineComponent({
-    name: name$M,
-    props: countDownProps,
-    emits: ["change", "finish"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const {
-        start: start2,
-        pause,
-        reset,
-        current: current2
-      } = useCountDown({
-        time: +props.time,
-        millisecond: props.millisecond,
-        onChange: (current22) => emit("change", current22),
-        onFinish: () => emit("finish")
-      });
-      const timeText = vue.computed(() => parseFormat(props.format, current2.value));
-      const resetTime = () => {
-        reset(+props.time);
-        if (props.autoStart) {
-          start2();
-        }
-      };
-      vue.watch(() => props.time, resetTime, {
-        immediate: true
-      });
-      useExpose({
-        start: start2,
-        pause,
-        reset: resetTime
-      });
-      return () => vue.createVNode("div", {
-        "role": "timer",
-        "class": bem$L()
-      }, [slots.default ? slots.default(current2.value) : timeText.value]);
-    }
-  });
-  const CountDown = withInstall(stdin_default$V);
-  function getDate(timeStamp) {
-    const date = new Date(timeStamp * 1e3);
-    return `${date.getFullYear()}.${padZero(date.getMonth() + 1)}.${padZero(
-      date.getDate()
-    )}`;
-  }
-  const formatDiscount = (discount) => (discount / 10).toFixed(discount % 10 === 0 ? 0 : 1);
-  const formatAmount = (amount) => (amount / 100).toFixed(amount % 100 === 0 ? 0 : amount % 10 === 0 ? 1 : 2);
-  const [name$L, bem$K, t$a] = createNamespace("coupon");
-  var stdin_default$U = vue.defineComponent({
-    name: name$L,
-    props: {
-      chosen: Boolean,
-      coupon: makeRequiredProp(Object),
-      disabled: Boolean,
-      currency: makeStringProp("¥")
-    },
-    setup(props) {
-      const validPeriod = vue.computed(() => {
-        const {
-          startAt,
-          endAt
-        } = props.coupon;
-        return `${getDate(startAt)} - ${getDate(endAt)}`;
-      });
-      const faceAmount = vue.computed(() => {
-        const {
-          coupon,
-          currency
-        } = props;
-        if (coupon.valueDesc) {
-          return [coupon.valueDesc, vue.createVNode("span", null, [coupon.unitDesc || ""])];
-        }
-        if (coupon.denominations) {
-          const denominations = formatAmount(coupon.denominations);
-          return [vue.createVNode("span", null, [currency]), ` ${denominations}`];
-        }
-        if (coupon.discount) {
-          return t$a("discount", formatDiscount(coupon.discount));
-        }
-        return "";
-      });
-      const conditionMessage = vue.computed(() => {
-        const condition = formatAmount(props.coupon.originCondition || 0);
-        return condition === "0" ? t$a("unlimited") : t$a("condition", condition);
-      });
-      return () => {
-        const {
-          chosen,
-          coupon,
-          disabled
-        } = props;
-        const description = disabled && coupon.reason || coupon.description;
-        return vue.createVNode("div", {
-          "class": bem$K({
-            disabled
-          })
-        }, [vue.createVNode("div", {
-          "class": bem$K("content")
-        }, [vue.createVNode("div", {
-          "class": bem$K("head")
-        }, [vue.createVNode("h2", {
-          "class": bem$K("amount")
-        }, [faceAmount.value]), vue.createVNode("p", {
-          "class": bem$K("condition")
-        }, [coupon.condition || conditionMessage.value])]), vue.createVNode("div", {
-          "class": bem$K("body")
-        }, [vue.createVNode("p", {
-          "class": bem$K("name")
-        }, [coupon.name]), vue.createVNode("p", {
-          "class": bem$K("valid")
-        }, [validPeriod.value]), !disabled && vue.createVNode(Checkbox, {
-          "class": bem$K("corner"),
-          "modelValue": chosen
-        }, null)])]), description && vue.createVNode("p", {
-          "class": bem$K("description")
-        }, [description])]);
-      };
-    }
-  });
-  const Coupon = withInstall(stdin_default$U);
-  const [name$K, bem$J, t$9] = createNamespace("coupon-cell");
-  const couponCellProps = {
-    title: String,
-    border: truthProp,
-    editable: truthProp,
-    coupons: makeArrayProp(),
-    currency: makeStringProp("¥"),
-    chosenCoupon: makeNumericProp(-1)
-  };
-  function formatValue({
-    coupons,
-    chosenCoupon,
-    currency
-  }) {
-    const coupon = coupons[+chosenCoupon];
-    if (coupon) {
-      let value = 0;
-      if (isDef(coupon.value)) {
-        ({
-          value
-        } = coupon);
-      } else if (isDef(coupon.denominations)) {
-        value = coupon.denominations;
-      }
-      return `-${currency} ${(value / 100).toFixed(2)}`;
-    }
-    return coupons.length === 0 ? t$9("noCoupon") : t$9("count", coupons.length);
-  }
-  var stdin_default$T = vue.defineComponent({
-    name: name$K,
-    props: couponCellProps,
-    setup(props) {
-      return () => {
-        const selected = props.coupons[+props.chosenCoupon];
-        return vue.createVNode(Cell, {
-          "class": bem$J(),
-          "value": formatValue(props),
-          "title": props.title || t$9("title"),
-          "border": props.border,
-          "isLink": props.editable,
-          "valueClass": bem$J("value", {
-            selected
-          })
-        }, null);
-      };
-    }
-  });
-  const CouponCell = withInstall(stdin_default$T);
-  const [name$J, bem$I] = createNamespace("empty");
-  const emptyProps = {
-    image: makeStringProp("default"),
-    imageSize: [Number, String, Array],
-    description: String
-  };
-  var stdin_default$S = vue.defineComponent({
-    name: name$J,
-    props: emptyProps,
-    setup(props, {
-      slots
-    }) {
-      const renderDescription = () => {
-        const description = slots.description ? slots.description() : props.description;
-        if (description) {
-          return vue.createVNode("p", {
-            "class": bem$I("description")
-          }, [description]);
-        }
-      };
-      const renderBottom = () => {
-        if (slots.default) {
-          return vue.createVNode("div", {
-            "class": bem$I("bottom")
-          }, [slots.default()]);
-        }
-      };
-      const baseId = useId();
-      const getId = (num) => `${baseId}-${num}`;
-      const getUrlById = (num) => `url(#${getId(num)})`;
-      const renderStop = (color, offset2, opacity) => vue.createVNode("stop", {
-        "stop-color": color,
-        "offset": `${offset2}%`,
-        "stop-opacity": opacity
-      }, null);
-      const renderStops = (fromColor, toColor) => [renderStop(fromColor, 0), renderStop(toColor, 100)];
-      const renderShadow = (id) => [vue.createVNode("defs", null, [vue.createVNode("radialGradient", {
-        "id": getId(id),
-        "cx": "50%",
-        "cy": "54%",
-        "fx": "50%",
-        "fy": "54%",
-        "r": "297%",
-        "gradientTransform": "matrix(-.16 0 0 -.33 .58 .72)"
-      }, [renderStop("#EBEDF0", 0), renderStop("#F2F3F5", 100, 0.3)])]), vue.createVNode("ellipse", {
-        "fill": getUrlById(id),
-        "opacity": ".8",
-        "cx": "80",
-        "cy": "140",
-        "rx": "46",
-        "ry": "8"
-      }, null)];
-      const renderBuilding = () => [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
-        "id": getId("a"),
-        "x1": "64%",
-        "y1": "100%",
-        "x2": "64%"
-      }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)])]), vue.createVNode("g", {
-        "opacity": ".8"
-      }, [vue.createVNode("path", {
-        "d": "M36 131V53H16v20H2v58h34z",
-        "fill": getUrlById("a")
-      }, null), vue.createVNode("path", {
-        "d": "M123 15h22v14h9v77h-31V15z",
-        "fill": getUrlById("a")
-      }, null)])];
-      const renderCloud = () => [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
-        "id": getId("b"),
-        "x1": "64%",
-        "y1": "97%",
-        "x2": "64%",
-        "y2": "0%"
-      }, [renderStop("#F2F3F5", 0, 0.3), renderStop("#F2F3F5", 100)])]), vue.createVNode("g", {
-        "opacity": ".8"
-      }, [vue.createVNode("path", {
-        "d": "M87 6c3 0 7 3 8 6a8 8 0 1 1-1 16H80a7 7 0 0 1-8-6c0-4 3-7 6-7 0-5 4-9 9-9Z",
-        "fill": getUrlById("b")
-      }, null), vue.createVNode("path", {
-        "d": "M19 23c2 0 3 1 4 3 2 0 4 2 4 4a4 4 0 0 1-4 3v1h-7v-1l-1 1c-2 0-3-2-3-4 0-1 1-3 3-3 0-2 2-4 4-4Z",
-        "fill": getUrlById("b")
-      }, null)])];
-      const renderNetwork = () => vue.createVNode("svg", {
-        "viewBox": "0 0 160 160"
-      }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
-        "id": getId(1),
-        "x1": "64%",
-        "y1": "100%",
-        "x2": "64%"
-      }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)]), vue.createVNode("linearGradient", {
-        "id": getId(2),
-        "x1": "50%",
-        "x2": "50%",
-        "y2": "84%"
-      }, [renderStop("#EBEDF0", 0), renderStop("#DCDEE0", 100, 0)]), vue.createVNode("linearGradient", {
-        "id": getId(3),
-        "x1": "100%",
-        "x2": "100%",
-        "y2": "100%"
-      }, [renderStops("#EAEDF0", "#DCDEE0")]), vue.createVNode("radialGradient", {
-        "id": getId(4),
-        "cx": "50%",
-        "cy": "0%",
-        "fx": "50%",
-        "fy": "0%",
-        "r": "100%",
-        "gradientTransform": "matrix(0 1 -.54 0 .5 -.5)"
-      }, [renderStop("#EBEDF0", 0), renderStop("#FFF", 100, 0)])]), vue.createVNode("g", {
-        "fill": "none"
-      }, [renderBuilding(), vue.createVNode("path", {
-        "fill": getUrlById(4),
-        "d": "M0 139h160v21H0z"
-      }, null), vue.createVNode("path", {
-        "d": "M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",
-        "fill": getUrlById(2)
-      }, null), vue.createVNode("g", {
-        "opacity": ".6",
-        "stroke-linecap": "round",
-        "stroke-width": "7"
-      }, [vue.createVNode("path", {
-        "d": "M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",
-        "stroke": getUrlById(3)
-      }, null), vue.createVNode("path", {
-        "d": "M53 36a34 34 0 0 0 0 48",
-        "stroke": getUrlById(3)
-      }, null), vue.createVNode("path", {
-        "d": "M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",
-        "stroke": getUrlById(3)
-      }, null), vue.createVNode("path", {
-        "d": "M106 84a34 34 0 0 0 0-48",
-        "stroke": getUrlById(3)
-      }, null)]), vue.createVNode("g", {
-        "transform": "translate(31 105)"
-      }, [vue.createVNode("rect", {
-        "fill": "#EBEDF0",
-        "width": "98",
-        "height": "34",
-        "rx": "2"
-      }, null), vue.createVNode("rect", {
-        "fill": "#FFF",
-        "x": "9",
-        "y": "8",
-        "width": "80",
-        "height": "18",
-        "rx": "1.1"
-      }, null), vue.createVNode("rect", {
-        "fill": "#EBEDF0",
-        "x": "15",
-        "y": "12",
-        "width": "18",
-        "height": "6",
-        "rx": "1.1"
-      }, null)])])]);
-      const renderMaterial = () => vue.createVNode("svg", {
-        "viewBox": "0 0 160 160"
-      }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
-        "x1": "50%",
-        "x2": "50%",
-        "y2": "100%",
-        "id": getId(5)
-      }, [renderStops("#F2F3F5", "#DCDEE0")]), vue.createVNode("linearGradient", {
-        "x1": "95%",
-        "y1": "48%",
-        "x2": "5.5%",
-        "y2": "51%",
-        "id": getId(6)
-      }, [renderStops("#EAEDF1", "#DCDEE0")]), vue.createVNode("linearGradient", {
-        "y1": "45%",
-        "x2": "100%",
-        "y2": "54%",
-        "id": getId(7)
-      }, [renderStops("#EAEDF1", "#DCDEE0")])]), renderBuilding(), renderCloud(), vue.createVNode("g", {
-        "transform": "translate(36 50)",
-        "fill": "none"
-      }, [vue.createVNode("g", {
-        "transform": "translate(8)"
-      }, [vue.createVNode("rect", {
-        "fill": "#EBEDF0",
-        "opacity": ".6",
-        "x": "38",
-        "y": "13",
-        "width": "36",
-        "height": "53",
-        "rx": "2"
-      }, null), vue.createVNode("rect", {
-        "fill": getUrlById(5),
-        "width": "64",
-        "height": "66",
-        "rx": "2"
-      }, null), vue.createVNode("rect", {
-        "fill": "#FFF",
-        "x": "6",
-        "y": "6",
-        "width": "52",
-        "height": "55",
-        "rx": "1"
-      }, null), vue.createVNode("g", {
-        "transform": "translate(15 17)",
-        "fill": getUrlById(6)
-      }, [vue.createVNode("rect", {
-        "width": "34",
-        "height": "6",
-        "rx": "1"
-      }, null), vue.createVNode("path", {
-        "d": "M0 14h34v6H0z"
-      }, null), vue.createVNode("rect", {
-        "y": "28",
-        "width": "34",
-        "height": "6",
-        "rx": "1"
-      }, null)])]), vue.createVNode("rect", {
-        "fill": getUrlById(7),
-        "y": "61",
-        "width": "88",
-        "height": "28",
-        "rx": "1"
-      }, null), vue.createVNode("rect", {
-        "fill": "#F7F8FA",
-        "x": "29",
-        "y": "72",
-        "width": "30",
-        "height": "6",
-        "rx": "1"
-      }, null)])]);
-      const renderError = () => vue.createVNode("svg", {
-        "viewBox": "0 0 160 160"
-      }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
-        "x1": "50%",
-        "x2": "50%",
-        "y2": "100%",
-        "id": getId(8)
-      }, [renderStops("#EAEDF1", "#DCDEE0")])]), renderBuilding(), renderCloud(), renderShadow("c"), vue.createVNode("path", {
-        "d": "m59 60 21 21 21-21h3l9 9v3L92 93l21 21v3l-9 9h-3l-21-21-21 21h-3l-9-9v-3l21-21-21-21v-3l9-9h3Z",
-        "fill": getUrlById(8)
-      }, null)]);
-      const renderSearch = () => vue.createVNode("svg", {
-        "viewBox": "0 0 160 160"
-      }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
-        "x1": "50%",
-        "y1": "100%",
-        "x2": "50%",
-        "id": getId(9)
-      }, [renderStops("#EEE", "#D8D8D8")]), vue.createVNode("linearGradient", {
-        "x1": "100%",
-        "y1": "50%",
-        "y2": "50%",
-        "id": getId(10)
-      }, [renderStops("#F2F3F5", "#DCDEE0")]), vue.createVNode("linearGradient", {
-        "x1": "50%",
-        "x2": "50%",
-        "y2": "100%",
-        "id": getId(11)
-      }, [renderStops("#F2F3F5", "#DCDEE0")]), vue.createVNode("linearGradient", {
-        "x1": "50%",
-        "x2": "50%",
-        "y2": "100%",
-        "id": getId(12)
-      }, [renderStops("#FFF", "#F7F8FA")])]), renderBuilding(), renderCloud(), renderShadow("d"), vue.createVNode("g", {
-        "transform": "rotate(-45 113 -4)",
-        "fill": "none"
-      }, [vue.createVNode("rect", {
-        "fill": getUrlById(9),
-        "x": "24",
-        "y": "52.8",
-        "width": "5.8",
-        "height": "19",
-        "rx": "1"
-      }, null), vue.createVNode("rect", {
-        "fill": getUrlById(10),
-        "x": "22.1",
-        "y": "67.3",
-        "width": "9.9",
-        "height": "28",
-        "rx": "1"
-      }, null), vue.createVNode("circle", {
-        "stroke": getUrlById(11),
-        "stroke-width": "8",
-        "cx": "27",
-        "cy": "27",
-        "r": "27"
-      }, null), vue.createVNode("circle", {
-        "fill": getUrlById(12),
-        "cx": "27",
-        "cy": "27",
-        "r": "16"
-      }, null), vue.createVNode("path", {
-        "d": "M37 7c-8 0-15 5-16 12",
-        "stroke": getUrlById(11),
-        "stroke-width": "3",
-        "opacity": ".5",
-        "stroke-linecap": "round",
-        "transform": "rotate(45 29 13)"
-      }, null)])]);
-      const renderImage = () => {
-        var _a;
-        if (slots.image) {
-          return slots.image();
-        }
-        const PRESET_IMAGES = {
-          error: renderError,
-          search: renderSearch,
-          network: renderNetwork,
-          default: renderMaterial
-        };
-        return ((_a = PRESET_IMAGES[props.image]) == null ? void 0 : _a.call(PRESET_IMAGES)) || vue.createVNode("img", {
-          "src": props.image
-        }, null);
-      };
-      return () => vue.createVNode("div", {
-        "class": bem$I()
-      }, [vue.createVNode("div", {
-        "class": bem$I("image"),
-        "style": getSizeStyle(props.imageSize)
-      }, [renderImage()]), renderDescription(), renderBottom()]);
-    }
-  });
-  const Empty = withInstall(stdin_default$S);
-  const [name$I, bem$H, t$8] = createNamespace("coupon-list");
-  const couponListProps = {
-    code: makeStringProp(""),
-    coupons: makeArrayProp(),
-    currency: makeStringProp("¥"),
-    showCount: truthProp,
-    emptyImage: String,
-    chosenCoupon: makeNumberProp(-1),
-    enabledTitle: String,
-    disabledTitle: String,
-    disabledCoupons: makeArrayProp(),
-    showExchangeBar: truthProp,
-    showCloseButton: truthProp,
-    closeButtonText: String,
-    inputPlaceholder: String,
-    exchangeMinLength: makeNumberProp(1),
-    exchangeButtonText: String,
-    displayedCouponIndex: makeNumberProp(-1),
-    exchangeButtonLoading: Boolean,
-    exchangeButtonDisabled: Boolean
-  };
-  var stdin_default$R = vue.defineComponent({
-    name: name$I,
-    props: couponListProps,
-    emits: ["change", "exchange", "update:code"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const [couponRefs, setCouponRefs] = useRefs();
-      const root = vue.ref();
-      const barRef = vue.ref();
-      const activeTab = vue.ref(0);
-      const listHeight = vue.ref(0);
-      const currentCode = vue.ref(props.code);
-      const buttonDisabled = vue.computed(() => !props.exchangeButtonLoading && (props.exchangeButtonDisabled || !currentCode.value || currentCode.value.length < props.exchangeMinLength));
-      const updateListHeight = () => {
-        const TABS_HEIGHT = 44;
-        const rootHeight = useRect(root).height;
-        const headerHeight = useRect(barRef).height + TABS_HEIGHT;
-        listHeight.value = (rootHeight > headerHeight ? rootHeight : windowHeight.value) - headerHeight;
-      };
-      const onExchange = () => {
-        emit("exchange", currentCode.value);
-        if (!props.code) {
-          currentCode.value = "";
-        }
-      };
-      const scrollToCoupon = (index) => {
-        vue.nextTick(() => {
-          var _a;
-          return (_a = couponRefs.value[index]) == null ? void 0 : _a.scrollIntoView();
-        });
-      };
-      const renderEmpty = () => vue.createVNode(Empty, {
-        "image": props.emptyImage
-      }, {
-        default: () => [vue.createVNode("p", {
-          "class": bem$H("empty-tip")
-        }, [t$8("noCoupon")])]
-      });
-      const renderExchangeBar = () => {
-        if (props.showExchangeBar) {
-          return vue.createVNode("div", {
-            "ref": barRef,
-            "class": bem$H("exchange-bar")
-          }, [vue.createVNode(Field, {
-            "modelValue": currentCode.value,
-            "onUpdate:modelValue": ($event) => currentCode.value = $event,
-            "clearable": true,
-            "border": false,
-            "class": bem$H("field"),
-            "placeholder": props.inputPlaceholder || t$8("placeholder"),
-            "maxlength": "20"
-          }, null), vue.createVNode(Button, {
-            "plain": true,
-            "type": "primary",
-            "class": bem$H("exchange"),
-            "text": props.exchangeButtonText || t$8("exchange"),
-            "loading": props.exchangeButtonLoading,
-            "disabled": buttonDisabled.value,
-            "onClick": onExchange
-          }, null)]);
-        }
-      };
-      const renderCouponTab = () => {
-        const {
-          coupons
-        } = props;
-        const count = props.showCount ? ` (${coupons.length})` : "";
-        const title = (props.enabledTitle || t$8("enable")) + count;
-        return vue.createVNode(Tab, {
-          "title": title
-        }, {
-          default: () => {
-            var _a;
-            return [vue.createVNode("div", {
-              "class": bem$H("list", {
-                "with-bottom": props.showCloseButton
-              }),
-              "style": {
-                height: `${listHeight.value}px`
-              }
-            }, [coupons.map((coupon, index) => vue.createVNode(Coupon, {
-              "key": coupon.id,
-              "ref": setCouponRefs(index),
-              "coupon": coupon,
-              "chosen": index === props.chosenCoupon,
-              "currency": props.currency,
-              "onClick": () => emit("change", index)
-            }, null)), !coupons.length && renderEmpty(), (_a = slots["list-footer"]) == null ? void 0 : _a.call(slots)])];
-          }
-        });
-      };
-      const renderDisabledTab = () => {
-        const {
-          disabledCoupons
-        } = props;
-        const count = props.showCount ? ` (${disabledCoupons.length})` : "";
-        const title = (props.disabledTitle || t$8("disabled")) + count;
-        return vue.createVNode(Tab, {
-          "title": title
-        }, {
-          default: () => {
-            var _a;
-            return [vue.createVNode("div", {
-              "class": bem$H("list", {
-                "with-bottom": props.showCloseButton
-              }),
-              "style": {
-                height: `${listHeight.value}px`
-              }
-            }, [disabledCoupons.map((coupon) => vue.createVNode(Coupon, {
-              "disabled": true,
-              "key": coupon.id,
-              "coupon": coupon,
-              "currency": props.currency
-            }, null)), !disabledCoupons.length && renderEmpty(), (_a = slots["disabled-list-footer"]) == null ? void 0 : _a.call(slots)])];
-          }
-        });
-      };
-      vue.watch(() => props.code, (value) => {
-        currentCode.value = value;
-      });
-      vue.watch(windowHeight, updateListHeight);
-      vue.watch(currentCode, (value) => emit("update:code", value));
-      vue.watch(() => props.displayedCouponIndex, scrollToCoupon);
-      vue.onMounted(() => {
-        updateListHeight();
-        scrollToCoupon(props.displayedCouponIndex);
-      });
-      return () => vue.createVNode("div", {
-        "ref": root,
-        "class": bem$H()
-      }, [renderExchangeBar(), vue.createVNode(Tabs, {
-        "active": activeTab.value,
-        "onUpdate:active": ($event) => activeTab.value = $event,
-        "class": bem$H("tab")
-      }, {
-        default: () => [renderCouponTab(), renderDisabledTab()]
-      }), vue.createVNode("div", {
-        "class": bem$H("bottom")
-      }, [vue.withDirectives(vue.createVNode(Button, {
-        "round": true,
-        "block": true,
-        "type": "primary",
-        "class": bem$H("close"),
-        "text": props.closeButtonText || t$8("close"),
-        "onClick": () => emit("change", -1)
-      }, null), [[vue.vShow, props.showCloseButton]])])]);
-    }
-  });
-  const CouponList = withInstall(stdin_default$R);
-  const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
-  const [name$H] = createNamespace("date-picker");
-  const datePickerProps = extend({}, sharedProps, {
-    columnsType: {
-      type: Array,
-      default: () => ["year", "month", "day"]
-    },
-    minDate: {
-      type: Date,
-      default: () => new Date(currentYear - 10, 0, 1),
-      validator: isDate
-    },
-    maxDate: {
-      type: Date,
-      default: () => new Date(currentYear + 10, 11, 31),
-      validator: isDate
-    }
-  });
-  var stdin_default$Q = vue.defineComponent({
-    name: name$H,
-    props: datePickerProps,
-    emits: ["confirm", "cancel", "change", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const currentValues = vue.ref(props.modelValue);
-      const genYearOptions = () => {
-        const minYear = props.minDate.getFullYear();
-        const maxYear = props.maxDate.getFullYear();
-        return genOptions(minYear, maxYear, "year", props.formatter, props.filter);
-      };
-      const isMinYear = (year) => year === props.minDate.getFullYear();
-      const isMaxYear = (year) => year === props.maxDate.getFullYear();
-      const isMinMonth = (month) => month === props.minDate.getMonth() + 1;
-      const isMaxMonth = (month) => month === props.maxDate.getMonth() + 1;
-      const getValue = (type) => {
-        const {
-          minDate,
-          columnsType
-        } = props;
-        const index = columnsType.indexOf(type);
-        const value = currentValues.value[index];
-        if (value) {
-          return +value;
-        }
-        switch (type) {
-          case "year":
-            return minDate.getFullYear();
-          case "month":
-            return minDate.getMonth() + 1;
-          case "day":
-            return minDate.getDate();
-        }
-      };
-      const genMonthOptions = () => {
-        const year = getValue("year");
-        const minMonth = isMinYear(year) ? props.minDate.getMonth() + 1 : 1;
-        const maxMonth = isMaxYear(year) ? props.maxDate.getMonth() + 1 : 12;
-        return genOptions(minMonth, maxMonth, "month", props.formatter, props.filter);
-      };
-      const genDayOptions = () => {
-        const year = getValue("year");
-        const month = getValue("month");
-        const minDate = isMinYear(year) && isMinMonth(month) ? props.minDate.getDate() : 1;
-        const maxDate = isMaxYear(year) && isMaxMonth(month) ? props.maxDate.getDate() : getMonthEndDay(year, month);
-        return genOptions(minDate, maxDate, "day", props.formatter, props.filter);
-      };
-      const columns = vue.computed(() => props.columnsType.map((type) => {
-        switch (type) {
-          case "year":
-            return genYearOptions();
-          case "month":
-            return genMonthOptions();
-          case "day":
-            return genDayOptions();
-          default:
-            return [];
-        }
-      }));
-      vue.watch(currentValues, (newValues) => {
-        if (!isSameValue(newValues, props.modelValue)) {
-          emit("update:modelValue", newValues);
-        }
-      });
-      vue.watch(() => props.modelValue, (newValues) => {
-        newValues = formatValueRange(newValues, columns.value);
-        if (!isSameValue(newValues, currentValues.value)) {
-          currentValues.value = newValues;
-        }
-      }, {
-        immediate: true
-      });
-      const onChange = (...args) => emit("change", ...args);
-      const onCancel = (...args) => emit("cancel", ...args);
-      const onConfirm = (...args) => emit("confirm", ...args);
-      return () => vue.createVNode(Picker, vue.mergeProps({
-        "modelValue": currentValues.value,
-        "onUpdate:modelValue": ($event) => currentValues.value = $event,
-        "columns": columns.value,
-        "onChange": onChange,
-        "onCancel": onCancel,
-        "onConfirm": onConfirm
-      }, pick(props, pickerInheritKeys)), slots);
-    }
-  });
-  const DatePicker = withInstall(stdin_default$Q);
-  const [name$G, bem$G, t$7] = createNamespace("dialog");
-  const dialogProps = extend({}, popupSharedProps, {
-    title: String,
-    theme: String,
-    width: numericProp,
-    message: [String, Function],
-    callback: Function,
-    allowHtml: Boolean,
-    className: unknownProp,
-    transition: makeStringProp("van-dialog-bounce"),
-    messageAlign: String,
-    closeOnPopstate: truthProp,
-    showCancelButton: Boolean,
-    cancelButtonText: String,
-    cancelButtonColor: String,
-    cancelButtonDisabled: Boolean,
-    confirmButtonText: String,
-    confirmButtonColor: String,
-    confirmButtonDisabled: Boolean,
-    showConfirmButton: truthProp,
-    closeOnClickOverlay: Boolean
-  });
-  const popupInheritKeys$1 = [...popupSharedPropKeys, "transition", "closeOnPopstate"];
-  var stdin_default$P = vue.defineComponent({
-    name: name$G,
-    props: dialogProps,
-    emits: ["confirm", "cancel", "keydown", "update:show"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const root = vue.ref();
-      const loading = vue.reactive({
-        confirm: false,
-        cancel: false
-      });
-      const updateShow = (value) => emit("update:show", value);
-      const close = (action) => {
-        var _a;
-        updateShow(false);
-        (_a = props.callback) == null ? void 0 : _a.call(props, action);
-      };
-      const getActionHandler = (action) => () => {
-        if (!props.show) {
-          return;
-        }
-        emit(action);
-        if (props.beforeClose) {
-          loading[action] = true;
-          callInterceptor(props.beforeClose, {
-            args: [action],
-            done() {
-              close(action);
-              loading[action] = false;
-            },
-            canceled() {
-              loading[action] = false;
-            }
-          });
-        } else {
-          close(action);
-        }
-      };
-      const onCancel = getActionHandler("cancel");
-      const onConfirm = getActionHandler("confirm");
-      const onKeydown = vue.withKeys((event) => {
-        var _a, _b;
-        if (event.target !== ((_b = (_a = root.value) == null ? void 0 : _a.popupRef) == null ? void 0 : _b.value)) {
-          return;
-        }
-        const onEventType = {
-          Enter: props.showConfirmButton ? onConfirm : noop,
-          Escape: props.showCancelButton ? onCancel : noop
-        };
-        onEventType[event.key]();
-        emit("keydown", event);
-      }, ["enter", "esc"]);
-      const renderTitle = () => {
-        const title = slots.title ? slots.title() : props.title;
-        if (title) {
-          return vue.createVNode("div", {
-            "class": bem$G("header", {
-              isolated: !props.message && !slots.default
-            })
-          }, [title]);
-        }
-      };
-      const renderMessage = (hasTitle) => {
-        const {
-          message,
-          allowHtml,
-          messageAlign
-        } = props;
-        const classNames = bem$G("message", {
-          "has-title": hasTitle,
-          [messageAlign]: messageAlign
-        });
-        const content = isFunction(message) ? message() : message;
-        if (allowHtml && typeof content === "string") {
-          return vue.createVNode("div", {
-            "class": classNames,
-            "innerHTML": content
-          }, null);
-        }
-        return vue.createVNode("div", {
-          "class": classNames
-        }, [content]);
-      };
-      const renderContent = () => {
-        if (slots.default) {
-          return vue.createVNode("div", {
-            "class": bem$G("content")
-          }, [slots.default()]);
-        }
-        const {
-          title,
-          message,
-          allowHtml
-        } = props;
-        if (message) {
-          const hasTitle = !!(title || slots.title);
-          return vue.createVNode("div", {
-            "key": allowHtml ? 1 : 0,
-            "class": bem$G("content", {
-              isolated: !hasTitle
-            })
-          }, [renderMessage(hasTitle)]);
-        }
-      };
-      const renderButtons = () => vue.createVNode("div", {
-        "class": [BORDER_TOP, bem$G("footer")]
-      }, [props.showCancelButton && vue.createVNode(Button, {
-        "size": "large",
-        "text": props.cancelButtonText || t$7("cancel"),
-        "class": bem$G("cancel"),
-        "style": {
-          color: props.cancelButtonColor
-        },
-        "loading": loading.cancel,
-        "disabled": props.cancelButtonDisabled,
-        "onClick": onCancel
-      }, null), props.showConfirmButton && vue.createVNode(Button, {
-        "size": "large",
-        "text": props.confirmButtonText || t$7("confirm"),
-        "class": [bem$G("confirm"), {
-          [BORDER_LEFT]: props.showCancelButton
-        }],
-        "style": {
-          color: props.confirmButtonColor
-        },
-        "loading": loading.confirm,
-        "disabled": props.confirmButtonDisabled,
-        "onClick": onConfirm
-      }, null)]);
-      const renderRoundButtons = () => vue.createVNode(ActionBar, {
-        "class": bem$G("footer")
-      }, {
-        default: () => [props.showCancelButton && vue.createVNode(ActionBarButton, {
-          "type": "warning",
-          "text": props.cancelButtonText || t$7("cancel"),
-          "class": bem$G("cancel"),
-          "color": props.cancelButtonColor,
-          "loading": loading.cancel,
-          "disabled": props.cancelButtonDisabled,
-          "onClick": onCancel
-        }, null), props.showConfirmButton && vue.createVNode(ActionBarButton, {
-          "type": "danger",
-          "text": props.confirmButtonText || t$7("confirm"),
-          "class": bem$G("confirm"),
-          "color": props.confirmButtonColor,
-          "loading": loading.confirm,
-          "disabled": props.confirmButtonDisabled,
-          "onClick": onConfirm
-        }, null)]
-      });
-      const renderFooter = () => {
-        if (slots.footer) {
-          return slots.footer();
-        }
-        return props.theme === "round-button" ? renderRoundButtons() : renderButtons();
-      };
-      return () => {
-        const {
-          width: width2,
-          title,
-          theme,
-          message,
-          className
-        } = props;
-        return vue.createVNode(Popup, vue.mergeProps({
-          "ref": root,
-          "role": "dialog",
-          "class": [bem$G([theme]), className],
-          "style": {
-            width: addUnit(width2)
-          },
-          "tabindex": 0,
-          "aria-labelledby": title || message,
-          "onKeydown": onKeydown,
-          "onUpdate:show": updateShow
-        }, pick(props, popupInheritKeys$1)), {
-          default: () => [renderTitle(), renderContent(), renderFooter()]
-        });
-      };
-    }
-  });
-  let instance$2;
-  const DEFAULT_OPTIONS$1 = {
-    title: "",
-    width: "",
-    theme: null,
-    message: "",
-    overlay: true,
-    callback: null,
-    teleport: "body",
-    className: "",
-    allowHtml: false,
-    lockScroll: true,
-    transition: void 0,
-    beforeClose: null,
-    overlayClass: "",
-    overlayStyle: void 0,
-    messageAlign: "",
-    cancelButtonText: "",
-    cancelButtonColor: null,
-    cancelButtonDisabled: false,
-    confirmButtonText: "",
-    confirmButtonColor: null,
-    confirmButtonDisabled: false,
-    showConfirmButton: true,
-    showCancelButton: false,
-    closeOnPopstate: true,
-    closeOnClickOverlay: false
-  };
-  let currentOptions$1 = extend({}, DEFAULT_OPTIONS$1);
-  function initInstance$2() {
-    const Wrapper = {
-      setup() {
-        const {
-          state,
-          toggle
-        } = usePopupState();
-        return () => vue.createVNode(stdin_default$P, vue.mergeProps(state, {
-          "onUpdate:show": toggle
-        }), null);
-      }
-    };
-    ({
-      instance: instance$2
-    } = mountComponent(Wrapper));
-  }
-  function showDialog(options) {
-    if (!inBrowser$1) {
-      return Promise.resolve();
-    }
-    return new Promise((resolve, reject) => {
-      if (!instance$2) {
-        initInstance$2();
-      }
-      instance$2.open(extend({}, currentOptions$1, options, {
-        callback: (action) => {
-          (action === "confirm" ? resolve : reject)(action);
-        }
-      }));
-    });
-  }
-  const setDialogDefaultOptions = (options) => {
-    extend(currentOptions$1, options);
-  };
-  const resetDialogDefaultOptions = () => {
-    currentOptions$1 = extend({}, DEFAULT_OPTIONS$1);
-  };
-  const showConfirmDialog = (options) => showDialog(extend({
-    showCancelButton: true
-  }, options));
-  const closeDialog = () => {
-    if (instance$2) {
-      instance$2.toggle(false);
-    }
-  };
-  const Dialog = withInstall(stdin_default$P);
-  const [name$F, bem$F] = createNamespace("divider");
-  const dividerProps = {
-    dashed: Boolean,
-    hairline: truthProp,
-    contentPosition: makeStringProp("center")
-  };
-  var stdin_default$O = vue.defineComponent({
-    name: name$F,
-    props: dividerProps,
-    setup(props, {
-      slots
-    }) {
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "role": "separator",
-          "class": bem$F({
-            dashed: props.dashed,
-            hairline: props.hairline,
-            [`content-${props.contentPosition}`]: !!slots.default
-          })
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-    }
-  });
-  const Divider = withInstall(stdin_default$O);
-  const [name$E, bem$E] = createNamespace("dropdown-menu");
-  const dropdownMenuProps = {
-    overlay: truthProp,
-    zIndex: numericProp,
-    duration: makeNumericProp(0.2),
-    direction: makeStringProp("down"),
-    activeColor: String,
-    closeOnClickOutside: truthProp,
-    closeOnClickOverlay: truthProp
-  };
-  const DROPDOWN_KEY = Symbol(name$E);
-  var stdin_default$N = vue.defineComponent({
-    name: name$E,
-    props: dropdownMenuProps,
-    setup(props, {
-      slots
-    }) {
-      const id = useId();
-      const root = vue.ref();
-      const barRef = vue.ref();
-      const offset2 = vue.ref(0);
-      const {
-        children,
-        linkChildren
-      } = useChildren(DROPDOWN_KEY);
-      const scrollParent = useScrollParent(root);
-      const opened = vue.computed(() => children.some((item) => item.state.showWrapper));
-      const barStyle = vue.computed(() => {
-        if (opened.value && isDef(props.zIndex)) {
-          return {
-            zIndex: +props.zIndex + 1
-          };
-        }
-      });
-      const onClickAway = () => {
-        if (props.closeOnClickOutside) {
-          children.forEach((item) => {
-            item.toggle(false);
-          });
-        }
-      };
-      const updateOffset = () => {
-        if (barRef.value) {
-          const rect = useRect(barRef);
-          if (props.direction === "down") {
-            offset2.value = rect.bottom;
-          } else {
-            offset2.value = windowHeight.value - rect.top;
-          }
-        }
-      };
-      const onScroll = () => {
-        if (opened.value) {
-          updateOffset();
-        }
-      };
-      const toggleItem = (active) => {
-        children.forEach((item, index) => {
-          if (index === active) {
-            item.toggle();
-          } else if (item.state.showPopup) {
-            item.toggle(false, {
-              immediate: true
-            });
-          }
-        });
-      };
-      const renderTitle = (item, index) => {
-        const {
-          showPopup
-        } = item.state;
-        const {
-          disabled,
-          titleClass
-        } = item;
-        return vue.createVNode("div", {
-          "id": `${id}-${index}`,
-          "role": "button",
-          "tabindex": disabled ? void 0 : 0,
-          "class": [bem$E("item", {
-            disabled
-          }), {
-            [HAPTICS_FEEDBACK]: !disabled
-          }],
-          "onClick": () => {
-            if (!disabled) {
-              toggleItem(index);
-            }
-          }
-        }, [vue.createVNode("span", {
-          "class": [bem$E("title", {
-            down: showPopup === (props.direction === "down"),
-            active: showPopup
-          }), titleClass],
-          "style": {
-            color: showPopup ? props.activeColor : ""
-          }
-        }, [vue.createVNode("div", {
-          "class": "van-ellipsis"
-        }, [item.renderTitle()])])]);
-      };
-      linkChildren({
-        id,
-        props,
-        offset: offset2,
-        updateOffset
-      });
-      useClickAway(root, onClickAway);
-      useEventListener("scroll", onScroll, {
-        target: scrollParent,
-        passive: true
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "ref": root,
-          "class": bem$E()
-        }, [vue.createVNode("div", {
-          "ref": barRef,
-          "style": barStyle.value,
-          "class": bem$E("bar", {
-            opened: opened.value
-          })
-        }, [children.map(renderTitle)]), (_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-    }
-  });
-  const [name$D, bem$D] = createNamespace("dropdown-item");
-  const dropdownItemProps = {
-    title: String,
-    options: makeArrayProp(),
-    disabled: Boolean,
-    teleport: [String, Object],
-    lazyRender: truthProp,
-    modelValue: unknownProp,
-    titleClass: unknownProp
-  };
-  var stdin_default$M = vue.defineComponent({
-    name: name$D,
-    inheritAttrs: false,
-    props: dropdownItemProps,
-    emits: ["open", "opened", "close", "closed", "change", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots,
-      attrs
-    }) {
-      const state = vue.reactive({
-        showPopup: false,
-        transition: true,
-        showWrapper: false
-      });
-      const {
-        parent,
-        index
-      } = useParent(DROPDOWN_KEY);
-      if (!parent) {
-        return;
-      }
-      const getEmitter = (name2) => () => emit(name2);
-      const onOpen = getEmitter("open");
-      const onClose = getEmitter("close");
-      const onOpened = getEmitter("opened");
-      const onClosed = () => {
-        state.showWrapper = false;
-        emit("closed");
-      };
-      const onClickWrapper = (event) => {
-        if (props.teleport) {
-          event.stopPropagation();
-        }
-      };
-      const toggle = (show = !state.showPopup, options = {}) => {
-        if (show === state.showPopup) {
-          return;
-        }
-        state.showPopup = show;
-        state.transition = !options.immediate;
-        if (show) {
-          parent.updateOffset();
-          state.showWrapper = true;
-        }
-      };
-      const renderTitle = () => {
-        if (slots.title) {
-          return slots.title();
-        }
-        if (props.title) {
-          return props.title;
-        }
-        const match = props.options.find((option) => option.value === props.modelValue);
-        return match ? match.text : "";
-      };
-      const renderOption = (option) => {
-        const {
-          activeColor
-        } = parent.props;
-        const active = option.value === props.modelValue;
-        const onClick = () => {
-          state.showPopup = false;
-          if (option.value !== props.modelValue) {
-            emit("update:modelValue", option.value);
-            emit("change", option.value);
-          }
-        };
-        const renderIcon = () => {
-          if (active) {
-            return vue.createVNode(Icon, {
-              "class": bem$D("icon"),
-              "color": activeColor,
-              "name": "success"
-            }, null);
-          }
-        };
-        return vue.createVNode(Cell, {
-          "role": "menuitem",
-          "key": option.value,
-          "icon": option.icon,
-          "title": option.text,
-          "class": bem$D("option", {
-            active
-          }),
-          "style": {
-            color: active ? activeColor : ""
-          },
-          "tabindex": active ? 0 : -1,
-          "clickable": true,
-          "onClick": onClick
-        }, {
-          value: renderIcon
-        });
-      };
-      const renderContent = () => {
-        const {
-          offset: offset2
-        } = parent;
-        const {
-          zIndex,
-          overlay,
-          duration,
-          direction,
-          closeOnClickOverlay
-        } = parent.props;
-        const style = getZIndexStyle(zIndex);
-        if (direction === "down") {
-          style.top = `${offset2.value}px`;
-        } else {
-          style.bottom = `${offset2.value}px`;
-        }
-        return vue.withDirectives(vue.createVNode("div", vue.mergeProps({
-          "style": style,
-          "class": bem$D([direction]),
-          "onClick": onClickWrapper
-        }, attrs), [vue.createVNode(Popup, {
-          "show": state.showPopup,
-          "onUpdate:show": ($event) => state.showPopup = $event,
-          "role": "menu",
-          "class": bem$D("content"),
-          "overlay": overlay,
-          "position": direction === "down" ? "top" : "bottom",
-          "duration": state.transition ? duration : 0,
-          "lazyRender": props.lazyRender,
-          "overlayStyle": {
-            position: "absolute"
-          },
-          "aria-labelledby": `${parent.id}-${index.value}`,
-          "closeOnClickOverlay": closeOnClickOverlay,
-          "onOpen": onOpen,
-          "onClose": onClose,
-          "onOpened": onOpened,
-          "onClosed": onClosed
-        }, {
-          default: () => {
-            var _a;
-            return [props.options.map(renderOption), (_a = slots.default) == null ? void 0 : _a.call(slots)];
-          }
-        })]), [[vue.vShow, state.showWrapper]]);
-      };
-      useExpose({
-        state,
-        toggle,
-        renderTitle
-      });
-      return () => {
-        if (props.teleport) {
-          return vue.createVNode(vue.Teleport, {
-            "to": props.teleport
-          }, {
-            default: () => [renderContent()]
-          });
-        }
-        return renderContent();
-      };
-    }
-  });
-  const DropdownItem = withInstall(stdin_default$M);
-  const DropdownMenu = withInstall(stdin_default$N);
-  const [name$C, bem$C] = createNamespace("grid");
-  const gridProps = {
-    square: Boolean,
-    center: truthProp,
-    border: truthProp,
-    gutter: numericProp,
-    reverse: Boolean,
-    iconSize: numericProp,
-    direction: String,
-    clickable: Boolean,
-    columnNum: makeNumericProp(4)
-  };
-  const GRID_KEY = Symbol(name$C);
-  var stdin_default$L = vue.defineComponent({
-    name: name$C,
-    props: gridProps,
-    setup(props, {
-      slots
-    }) {
-      const {
-        linkChildren
-      } = useChildren(GRID_KEY);
-      linkChildren({
-        props
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "style": {
-            paddingLeft: addUnit(props.gutter)
-          },
-          "class": [bem$C(), {
-            [BORDER_TOP]: props.border && !props.gutter
-          }]
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-    }
-  });
-  const Grid = withInstall(stdin_default$L);
-  const [name$B, bem$B] = createNamespace("grid-item");
-  const gridItemProps = extend({}, routeProps, {
-    dot: Boolean,
-    text: String,
-    icon: String,
-    badge: numericProp,
-    iconColor: String,
-    iconPrefix: String,
-    badgeProps: Object
-  });
-  var stdin_default$K = vue.defineComponent({
-    name: name$B,
-    props: gridItemProps,
-    setup(props, {
-      slots
-    }) {
-      const {
-        parent,
-        index
-      } = useParent(GRID_KEY);
-      const route2 = useRoute();
-      if (!parent) {
-        return;
-      }
-      const rootStyle = vue.computed(() => {
-        const {
-          square,
-          gutter,
-          columnNum
-        } = parent.props;
-        const percent = `${100 / +columnNum}%`;
-        const style = {
-          flexBasis: percent
-        };
-        if (square) {
-          style.paddingTop = percent;
-        } else if (gutter) {
-          const gutterValue = addUnit(gutter);
-          style.paddingRight = gutterValue;
-          if (index.value >= +columnNum) {
-            style.marginTop = gutterValue;
-          }
-        }
-        return style;
-      });
-      const contentStyle = vue.computed(() => {
-        const {
-          square,
-          gutter
-        } = parent.props;
-        if (square && gutter) {
-          const gutterValue = addUnit(gutter);
-          return {
-            right: gutterValue,
-            bottom: gutterValue,
-            height: "auto"
-          };
-        }
-      });
-      const renderIcon = () => {
-        if (slots.icon) {
-          return vue.createVNode(Badge, vue.mergeProps({
-            "dot": props.dot,
-            "content": props.badge
-          }, props.badgeProps), {
-            default: slots.icon
-          });
-        }
-        if (props.icon) {
-          return vue.createVNode(Icon, {
-            "dot": props.dot,
-            "name": props.icon,
-            "size": parent.props.iconSize,
-            "badge": props.badge,
-            "class": bem$B("icon"),
-            "color": props.iconColor,
-            "badgeProps": props.badgeProps,
-            "classPrefix": props.iconPrefix
-          }, null);
-        }
-      };
-      const renderText = () => {
-        if (slots.text) {
-          return slots.text();
-        }
-        if (props.text) {
-          return vue.createVNode("span", {
-            "class": bem$B("text")
-          }, [props.text]);
-        }
-      };
-      const renderContent = () => {
-        if (slots.default) {
-          return slots.default();
-        }
-        return [renderIcon(), renderText()];
-      };
-      return () => {
-        const {
-          center,
-          border,
-          square,
-          gutter,
-          reverse,
-          direction,
-          clickable
-        } = parent.props;
-        const classes = [bem$B("content", [direction, {
-          center,
-          square,
-          reverse,
-          clickable,
-          surround: border && gutter
-        }]), {
-          [BORDER]: border
-        }];
-        return vue.createVNode("div", {
-          "class": [bem$B({
-            square
-          })],
-          "style": rootStyle.value
-        }, [vue.createVNode("div", {
-          "role": clickable ? "button" : void 0,
-          "class": classes,
-          "style": contentStyle.value,
-          "tabindex": clickable ? 0 : void 0,
-          "onClick": route2
-        }, [renderContent()])]);
-      };
-    }
-  });
-  const GridItem = withInstall(stdin_default$K);
-  const getDistance = (touches) => Math.sqrt((touches[0].clientX - touches[1].clientX) ** 2 + (touches[0].clientY - touches[1].clientY) ** 2);
-  const bem$A = createNamespace("image-preview")[1];
-  var stdin_default$J = vue.defineComponent({
-    props: {
-      src: String,
-      show: Boolean,
-      active: Number,
-      minZoom: makeRequiredProp(numericProp),
-      maxZoom: makeRequiredProp(numericProp),
-      rootWidth: makeRequiredProp(Number),
-      rootHeight: makeRequiredProp(Number),
-      disableZoom: Boolean
-    },
-    emits: ["scale", "close", "longPress"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const state = vue.reactive({
-        scale: 1,
-        moveX: 0,
-        moveY: 0,
-        moving: false,
-        zooming: false,
-        imageRatio: 0,
-        displayWidth: 0,
-        displayHeight: 0
-      });
-      const touch = useTouch();
-      const swipeItem = vue.ref();
-      const vertical = vue.computed(() => {
-        const {
-          rootWidth,
-          rootHeight
-        } = props;
-        const rootRatio = rootHeight / rootWidth;
-        return state.imageRatio > rootRatio;
-      });
-      const imageStyle = vue.computed(() => {
-        const {
-          scale,
-          moveX,
-          moveY,
-          moving,
-          zooming
-        } = state;
-        const style = {
-          transitionDuration: zooming || moving ? "0s" : ".3s"
-        };
-        if (scale !== 1) {
-          const offsetX = moveX / scale;
-          const offsetY = moveY / scale;
-          style.transform = `scale(${scale}, ${scale}) translate(${offsetX}px, ${offsetY}px)`;
-        }
-        return style;
-      });
-      const maxMoveX = vue.computed(() => {
-        if (state.imageRatio) {
-          const {
-            rootWidth,
-            rootHeight
-          } = props;
-          const displayWidth = vertical.value ? rootHeight / state.imageRatio : rootWidth;
-          return Math.max(0, (state.scale * displayWidth - rootWidth) / 2);
-        }
-        return 0;
-      });
-      const maxMoveY = vue.computed(() => {
-        if (state.imageRatio) {
-          const {
-            rootWidth,
-            rootHeight
-          } = props;
-          const displayHeight = vertical.value ? rootHeight : rootWidth * state.imageRatio;
-          return Math.max(0, (state.scale * displayHeight - rootHeight) / 2);
-        }
-        return 0;
-      });
-      const setScale = (scale) => {
-        scale = clamp(scale, +props.minZoom, +props.maxZoom + 1);
-        if (scale !== state.scale) {
-          state.scale = scale;
-          emit("scale", {
-            scale,
-            index: props.active
-          });
-        }
-      };
-      const resetScale = () => {
-        setScale(1);
-        state.moveX = 0;
-        state.moveY = 0;
-      };
-      const toggleScale = () => {
-        const scale = state.scale > 1 ? 1 : 2;
-        setScale(scale);
-        state.moveX = 0;
-        state.moveY = 0;
-      };
-      let fingerNum;
-      let startMoveX;
-      let startMoveY;
-      let startScale;
-      let startDistance;
-      let doubleTapTimer;
-      let touchStartTime;
-      let isImageMoved = false;
-      const onTouchStart = (event) => {
-        const {
-          touches
-        } = event;
-        fingerNum = touches.length;
-        if (fingerNum === 2 && props.disableZoom) {
-          return;
-        }
-        const {
-          offsetX
-        } = touch;
-        touch.start(event);
-        startMoveX = state.moveX;
-        startMoveY = state.moveY;
-        touchStartTime = Date.now();
-        isImageMoved = false;
-        state.moving = fingerNum === 1 && state.scale !== 1;
-        state.zooming = fingerNum === 2 && !offsetX.value;
-        if (state.zooming) {
-          startScale = state.scale;
-          startDistance = getDistance(event.touches);
-        }
-      };
-      const onTouchMove = (event) => {
-        const {
-          touches
-        } = event;
-        touch.move(event);
-        if (state.moving) {
-          const {
-            deltaX,
-            deltaY
-          } = touch;
-          const moveX = deltaX.value + startMoveX;
-          const moveY = deltaY.value + startMoveY;
-          if ((moveX > maxMoveX.value || moveX < -maxMoveX.value) && !isImageMoved && touch.isHorizontal()) {
-            state.moving = false;
-            return;
-          }
-          isImageMoved = true;
-          preventDefault(event, true);
-          state.moveX = clamp(moveX, -maxMoveX.value, maxMoveX.value);
-          state.moveY = clamp(moveY, -maxMoveY.value, maxMoveY.value);
-        }
-        if (state.zooming) {
-          preventDefault(event, true);
-          if (touches.length === 2) {
-            const distance = getDistance(touches);
-            const scale = startScale * distance / startDistance;
-            setScale(scale);
-          }
-        }
-      };
-      const checkTap = () => {
-        if (fingerNum > 1) {
-          return;
-        }
-        const {
-          offsetX,
-          offsetY
-        } = touch;
-        const deltaTime = Date.now() - touchStartTime;
-        const TAP_TIME = 250;
-        const TAP_OFFSET = 5;
-        if (offsetX.value < TAP_OFFSET && offsetY.value < TAP_OFFSET) {
-          if (deltaTime < TAP_TIME) {
-            if (doubleTapTimer) {
-              clearTimeout(doubleTapTimer);
-              doubleTapTimer = null;
-              toggleScale();
-            } else {
-              doubleTapTimer = setTimeout(() => {
-                emit("close");
-                doubleTapTimer = null;
-              }, TAP_TIME);
-            }
-          } else if (deltaTime > LONG_PRESS_START_TIME) {
-            emit("longPress");
-          }
-        }
-      };
-      const onTouchEnd = (event) => {
-        let stopPropagation2 = false;
-        if (state.moving || state.zooming) {
-          stopPropagation2 = true;
-          if (state.moving && startMoveX === state.moveX && startMoveY === state.moveY) {
-            stopPropagation2 = false;
-          }
-          if (!event.touches.length) {
-            if (state.zooming) {
-              state.moveX = clamp(state.moveX, -maxMoveX.value, maxMoveX.value);
-              state.moveY = clamp(state.moveY, -maxMoveY.value, maxMoveY.value);
-              state.zooming = false;
-            }
-            state.moving = false;
-            startMoveX = 0;
-            startMoveY = 0;
-            startScale = 1;
-            if (state.scale < 1) {
-              resetScale();
-            }
-            const maxZoom = +props.maxZoom;
-            if (state.scale > maxZoom) {
-              state.scale = maxZoom;
-            }
-          }
-        }
-        preventDefault(event, stopPropagation2);
-        checkTap();
-        touch.reset();
-      };
-      const onLoad = (event) => {
-        const {
-          naturalWidth,
-          naturalHeight
-        } = event.target;
-        state.imageRatio = naturalHeight / naturalWidth;
-      };
-      vue.watch(() => props.active, resetScale);
-      vue.watch(() => props.show, (value) => {
-        if (!value) {
-          resetScale();
-        }
-      });
-      useEventListener("touchmove", onTouchMove, {
-        target: vue.computed(() => {
-          var _a;
-          return (_a = swipeItem.value) == null ? void 0 : _a.$el;
-        })
-      });
-      return () => {
-        const imageSlots = {
-          loading: () => vue.createVNode(Loading, {
-            "type": "spinner"
-          }, null)
-        };
-        return vue.createVNode(SwipeItem, {
-          "ref": swipeItem,
-          "class": bem$A("swipe-item"),
-          "onTouchstartPassive": onTouchStart,
-          "onTouchend": onTouchEnd,
-          "onTouchcancel": onTouchEnd
-        }, {
-          default: () => [slots.image ? vue.createVNode("div", {
-            "class": bem$A("image-wrap")
-          }, [slots.image({
-            src: props.src
-          })]) : vue.createVNode(Image$1, {
-            "src": props.src,
-            "fit": "contain",
-            "class": bem$A("image", {
-              vertical: vertical.value
-            }),
-            "style": imageStyle.value,
-            "onLoad": onLoad
-          }, imageSlots)]
-        });
-      };
-    }
-  });
-  const [name$A, bem$z] = createNamespace("image-preview");
-  const popupProps$1 = ["show", "teleport", "transition", "overlayStyle", "closeOnPopstate"];
-  const imagePreviewProps = {
-    show: Boolean,
-    loop: truthProp,
-    images: makeArrayProp(),
-    minZoom: makeNumericProp(1 / 3),
-    maxZoom: makeNumericProp(3),
-    overlay: truthProp,
-    closeable: Boolean,
-    showIndex: truthProp,
-    className: unknownProp,
-    closeIcon: makeStringProp("clear"),
-    transition: String,
-    beforeClose: Function,
-    overlayClass: unknownProp,
-    overlayStyle: Object,
-    swipeDuration: makeNumericProp(300),
-    startPosition: makeNumericProp(0),
-    showIndicators: Boolean,
-    closeOnPopstate: truthProp,
-    closeIconPosition: makeStringProp("top-right"),
-    teleport: [String, Object]
-  };
-  var stdin_default$I = vue.defineComponent({
-    name: name$A,
-    props: imagePreviewProps,
-    emits: ["scale", "close", "closed", "change", "longPress", "update:show"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const swipeRef = vue.ref();
-      const state = vue.reactive({
-        active: 0,
-        rootWidth: 0,
-        rootHeight: 0,
-        disableZoom: false
-      });
-      const resize = () => {
-        if (swipeRef.value) {
-          const rect = useRect(swipeRef.value.$el);
-          state.rootWidth = rect.width;
-          state.rootHeight = rect.height;
-          swipeRef.value.resize();
-        }
-      };
-      const emitScale = (args) => emit("scale", args);
-      const updateShow = (show) => emit("update:show", show);
-      const emitClose = () => {
-        callInterceptor(props.beforeClose, {
-          args: [state.active],
-          done: () => updateShow(false)
-        });
-      };
-      const setActive = (active) => {
-        if (active !== state.active) {
-          state.active = active;
-          emit("change", active);
-        }
-      };
-      const renderIndex = () => {
-        if (props.showIndex) {
-          return vue.createVNode("div", {
-            "class": bem$z("index")
-          }, [slots.index ? slots.index({
-            index: state.active
-          }) : `${state.active + 1} / ${props.images.length}`]);
-        }
-      };
-      const renderCover = () => {
-        if (slots.cover) {
-          return vue.createVNode("div", {
-            "class": bem$z("cover")
-          }, [slots.cover()]);
-        }
-      };
-      const onDragStart = () => {
-        state.disableZoom = true;
-      };
-      const onDragEnd = () => {
-        state.disableZoom = false;
-      };
-      const renderImages = () => vue.createVNode(Swipe, {
-        "ref": swipeRef,
-        "lazyRender": true,
-        "loop": props.loop,
-        "class": bem$z("swipe"),
-        "duration": props.swipeDuration,
-        "initialSwipe": props.startPosition,
-        "showIndicators": props.showIndicators,
-        "indicatorColor": "white",
-        "onChange": setActive,
-        "onDragEnd": onDragEnd,
-        "onDragStart": onDragStart
-      }, {
-        default: () => [props.images.map((image, index) => vue.createVNode(stdin_default$J, {
-          "src": image,
-          "show": props.show,
-          "active": state.active,
-          "maxZoom": props.maxZoom,
-          "minZoom": props.minZoom,
-          "rootWidth": state.rootWidth,
-          "rootHeight": state.rootHeight,
-          "disableZoom": state.disableZoom,
-          "onScale": emitScale,
-          "onClose": emitClose,
-          "onLongPress": () => emit("longPress", {
-            index
-          })
-        }, {
-          image: slots.image
-        }))]
-      });
-      const renderClose = () => {
-        if (props.closeable) {
-          return vue.createVNode(Icon, {
-            "role": "button",
-            "name": props.closeIcon,
-            "class": [bem$z("close-icon", props.closeIconPosition), HAPTICS_FEEDBACK],
-            "onClick": emitClose
-          }, null);
-        }
-      };
-      const onClosed = () => emit("closed");
-      const swipeTo = (index, options) => {
-        var _a;
-        return (_a = swipeRef.value) == null ? void 0 : _a.swipeTo(index, options);
-      };
-      useExpose({
-        swipeTo
-      });
-      vue.onMounted(resize);
-      vue.watch([windowWidth, windowHeight], resize);
-      vue.watch(() => props.startPosition, (value) => setActive(+value));
-      vue.watch(() => props.show, (value) => {
-        const {
-          images,
-          startPosition
-        } = props;
-        if (value) {
-          setActive(+startPosition);
-          vue.nextTick(() => {
-            resize();
-            swipeTo(+startPosition, {
-              immediate: true
-            });
-          });
-        } else {
-          emit("close", {
-            index: state.active,
-            url: images[state.active]
-          });
-        }
-      });
-      return () => vue.createVNode(Popup, vue.mergeProps({
-        "class": [bem$z(), props.className],
-        "overlayClass": [bem$z("overlay"), props.overlayClass],
-        "onClosed": onClosed,
-        "onUpdate:show": updateShow
-      }, pick(props, popupProps$1)), {
-        default: () => [renderClose(), renderImages(), renderIndex(), renderCover()]
-      });
-    }
-  });
-  let instance$1;
-  const defaultConfig = {
-    loop: true,
-    images: [],
-    maxZoom: 3,
-    minZoom: 1 / 3,
-    onScale: void 0,
-    onClose: void 0,
-    onChange: void 0,
-    teleport: "body",
-    className: "",
-    showIndex: true,
-    closeable: false,
-    closeIcon: "clear",
-    transition: void 0,
-    beforeClose: void 0,
-    overlayStyle: void 0,
-    overlayClass: void 0,
-    startPosition: 0,
-    swipeDuration: 300,
-    showIndicators: false,
-    closeOnPopstate: true,
-    closeIconPosition: "top-right"
-  };
-  function initInstance$1() {
-    ({
-      instance: instance$1
-    } = mountComponent({
-      setup() {
-        const {
-          state,
-          toggle
-        } = usePopupState();
-        const onClosed = () => {
-          state.images = [];
-        };
-        return () => vue.createVNode(stdin_default$I, vue.mergeProps(state, {
-          "onClosed": onClosed,
-          "onUpdate:show": toggle
-        }), null);
-      }
-    }));
-  }
-  const showImagePreview = (options, startPosition = 0) => {
-    if (!inBrowser$1) {
-      return;
-    }
-    if (!instance$1) {
-      initInstance$1();
-    }
-    options = Array.isArray(options) ? {
-      images: options,
-      startPosition
-    } : options;
-    instance$1.open(extend({}, defaultConfig, options));
-    return instance$1;
-  };
-  const ImagePreview = withInstall(stdin_default$I);
-  function genAlphabet() {
-    const charCodeOfA = "A".charCodeAt(0);
-    const indexList = Array(26).fill("").map((_, i) => String.fromCharCode(charCodeOfA + i));
-    return indexList;
-  }
-  const [name$z, bem$y] = createNamespace("index-bar");
-  const indexBarProps = {
-    sticky: truthProp,
-    zIndex: numericProp,
-    teleport: [String, Object],
-    highlightColor: String,
-    stickyOffsetTop: makeNumberProp(0),
-    indexList: {
-      type: Array,
-      default: genAlphabet
-    }
-  };
-  const INDEX_BAR_KEY = Symbol(name$z);
-  var stdin_default$H = vue.defineComponent({
-    name: name$z,
-    props: indexBarProps,
-    emits: ["select", "change"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const root = vue.ref();
-      const sidebar = vue.ref();
-      const activeAnchor = vue.ref("");
-      const touch = useTouch();
-      const scrollParent = useScrollParent(root);
-      const {
-        children,
-        linkChildren
-      } = useChildren(INDEX_BAR_KEY);
-      let selectActiveIndex;
-      linkChildren({
-        props
-      });
-      const sidebarStyle = vue.computed(() => {
-        if (isDef(props.zIndex)) {
-          return {
-            zIndex: +props.zIndex + 1
-          };
-        }
-      });
-      const highlightStyle = vue.computed(() => {
-        if (props.highlightColor) {
-          return {
-            color: props.highlightColor
-          };
-        }
-      });
-      const getActiveAnchor = (scrollTop, rects) => {
-        for (let i = children.length - 1; i >= 0; i--) {
-          const prevHeight = i > 0 ? rects[i - 1].height : 0;
-          const reachTop = props.sticky ? prevHeight + props.stickyOffsetTop : 0;
-          if (scrollTop + reachTop >= rects[i].top) {
-            return i;
-          }
-        }
-        return -1;
-      };
-      const getMatchAnchor = (index) => children.find((item) => String(item.index) === index);
-      const onScroll = () => {
-        if (isHidden(root)) {
-          return;
-        }
-        const {
-          sticky,
-          indexList
-        } = props;
-        const scrollTop = getScrollTop(scrollParent.value);
-        const scrollParentRect = useRect(scrollParent);
-        const rects = children.map((item) => item.getRect(scrollParent.value, scrollParentRect));
-        let active = -1;
-        if (selectActiveIndex) {
-          const match = getMatchAnchor(selectActiveIndex);
-          if (match) {
-            const rect = match.getRect(scrollParent.value, scrollParentRect);
-            active = getActiveAnchor(rect.top, rects);
-          }
-        } else {
-          active = getActiveAnchor(scrollTop, rects);
-        }
-        activeAnchor.value = indexList[active];
-        if (sticky) {
-          children.forEach((item, index) => {
-            const {
-              state,
-              $el
-            } = item;
-            if (index === active || index === active - 1) {
-              const rect = $el.getBoundingClientRect();
-              state.left = rect.left;
-              state.width = rect.width;
-            } else {
-              state.left = null;
-              state.width = null;
-            }
-            if (index === active) {
-              state.active = true;
-              state.top = Math.max(props.stickyOffsetTop, rects[index].top - scrollTop) + scrollParentRect.top;
-            } else if (index === active - 1 && selectActiveIndex === "") {
-              const activeItemTop = rects[active].top - scrollTop;
-              state.active = activeItemTop > 0;
-              state.top = activeItemTop + scrollParentRect.top - rects[index].height;
-            } else {
-              state.active = false;
-            }
-          });
-        }
-        selectActiveIndex = "";
-      };
-      const init = () => {
-        vue.nextTick(onScroll);
-      };
-      useEventListener("scroll", onScroll, {
-        target: scrollParent,
-        passive: true
-      });
-      vue.onMounted(init);
-      vue.watch(() => props.indexList, init);
-      vue.watch(activeAnchor, (value) => {
-        if (value) {
-          emit("change", value);
-        }
-      });
-      const renderIndexes = () => props.indexList.map((index) => {
-        const active = index === activeAnchor.value;
-        return vue.createVNode("span", {
-          "class": bem$y("index", {
-            active
-          }),
-          "style": active ? highlightStyle.value : void 0,
-          "data-index": index
-        }, [index]);
-      });
-      const scrollTo = (index) => {
-        selectActiveIndex = String(index);
-        const match = getMatchAnchor(selectActiveIndex);
-        if (match) {
-          const scrollTop = getScrollTop(scrollParent.value);
-          const scrollParentRect = useRect(scrollParent);
-          const {
-            offsetHeight
-          } = document.documentElement;
-          match.$el.scrollIntoView();
-          if (scrollTop === offsetHeight - scrollParentRect.height) {
-            onScroll();
-            return;
-          }
-          if (props.sticky && props.stickyOffsetTop) {
-            setRootScrollTop(getRootScrollTop() - props.stickyOffsetTop);
-          }
-          emit("select", match.index);
-        }
-      };
-      const scrollToElement = (element) => {
-        const {
-          index
-        } = element.dataset;
-        if (index) {
-          scrollTo(index);
-        }
-      };
-      const onClickSidebar = (event) => {
-        scrollToElement(event.target);
-      };
-      let touchActiveIndex;
-      const onTouchMove = (event) => {
-        touch.move(event);
-        if (touch.isVertical()) {
-          preventDefault(event);
-          const {
-            clientX,
-            clientY
-          } = event.touches[0];
-          const target = document.elementFromPoint(clientX, clientY);
-          if (target) {
-            const {
-              index
-            } = target.dataset;
-            if (index && touchActiveIndex !== index) {
-              touchActiveIndex = index;
-              scrollToElement(target);
-            }
-          }
-        }
-      };
-      const renderSidebar = () => vue.createVNode("div", {
-        "ref": sidebar,
-        "class": bem$y("sidebar"),
-        "style": sidebarStyle.value,
-        "onClick": onClickSidebar,
-        "onTouchstartPassive": touch.start
-      }, [renderIndexes()]);
-      useExpose({
-        scrollTo
-      });
-      useEventListener("touchmove", onTouchMove, {
-        target: sidebar
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "ref": root,
-          "class": bem$y()
-        }, [props.teleport ? vue.createVNode(vue.Teleport, {
-          "to": props.teleport
-        }, {
-          default: () => [renderSidebar()]
-        }) : renderSidebar(), (_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-    }
-  });
-  const [name$y, bem$x] = createNamespace("index-anchor");
-  const indexAnchorProps = {
-    index: numericProp
-  };
-  var stdin_default$G = vue.defineComponent({
-    name: name$y,
-    props: indexAnchorProps,
-    setup(props, {
-      slots
-    }) {
-      const state = vue.reactive({
-        top: 0,
-        left: null,
-        rect: {
-          top: 0,
-          height: 0
-        },
-        width: null,
-        active: false
-      });
-      const root = vue.ref();
-      const {
-        parent
-      } = useParent(INDEX_BAR_KEY);
-      if (!parent) {
-        return;
-      }
-      const isSticky = () => state.active && parent.props.sticky;
-      const anchorStyle = vue.computed(() => {
-        const {
-          zIndex,
-          highlightColor
-        } = parent.props;
-        if (isSticky()) {
-          return extend(getZIndexStyle(zIndex), {
-            left: state.left ? `${state.left}px` : void 0,
-            width: state.width ? `${state.width}px` : void 0,
-            transform: state.top ? `translate3d(0, ${state.top}px, 0)` : void 0,
-            color: highlightColor
-          });
-        }
-      });
-      const getRect = (scrollParent, scrollParentRect) => {
-        const rootRect = useRect(root);
-        state.rect.height = rootRect.height;
-        if (scrollParent === window || scrollParent === document.body) {
-          state.rect.top = rootRect.top + getRootScrollTop();
-        } else {
-          state.rect.top = rootRect.top + getScrollTop(scrollParent) - scrollParentRect.top;
-        }
-        return state.rect;
-      };
-      useExpose({
-        state,
-        getRect
-      });
-      return () => {
-        const sticky = isSticky();
-        return vue.createVNode("div", {
-          "ref": root,
-          "style": {
-            height: sticky ? `${state.rect.height}px` : void 0
-          }
-        }, [vue.createVNode("div", {
-          "style": anchorStyle.value,
-          "class": [bem$x({
-            sticky
-          }), {
-            [BORDER_BOTTOM]: sticky
-          }]
-        }, [slots.default ? slots.default() : props.index])]);
-      };
-    }
-  });
-  const IndexAnchor = withInstall(stdin_default$G);
-  const IndexBar = withInstall(stdin_default$H);
-  const [name$x, bem$w, t$6] = createNamespace("list");
-  const listProps = {
-    error: Boolean,
-    offset: makeNumericProp(300),
-    loading: Boolean,
-    disabled: Boolean,
-    finished: Boolean,
-    errorText: String,
-    direction: makeStringProp("down"),
-    loadingText: String,
-    finishedText: String,
-    immediateCheck: truthProp
-  };
-  var stdin_default$F = vue.defineComponent({
-    name: name$x,
-    props: listProps,
-    emits: ["load", "update:error", "update:loading"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const loading = vue.ref(props.loading);
-      const root = vue.ref();
-      const placeholder = vue.ref();
-      const tabStatus = useTabStatus();
-      const scrollParent = useScrollParent(root);
-      const check = () => {
-        vue.nextTick(() => {
-          if (loading.value || props.finished || props.disabled || props.error || // skip check when inside an inactive tab
-          (tabStatus == null ? void 0 : tabStatus.value) === false) {
-            return;
-          }
-          const {
-            direction
-          } = props;
-          const offset2 = +props.offset;
-          const scrollParentRect = useRect(scrollParent);
-          if (!scrollParentRect.height || isHidden(root)) {
-            return;
-          }
-          let isReachEdge = false;
-          const placeholderRect = useRect(placeholder);
-          if (direction === "up") {
-            isReachEdge = scrollParentRect.top - placeholderRect.top <= offset2;
-          } else {
-            isReachEdge = placeholderRect.bottom - scrollParentRect.bottom <= offset2;
-          }
-          if (isReachEdge) {
-            loading.value = true;
-            emit("update:loading", true);
-            emit("load");
-          }
-        });
-      };
-      const renderFinishedText = () => {
-        if (props.finished) {
-          const text = slots.finished ? slots.finished() : props.finishedText;
-          if (text) {
-            return vue.createVNode("div", {
-              "class": bem$w("finished-text")
-            }, [text]);
-          }
-        }
-      };
-      const clickErrorText = () => {
-        emit("update:error", false);
-        check();
-      };
-      const renderErrorText = () => {
-        if (props.error) {
-          const text = slots.error ? slots.error() : props.errorText;
-          if (text) {
-            return vue.createVNode("div", {
-              "role": "button",
-              "class": bem$w("error-text"),
-              "tabindex": 0,
-              "onClick": clickErrorText
-            }, [text]);
-          }
-        }
-      };
-      const renderLoading = () => {
-        if (loading.value && !props.finished && !props.disabled) {
-          return vue.createVNode("div", {
-            "class": bem$w("loading")
-          }, [slots.loading ? slots.loading() : vue.createVNode(Loading, {
-            "class": bem$w("loading-icon")
-          }, {
-            default: () => [props.loadingText || t$6("loading")]
-          })]);
-        }
-      };
-      vue.watch(() => [props.loading, props.finished, props.error], check);
-      if (tabStatus) {
-        vue.watch(tabStatus, (tabActive) => {
-          if (tabActive) {
-            check();
-          }
-        });
-      }
-      vue.onUpdated(() => {
-        loading.value = props.loading;
-      });
-      vue.onMounted(() => {
-        if (props.immediateCheck) {
-          check();
-        }
-      });
-      useExpose({
-        check
-      });
-      useEventListener("scroll", check, {
-        target: scrollParent,
-        passive: true
-      });
-      return () => {
-        var _a;
-        const Content = (_a = slots.default) == null ? void 0 : _a.call(slots);
-        const Placeholder = vue.createVNode("div", {
-          "ref": placeholder,
-          "class": bem$w("placeholder")
-        }, null);
-        return vue.createVNode("div", {
-          "ref": root,
-          "role": "feed",
-          "class": bem$w(),
-          "aria-busy": loading.value
-        }, [props.direction === "down" ? Content : Placeholder, renderLoading(), renderFinishedText(), renderErrorText(), props.direction === "up" ? Content : Placeholder]);
-      };
-    }
-  });
-  const List = withInstall(stdin_default$F);
-  const [name$w, bem$v] = createNamespace("nav-bar");
-  const navBarProps = {
-    title: String,
-    fixed: Boolean,
-    zIndex: numericProp,
-    border: truthProp,
-    leftText: String,
-    rightText: String,
-    leftArrow: Boolean,
-    placeholder: Boolean,
-    safeAreaInsetTop: Boolean,
-    clickable: truthProp
-  };
-  var stdin_default$E = vue.defineComponent({
-    name: name$w,
-    props: navBarProps,
-    emits: ["clickLeft", "clickRight"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const navBarRef = vue.ref();
-      const renderPlaceholder = usePlaceholder(navBarRef, bem$v);
-      const onClickLeft = (event) => emit("clickLeft", event);
-      const onClickRight = (event) => emit("clickRight", event);
-      const renderLeft = () => {
-        if (slots.left) {
-          return slots.left();
-        }
-        return [props.leftArrow && vue.createVNode(Icon, {
-          "class": bem$v("arrow"),
-          "name": "arrow-left"
-        }, null), props.leftText && vue.createVNode("span", {
-          "class": bem$v("text")
-        }, [props.leftText])];
-      };
-      const renderRight = () => {
-        if (slots.right) {
-          return slots.right();
-        }
-        return vue.createVNode("span", {
-          "class": bem$v("text")
-        }, [props.rightText]);
-      };
-      const renderNavBar = () => {
-        const {
-          title,
-          fixed,
-          border,
-          zIndex
-        } = props;
-        const style = getZIndexStyle(zIndex);
-        const hasLeft = props.leftArrow || props.leftText || slots.left;
-        const hasRight = props.rightText || slots.right;
-        return vue.createVNode("div", {
-          "ref": navBarRef,
-          "style": style,
-          "class": [bem$v({
-            fixed
-          }), {
-            [BORDER_BOTTOM]: border,
-            "van-safe-area-top": props.safeAreaInsetTop
-          }]
-        }, [vue.createVNode("div", {
-          "class": bem$v("content")
-        }, [hasLeft && vue.createVNode("div", {
-          "class": [bem$v("left"), props.clickable ? HAPTICS_FEEDBACK : ""],
-          "onClick": onClickLeft
-        }, [renderLeft()]), vue.createVNode("div", {
-          "class": [bem$v("title"), "van-ellipsis"]
-        }, [slots.title ? slots.title() : title]), hasRight && vue.createVNode("div", {
-          "class": [bem$v("right"), props.clickable ? HAPTICS_FEEDBACK : ""],
-          "onClick": onClickRight
-        }, [renderRight()])])]);
-      };
-      return () => {
-        if (props.fixed && props.placeholder) {
-          return renderPlaceholder(renderNavBar);
-        }
-        return renderNavBar();
-      };
-    }
-  });
-  const NavBar = withInstall(stdin_default$E);
-  const [name$v, bem$u] = createNamespace("notice-bar");
-  const noticeBarProps = {
-    text: String,
-    mode: String,
-    color: String,
-    delay: makeNumericProp(1),
-    speed: makeNumericProp(60),
-    leftIcon: String,
-    wrapable: Boolean,
-    background: String,
-    scrollable: {
-      type: Boolean,
-      default: null
-    }
-  };
-  var stdin_default$D = vue.defineComponent({
-    name: name$v,
-    props: noticeBarProps,
-    emits: ["close", "replay"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      let wrapWidth = 0;
-      let contentWidth = 0;
-      let startTimer;
-      const wrapRef = vue.ref();
-      const contentRef = vue.ref();
-      const state = vue.reactive({
-        show: true,
-        offset: 0,
-        duration: 0
-      });
-      const renderLeftIcon = () => {
-        if (slots["left-icon"]) {
-          return slots["left-icon"]();
-        }
-        if (props.leftIcon) {
-          return vue.createVNode(Icon, {
-            "class": bem$u("left-icon"),
-            "name": props.leftIcon
-          }, null);
-        }
-      };
-      const getRightIconName = () => {
-        if (props.mode === "closeable") {
-          return "cross";
-        }
-        if (props.mode === "link") {
-          return "arrow";
-        }
-      };
-      const onClickRightIcon = (event) => {
-        if (props.mode === "closeable") {
-          state.show = false;
-          emit("close", event);
-        }
-      };
-      const renderRightIcon = () => {
-        if (slots["right-icon"]) {
-          return slots["right-icon"]();
-        }
-        const name2 = getRightIconName();
-        if (name2) {
-          return vue.createVNode(Icon, {
-            "name": name2,
-            "class": bem$u("right-icon"),
-            "onClick": onClickRightIcon
-          }, null);
-        }
-      };
-      const onTransitionEnd = () => {
-        state.offset = wrapWidth;
-        state.duration = 0;
-        raf(() => {
-          doubleRaf(() => {
-            state.offset = -contentWidth;
-            state.duration = (contentWidth + wrapWidth) / +props.speed;
-            emit("replay");
-          });
-        });
-      };
-      const renderMarquee = () => {
-        const ellipsis = props.scrollable === false && !props.wrapable;
-        const style = {
-          transform: state.offset ? `translateX(${state.offset}px)` : "",
-          transitionDuration: `${state.duration}s`
-        };
-        return vue.createVNode("div", {
-          "ref": wrapRef,
-          "role": "marquee",
-          "class": bem$u("wrap")
-        }, [vue.createVNode("div", {
-          "ref": contentRef,
-          "style": style,
-          "class": [bem$u("content"), {
-            "van-ellipsis": ellipsis
-          }],
-          "onTransitionend": onTransitionEnd
-        }, [slots.default ? slots.default() : props.text])]);
-      };
-      const reset = () => {
-        const {
-          delay,
-          speed,
-          scrollable
-        } = props;
-        const ms = isDef(delay) ? +delay * 1e3 : 0;
-        wrapWidth = 0;
-        contentWidth = 0;
-        state.offset = 0;
-        state.duration = 0;
-        clearTimeout(startTimer);
-        startTimer = setTimeout(() => {
-          if (!wrapRef.value || !contentRef.value || scrollable === false) {
-            return;
-          }
-          const wrapRefWidth = useRect(wrapRef).width;
-          const contentRefWidth = useRect(contentRef).width;
-          if (scrollable || contentRefWidth > wrapRefWidth) {
-            doubleRaf(() => {
-              wrapWidth = wrapRefWidth;
-              contentWidth = contentRefWidth;
-              state.offset = -contentWidth;
-              state.duration = contentWidth / +speed;
-            });
-          }
-        }, ms);
-      };
-      onPopupReopen(reset);
-      onMountedOrActivated(reset);
-      useEventListener("pageshow", reset);
-      useExpose({
-        reset
-      });
-      vue.watch(() => [props.text, props.scrollable], reset);
-      return () => {
-        const {
-          color,
-          wrapable,
-          background
-        } = props;
-        return vue.withDirectives(vue.createVNode("div", {
-          "role": "alert",
-          "class": bem$u({
-            wrapable
-          }),
-          "style": {
-            color,
-            background
-          }
-        }, [renderLeftIcon(), renderMarquee(), renderRightIcon()]), [[vue.vShow, state.show]]);
-      };
-    }
-  });
-  const NoticeBar = withInstall(stdin_default$D);
-  const [name$u, bem$t] = createNamespace("notify");
-  const notifyProps = extend({}, popupSharedProps, {
-    type: makeStringProp("danger"),
-    color: String,
-    message: numericProp,
-    position: makeStringProp("top"),
-    className: unknownProp,
-    background: String,
-    lockScroll: Boolean
-  });
-  var stdin_default$C = vue.defineComponent({
-    name: name$u,
-    props: notifyProps,
-    emits: ["update:show"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const updateShow = (show) => emit("update:show", show);
-      return () => vue.createVNode(Popup, {
-        "show": props.show,
-        "class": [bem$t([props.type]), props.className],
-        "style": {
-          color: props.color,
-          background: props.background
-        },
-        "overlay": false,
-        "zIndex": props.zIndex,
-        "position": props.position,
-        "duration": 0.2,
-        "lockScroll": props.lockScroll,
-        "onUpdate:show": updateShow
-      }, {
-        default: () => [slots.default ? slots.default() : props.message]
-      });
-    }
-  });
-  let timer;
-  let instance;
-  const parseOptions = (message) => isObject(message) ? message : {
-    message
-  };
-  function initInstance() {
-    ({
-      instance
-    } = mountComponent({
-      setup() {
-        const {
-          state,
-          toggle
-        } = usePopupState();
-        return () => vue.createVNode(stdin_default$C, vue.mergeProps(state, {
-          "onUpdate:show": toggle
-        }), null);
-      }
-    }));
-  }
-  const getDefaultOptions = () => ({
-    type: "danger",
-    color: void 0,
-    message: "",
-    onClose: void 0,
-    onClick: void 0,
-    onOpened: void 0,
-    duration: 3e3,
-    position: void 0,
-    className: "",
-    lockScroll: false,
-    background: void 0
-  });
-  let currentOptions = getDefaultOptions();
-  const closeNotify = () => {
-    if (instance) {
-      instance.toggle(false);
-    }
-  };
-  function showNotify(options) {
-    if (!inBrowser$1) {
-      return;
-    }
-    if (!instance) {
-      initInstance();
-    }
-    options = extend({}, currentOptions, parseOptions(options));
-    instance.open(options);
-    clearTimeout(timer);
-    if (options.duration > 0) {
-      timer = setTimeout(closeNotify, options.duration);
-    }
-    return instance;
-  }
-  const setNotifyDefaultOptions = (options) => extend(currentOptions, options);
-  const resetNotifyDefaultOptions = () => {
-    currentOptions = getDefaultOptions();
-  };
-  const Notify = withInstall(stdin_default$C);
-  const [name$t, bem$s] = createNamespace("key");
-  const CollapseIcon = vue.createVNode("svg", {
-    "class": bem$s("collapse-icon"),
-    "viewBox": "0 0 30 24"
-  }, [vue.createVNode("path", {
-    "d": "M26 13h-2v2h2v-2zm-8-3h2V8h-2v2zm2-4h2V4h-2v2zm2 4h4V4h-2v4h-2v2zm-7 14 3-3h-6l3 3zM6 13H4v2h2v-2zm16 0H8v2h14v-2zm-12-3h2V8h-2v2zM28 0l1 1 1 1v15l-1 2H1l-1-2V2l1-1 1-1zm0 2H2v15h26V2zM6 4v2H4V4zm10 2h2V4h-2v2zM8 9v1H4V8zm8 0v1h-2V8zm-6-5v2H8V4zm4 0v2h-2V4z",
-    "fill": "currentColor"
-  }, null)]);
-  const DeleteIcon = vue.createVNode("svg", {
-    "class": bem$s("delete-icon"),
-    "viewBox": "0 0 32 22"
-  }, [vue.createVNode("path", {
-    "d": "M28 0a4 4 0 0 1 4 4v14a4 4 0 0 1-4 4H10.4a2 2 0 0 1-1.4-.6L1 13.1c-.6-.5-.9-1.3-.9-2 0-1 .3-1.7.9-2.2L9 .6a2 2 0 0 1 1.4-.6zm0 2H10.4l-8.2 8.3a1 1 0 0 0-.3.7c0 .3.1.5.3.7l8.2 8.4H28a2 2 0 0 0 2-2V4c0-1.1-.9-2-2-2zm-5 4a1 1 0 0 1 .7.3 1 1 0 0 1 0 1.4L20.4 11l3.3 3.3c.2.2.3.5.3.7 0 .3-.1.5-.3.7a1 1 0 0 1-.7.3 1 1 0 0 1-.7-.3L19 12.4l-3.4 3.3a1 1 0 0 1-.6.3 1 1 0 0 1-.7-.3 1 1 0 0 1-.3-.7c0-.2.1-.5.3-.7l3.3-3.3-3.3-3.3A1 1 0 0 1 14 7c0-.3.1-.5.3-.7A1 1 0 0 1 15 6a1 1 0 0 1 .6.3L19 9.6l3.3-3.3A1 1 0 0 1 23 6z",
-    "fill": "currentColor"
-  }, null)]);
-  var stdin_default$B = vue.defineComponent({
-    name: name$t,
-    props: {
-      type: String,
-      text: numericProp,
-      color: String,
-      wider: Boolean,
-      large: Boolean,
-      loading: Boolean
-    },
-    emits: ["press"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const active = vue.ref(false);
-      const touch = useTouch();
-      const onTouchStart = (event) => {
-        touch.start(event);
-        active.value = true;
-      };
-      const onTouchMove = (event) => {
-        touch.move(event);
-        if (touch.direction.value) {
-          active.value = false;
-        }
-      };
-      const onTouchEnd = (event) => {
-        if (active.value) {
-          if (!slots.default) {
-            preventDefault(event);
-          }
-          active.value = false;
-          emit("press", props.text, props.type);
-        }
-      };
-      const renderContent = () => {
-        if (props.loading) {
-          return vue.createVNode(Loading, {
-            "class": bem$s("loading-icon")
-          }, null);
-        }
-        const text = slots.default ? slots.default() : props.text;
-        switch (props.type) {
-          case "delete":
-            return text || DeleteIcon;
-          case "extra":
-            return text || CollapseIcon;
-          default:
-            return text;
-        }
-      };
-      return () => vue.createVNode("div", {
-        "class": bem$s("wrapper", {
-          wider: props.wider
-        }),
-        "onTouchstartPassive": onTouchStart,
-        "onTouchmovePassive": onTouchMove,
-        "onTouchend": onTouchEnd,
-        "onTouchcancel": onTouchEnd
-      }, [vue.createVNode("div", {
-        "role": "button",
-        "tabindex": 0,
-        "class": bem$s([props.color, {
-          large: props.large,
-          active: active.value,
-          delete: props.type === "delete"
-        }])
-      }, [renderContent()])]);
-    }
-  });
-  const [name$s, bem$r] = createNamespace("number-keyboard");
-  const numberKeyboardProps = {
-    show: Boolean,
-    title: String,
-    theme: makeStringProp("default"),
-    zIndex: numericProp,
-    teleport: [String, Object],
-    maxlength: makeNumericProp(Infinity),
-    modelValue: makeStringProp(""),
-    transition: truthProp,
-    blurOnClose: truthProp,
-    showDeleteKey: truthProp,
-    randomKeyOrder: Boolean,
-    closeButtonText: String,
-    deleteButtonText: String,
-    closeButtonLoading: Boolean,
-    hideOnClickOutside: truthProp,
-    safeAreaInsetBottom: truthProp,
-    extraKey: {
-      type: [String, Array],
-      default: ""
-    }
-  };
-  function shuffle(array) {
-    for (let i = array.length - 1; i > 0; i--) {
-      const j = Math.floor(Math.random() * (i + 1));
-      const temp = array[i];
-      array[i] = array[j];
-      array[j] = temp;
-    }
-    return array;
-  }
-  var stdin_default$A = vue.defineComponent({
-    name: name$s,
-    inheritAttrs: false,
-    props: numberKeyboardProps,
-    emits: ["show", "hide", "blur", "input", "close", "delete", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots,
-      attrs
-    }) {
-      const root = vue.ref();
-      const genBasicKeys = () => {
-        const keys2 = Array(9).fill("").map((_, i) => ({
-          text: i + 1
-        }));
-        if (props.randomKeyOrder) {
-          shuffle(keys2);
-        }
-        return keys2;
-      };
-      const genDefaultKeys = () => [...genBasicKeys(), {
-        text: props.extraKey,
-        type: "extra"
-      }, {
-        text: 0
-      }, {
-        text: props.showDeleteKey ? props.deleteButtonText : "",
-        type: props.showDeleteKey ? "delete" : ""
-      }];
-      const genCustomKeys = () => {
-        const keys2 = genBasicKeys();
-        const {
-          extraKey
-        } = props;
-        const extraKeys = Array.isArray(extraKey) ? extraKey : [extraKey];
-        if (extraKeys.length === 1) {
-          keys2.push({
-            text: 0,
-            wider: true
-          }, {
-            text: extraKeys[0],
-            type: "extra"
-          });
-        } else if (extraKeys.length === 2) {
-          keys2.push({
-            text: extraKeys[0],
-            type: "extra"
-          }, {
-            text: 0
-          }, {
-            text: extraKeys[1],
-            type: "extra"
-          });
-        }
-        return keys2;
-      };
-      const keys = vue.computed(() => props.theme === "custom" ? genCustomKeys() : genDefaultKeys());
-      const onBlur = () => {
-        if (props.show) {
-          emit("blur");
-        }
-      };
-      const onClose = () => {
-        emit("close");
-        if (props.blurOnClose) {
-          onBlur();
-        }
-      };
-      const onAnimationEnd = () => emit(props.show ? "show" : "hide");
-      const onPress = (text, type) => {
-        if (text === "") {
-          if (type === "extra") {
-            onBlur();
-          }
-          return;
-        }
-        const value = props.modelValue;
-        if (type === "delete") {
-          emit("delete");
-          emit("update:modelValue", value.slice(0, value.length - 1));
-        } else if (type === "close") {
-          onClose();
-        } else if (value.length < +props.maxlength) {
-          emit("input", text);
-          emit("update:modelValue", value + text);
-        }
-      };
-      const renderTitle = () => {
-        const {
-          title,
-          theme,
-          closeButtonText
-        } = props;
-        const leftSlot = slots["title-left"];
-        const showClose = closeButtonText && theme === "default";
-        const showTitle = title || showClose || leftSlot;
-        if (!showTitle) {
-          return;
-        }
-        return vue.createVNode("div", {
-          "class": bem$r("header")
-        }, [leftSlot && vue.createVNode("span", {
-          "class": bem$r("title-left")
-        }, [leftSlot()]), title && vue.createVNode("h2", {
-          "class": bem$r("title")
-        }, [title]), showClose && vue.createVNode("button", {
-          "type": "button",
-          "class": [bem$r("close"), HAPTICS_FEEDBACK],
-          "onClick": onClose
-        }, [closeButtonText])]);
-      };
-      const renderKeys = () => keys.value.map((key) => {
-        const keySlots = {};
-        if (key.type === "delete") {
-          keySlots.default = slots.delete;
-        }
-        if (key.type === "extra") {
-          keySlots.default = slots["extra-key"];
-        }
-        return vue.createVNode(stdin_default$B, {
-          "key": key.text,
-          "text": key.text,
-          "type": key.type,
-          "wider": key.wider,
-          "color": key.color,
-          "onPress": onPress
-        }, keySlots);
-      });
-      const renderSidebar = () => {
-        if (props.theme === "custom") {
-          return vue.createVNode("div", {
-            "class": bem$r("sidebar")
-          }, [props.showDeleteKey && vue.createVNode(stdin_default$B, {
-            "large": true,
-            "text": props.deleteButtonText,
-            "type": "delete",
-            "onPress": onPress
-          }, {
-            delete: slots.delete
-          }), vue.createVNode(stdin_default$B, {
-            "large": true,
-            "text": props.closeButtonText,
-            "type": "close",
-            "color": "blue",
-            "loading": props.closeButtonLoading,
-            "onPress": onPress
-          }, null)]);
-        }
-      };
-      vue.watch(() => props.show, (value) => {
-        if (!props.transition) {
-          emit(value ? "show" : "hide");
-        }
-      });
-      if (props.hideOnClickOutside) {
-        useClickAway(root, onBlur, {
-          eventName: "touchstart"
-        });
-      }
-      return () => {
-        const Title = renderTitle();
-        const Content = vue.createVNode(vue.Transition, {
-          "name": props.transition ? "van-slide-up" : ""
-        }, {
-          default: () => [vue.withDirectives(vue.createVNode("div", vue.mergeProps({
-            "ref": root,
-            "style": getZIndexStyle(props.zIndex),
-            "class": bem$r({
-              unfit: !props.safeAreaInsetBottom,
-              "with-title": !!Title
-            }),
-            "onAnimationend": onAnimationEnd,
-            "onTouchstartPassive": stopPropagation
-          }, attrs), [Title, vue.createVNode("div", {
-            "class": bem$r("body")
-          }, [vue.createVNode("div", {
-            "class": bem$r("keys")
-          }, [renderKeys()]), renderSidebar()])]), [[vue.vShow, props.show]])]
-        });
-        if (props.teleport) {
-          return vue.createVNode(vue.Teleport, {
-            "to": props.teleport
-          }, {
-            default: () => [Content]
-          });
-        }
-        return Content;
-      };
-    }
-  });
-  const NumberKeyboard = withInstall(stdin_default$A);
-  const [name$r, bem$q, t$5] = createNamespace("pagination");
-  const makePage = (number, text, active) => ({
-    number,
-    text,
-    active
-  });
-  const paginationProps = {
-    mode: makeStringProp("multi"),
-    prevText: String,
-    nextText: String,
-    pageCount: makeNumericProp(0),
-    modelValue: makeNumberProp(0),
-    totalItems: makeNumericProp(0),
-    showPageSize: makeNumericProp(5),
-    itemsPerPage: makeNumericProp(10),
-    forceEllipses: Boolean
-  };
-  var stdin_default$z = vue.defineComponent({
-    name: name$r,
-    props: paginationProps,
-    emits: ["change", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const count = vue.computed(() => {
-        const {
-          pageCount,
-          totalItems,
-          itemsPerPage
-        } = props;
-        const count2 = +pageCount || Math.ceil(+totalItems / +itemsPerPage);
-        return Math.max(1, count2);
-      });
-      const pages = vue.computed(() => {
-        const items = [];
-        const pageCount = count.value;
-        const showPageSize = +props.showPageSize;
-        const {
-          modelValue,
-          forceEllipses
-        } = props;
-        let startPage = 1;
-        let endPage = pageCount;
-        const isMaxSized = showPageSize < pageCount;
-        if (isMaxSized) {
-          startPage = Math.max(modelValue - Math.floor(showPageSize / 2), 1);
-          endPage = startPage + showPageSize - 1;
-          if (endPage > pageCount) {
-            endPage = pageCount;
-            startPage = endPage - showPageSize + 1;
-          }
-        }
-        for (let number = startPage; number <= endPage; number++) {
-          const page = makePage(number, number, number === modelValue);
-          items.push(page);
-        }
-        if (isMaxSized && showPageSize > 0 && forceEllipses) {
-          if (startPage > 1) {
-            const prevPages = makePage(startPage - 1, "...");
-            items.unshift(prevPages);
-          }
-          if (endPage < pageCount) {
-            const nextPages = makePage(endPage + 1, "...");
-            items.push(nextPages);
-          }
-        }
-        return items;
-      });
-      const updateModelValue = (value, emitChange) => {
-        value = clamp(value, 1, count.value);
-        if (props.modelValue !== value) {
-          emit("update:modelValue", value);
-          if (emitChange) {
-            emit("change", value);
-          }
-        }
-      };
-      vue.watchEffect(() => updateModelValue(props.modelValue));
-      const renderDesc = () => vue.createVNode("li", {
-        "class": bem$q("page-desc")
-      }, [slots.pageDesc ? slots.pageDesc() : `${props.modelValue}/${count.value}`]);
-      const renderPrevButton = () => {
-        const {
-          mode,
-          modelValue
-        } = props;
-        const slot = slots["prev-text"];
-        const disabled = modelValue === 1;
-        return vue.createVNode("li", {
-          "class": [bem$q("item", {
-            disabled,
-            border: mode === "simple",
-            prev: true
-          }), BORDER_SURROUND]
-        }, [vue.createVNode("button", {
-          "type": "button",
-          "disabled": disabled,
-          "onClick": () => updateModelValue(modelValue - 1, true)
-        }, [slot ? slot() : props.prevText || t$5("prev")])]);
-      };
-      const renderNextButton = () => {
-        const {
-          mode,
-          modelValue
-        } = props;
-        const slot = slots["next-text"];
-        const disabled = modelValue === count.value;
-        return vue.createVNode("li", {
-          "class": [bem$q("item", {
-            disabled,
-            border: mode === "simple",
-            next: true
-          }), BORDER_SURROUND]
-        }, [vue.createVNode("button", {
-          "type": "button",
-          "disabled": disabled,
-          "onClick": () => updateModelValue(modelValue + 1, true)
-        }, [slot ? slot() : props.nextText || t$5("next")])]);
-      };
-      const renderPages = () => pages.value.map((page) => vue.createVNode("li", {
-        "class": [bem$q("item", {
-          active: page.active,
-          page: true
-        }), BORDER_SURROUND]
-      }, [vue.createVNode("button", {
-        "type": "button",
-        "aria-current": page.active || void 0,
-        "onClick": () => updateModelValue(page.number, true)
-      }, [slots.page ? slots.page(page) : page.text])]));
-      return () => vue.createVNode("nav", {
-        "role": "navigation",
-        "class": bem$q()
-      }, [vue.createVNode("ul", {
-        "class": bem$q("items")
-      }, [renderPrevButton(), props.mode === "simple" ? renderDesc() : renderPages(), renderNextButton()])]);
-    }
-  });
-  const Pagination = withInstall(stdin_default$z);
-  const [name$q, bem$p] = createNamespace("password-input");
-  const passwordInputProps = {
-    info: String,
-    mask: truthProp,
-    value: makeStringProp(""),
-    gutter: numericProp,
-    length: makeNumericProp(6),
-    focused: Boolean,
-    errorInfo: String
-  };
-  var stdin_default$y = vue.defineComponent({
-    name: name$q,
-    props: passwordInputProps,
-    emits: ["focus"],
-    setup(props, {
-      emit
-    }) {
-      const onTouchStart = (event) => {
-        event.stopPropagation();
-        emit("focus", event);
-      };
-      const renderPoints = () => {
-        const Points = [];
-        const {
-          mask,
-          value,
-          gutter,
-          focused
-        } = props;
-        const length = +props.length;
-        for (let i = 0; i < length; i++) {
-          const char = value[i];
-          const showBorder = i !== 0 && !gutter;
-          const showCursor = focused && i === value.length;
-          let style;
-          if (i !== 0 && gutter) {
-            style = {
-              marginLeft: addUnit(gutter)
-            };
-          }
-          Points.push(vue.createVNode("li", {
-            "class": [{
-              [BORDER_LEFT]: showBorder
-            }, bem$p("item", {
-              focus: showCursor
-            })],
-            "style": style
-          }, [mask ? vue.createVNode("i", {
-            "style": {
-              visibility: char ? "visible" : "hidden"
-            }
-          }, null) : char, showCursor && vue.createVNode("div", {
-            "class": bem$p("cursor")
-          }, null)]));
-        }
-        return Points;
-      };
-      return () => {
-        const info = props.errorInfo || props.info;
-        return vue.createVNode("div", {
-          "class": bem$p()
-        }, [vue.createVNode("ul", {
-          "class": [bem$p("security"), {
-            [BORDER_SURROUND]: !props.gutter
-          }],
-          "onTouchstartPassive": onTouchStart
-        }, [renderPoints()]), info && vue.createVNode("div", {
-          "class": bem$p(props.errorInfo ? "error-info" : "info")
-        }, [info])]);
-      };
-    }
-  });
-  const PasswordInput = withInstall(stdin_default$y);
-  const PickerGroup = withInstall(stdin_default$1s);
-  function getWindow(node) {
-    if (node == null) {
-      return window;
-    }
-    if (node.toString() !== "[object Window]") {
-      var ownerDocument = node.ownerDocument;
-      return ownerDocument ? ownerDocument.defaultView || window : window;
-    }
-    return node;
-  }
-  function isElement(node) {
-    var OwnElement = getWindow(node).Element;
-    return node instanceof OwnElement || node instanceof Element;
-  }
-  function isHTMLElement(node) {
-    var OwnElement = getWindow(node).HTMLElement;
-    return node instanceof OwnElement || node instanceof HTMLElement;
-  }
-  function isShadowRoot(node) {
-    if (typeof ShadowRoot === "undefined") {
-      return false;
-    }
-    var OwnElement = getWindow(node).ShadowRoot;
-    return node instanceof OwnElement || node instanceof ShadowRoot;
-  }
-  var round = Math.round;
-  function getUAString() {
-    var uaData = navigator.userAgentData;
-    if (uaData != null && uaData.brands) {
-      return uaData.brands.map(function(item) {
-        return item.brand + "/" + item.version;
-      }).join(" ");
-    }
-    return navigator.userAgent;
-  }
-  function isLayoutViewport() {
-    return !/^((?!chrome|android).)*safari/i.test(getUAString());
-  }
-  function getBoundingClientRect(element, includeScale, isFixedStrategy) {
-    if (includeScale === void 0) {
-      includeScale = false;
-    }
-    if (isFixedStrategy === void 0) {
-      isFixedStrategy = false;
-    }
-    var clientRect = element.getBoundingClientRect();
-    var scaleX = 1;
-    var scaleY = 1;
-    if (includeScale && isHTMLElement(element)) {
-      scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
-      scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
-    }
-    var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport;
-    var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
-    var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
-    var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
-    var width2 = clientRect.width / scaleX;
-    var height2 = clientRect.height / scaleY;
-    return {
-      width: width2,
-      height: height2,
-      top: y,
-      right: x + width2,
-      bottom: y + height2,
-      left: x,
-      x,
-      y
-    };
-  }
-  function getWindowScroll(node) {
-    var win = getWindow(node);
-    var scrollLeft = win.pageXOffset;
-    var scrollTop = win.pageYOffset;
-    return {
-      scrollLeft,
-      scrollTop
-    };
-  }
-  function getHTMLElementScroll(element) {
-    return {
-      scrollLeft: element.scrollLeft,
-      scrollTop: element.scrollTop
-    };
-  }
-  function getNodeScroll(node) {
-    if (node === getWindow(node) || !isHTMLElement(node)) {
-      return getWindowScroll(node);
-    } else {
-      return getHTMLElementScroll(node);
-    }
-  }
-  function getNodeName(element) {
-    return element ? (element.nodeName || "").toLowerCase() : null;
-  }
-  function getDocumentElement(element) {
-    return ((isElement(element) ? element.ownerDocument : (
-      // $FlowFixMe[prop-missing]
-      element.document
-    )) || window.document).documentElement;
-  }
-  function getWindowScrollBarX(element) {
-    return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
-  }
-  function getComputedStyle(element) {
-    return getWindow(element).getComputedStyle(element);
-  }
-  function isScrollParent(element) {
-    var _getComputedStyle = getComputedStyle(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;
-    return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
-  }
-  function isElementScaled(element) {
-    var rect = element.getBoundingClientRect();
-    var scaleX = round(rect.width) / element.offsetWidth || 1;
-    var scaleY = round(rect.height) / element.offsetHeight || 1;
-    return scaleX !== 1 || scaleY !== 1;
-  }
-  function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
-    if (isFixed === void 0) {
-      isFixed = false;
-    }
-    var isOffsetParentAnElement = isHTMLElement(offsetParent);
-    var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
-    var documentElement = getDocumentElement(offsetParent);
-    var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
-    var scroll = {
-      scrollLeft: 0,
-      scrollTop: 0
-    };
-    var offsets = {
-      x: 0,
-      y: 0
-    };
-    if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
-      if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
-      isScrollParent(documentElement)) {
-        scroll = getNodeScroll(offsetParent);
-      }
-      if (isHTMLElement(offsetParent)) {
-        offsets = getBoundingClientRect(offsetParent, true);
-        offsets.x += offsetParent.clientLeft;
-        offsets.y += offsetParent.clientTop;
-      } else if (documentElement) {
-        offsets.x = getWindowScrollBarX(documentElement);
-      }
-    }
-    return {
-      x: rect.left + scroll.scrollLeft - offsets.x,
-      y: rect.top + scroll.scrollTop - offsets.y,
-      width: rect.width,
-      height: rect.height
-    };
-  }
-  function getLayoutRect(element) {
-    var clientRect = getBoundingClientRect(element);
-    var width2 = element.offsetWidth;
-    var height2 = element.offsetHeight;
-    if (Math.abs(clientRect.width - width2) <= 1) {
-      width2 = clientRect.width;
-    }
-    if (Math.abs(clientRect.height - height2) <= 1) {
-      height2 = clientRect.height;
-    }
-    return {
-      x: element.offsetLeft,
-      y: element.offsetTop,
-      width: width2,
-      height: height2
-    };
-  }
-  function getParentNode(element) {
-    if (getNodeName(element) === "html") {
-      return element;
-    }
-    return (
-      // this is a quicker (but less type safe) way to save quite some bytes from the bundle
-      // $FlowFixMe[incompatible-return]
-      // $FlowFixMe[prop-missing]
-      element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
-      element.parentNode || // DOM Element detected
-      (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
-      // $FlowFixMe[incompatible-call]: HTMLElement is a Node
-      getDocumentElement(element)
-    );
-  }
-  function getScrollParent(node) {
-    if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) {
-      return node.ownerDocument.body;
-    }
-    if (isHTMLElement(node) && isScrollParent(node)) {
-      return node;
-    }
-    return getScrollParent(getParentNode(node));
-  }
-  function listScrollParents(element, list) {
-    var _element$ownerDocumen;
-    if (list === void 0) {
-      list = [];
-    }
-    var scrollParent = getScrollParent(element);
-    var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
-    var win = getWindow(scrollParent);
-    var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
-    var updatedList = list.concat(target);
-    return isBody ? updatedList : (
-      // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
-      updatedList.concat(listScrollParents(getParentNode(target)))
-    );
-  }
-  function isTableElement(element) {
-    return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0;
-  }
-  function getTrueOffsetParent(element) {
-    if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
-    getComputedStyle(element).position === "fixed") {
-      return null;
-    }
-    return element.offsetParent;
-  }
-  function getContainingBlock(element) {
-    var isFirefox = /firefox/i.test(getUAString());
-    var isIE = /Trident/i.test(getUAString());
-    if (isIE && isHTMLElement(element)) {
-      var elementCss = getComputedStyle(element);
-      if (elementCss.position === "fixed") {
-        return null;
-      }
-    }
-    var currentNode = getParentNode(element);
-    if (isShadowRoot(currentNode)) {
-      currentNode = currentNode.host;
-    }
-    while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) {
-      var css = getComputedStyle(currentNode);
-      if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === "filter" || isFirefox && css.filter && css.filter !== "none") {
-        return currentNode;
-      } else {
-        currentNode = currentNode.parentNode;
-      }
-    }
-    return null;
-  }
-  function getOffsetParent(element) {
-    var window2 = getWindow(element);
-    var offsetParent = getTrueOffsetParent(element);
-    while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === "static") {
-      offsetParent = getTrueOffsetParent(offsetParent);
-    }
-    if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle(offsetParent).position === "static")) {
-      return window2;
-    }
-    return offsetParent || getContainingBlock(element) || window2;
-  }
-  var top = "top";
-  var bottom = "bottom";
-  var right = "right";
-  var left = "left";
-  var auto = "auto";
-  var basePlacements = [top, bottom, right, left];
-  var start = "start";
-  var end = "end";
-  var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) {
-    return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
-  }, []);
-  var beforeRead = "beforeRead";
-  var read = "read";
-  var afterRead = "afterRead";
-  var beforeMain = "beforeMain";
-  var main = "main";
-  var afterMain = "afterMain";
-  var beforeWrite = "beforeWrite";
-  var write = "write";
-  var afterWrite = "afterWrite";
-  var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
-  function order(modifiers) {
-    var map = /* @__PURE__ */ new Map();
-    var visited = /* @__PURE__ */ new Set();
-    var result = [];
-    modifiers.forEach(function(modifier) {
-      map.set(modifier.name, modifier);
-    });
-    function sort(modifier) {
-      visited.add(modifier.name);
-      var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
-      requires.forEach(function(dep) {
-        if (!visited.has(dep)) {
-          var depModifier = map.get(dep);
-          if (depModifier) {
-            sort(depModifier);
-          }
-        }
-      });
-      result.push(modifier);
-    }
-    modifiers.forEach(function(modifier) {
-      if (!visited.has(modifier.name)) {
-        sort(modifier);
-      }
-    });
-    return result;
-  }
-  function orderModifiers(modifiers) {
-    var orderedModifiers = order(modifiers);
-    return modifierPhases.reduce(function(acc, phase) {
-      return acc.concat(orderedModifiers.filter(function(modifier) {
-        return modifier.phase === phase;
-      }));
-    }, []);
-  }
-  function debounce(fn2) {
-    var pending;
-    return function() {
-      if (!pending) {
-        pending = new Promise(function(resolve) {
-          Promise.resolve().then(function() {
-            pending = void 0;
-            resolve(fn2());
-          });
-        });
-      }
-      return pending;
-    };
-  }
-  function format(str) {
-    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
-      args[_key - 1] = arguments[_key];
-    }
-    return [].concat(args).reduce(function(p, c) {
-      return p.replace(/%s/, c);
-    }, str);
-  }
-  var INVALID_MODIFIER_ERROR = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s';
-  var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available';
-  var VALID_PROPERTIES = ["name", "enabled", "phase", "fn", "effect", "requires", "options"];
-  function validateModifiers(modifiers) {
-    modifiers.forEach(function(modifier) {
-      [].concat(Object.keys(modifier), VALID_PROPERTIES).filter(function(value, index, self2) {
-        return self2.indexOf(value) === index;
-      }).forEach(function(key) {
-        switch (key) {
-          case "name":
-            if (typeof modifier.name !== "string") {
-              console.error(format(INVALID_MODIFIER_ERROR, String(modifier.name), '"name"', '"string"', '"' + String(modifier.name) + '"'));
-            }
-            break;
-          case "enabled":
-            if (typeof modifier.enabled !== "boolean") {
-              console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', '"' + String(modifier.enabled) + '"'));
-            }
-            break;
-          case "phase":
-            if (modifierPhases.indexOf(modifier.phase) < 0) {
-              console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"phase"', "either " + modifierPhases.join(", "), '"' + String(modifier.phase) + '"'));
-            }
-            break;
-          case "fn":
-            if (typeof modifier.fn !== "function") {
-              console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"fn"', '"function"', '"' + String(modifier.fn) + '"'));
-            }
-            break;
-          case "effect":
-            if (modifier.effect != null && typeof modifier.effect !== "function") {
-              console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', '"' + String(modifier.fn) + '"'));
-            }
-            break;
-          case "requires":
-            if (modifier.requires != null && !Array.isArray(modifier.requires)) {
-              console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', '"' + String(modifier.requires) + '"'));
-            }
-            break;
-          case "requiresIfExists":
-            if (!Array.isArray(modifier.requiresIfExists)) {
-              console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requiresIfExists"', '"array"', '"' + String(modifier.requiresIfExists) + '"'));
-            }
-            break;
-          case "options":
-          case "data":
-            break;
-          default:
-            console.error('PopperJS: an invalid property has been provided to the "' + modifier.name + '" modifier, valid properties are ' + VALID_PROPERTIES.map(function(s) {
-              return '"' + s + '"';
-            }).join(", ") + '; but "' + key + '" was provided.');
-        }
-        modifier.requires && modifier.requires.forEach(function(requirement) {
-          if (modifiers.find(function(mod) {
-            return mod.name === requirement;
-          }) == null) {
-            console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement));
-          }
-        });
-      });
-    });
-  }
-  function uniqueBy(arr, fn2) {
-    var identifiers = /* @__PURE__ */ new Set();
-    return arr.filter(function(item) {
-      var identifier = fn2(item);
-      if (!identifiers.has(identifier)) {
-        identifiers.add(identifier);
-        return true;
-      }
-    });
-  }
-  function getBasePlacement(placement) {
-    return placement.split("-")[0];
-  }
-  function mergeByName(modifiers) {
-    var merged = modifiers.reduce(function(merged2, current2) {
-      var existing = merged2[current2.name];
-      merged2[current2.name] = existing ? Object.assign({}, existing, current2, {
-        options: Object.assign({}, existing.options, current2.options),
-        data: Object.assign({}, existing.data, current2.data)
-      }) : current2;
-      return merged2;
-    }, {});
-    return Object.keys(merged).map(function(key) {
-      return merged[key];
-    });
-  }
-  function getVariation(placement) {
-    return placement.split("-")[1];
-  }
-  function getMainAxisFromPlacement(placement) {
-    return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y";
-  }
-  function computeOffsets(_ref) {
-    var reference = _ref.reference, element = _ref.element, placement = _ref.placement;
-    var basePlacement = placement ? getBasePlacement(placement) : null;
-    var variation = placement ? getVariation(placement) : null;
-    var commonX = reference.x + reference.width / 2 - element.width / 2;
-    var commonY = reference.y + reference.height / 2 - element.height / 2;
-    var offsets;
-    switch (basePlacement) {
-      case top:
-        offsets = {
-          x: commonX,
-          y: reference.y - element.height
-        };
-        break;
-      case bottom:
-        offsets = {
-          x: commonX,
-          y: reference.y + reference.height
-        };
-        break;
-      case right:
-        offsets = {
-          x: reference.x + reference.width,
-          y: commonY
-        };
-        break;
-      case left:
-        offsets = {
-          x: reference.x - element.width,
-          y: commonY
-        };
-        break;
-      default:
-        offsets = {
-          x: reference.x,
-          y: reference.y
-        };
-    }
-    var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
-    if (mainAxis != null) {
-      var len = mainAxis === "y" ? "height" : "width";
-      switch (variation) {
-        case start:
-          offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);
-          break;
-        case end:
-          offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);
-          break;
-      }
-    }
-    return offsets;
-  }
-  var INVALID_ELEMENT_ERROR = "Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.";
-  var INFINITE_LOOP_ERROR = "Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.";
-  var DEFAULT_OPTIONS = {
-    placement: "bottom",
-    modifiers: [],
-    strategy: "absolute"
-  };
-  function areValidElements() {
-    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
-      args[_key] = arguments[_key];
-    }
-    return !args.some(function(element) {
-      return !(element && typeof element.getBoundingClientRect === "function");
-    });
-  }
-  function popperGenerator(generatorOptions) {
-    if (generatorOptions === void 0) {
-      generatorOptions = {};
-    }
-    var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions2 = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
-    return function createPopper2(reference, popper, options) {
-      if (options === void 0) {
-        options = defaultOptions2;
-      }
-      var state = {
-        placement: "bottom",
-        orderedModifiers: [],
-        options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions2),
-        modifiersData: {},
-        elements: {
-          reference,
-          popper
-        },
-        attributes: {},
-        styles: {}
-      };
-      var effectCleanupFns = [];
-      var isDestroyed = false;
-      var instance2 = {
-        state,
-        setOptions: function setOptions(setOptionsAction) {
-          var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction;
-          cleanupModifierEffects();
-          state.options = Object.assign({}, defaultOptions2, state.options, options2);
-          state.scrollParents = {
-            reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],
-            popper: listScrollParents(popper)
-          };
-          var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers)));
-          state.orderedModifiers = orderedModifiers.filter(function(m) {
-            return m.enabled;
-          });
-          {
-            var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function(_ref) {
-              var name2 = _ref.name;
-              return name2;
-            });
-            validateModifiers(modifiers);
-            if (getBasePlacement(state.options.placement) === auto) {
-              var flipModifier = state.orderedModifiers.find(function(_ref2) {
-                var name2 = _ref2.name;
-                return name2 === "flip";
-              });
-              if (!flipModifier) {
-                console.error(['Popper: "auto" placements require the "flip" modifier be', "present and enabled to work."].join(" "));
-              }
-            }
-            var _getComputedStyle = getComputedStyle(popper), marginTop = _getComputedStyle.marginTop, marginRight = _getComputedStyle.marginRight, marginBottom = _getComputedStyle.marginBottom, marginLeft = _getComputedStyle.marginLeft;
-            if ([marginTop, marginRight, marginBottom, marginLeft].some(function(margin) {
-              return parseFloat(margin);
-            })) {
-              console.warn(['Popper: CSS "margin" styles cannot be used to apply padding', "between the popper and its reference element or boundary.", "To replicate margin, use the `offset` modifier, as well as", "the `padding` option in the `preventOverflow` and `flip`", "modifiers."].join(" "));
-            }
-          }
-          runModifierEffects();
-          return instance2.update();
-        },
-        // Sync update – it will always be executed, even if not necessary. This
-        // is useful for low frequency updates where sync behavior simplifies the
-        // logic.
-        // For high frequency updates (e.g. `resize` and `scroll` events), always
-        // prefer the async Popper#update method
-        forceUpdate: function forceUpdate() {
-          if (isDestroyed) {
-            return;
-          }
-          var _state$elements = state.elements, reference2 = _state$elements.reference, popper2 = _state$elements.popper;
-          if (!areValidElements(reference2, popper2)) {
-            {
-              console.error(INVALID_ELEMENT_ERROR);
-            }
-            return;
-          }
-          state.rects = {
-            reference: getCompositeRect(reference2, getOffsetParent(popper2), state.options.strategy === "fixed"),
-            popper: getLayoutRect(popper2)
-          };
-          state.reset = false;
-          state.placement = state.options.placement;
-          state.orderedModifiers.forEach(function(modifier) {
-            return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
-          });
-          var __debug_loops__ = 0;
-          for (var index = 0; index < state.orderedModifiers.length; index++) {
-            {
-              __debug_loops__ += 1;
-              if (__debug_loops__ > 100) {
-                console.error(INFINITE_LOOP_ERROR);
-                break;
-              }
-            }
-            if (state.reset === true) {
-              state.reset = false;
-              index = -1;
-              continue;
-            }
-            var _state$orderedModifie = state.orderedModifiers[index], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name2 = _state$orderedModifie.name;
-            if (typeof fn2 === "function") {
-              state = fn2({
-                state,
-                options: _options,
-                name: name2,
-                instance: instance2
-              }) || state;
-            }
-          }
-        },
-        // Async and optimistically optimized update – it will not be executed if
-        // not necessary (debounced to run at most once-per-tick)
-        update: debounce(function() {
-          return new Promise(function(resolve) {
-            instance2.forceUpdate();
-            resolve(state);
-          });
-        }),
-        destroy: function destroy() {
-          cleanupModifierEffects();
-          isDestroyed = true;
-        }
-      };
-      if (!areValidElements(reference, popper)) {
-        {
-          console.error(INVALID_ELEMENT_ERROR);
-        }
-        return instance2;
-      }
-      instance2.setOptions(options).then(function(state2) {
-        if (!isDestroyed && options.onFirstUpdate) {
-          options.onFirstUpdate(state2);
-        }
-      });
-      function runModifierEffects() {
-        state.orderedModifiers.forEach(function(_ref3) {
-          var name2 = _ref3.name, _ref3$options = _ref3.options, options2 = _ref3$options === void 0 ? {} : _ref3$options, effect3 = _ref3.effect;
-          if (typeof effect3 === "function") {
-            var cleanupFn = effect3({
-              state,
-              name: name2,
-              instance: instance2,
-              options: options2
-            });
-            var noopFn = function noopFn2() {
-            };
-            effectCleanupFns.push(cleanupFn || noopFn);
-          }
-        });
-      }
-      function cleanupModifierEffects() {
-        effectCleanupFns.forEach(function(fn2) {
-          return fn2();
-        });
-        effectCleanupFns = [];
-      }
-      return instance2;
-    };
-  }
-  var passive = {
-    passive: true
-  };
-  function effect(_ref) {
-    var state = _ref.state, instance2 = _ref.instance, options = _ref.options;
-    var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize;
-    var window2 = getWindow(state.elements.popper);
-    var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
-    if (scroll) {
-      scrollParents.forEach(function(scrollParent) {
-        scrollParent.addEventListener("scroll", instance2.update, passive);
-      });
-    }
-    if (resize) {
-      window2.addEventListener("resize", instance2.update, passive);
-    }
-    return function() {
-      if (scroll) {
-        scrollParents.forEach(function(scrollParent) {
-          scrollParent.removeEventListener("scroll", instance2.update, passive);
-        });
-      }
-      if (resize) {
-        window2.removeEventListener("resize", instance2.update, passive);
-      }
-    };
-  }
-  var eventListeners_default = {
-    name: "eventListeners",
-    enabled: true,
-    phase: "write",
-    fn: function fn() {
-    },
-    effect,
-    data: {}
-  };
-  function popperOffsets(_ref) {
-    var state = _ref.state, name2 = _ref.name;
-    state.modifiersData[name2] = computeOffsets({
-      reference: state.rects.reference,
-      element: state.rects.popper,
-      strategy: "absolute",
-      placement: state.placement
-    });
-  }
-  var popperOffsets_default = {
-    name: "popperOffsets",
-    enabled: true,
-    phase: "read",
-    fn: popperOffsets,
-    data: {}
-  };
-  var unsetSides = {
-    top: "auto",
-    right: "auto",
-    bottom: "auto",
-    left: "auto"
-  };
-  function roundOffsetsByDPR(_ref) {
-    var x = _ref.x, y = _ref.y;
-    var win = window;
-    var dpr = win.devicePixelRatio || 1;
-    return {
-      x: round(x * dpr) / dpr || 0,
-      y: round(y * dpr) / dpr || 0
-    };
-  }
-  function mapToStyles(_ref2) {
-    var _Object$assign2;
-    var popper = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed;
-    var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y;
-    var _ref3 = typeof roundOffsets === "function" ? roundOffsets({
-      x,
-      y
-    }) : {
-      x,
-      y
-    };
-    x = _ref3.x;
-    y = _ref3.y;
-    var hasX = offsets.hasOwnProperty("x");
-    var hasY = offsets.hasOwnProperty("y");
-    var sideX = left;
-    var sideY = top;
-    var win = window;
-    if (adaptive) {
-      var offsetParent = getOffsetParent(popper);
-      var heightProp = "clientHeight";
-      var widthProp = "clientWidth";
-      if (offsetParent === getWindow(popper)) {
-        offsetParent = getDocumentElement(popper);
-        if (getComputedStyle(offsetParent).position !== "static" && position === "absolute") {
-          heightProp = "scrollHeight";
-          widthProp = "scrollWidth";
-        }
-      }
-      offsetParent = offsetParent;
-      if (placement === top || (placement === left || placement === right) && variation === end) {
-        sideY = bottom;
-        var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : (
-          // $FlowFixMe[prop-missing]
-          offsetParent[heightProp]
-        );
-        y -= offsetY - popperRect.height;
-        y *= gpuAcceleration ? 1 : -1;
-      }
-      if (placement === left || (placement === top || placement === bottom) && variation === end) {
-        sideX = right;
-        var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : (
-          // $FlowFixMe[prop-missing]
-          offsetParent[widthProp]
-        );
-        x -= offsetX - popperRect.width;
-        x *= gpuAcceleration ? 1 : -1;
-      }
-    }
-    var commonStyles = Object.assign({
-      position
-    }, adaptive && unsetSides);
-    var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
-      x,
-      y
-    }) : {
-      x,
-      y
-    };
-    x = _ref4.x;
-    y = _ref4.y;
-    if (gpuAcceleration) {
-      var _Object$assign;
-      return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
-    }
-    return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2));
-  }
-  function computeStyles(_ref5) {
-    var state = _ref5.state, options = _ref5.options;
-    var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
-    {
-      var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || "";
-      if (adaptive && ["transform", "top", "right", "bottom", "left"].some(function(property) {
-        return transitionProperty.indexOf(property) >= 0;
-      })) {
-        console.warn(["Popper: Detected CSS transitions on at least one of the following", 'CSS properties: "transform", "top", "right", "bottom", "left".', "\n\n", 'Disable the "computeStyles" modifier\'s `adaptive` option to allow', "for smooth transitions, or remove these properties from the CSS", "transition declaration on the popper element if only transitioning", "opacity or background-color for example.", "\n\n", "We recommend using the popper element as a wrapper around an inner", "element that can have any CSS property transitioned for animations."].join(" "));
-      }
-    }
-    var commonStyles = {
-      placement: getBasePlacement(state.placement),
-      variation: getVariation(state.placement),
-      popper: state.elements.popper,
-      popperRect: state.rects.popper,
-      gpuAcceleration,
-      isFixed: state.options.strategy === "fixed"
-    };
-    if (state.modifiersData.popperOffsets != null) {
-      state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
-        offsets: state.modifiersData.popperOffsets,
-        position: state.options.strategy,
-        adaptive,
-        roundOffsets
-      })));
-    }
-    if (state.modifiersData.arrow != null) {
-      state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
-        offsets: state.modifiersData.arrow,
-        position: "absolute",
-        adaptive: false,
-        roundOffsets
-      })));
-    }
-    state.attributes.popper = Object.assign({}, state.attributes.popper, {
-      "data-popper-placement": state.placement
-    });
-  }
-  var computeStyles_default = {
-    name: "computeStyles",
-    enabled: true,
-    phase: "beforeWrite",
-    fn: computeStyles,
-    data: {}
-  };
-  function applyStyles(_ref) {
-    var state = _ref.state;
-    Object.keys(state.elements).forEach(function(name2) {
-      var style = state.styles[name2] || {};
-      var attributes = state.attributes[name2] || {};
-      var element = state.elements[name2];
-      if (!isHTMLElement(element) || !getNodeName(element)) {
-        return;
-      }
-      Object.assign(element.style, style);
-      Object.keys(attributes).forEach(function(name22) {
-        var value = attributes[name22];
-        if (value === false) {
-          element.removeAttribute(name22);
-        } else {
-          element.setAttribute(name22, value === true ? "" : value);
-        }
-      });
-    });
-  }
-  function effect2(_ref2) {
-    var state = _ref2.state;
-    var initialStyles = {
-      popper: {
-        position: state.options.strategy,
-        left: "0",
-        top: "0",
-        margin: "0"
-      },
-      arrow: {
-        position: "absolute"
-      },
-      reference: {}
-    };
-    Object.assign(state.elements.popper.style, initialStyles.popper);
-    state.styles = initialStyles;
-    if (state.elements.arrow) {
-      Object.assign(state.elements.arrow.style, initialStyles.arrow);
-    }
-    return function() {
-      Object.keys(state.elements).forEach(function(name2) {
-        var element = state.elements[name2];
-        var attributes = state.attributes[name2] || {};
-        var styleProperties = Object.keys(state.styles.hasOwnProperty(name2) ? state.styles[name2] : initialStyles[name2]);
-        var style = styleProperties.reduce(function(style2, property) {
-          style2[property] = "";
-          return style2;
-        }, {});
-        if (!isHTMLElement(element) || !getNodeName(element)) {
-          return;
-        }
-        Object.assign(element.style, style);
-        Object.keys(attributes).forEach(function(attribute) {
-          element.removeAttribute(attribute);
-        });
-      });
-    };
-  }
-  var applyStyles_default = {
-    name: "applyStyles",
-    enabled: true,
-    phase: "write",
-    fn: applyStyles,
-    effect: effect2,
-    requires: ["computeStyles"]
-  };
-  var defaultModifiers = [eventListeners_default, popperOffsets_default, computeStyles_default, applyStyles_default];
-  var createPopper = /* @__PURE__ */ popperGenerator({
-    defaultModifiers
-  });
-  function distanceAndSkiddingToXY(placement, rects, offset2) {
-    var basePlacement = getBasePlacement(placement);
-    var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
-    var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, {
-      placement
-    })) : offset2, skidding = _ref[0], distance = _ref[1];
-    skidding = skidding || 0;
-    distance = (distance || 0) * invertDistance;
-    return [left, right].indexOf(basePlacement) >= 0 ? {
-      x: distance,
-      y: skidding
-    } : {
-      x: skidding,
-      y: distance
-    };
-  }
-  function offset(_ref2) {
-    var state = _ref2.state, options = _ref2.options, name2 = _ref2.name;
-    var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset;
-    var data = placements.reduce(function(acc, placement) {
-      acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2);
-      return acc;
-    }, {});
-    var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y;
-    if (state.modifiersData.popperOffsets != null) {
-      state.modifiersData.popperOffsets.x += x;
-      state.modifiersData.popperOffsets.y += y;
-    }
-    state.modifiersData[name2] = data;
-  }
-  var offset_default = {
-    name: "offset",
-    enabled: true,
-    phase: "main",
-    requires: ["popperOffsets"],
-    fn: offset
-  };
-  const useSyncPropRef = (getProp, setProp) => {
-    const propRef = vue.ref(getProp());
-    vue.watch(getProp, (value) => {
-      if (value !== propRef.value) {
-        propRef.value = value;
-      }
-    });
-    vue.watch(propRef, (value) => {
-      if (value !== getProp()) {
-        setProp(value);
-      }
-    });
-    return propRef;
-  };
-  const [name$p, bem$o] = createNamespace("popover");
-  const popupProps = ["overlay", "duration", "teleport", "overlayStyle", "overlayClass", "closeOnClickOverlay"];
-  const popoverProps = {
-    show: Boolean,
-    theme: makeStringProp("light"),
-    overlay: Boolean,
-    actions: makeArrayProp(),
-    trigger: makeStringProp("click"),
-    duration: numericProp,
-    showArrow: truthProp,
-    placement: makeStringProp("bottom"),
-    iconPrefix: String,
-    overlayClass: unknownProp,
-    overlayStyle: Object,
-    closeOnClickAction: truthProp,
-    closeOnClickOverlay: truthProp,
-    closeOnClickOutside: truthProp,
-    offset: {
-      type: Array,
-      default: () => [0, 8]
-    },
-    teleport: {
-      type: [String, Object],
-      default: "body"
-    }
-  };
-  var stdin_default$x = vue.defineComponent({
-    name: name$p,
-    props: popoverProps,
-    emits: ["select", "touchstart", "update:show"],
-    setup(props, {
-      emit,
-      slots,
-      attrs
-    }) {
-      let popper;
-      const popupRef = vue.ref();
-      const wrapperRef = vue.ref();
-      const popoverRef = vue.ref();
-      const show = useSyncPropRef(() => props.show, (value) => emit("update:show", value));
-      const getPopoverOptions = () => ({
-        placement: props.placement,
-        modifiers: [{
-          name: "computeStyles",
-          options: {
-            adaptive: false,
-            gpuAcceleration: false
-          }
-        }, extend({}, offset_default, {
-          options: {
-            offset: props.offset
-          }
-        })]
-      });
-      const createPopperInstance = () => {
-        if (wrapperRef.value && popoverRef.value) {
-          return createPopper(wrapperRef.value, popoverRef.value.popupRef.value, getPopoverOptions());
-        }
-        return null;
-      };
-      const updateLocation = () => {
-        vue.nextTick(() => {
-          if (!show.value) {
-            return;
-          }
-          if (!popper) {
-            popper = createPopperInstance();
-            if (inBrowser$1) {
-              window.addEventListener("animationend", updateLocation);
-              window.addEventListener("transitionend", updateLocation);
-            }
-          } else {
-            popper.setOptions(getPopoverOptions());
-          }
-        });
-      };
-      const updateShow = (value) => {
-        show.value = value;
-      };
-      const onClickWrapper = () => {
-        if (props.trigger === "click") {
-          show.value = !show.value;
-        }
-      };
-      const onClickAction = (action, index) => {
-        if (action.disabled) {
-          return;
-        }
-        emit("select", action, index);
-        if (props.closeOnClickAction) {
-          show.value = false;
-        }
-      };
-      const onClickAway = () => {
-        if (show.value && props.closeOnClickOutside && (!props.overlay || props.closeOnClickOverlay)) {
-          show.value = false;
-        }
-      };
-      const renderActionContent = (action, index) => {
-        if (slots.action) {
-          return slots.action({
-            action,
-            index
-          });
-        }
-        return [action.icon && vue.createVNode(Icon, {
-          "name": action.icon,
-          "classPrefix": props.iconPrefix,
-          "class": bem$o("action-icon")
-        }, null), vue.createVNode("div", {
-          "class": [bem$o("action-text"), BORDER_BOTTOM]
-        }, [action.text])];
-      };
-      const renderAction = (action, index) => {
-        const {
-          icon,
-          color,
-          disabled,
-          className
-        } = action;
-        return vue.createVNode("div", {
-          "role": "menuitem",
-          "class": [bem$o("action", {
-            disabled,
-            "with-icon": icon
-          }), className],
-          "style": {
-            color
-          },
-          "tabindex": disabled ? void 0 : 0,
-          "aria-disabled": disabled || void 0,
-          "onClick": () => onClickAction(action, index)
-        }, [renderActionContent(action, index)]);
-      };
-      vue.onMounted(() => {
-        updateLocation();
-        vue.watchEffect(() => {
-          var _a;
-          popupRef.value = (_a = popoverRef.value) == null ? void 0 : _a.popupRef.value;
-        });
-      });
-      vue.onBeforeUnmount(() => {
-        if (popper) {
-          if (inBrowser$1) {
-            window.removeEventListener("animationend", updateLocation);
-            window.removeEventListener("transitionend", updateLocation);
-          }
-          popper.destroy();
-          popper = null;
-        }
-      });
-      vue.watch(() => [show.value, props.offset, props.placement], updateLocation);
-      useClickAway([wrapperRef, popupRef], onClickAway, {
-        eventName: "touchstart"
-      });
-      return () => {
-        var _a;
-        return vue.createVNode(vue.Fragment, null, [vue.createVNode("span", {
-          "ref": wrapperRef,
-          "class": bem$o("wrapper"),
-          "onClick": onClickWrapper
-        }, [(_a = slots.reference) == null ? void 0 : _a.call(slots)]), vue.createVNode(Popup, vue.mergeProps({
-          "ref": popoverRef,
-          "show": show.value,
-          "class": bem$o([props.theme]),
-          "position": "",
-          "transition": "van-popover-zoom",
-          "lockScroll": false,
-          "onUpdate:show": updateShow
-        }, attrs, pick(props, popupProps)), {
-          default: () => [props.showArrow && vue.createVNode("div", {
-            "class": bem$o("arrow")
-          }, null), vue.createVNode("div", {
-            "role": "menu",
-            "class": bem$o("content")
-          }, [slots.default ? slots.default() : props.actions.map(renderAction)])]
-        })]);
-      };
-    }
-  });
-  const Popover = withInstall(stdin_default$x);
-  const [name$o, bem$n] = createNamespace("progress");
-  const progressProps = {
-    color: String,
-    inactive: Boolean,
-    pivotText: String,
-    textColor: String,
-    showPivot: truthProp,
-    pivotColor: String,
-    trackColor: String,
-    strokeWidth: numericProp,
-    percentage: {
-      type: numericProp,
-      default: 0,
-      validator: (value) => +value >= 0 && +value <= 100
-    }
-  };
-  var stdin_default$w = vue.defineComponent({
-    name: name$o,
-    props: progressProps,
-    setup(props) {
-      const background = vue.computed(() => props.inactive ? void 0 : props.color);
-      const renderPivot = () => {
-        const {
-          textColor,
-          pivotText,
-          pivotColor,
-          percentage
-        } = props;
-        const text = pivotText != null ? pivotText : `${percentage}%`;
-        if (props.showPivot && text) {
-          const style = {
-            color: textColor,
-            left: `${+percentage}%`,
-            transform: `translate(-${+percentage}%,-50%)`,
-            background: pivotColor || background.value
-          };
-          return vue.createVNode("span", {
-            "style": style,
-            "class": bem$n("pivot", {
-              inactive: props.inactive
-            })
-          }, [text]);
-        }
-      };
-      return () => {
-        const {
-          trackColor,
-          percentage,
-          strokeWidth
-        } = props;
-        const rootStyle = {
-          background: trackColor,
-          height: addUnit(strokeWidth)
-        };
-        const portionStyle = {
-          width: `${percentage}%`,
-          background: background.value
-        };
-        return vue.createVNode("div", {
-          "class": bem$n(),
-          "style": rootStyle
-        }, [vue.createVNode("span", {
-          "class": bem$n("portion", {
-            inactive: props.inactive
-          }),
-          "style": portionStyle
-        }, null), renderPivot()]);
-      };
-    }
-  });
-  const Progress = withInstall(stdin_default$w);
-  const [name$n, bem$m, t$4] = createNamespace("pull-refresh");
-  const DEFAULT_HEAD_HEIGHT = 50;
-  const TEXT_STATUS = ["pulling", "loosing", "success"];
-  const pullRefreshProps = {
-    disabled: Boolean,
-    modelValue: Boolean,
-    headHeight: makeNumericProp(DEFAULT_HEAD_HEIGHT),
-    successText: String,
-    pullingText: String,
-    loosingText: String,
-    loadingText: String,
-    pullDistance: numericProp,
-    successDuration: makeNumericProp(500),
-    animationDuration: makeNumericProp(300)
-  };
-  var stdin_default$v = vue.defineComponent({
-    name: name$n,
-    props: pullRefreshProps,
-    emits: ["change", "refresh", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      let reachTop;
-      const root = vue.ref();
-      const track = vue.ref();
-      const scrollParent = useScrollParent(root);
-      const state = vue.reactive({
-        status: "normal",
-        distance: 0,
-        duration: 0
-      });
-      const touch = useTouch();
-      const getHeadStyle = () => {
-        if (props.headHeight !== DEFAULT_HEAD_HEIGHT) {
-          return {
-            height: `${props.headHeight}px`
-          };
-        }
-      };
-      const isTouchable = () => state.status !== "loading" && state.status !== "success" && !props.disabled;
-      const ease = (distance) => {
-        const pullDistance = +(props.pullDistance || props.headHeight);
-        if (distance > pullDistance) {
-          if (distance < pullDistance * 2) {
-            distance = pullDistance + (distance - pullDistance) / 2;
-          } else {
-            distance = pullDistance * 1.5 + (distance - pullDistance * 2) / 4;
-          }
-        }
-        return Math.round(distance);
-      };
-      const setStatus = (distance, isLoading) => {
-        const pullDistance = +(props.pullDistance || props.headHeight);
-        state.distance = distance;
-        if (isLoading) {
-          state.status = "loading";
-        } else if (distance === 0) {
-          state.status = "normal";
-        } else if (distance < pullDistance) {
-          state.status = "pulling";
-        } else {
-          state.status = "loosing";
-        }
-        emit("change", {
-          status: state.status,
-          distance
-        });
-      };
-      const getStatusText = () => {
-        const {
-          status
-        } = state;
-        if (status === "normal") {
-          return "";
-        }
-        return props[`${status}Text`] || t$4(status);
-      };
-      const renderStatus = () => {
-        const {
-          status,
-          distance
-        } = state;
-        if (slots[status]) {
-          return slots[status]({
-            distance
-          });
-        }
-        const nodes = [];
-        if (TEXT_STATUS.includes(status)) {
-          nodes.push(vue.createVNode("div", {
-            "class": bem$m("text")
-          }, [getStatusText()]));
-        }
-        if (status === "loading") {
-          nodes.push(vue.createVNode(Loading, {
-            "class": bem$m("loading")
-          }, {
-            default: getStatusText
-          }));
-        }
-        return nodes;
-      };
-      const showSuccessTip = () => {
-        state.status = "success";
-        setTimeout(() => {
-          setStatus(0);
-        }, +props.successDuration);
-      };
-      const checkPosition = (event) => {
-        reachTop = getScrollTop(scrollParent.value) === 0;
-        if (reachTop) {
-          state.duration = 0;
-          touch.start(event);
-        }
-      };
-      const onTouchStart = (event) => {
-        if (isTouchable()) {
-          checkPosition(event);
-        }
-      };
-      const onTouchMove = (event) => {
-        if (isTouchable()) {
-          if (!reachTop) {
-            checkPosition(event);
-          }
-          const {
-            deltaY
-          } = touch;
-          touch.move(event);
-          if (reachTop && deltaY.value >= 0 && touch.isVertical()) {
-            preventDefault(event);
-            setStatus(ease(deltaY.value));
-          }
-        }
-      };
-      const onTouchEnd = () => {
-        if (reachTop && touch.deltaY.value && isTouchable()) {
-          state.duration = +props.animationDuration;
-          if (state.status === "loosing") {
-            setStatus(+props.headHeight, true);
-            emit("update:modelValue", true);
-            vue.nextTick(() => emit("refresh"));
-          } else {
-            setStatus(0);
-          }
-        }
-      };
-      vue.watch(() => props.modelValue, (value) => {
-        state.duration = +props.animationDuration;
-        if (value) {
-          setStatus(+props.headHeight, true);
-        } else if (slots.success || props.successText) {
-          showSuccessTip();
-        } else {
-          setStatus(0, false);
-        }
-      });
-      useEventListener("touchmove", onTouchMove, {
-        target: track
-      });
-      return () => {
-        var _a;
-        const trackStyle = {
-          transitionDuration: `${state.duration}ms`,
-          transform: state.distance ? `translate3d(0,${state.distance}px, 0)` : ""
-        };
-        return vue.createVNode("div", {
-          "ref": root,
-          "class": bem$m()
-        }, [vue.createVNode("div", {
-          "ref": track,
-          "class": bem$m("track"),
-          "style": trackStyle,
-          "onTouchstartPassive": onTouchStart,
-          "onTouchend": onTouchEnd,
-          "onTouchcancel": onTouchEnd
-        }, [vue.createVNode("div", {
-          "class": bem$m("head"),
-          "style": getHeadStyle()
-        }, [renderStatus()]), (_a = slots.default) == null ? void 0 : _a.call(slots)])]);
-      };
-    }
-  });
-  const PullRefresh = withInstall(stdin_default$v);
-  const [name$m, bem$l] = createNamespace("rate");
-  function getRateStatus(value, index, allowHalf, readonly) {
-    if (value >= index) {
-      return {
-        status: "full",
-        value: 1
-      };
-    }
-    if (value + 0.5 >= index && allowHalf && !readonly) {
-      return {
-        status: "half",
-        value: 0.5
-      };
-    }
-    if (value + 1 >= index && allowHalf && readonly) {
-      const cardinal = 10 ** 10;
-      return {
-        status: "half",
-        value: Math.round((value - index + 1) * cardinal) / cardinal
-      };
-    }
-    return {
-      status: "void",
-      value: 0
-    };
-  }
-  const rateProps = {
-    size: numericProp,
-    icon: makeStringProp("star"),
-    color: String,
-    count: makeNumericProp(5),
-    gutter: numericProp,
-    readonly: Boolean,
-    disabled: Boolean,
-    voidIcon: makeStringProp("star-o"),
-    allowHalf: Boolean,
-    voidColor: String,
-    touchable: truthProp,
-    iconPrefix: String,
-    modelValue: makeNumberProp(0),
-    disabledColor: String
-  };
-  var stdin_default$u = vue.defineComponent({
-    name: name$m,
-    props: rateProps,
-    emits: ["change", "update:modelValue"],
-    setup(props, {
-      emit
-    }) {
-      const touch = useTouch();
-      const [itemRefs, setItemRefs] = useRefs();
-      const groupRef = vue.ref();
-      const untouchable = () => props.readonly || props.disabled || !props.touchable;
-      const list = vue.computed(() => Array(+props.count).fill("").map((_, i) => getRateStatus(props.modelValue, i + 1, props.allowHalf, props.readonly)));
-      let ranges;
-      let groupRefRect;
-      let minRectTop = Number.MAX_SAFE_INTEGER;
-      let maxRectTop = Number.MIN_SAFE_INTEGER;
-      const updateRanges = () => {
-        groupRefRect = useRect(groupRef);
-        const rects = itemRefs.value.map(useRect);
-        ranges = [];
-        rects.forEach((rect, index) => {
-          minRectTop = Math.min(rect.top, minRectTop);
-          maxRectTop = Math.max(rect.top, maxRectTop);
-          if (props.allowHalf) {
-            ranges.push({
-              score: index + 0.5,
-              left: rect.left,
-              top: rect.top,
-              height: rect.height
-            }, {
-              score: index + 1,
-              left: rect.left + rect.width / 2,
-              top: rect.top,
-              height: rect.height
-            });
-          } else {
-            ranges.push({
-              score: index + 1,
-              left: rect.left,
-              top: rect.top,
-              height: rect.height
-            });
-          }
-        });
-      };
-      const getScoreByPosition = (x, y) => {
-        for (let i = ranges.length - 1; i > 0; i--) {
-          if (y >= groupRefRect.top && y <= groupRefRect.bottom) {
-            if (x > ranges[i].left && y >= ranges[i].top && y <= ranges[i].top + ranges[i].height) {
-              return ranges[i].score;
-            }
-          } else {
-            const curTop = y < groupRefRect.top ? minRectTop : maxRectTop;
-            if (x > ranges[i].left && ranges[i].top === curTop) {
-              return ranges[i].score;
-            }
-          }
-        }
-        return props.allowHalf ? 0.5 : 1;
-      };
-      const select = (index) => {
-        if (!props.disabled && !props.readonly && index !== props.modelValue) {
-          emit("update:modelValue", index);
-          emit("change", index);
-        }
-      };
-      const onTouchStart = (event) => {
-        if (untouchable()) {
-          return;
-        }
-        touch.start(event);
-        updateRanges();
-      };
-      const onTouchMove = (event) => {
-        if (untouchable()) {
-          return;
-        }
-        touch.move(event);
-        if (touch.isHorizontal()) {
-          const {
-            clientX,
-            clientY
-          } = event.touches[0];
-          preventDefault(event);
-          select(getScoreByPosition(clientX, clientY));
-        }
-      };
-      const renderStar = (item, index) => {
-        const {
-          icon,
-          size,
-          color,
-          count,
-          gutter,
-          voidIcon,
-          disabled,
-          voidColor,
-          allowHalf,
-          iconPrefix,
-          disabledColor
-        } = props;
-        const score = index + 1;
-        const isFull = item.status === "full";
-        const isVoid = item.status === "void";
-        const renderHalf = allowHalf && item.value > 0 && item.value < 1;
-        let style;
-        if (gutter && score !== +count) {
-          style = {
-            paddingRight: addUnit(gutter)
-          };
-        }
-        const onClickItem = (event) => {
-          updateRanges();
-          select(allowHalf ? getScoreByPosition(event.clientX, event.clientY) : score);
-        };
-        return vue.createVNode("div", {
-          "key": index,
-          "ref": setItemRefs(index),
-          "role": "radio",
-          "style": style,
-          "class": bem$l("item"),
-          "tabindex": disabled ? void 0 : 0,
-          "aria-setsize": count,
-          "aria-posinset": score,
-          "aria-checked": !isVoid,
-          "onClick": onClickItem
-        }, [vue.createVNode(Icon, {
-          "size": size,
-          "name": isFull ? icon : voidIcon,
-          "class": bem$l("icon", {
-            disabled,
-            full: isFull
-          }),
-          "color": disabled ? disabledColor : isFull ? color : voidColor,
-          "classPrefix": iconPrefix
-        }, null), renderHalf && vue.createVNode(Icon, {
-          "size": size,
-          "style": {
-            width: item.value + "em"
-          },
-          "name": isVoid ? voidIcon : icon,
-          "class": bem$l("icon", ["half", {
-            disabled,
-            full: !isVoid
-          }]),
-          "color": disabled ? disabledColor : isVoid ? voidColor : color,
-          "classPrefix": iconPrefix
-        }, null)]);
-      };
-      useCustomFieldValue(() => props.modelValue);
-      useEventListener("touchmove", onTouchMove, {
-        target: groupRef
-      });
-      return () => vue.createVNode("div", {
-        "ref": groupRef,
-        "role": "radiogroup",
-        "class": bem$l({
-          readonly: props.readonly,
-          disabled: props.disabled
-        }),
-        "tabindex": props.disabled ? void 0 : 0,
-        "aria-disabled": props.disabled,
-        "aria-readonly": props.readonly,
-        "onTouchstartPassive": onTouchStart
-      }, [list.value.map(renderStar)]);
-    }
-  });
-  const Rate = withInstall(stdin_default$u);
-  const Row = withInstall(stdin_default$10);
-  const [name$l, bem$k, t$3] = createNamespace("search");
-  const searchProps = extend({}, fieldSharedProps, {
-    label: String,
-    shape: makeStringProp("square"),
-    leftIcon: makeStringProp("search"),
-    clearable: truthProp,
-    actionText: String,
-    background: String,
-    showAction: Boolean
-  });
-  var stdin_default$t = vue.defineComponent({
-    name: name$l,
-    props: searchProps,
-    emits: ["blur", "focus", "clear", "search", "cancel", "clickInput", "clickLeftIcon", "clickRightIcon", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots,
-      attrs
-    }) {
-      const id = useId();
-      const fieldRef = vue.ref();
-      const onCancel = () => {
-        if (!slots.action) {
-          emit("update:modelValue", "");
-          emit("cancel");
-        }
-      };
-      const onKeypress = (event) => {
-        const ENTER_CODE = 13;
-        if (event.keyCode === ENTER_CODE) {
-          preventDefault(event);
-          emit("search", props.modelValue);
-        }
-      };
-      const getInputId = () => props.id || `${id}-input`;
-      const renderLabel = () => {
-        if (slots.label || props.label) {
-          return vue.createVNode("label", {
-            "class": bem$k("label"),
-            "for": getInputId()
-          }, [slots.label ? slots.label() : props.label]);
-        }
-      };
-      const renderAction = () => {
-        if (props.showAction) {
-          const text = props.actionText || t$3("cancel");
-          return vue.createVNode("div", {
-            "class": bem$k("action"),
-            "role": "button",
-            "tabindex": 0,
-            "onClick": onCancel
-          }, [slots.action ? slots.action() : text]);
-        }
-      };
-      const blur = () => {
-        var _a;
-        return (_a = fieldRef.value) == null ? void 0 : _a.blur();
-      };
-      const focus = () => {
-        var _a;
-        return (_a = fieldRef.value) == null ? void 0 : _a.focus();
-      };
-      const onBlur = (event) => emit("blur", event);
-      const onFocus = (event) => emit("focus", event);
-      const onClear = (event) => emit("clear", event);
-      const onClickInput = (event) => emit("clickInput", event);
-      const onClickLeftIcon = (event) => emit("clickLeftIcon", event);
-      const onClickRightIcon = (event) => emit("clickRightIcon", event);
-      const fieldPropNames = Object.keys(fieldSharedProps);
-      const renderField = () => {
-        const fieldAttrs = extend({}, attrs, pick(props, fieldPropNames), {
-          id: getInputId()
-        });
-        const onInput = (value) => emit("update:modelValue", value);
-        return vue.createVNode(Field, vue.mergeProps({
-          "ref": fieldRef,
-          "type": "search",
-          "class": bem$k("field"),
-          "border": false,
-          "onBlur": onBlur,
-          "onFocus": onFocus,
-          "onClear": onClear,
-          "onKeypress": onKeypress,
-          "onClickInput": onClickInput,
-          "onClickLeftIcon": onClickLeftIcon,
-          "onClickRightIcon": onClickRightIcon,
-          "onUpdate:modelValue": onInput
-        }, fieldAttrs), pick(slots, ["left-icon", "right-icon"]));
-      };
-      useExpose({
-        focus,
-        blur
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "class": bem$k({
-            "show-action": props.showAction
-          }),
-          "style": {
-            background: props.background
-          }
-        }, [(_a = slots.left) == null ? void 0 : _a.call(slots), vue.createVNode("div", {
-          "class": bem$k("content", props.shape)
-        }, [renderLabel(), renderField()]), renderAction()]);
-      };
-    }
-  });
-  const Search = withInstall(stdin_default$t);
-  const popupInheritKeys = [...popupSharedPropKeys, "round", "closeOnPopstate", "safeAreaInsetBottom"];
-  const iconMap = {
-    qq: "qq",
-    link: "link-o",
-    weibo: "weibo",
-    qrcode: "qr",
-    poster: "photo-o",
-    wechat: "wechat",
-    "weapp-qrcode": "miniprogram-o",
-    "wechat-moments": "wechat-moments"
-  };
-  const [name$k, bem$j, t$2] = createNamespace("share-sheet");
-  const shareSheetProps = extend({}, popupSharedProps, {
-    title: String,
-    round: truthProp,
-    options: makeArrayProp(),
-    cancelText: String,
-    description: String,
-    closeOnPopstate: truthProp,
-    safeAreaInsetBottom: truthProp
-  });
-  var stdin_default$s = vue.defineComponent({
-    name: name$k,
-    props: shareSheetProps,
-    emits: ["cancel", "select", "update:show"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const updateShow = (value) => emit("update:show", value);
-      const onCancel = () => {
-        updateShow(false);
-        emit("cancel");
-      };
-      const onSelect = (option, index) => emit("select", option, index);
-      const renderHeader = () => {
-        const title = slots.title ? slots.title() : props.title;
-        const description = slots.description ? slots.description() : props.description;
-        if (title || description) {
-          return vue.createVNode("div", {
-            "class": bem$j("header")
-          }, [title && vue.createVNode("h2", {
-            "class": bem$j("title")
-          }, [title]), description && vue.createVNode("span", {
-            "class": bem$j("description")
-          }, [description])]);
-        }
-      };
-      const renderIcon = (icon) => {
-        if (iconMap[icon]) {
-          return vue.createVNode("div", {
-            "class": bem$j("icon", [icon])
-          }, [vue.createVNode(Icon, {
-            "name": iconMap[icon] || icon
-          }, null)]);
-        }
-        return vue.createVNode("img", {
-          "src": icon,
-          "class": bem$j("image-icon")
-        }, null);
-      };
-      const renderOption = (option, index) => {
-        const {
-          name: name2,
-          icon,
-          className,
-          description
-        } = option;
-        return vue.createVNode("div", {
-          "role": "button",
-          "tabindex": 0,
-          "class": [bem$j("option"), className, HAPTICS_FEEDBACK],
-          "onClick": () => onSelect(option, index)
-        }, [renderIcon(icon), name2 && vue.createVNode("span", {
-          "class": bem$j("name")
-        }, [name2]), description && vue.createVNode("span", {
-          "class": bem$j("option-description")
-        }, [description])]);
-      };
-      const renderOptions = (options, border) => vue.createVNode("div", {
-        "class": bem$j("options", {
-          border
-        })
-      }, [options.map(renderOption)]);
-      const renderRows = () => {
-        const {
-          options
-        } = props;
-        if (Array.isArray(options[0])) {
-          return options.map((item, index) => renderOptions(item, index !== 0));
-        }
-        return renderOptions(options);
-      };
-      const renderCancelButton = () => {
-        var _a;
-        const cancelText = (_a = props.cancelText) != null ? _a : t$2("cancel");
-        if (slots.cancel || cancelText) {
-          return vue.createVNode("button", {
-            "type": "button",
-            "class": bem$j("cancel"),
-            "onClick": onCancel
-          }, [slots.cancel ? slots.cancel() : cancelText]);
-        }
-      };
-      return () => vue.createVNode(Popup, vue.mergeProps({
-        "class": bem$j(),
-        "position": "bottom",
-        "onUpdate:show": updateShow
-      }, pick(props, popupInheritKeys)), {
-        default: () => [renderHeader(), renderRows(), renderCancelButton()]
-      });
-    }
-  });
-  const ShareSheet = withInstall(stdin_default$s);
-  const [name$j, bem$i] = createNamespace("sidebar");
-  const SIDEBAR_KEY = Symbol(name$j);
-  const sidebarProps = {
-    modelValue: makeNumericProp(0)
-  };
-  var stdin_default$r = vue.defineComponent({
-    name: name$j,
-    props: sidebarProps,
-    emits: ["change", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const {
-        linkChildren
-      } = useChildren(SIDEBAR_KEY);
-      const getActive = () => +props.modelValue;
-      const setActive = (value) => {
-        if (value !== getActive()) {
-          emit("update:modelValue", value);
-          emit("change", value);
-        }
-      };
-      linkChildren({
-        getActive,
-        setActive
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "role": "tablist",
-          "class": bem$i()
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-    }
-  });
-  const Sidebar = withInstall(stdin_default$r);
-  const [name$i, bem$h] = createNamespace("sidebar-item");
-  const sidebarItemProps = extend({}, routeProps, {
-    dot: Boolean,
-    title: String,
-    badge: numericProp,
-    disabled: Boolean,
-    badgeProps: Object
-  });
-  var stdin_default$q = vue.defineComponent({
-    name: name$i,
-    props: sidebarItemProps,
-    emits: ["click"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const route2 = useRoute();
-      const {
-        parent,
-        index
-      } = useParent(SIDEBAR_KEY);
-      if (!parent) {
-        return;
-      }
-      const onClick = () => {
-        if (props.disabled) {
-          return;
-        }
-        emit("click", index.value);
-        parent.setActive(index.value);
-        route2();
-      };
-      return () => {
-        const {
-          dot,
-          badge,
-          title,
-          disabled
-        } = props;
-        const selected = index.value === parent.getActive();
-        return vue.createVNode("div", {
-          "role": "tab",
-          "class": bem$h({
-            select: selected,
-            disabled
-          }),
-          "tabindex": disabled ? void 0 : 0,
-          "aria-selected": selected,
-          "onClick": onClick
-        }, [vue.createVNode(Badge, vue.mergeProps({
-          "dot": dot,
-          "class": bem$h("text"),
-          "content": badge
-        }, props.badgeProps), {
-          default: () => [slots.title ? slots.title() : title]
-        })]);
-      };
-    }
-  });
-  const SidebarItem = withInstall(stdin_default$q);
-  const [name$h, bem$g] = createNamespace("skeleton-title");
-  const skeletonTitleProps = {
-    round: Boolean,
-    titleWidth: numericProp
-  };
-  var stdin_default$p = vue.defineComponent({
-    name: name$h,
-    props: skeletonTitleProps,
-    setup(props) {
-      return () => vue.createVNode("h3", {
-        "class": bem$g([{
-          round: props.round
-        }]),
-        "style": {
-          width: addUnit(props.titleWidth)
-        }
-      }, null);
-    }
-  });
-  const SkeletonTitle = withInstall(stdin_default$p);
-  var stdin_default$o = SkeletonTitle;
-  const [name$g, bem$f] = createNamespace("skeleton-avatar");
-  const skeletonAvatarProps = {
-    avatarSize: numericProp,
-    avatarShape: makeStringProp("round")
-  };
-  var stdin_default$n = vue.defineComponent({
-    name: name$g,
-    props: skeletonAvatarProps,
-    setup(props) {
-      return () => vue.createVNode("div", {
-        "class": bem$f([props.avatarShape]),
-        "style": getSizeStyle(props.avatarSize)
-      }, null);
-    }
-  });
-  const SkeletonAvatar = withInstall(stdin_default$n);
-  var stdin_default$m = SkeletonAvatar;
-  const DEFAULT_ROW_WIDTH = "100%";
-  const skeletonParagraphProps = {
-    round: Boolean,
-    rowWidth: {
-      type: numericProp,
-      default: DEFAULT_ROW_WIDTH
-    }
-  };
-  const [name$f, bem$e] = createNamespace("skeleton-paragraph");
-  var stdin_default$l = vue.defineComponent({
-    name: name$f,
-    props: skeletonParagraphProps,
-    setup(props) {
-      return () => vue.createVNode("div", {
-        "class": bem$e([{
-          round: props.round
-        }]),
-        "style": {
-          width: props.rowWidth
-        }
-      }, null);
-    }
-  });
-  const SkeletonParagraph = withInstall(stdin_default$l);
-  var stdin_default$k = SkeletonParagraph;
-  const [name$e, bem$d] = createNamespace("skeleton");
-  const DEFAULT_LAST_ROW_WIDTH = "60%";
-  const skeletonProps = {
-    row: makeNumericProp(0),
-    round: Boolean,
-    title: Boolean,
-    titleWidth: numericProp,
-    avatar: Boolean,
-    avatarSize: numericProp,
-    avatarShape: makeStringProp("round"),
-    loading: truthProp,
-    animate: truthProp,
-    rowWidth: {
-      type: [Number, String, Array],
-      default: DEFAULT_ROW_WIDTH
-    }
-  };
-  var stdin_default$j = vue.defineComponent({
-    name: name$e,
-    inheritAttrs: false,
-    props: skeletonProps,
-    setup(props, {
-      slots,
-      attrs
-    }) {
-      const renderAvatar = () => {
-        if (props.avatar) {
-          return vue.createVNode(stdin_default$m, {
-            "avatarShape": props.avatarShape,
-            "avatarSize": props.avatarSize
-          }, null);
-        }
-      };
-      const renderTitle = () => {
-        if (props.title) {
-          return vue.createVNode(stdin_default$o, {
-            "round": props.round,
-            "titleWidth": props.titleWidth
-          }, null);
-        }
-      };
-      const getRowWidth = (index) => {
-        const {
-          rowWidth
-        } = props;
-        if (rowWidth === DEFAULT_ROW_WIDTH && index === +props.row - 1) {
-          return DEFAULT_LAST_ROW_WIDTH;
-        }
-        if (Array.isArray(rowWidth)) {
-          return rowWidth[index];
-        }
-        return rowWidth;
-      };
-      const renderRows = () => Array(+props.row).fill("").map((_, i) => vue.createVNode(stdin_default$k, {
-        "key": i,
-        "round": props.round,
-        "rowWidth": addUnit(getRowWidth(i))
-      }, null));
-      const renderContents = () => {
-        if (slots.template) {
-          return slots.template();
-        }
-        return vue.createVNode(vue.Fragment, null, [renderAvatar(), vue.createVNode("div", {
-          "class": bem$d("content")
-        }, [renderTitle(), renderRows()])]);
-      };
-      return () => {
-        var _a;
-        if (!props.loading) {
-          return (_a = slots.default) == null ? void 0 : _a.call(slots);
-        }
-        return vue.createVNode("div", vue.mergeProps({
-          "class": bem$d({
-            animate: props.animate,
-            round: props.round
-          })
-        }, attrs), [renderContents()]);
-      };
-    }
-  });
-  const Skeleton = withInstall(stdin_default$j);
-  const [name$d, bem$c] = createNamespace("skeleton-image");
-  const skeletonImageProps = {
-    imageSize: numericProp,
-    imageShape: makeStringProp("square")
-  };
-  var stdin_default$i = vue.defineComponent({
-    name: name$d,
-    props: skeletonImageProps,
-    setup(props) {
-      return () => vue.createVNode("div", {
-        "class": bem$c([props.imageShape]),
-        "style": getSizeStyle(props.imageSize)
-      }, [vue.createVNode(Icon, {
-        "name": "photo",
-        "class": bem$c("icon")
-      }, null)]);
-    }
-  });
-  const SkeletonImage = withInstall(stdin_default$i);
-  const [name$c, bem$b] = createNamespace("slider");
-  const sliderProps = {
-    min: makeNumericProp(0),
-    max: makeNumericProp(100),
-    step: makeNumericProp(1),
-    range: Boolean,
-    reverse: Boolean,
-    disabled: Boolean,
-    readonly: Boolean,
-    vertical: Boolean,
-    barHeight: numericProp,
-    buttonSize: numericProp,
-    activeColor: String,
-    inactiveColor: String,
-    modelValue: {
-      type: [Number, Array],
-      default: 0
-    }
-  };
-  var stdin_default$h = vue.defineComponent({
-    name: name$c,
-    props: sliderProps,
-    emits: ["change", "dragEnd", "dragStart", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      let buttonIndex;
-      let current2;
-      let startValue;
-      const root = vue.ref();
-      const slider = [vue.ref(), vue.ref()];
-      const dragStatus = vue.ref();
-      const touch = useTouch();
-      const scope = vue.computed(() => Number(props.max) - Number(props.min));
-      const wrapperStyle = vue.computed(() => {
-        const crossAxis = props.vertical ? "width" : "height";
-        return {
-          background: props.inactiveColor,
-          [crossAxis]: addUnit(props.barHeight)
-        };
-      });
-      const isRange = (val) => props.range && Array.isArray(val);
-      const calcMainAxis = () => {
-        const {
-          modelValue,
-          min
-        } = props;
-        if (isRange(modelValue)) {
-          return `${(modelValue[1] - modelValue[0]) * 100 / scope.value}%`;
-        }
-        return `${(modelValue - Number(min)) * 100 / scope.value}%`;
-      };
-      const calcOffset = () => {
-        const {
-          modelValue,
-          min
-        } = props;
-        if (isRange(modelValue)) {
-          return `${(modelValue[0] - Number(min)) * 100 / scope.value}%`;
-        }
-        return "0%";
-      };
-      const barStyle = vue.computed(() => {
-        const mainAxis = props.vertical ? "height" : "width";
-        const style = {
-          [mainAxis]: calcMainAxis(),
-          background: props.activeColor
-        };
-        if (dragStatus.value) {
-          style.transition = "none";
-        }
-        const getPositionKey = () => {
-          if (props.vertical) {
-            return props.reverse ? "bottom" : "top";
-          }
-          return props.reverse ? "right" : "left";
-        };
-        style[getPositionKey()] = calcOffset();
-        return style;
-      });
-      const format2 = (value) => {
-        const min = +props.min;
-        const max = +props.max;
-        const step = +props.step;
-        value = clamp(value, min, max);
-        const diff = Math.round((value - min) / step) * step;
-        return addNumber(min, diff);
-      };
-      const handleRangeValue = (value) => {
-        var _a, _b;
-        const left2 = (_a = value[0]) != null ? _a : Number(props.min);
-        const right2 = (_b = value[1]) != null ? _b : Number(props.max);
-        return left2 > right2 ? [right2, left2] : [left2, right2];
-      };
-      const updateValue = (value, end2) => {
-        if (isRange(value)) {
-          value = handleRangeValue(value).map(format2);
-        } else {
-          value = format2(value);
-        }
-        if (!isSameValue(value, props.modelValue)) {
-          emit("update:modelValue", value);
-        }
-        if (end2 && !isSameValue(value, startValue)) {
-          emit("change", value);
-        }
-      };
-      const onClick = (event) => {
-        event.stopPropagation();
-        if (props.disabled || props.readonly) {
-          return;
-        }
-        const {
-          min,
-          reverse,
-          vertical,
-          modelValue
-        } = props;
-        const rect = useRect(root);
-        const getDelta = () => {
-          if (vertical) {
-            if (reverse) {
-              return rect.bottom - event.clientY;
-            }
-            return event.clientY - rect.top;
-          }
-          if (reverse) {
-            return rect.right - event.clientX;
-          }
-          return event.clientX - rect.left;
-        };
-        const total = vertical ? rect.height : rect.width;
-        const value = Number(min) + getDelta() / total * scope.value;
-        if (isRange(modelValue)) {
-          const [left2, right2] = modelValue;
-          const middle = (left2 + right2) / 2;
-          if (value <= middle) {
-            updateValue([value, right2], true);
-          } else {
-            updateValue([left2, value], true);
-          }
-        } else {
-          updateValue(value, true);
-        }
-      };
-      const onTouchStart = (event) => {
-        if (props.disabled || props.readonly) {
-          return;
-        }
-        touch.start(event);
-        current2 = props.modelValue;
-        if (isRange(current2)) {
-          startValue = current2.map(format2);
-        } else {
-          startValue = format2(current2);
-        }
-        dragStatus.value = "start";
-      };
-      const onTouchMove = (event) => {
-        if (props.disabled || props.readonly) {
-          return;
-        }
-        if (dragStatus.value === "start") {
-          emit("dragStart", event);
-        }
-        preventDefault(event, true);
-        touch.move(event);
-        dragStatus.value = "dragging";
-        const rect = useRect(root);
-        const delta = props.vertical ? touch.deltaY.value : touch.deltaX.value;
-        const total = props.vertical ? rect.height : rect.width;
-        let diff = delta / total * scope.value;
-        if (props.reverse) {
-          diff = -diff;
-        }
-        if (isRange(startValue)) {
-          const index = props.reverse ? 1 - buttonIndex : buttonIndex;
-          current2[index] = startValue[index] + diff;
-        } else {
-          current2 = startValue + diff;
-        }
-        updateValue(current2);
-      };
-      const onTouchEnd = (event) => {
-        if (props.disabled || props.readonly) {
-          return;
-        }
-        if (dragStatus.value === "dragging") {
-          updateValue(current2, true);
-          emit("dragEnd", event);
-        }
-        dragStatus.value = "";
-      };
-      const getButtonClassName = (index) => {
-        if (typeof index === "number") {
-          const position = ["left", "right"];
-          return bem$b(`button-wrapper`, position[index]);
-        }
-        return bem$b("button-wrapper", props.reverse ? "left" : "right");
-      };
-      const renderButtonContent = (value, index) => {
-        if (typeof index === "number") {
-          const slot = slots[index === 0 ? "left-button" : "right-button"];
-          if (slot) {
-            return slot({
-              value
-            });
-          }
-        }
-        if (slots.button) {
-          return slots.button({
-            value
-          });
-        }
-        return vue.createVNode("div", {
-          "class": bem$b("button"),
-          "style": getSizeStyle(props.buttonSize)
-        }, null);
-      };
-      const renderButton = (index) => {
-        const current22 = typeof index === "number" ? props.modelValue[index] : props.modelValue;
-        return vue.createVNode("div", {
-          "ref": slider[index != null ? index : 0],
-          "role": "slider",
-          "class": getButtonClassName(index),
-          "tabindex": props.disabled ? void 0 : 0,
-          "aria-valuemin": props.min,
-          "aria-valuenow": current22,
-          "aria-valuemax": props.max,
-          "aria-disabled": props.disabled || void 0,
-          "aria-readonly": props.readonly || void 0,
-          "aria-orientation": props.vertical ? "vertical" : "horizontal",
-          "onTouchstartPassive": (event) => {
-            if (typeof index === "number") {
-              buttonIndex = index;
-            }
-            onTouchStart(event);
-          },
-          "onTouchend": onTouchEnd,
-          "onTouchcancel": onTouchEnd,
-          "onClick": stopPropagation
-        }, [renderButtonContent(current22, index)]);
-      };
-      updateValue(props.modelValue);
-      useCustomFieldValue(() => props.modelValue);
-      slider.forEach((item) => {
-        useEventListener("touchmove", onTouchMove, {
-          target: item
-        });
-      });
-      return () => vue.createVNode("div", {
-        "ref": root,
-        "style": wrapperStyle.value,
-        "class": bem$b({
-          vertical: props.vertical,
-          disabled: props.disabled
-        }),
-        "onClick": onClick
-      }, [vue.createVNode("div", {
-        "class": bem$b("bar"),
-        "style": barStyle.value
-      }, [props.range ? [renderButton(0), renderButton(1)] : renderButton()])]);
-    }
-  });
-  const Slider = withInstall(stdin_default$h);
-  const [name$b, bem$a] = createNamespace("space");
-  const spaceProps = {
-    align: String,
-    direction: {
-      type: String,
-      default: "horizontal"
-    },
-    size: {
-      type: [Number, String, Array],
-      default: 8
-    },
-    wrap: Boolean,
-    fill: Boolean
-  };
-  function filterEmpty(children = []) {
-    const nodes = [];
-    children.forEach((child) => {
-      if (Array.isArray(child)) {
-        nodes.push(...child);
-      } else if (child.type === vue.Fragment) {
-        nodes.push(...filterEmpty(child.children));
-      } else {
-        nodes.push(child);
-      }
-    });
-    return nodes.filter((c) => {
-      var _a;
-      return !(c && (c.type === vue.Comment || c.type === vue.Fragment && ((_a = c.children) == null ? void 0 : _a.length) === 0 || c.type === vue.Text && c.children.trim() === ""));
-    });
-  }
-  var stdin_default$g = vue.defineComponent({
-    name: name$b,
-    props: spaceProps,
-    setup(props, {
-      slots
-    }) {
-      const mergedAlign = vue.computed(() => {
-        var _a;
-        return (_a = props.align) != null ? _a : props.direction === "horizontal" ? "center" : "";
-      });
-      const getMargin = (size) => {
-        if (typeof size === "number") {
-          return size + "px";
-        }
-        return size;
-      };
-      const getMarginStyle = (isLast) => {
-        const style = {};
-        const marginRight = `${getMargin(Array.isArray(props.size) ? props.size[0] : props.size)}`;
-        const marginBottom = `${getMargin(Array.isArray(props.size) ? props.size[1] : props.size)}`;
-        if (isLast) {
-          return props.wrap ? {
-            marginBottom
-          } : {};
-        }
-        if (props.direction === "horizontal") {
-          style.marginRight = marginRight;
-        }
-        if (props.direction === "vertical" || props.wrap) {
-          style.marginBottom = marginBottom;
-        }
-        return style;
-      };
-      return () => {
-        var _a;
-        const children = filterEmpty((_a = slots.default) == null ? void 0 : _a.call(slots));
-        return vue.createVNode("div", {
-          "class": [bem$a({
-            [props.direction]: props.direction,
-            [`align-${mergedAlign.value}`]: mergedAlign.value,
-            wrap: props.wrap,
-            fill: props.fill
-          })]
-        }, [children.map((c, i) => vue.createVNode("div", {
-          "key": `item-${i}`,
-          "class": `${name$b}-item`,
-          "style": getMarginStyle(i === children.length - 1)
-        }, [c]))]);
-      };
-    }
-  });
-  const Space = withInstall(stdin_default$g);
-  const [name$a, bem$9] = createNamespace("steps");
-  const stepsProps = {
-    active: makeNumericProp(0),
-    direction: makeStringProp("horizontal"),
-    activeIcon: makeStringProp("checked"),
-    iconPrefix: String,
-    finishIcon: String,
-    activeColor: String,
-    inactiveIcon: String,
-    inactiveColor: String
-  };
-  const STEPS_KEY = Symbol(name$a);
-  var stdin_default$f = vue.defineComponent({
-    name: name$a,
-    props: stepsProps,
-    emits: ["clickStep"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const {
-        linkChildren
-      } = useChildren(STEPS_KEY);
-      const onClickStep = (index) => emit("clickStep", index);
-      linkChildren({
-        props,
-        onClickStep
-      });
-      return () => {
-        var _a;
-        return vue.createVNode("div", {
-          "class": bem$9([props.direction])
-        }, [vue.createVNode("div", {
-          "class": bem$9("items")
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)])]);
-      };
-    }
-  });
-  const [name$9, bem$8] = createNamespace("step");
-  var stdin_default$e = vue.defineComponent({
-    name: name$9,
-    setup(props, {
-      slots
-    }) {
-      const {
-        parent,
-        index
-      } = useParent(STEPS_KEY);
-      if (!parent) {
-        return;
-      }
-      const parentProps = parent.props;
-      const getStatus = () => {
-        const active = +parentProps.active;
-        if (index.value < active) {
-          return "finish";
-        }
-        return index.value === active ? "process" : "waiting";
-      };
-      const isActive = () => getStatus() === "process";
-      const lineStyle = vue.computed(() => ({
-        background: getStatus() === "finish" ? parentProps.activeColor : parentProps.inactiveColor
-      }));
-      const titleStyle = vue.computed(() => {
-        if (isActive()) {
-          return {
-            color: parentProps.activeColor
-          };
-        }
-        if (getStatus() === "waiting") {
-          return {
-            color: parentProps.inactiveColor
-          };
-        }
-      });
-      const onClickStep = () => parent.onClickStep(index.value);
-      const renderCircle = () => {
-        const {
-          iconPrefix,
-          finishIcon,
-          activeIcon,
-          activeColor,
-          inactiveIcon
-        } = parentProps;
-        if (isActive()) {
-          if (slots["active-icon"]) {
-            return slots["active-icon"]();
-          }
-          return vue.createVNode(Icon, {
-            "class": bem$8("icon", "active"),
-            "name": activeIcon,
-            "color": activeColor,
-            "classPrefix": iconPrefix
-          }, null);
-        }
-        if (getStatus() === "finish" && (finishIcon || slots["finish-icon"])) {
-          if (slots["finish-icon"]) {
-            return slots["finish-icon"]();
-          }
-          return vue.createVNode(Icon, {
-            "class": bem$8("icon", "finish"),
-            "name": finishIcon,
-            "color": activeColor,
-            "classPrefix": iconPrefix
-          }, null);
-        }
-        if (slots["inactive-icon"]) {
-          return slots["inactive-icon"]();
-        }
-        if (inactiveIcon) {
-          return vue.createVNode(Icon, {
-            "class": bem$8("icon"),
-            "name": inactiveIcon,
-            "classPrefix": iconPrefix
-          }, null);
-        }
-        return vue.createVNode("i", {
-          "class": bem$8("circle"),
-          "style": lineStyle.value
-        }, null);
-      };
-      return () => {
-        var _a;
-        const status = getStatus();
-        return vue.createVNode("div", {
-          "class": [BORDER, bem$8([parentProps.direction, {
-            [status]: status
-          }])]
-        }, [vue.createVNode("div", {
-          "class": bem$8("title", {
-            active: isActive()
-          }),
-          "style": titleStyle.value,
-          "onClick": onClickStep
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), vue.createVNode("div", {
-          "class": bem$8("circle-container"),
-          "onClick": onClickStep
-        }, [renderCircle()]), vue.createVNode("div", {
-          "class": bem$8("line"),
-          "style": lineStyle.value
-        }, null)]);
-      };
-    }
-  });
-  const Step = withInstall(stdin_default$e);
-  const [name$8, bem$7] = createNamespace("stepper");
-  const LONG_PRESS_INTERVAL = 200;
-  const isEqual = (value1, value2) => String(value1) === String(value2);
-  const stepperProps = {
-    min: makeNumericProp(1),
-    max: makeNumericProp(Infinity),
-    name: makeNumericProp(""),
-    step: makeNumericProp(1),
-    theme: String,
-    integer: Boolean,
-    disabled: Boolean,
-    showPlus: truthProp,
-    showMinus: truthProp,
-    showInput: truthProp,
-    longPress: truthProp,
-    autoFixed: truthProp,
-    allowEmpty: Boolean,
-    modelValue: numericProp,
-    inputWidth: numericProp,
-    buttonSize: numericProp,
-    placeholder: String,
-    disablePlus: Boolean,
-    disableMinus: Boolean,
-    disableInput: Boolean,
-    beforeChange: Function,
-    defaultValue: makeNumericProp(1),
-    decimalLength: numericProp
-  };
-  var stdin_default$d = vue.defineComponent({
-    name: name$8,
-    props: stepperProps,
-    emits: ["plus", "blur", "minus", "focus", "change", "overlimit", "update:modelValue"],
-    setup(props, {
-      emit
-    }) {
-      const format2 = (value, autoFixed = true) => {
-        const {
-          min,
-          max,
-          allowEmpty,
-          decimalLength
-        } = props;
-        if (allowEmpty && value === "") {
-          return value;
-        }
-        value = formatNumber(String(value), !props.integer);
-        value = value === "" ? 0 : +value;
-        value = Number.isNaN(value) ? +min : value;
-        value = autoFixed ? Math.max(Math.min(+max, value), +min) : value;
-        if (isDef(decimalLength)) {
-          value = value.toFixed(+decimalLength);
-        }
-        return value;
-      };
-      const getInitialValue = () => {
-        var _a;
-        const defaultValue = (_a = props.modelValue) != null ? _a : props.defaultValue;
-        const value = format2(defaultValue);
-        if (!isEqual(value, props.modelValue)) {
-          emit("update:modelValue", value);
-        }
-        return value;
-      };
-      let actionType;
-      const inputRef = vue.ref();
-      const current2 = vue.ref(getInitialValue());
-      const minusDisabled = vue.computed(() => props.disabled || props.disableMinus || +current2.value <= +props.min);
-      const plusDisabled = vue.computed(() => props.disabled || props.disablePlus || +current2.value >= +props.max);
-      const inputStyle = vue.computed(() => ({
-        width: addUnit(props.inputWidth),
-        height: addUnit(props.buttonSize)
-      }));
-      const buttonStyle = vue.computed(() => getSizeStyle(props.buttonSize));
-      const check = () => {
-        const value = format2(current2.value);
-        if (!isEqual(value, current2.value)) {
-          current2.value = value;
-        }
-      };
-      const setValue = (value) => {
-        if (props.beforeChange) {
-          callInterceptor(props.beforeChange, {
-            args: [value],
-            done() {
-              current2.value = value;
-            }
-          });
-        } else {
-          current2.value = value;
-        }
-      };
-      const onChange = () => {
-        if (actionType === "plus" && plusDisabled.value || actionType === "minus" && minusDisabled.value) {
-          emit("overlimit", actionType);
-          return;
-        }
-        const diff = actionType === "minus" ? -props.step : +props.step;
-        const value = format2(addNumber(+current2.value, diff));
-        setValue(value);
-        emit(actionType);
-      };
-      const onInput = (event) => {
-        const input = event.target;
-        const {
-          value
-        } = input;
-        const {
-          decimalLength
-        } = props;
-        let formatted = formatNumber(String(value), !props.integer);
-        if (isDef(decimalLength) && formatted.includes(".")) {
-          const pair = formatted.split(".");
-          formatted = `${pair[0]}.${pair[1].slice(0, +decimalLength)}`;
-        }
-        if (props.beforeChange) {
-          input.value = String(current2.value);
-        } else if (!isEqual(value, formatted)) {
-          input.value = formatted;
-        }
-        const isNumeric2 = formatted === String(+formatted);
-        setValue(isNumeric2 ? +formatted : formatted);
-      };
-      const onFocus = (event) => {
-        var _a;
-        if (props.disableInput) {
-          (_a = inputRef.value) == null ? void 0 : _a.blur();
-        } else {
-          emit("focus", event);
-        }
-      };
-      const onBlur = (event) => {
-        const input = event.target;
-        const value = format2(input.value, props.autoFixed);
-        input.value = String(value);
-        current2.value = value;
-        vue.nextTick(() => {
-          emit("blur", event);
-          resetScroll();
-        });
-      };
-      let isLongPress;
-      let longPressTimer;
-      const longPressStep = () => {
-        longPressTimer = setTimeout(() => {
-          onChange();
-          longPressStep();
-        }, LONG_PRESS_INTERVAL);
-      };
-      const onTouchStart = () => {
-        if (props.longPress) {
-          isLongPress = false;
-          clearTimeout(longPressTimer);
-          longPressTimer = setTimeout(() => {
-            isLongPress = true;
-            onChange();
-            longPressStep();
-          }, LONG_PRESS_START_TIME);
-        }
-      };
-      const onTouchEnd = (event) => {
-        if (props.longPress) {
-          clearTimeout(longPressTimer);
-          if (isLongPress) {
-            preventDefault(event);
-          }
-        }
-      };
-      const onMousedown = (event) => {
-        if (props.disableInput) {
-          preventDefault(event);
-        }
-      };
-      const createListeners = (type) => ({
-        onClick: (event) => {
-          preventDefault(event);
-          actionType = type;
-          onChange();
-        },
-        onTouchstartPassive: () => {
-          actionType = type;
-          onTouchStart();
-        },
-        onTouchend: onTouchEnd,
-        onTouchcancel: onTouchEnd
-      });
-      vue.watch(() => [props.max, props.min, props.integer, props.decimalLength], check);
-      vue.watch(() => props.modelValue, (value) => {
-        if (!isEqual(value, current2.value)) {
-          current2.value = format2(value);
-        }
-      });
-      vue.watch(current2, (value) => {
-        emit("update:modelValue", value);
-        emit("change", value, {
-          name: props.name
-        });
-      });
-      useCustomFieldValue(() => props.modelValue);
-      return () => vue.createVNode("div", {
-        "role": "group",
-        "class": bem$7([props.theme])
-      }, [vue.withDirectives(vue.createVNode("button", vue.mergeProps({
-        "type": "button",
-        "style": buttonStyle.value,
-        "class": [bem$7("minus", {
-          disabled: minusDisabled.value
-        }), {
-          [HAPTICS_FEEDBACK]: !minusDisabled.value
-        }],
-        "aria-disabled": minusDisabled.value || void 0
-      }, createListeners("minus")), null), [[vue.vShow, props.showMinus]]), vue.withDirectives(vue.createVNode("input", {
-        "ref": inputRef,
-        "type": props.integer ? "tel" : "text",
-        "role": "spinbutton",
-        "class": bem$7("input"),
-        "value": current2.value,
-        "style": inputStyle.value,
-        "disabled": props.disabled,
-        "readonly": props.disableInput,
-        "inputmode": props.integer ? "numeric" : "decimal",
-        "placeholder": props.placeholder,
-        "aria-valuemax": props.max,
-        "aria-valuemin": props.min,
-        "aria-valuenow": current2.value,
-        "onBlur": onBlur,
-        "onInput": onInput,
-        "onFocus": onFocus,
-        "onMousedown": onMousedown
-      }, null), [[vue.vShow, props.showInput]]), vue.withDirectives(vue.createVNode("button", vue.mergeProps({
-        "type": "button",
-        "style": buttonStyle.value,
-        "class": [bem$7("plus", {
-          disabled: plusDisabled.value
-        }), {
-          [HAPTICS_FEEDBACK]: !plusDisabled.value
-        }],
-        "aria-disabled": plusDisabled.value || void 0
-      }, createListeners("plus")), null), [[vue.vShow, props.showPlus]])]);
-    }
-  });
-  const Stepper = withInstall(stdin_default$d);
-  const Steps = withInstall(stdin_default$f);
-  const [name$7, bem$6, t$1] = createNamespace("submit-bar");
-  const submitBarProps = {
-    tip: String,
-    label: String,
-    price: Number,
-    tipIcon: String,
-    loading: Boolean,
-    currency: makeStringProp("¥"),
-    disabled: Boolean,
-    textAlign: String,
-    buttonText: String,
-    buttonType: makeStringProp("danger"),
-    buttonColor: String,
-    suffixLabel: String,
-    placeholder: Boolean,
-    decimalLength: makeNumericProp(2),
-    safeAreaInsetBottom: truthProp
-  };
-  var stdin_default$c = vue.defineComponent({
-    name: name$7,
-    props: submitBarProps,
-    emits: ["submit"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const root = vue.ref();
-      const renderPlaceholder = usePlaceholder(root, bem$6);
-      const renderText = () => {
-        const {
-          price,
-          label,
-          currency,
-          textAlign,
-          suffixLabel,
-          decimalLength
-        } = props;
-        if (typeof price === "number") {
-          const pricePair = (price / 100).toFixed(+decimalLength).split(".");
-          const decimal = decimalLength ? `.${pricePair[1]}` : "";
-          return vue.createVNode("div", {
-            "class": bem$6("text"),
-            "style": {
-              textAlign
-            }
-          }, [vue.createVNode("span", null, [label || t$1("label")]), vue.createVNode("span", {
-            "class": bem$6("price")
-          }, [currency, vue.createVNode("span", {
-            "class": bem$6("price-integer")
-          }, [pricePair[0]]), decimal]), suffixLabel && vue.createVNode("span", {
-            "class": bem$6("suffix-label")
-          }, [suffixLabel])]);
-        }
-      };
-      const renderTip = () => {
-        var _a;
-        const {
-          tip,
-          tipIcon
-        } = props;
-        if (slots.tip || tip) {
-          return vue.createVNode("div", {
-            "class": bem$6("tip")
-          }, [tipIcon && vue.createVNode(Icon, {
-            "class": bem$6("tip-icon"),
-            "name": tipIcon
-          }, null), tip && vue.createVNode("span", {
-            "class": bem$6("tip-text")
-          }, [tip]), (_a = slots.tip) == null ? void 0 : _a.call(slots)]);
-        }
-      };
-      const onClickButton = () => emit("submit");
-      const renderButton = () => {
-        if (slots.button) {
-          return slots.button();
-        }
-        return vue.createVNode(Button, {
-          "round": true,
-          "type": props.buttonType,
-          "text": props.buttonText,
-          "class": bem$6("button", props.buttonType),
-          "color": props.buttonColor,
-          "loading": props.loading,
-          "disabled": props.disabled,
-          "onClick": onClickButton
-        }, null);
-      };
-      const renderSubmitBar = () => {
-        var _a, _b;
-        return vue.createVNode("div", {
-          "ref": root,
-          "class": [bem$6(), {
-            "van-safe-area-bottom": props.safeAreaInsetBottom
-          }]
-        }, [(_a = slots.top) == null ? void 0 : _a.call(slots), renderTip(), vue.createVNode("div", {
-          "class": bem$6("bar")
-        }, [(_b = slots.default) == null ? void 0 : _b.call(slots), renderText(), renderButton()])]);
-      };
-      return () => {
-        if (props.placeholder) {
-          return renderPlaceholder(renderSubmitBar);
-        }
-        return renderSubmitBar();
-      };
-    }
-  });
-  const SubmitBar = withInstall(stdin_default$c);
-  const [name$6, bem$5] = createNamespace("swipe-cell");
-  const swipeCellProps = {
-    name: makeNumericProp(""),
-    disabled: Boolean,
-    leftWidth: numericProp,
-    rightWidth: numericProp,
-    beforeClose: Function,
-    stopPropagation: Boolean
-  };
-  var stdin_default$b = vue.defineComponent({
-    name: name$6,
-    props: swipeCellProps,
-    emits: ["open", "close", "click"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      let opened;
-      let lockClick2;
-      let startOffset;
-      const root = vue.ref();
-      const leftRef = vue.ref();
-      const rightRef = vue.ref();
-      const state = vue.reactive({
-        offset: 0,
-        dragging: false
-      });
-      const touch = useTouch();
-      const getWidthByRef = (ref2) => ref2.value ? useRect(ref2).width : 0;
-      const leftWidth = vue.computed(() => isDef(props.leftWidth) ? +props.leftWidth : getWidthByRef(leftRef));
-      const rightWidth = vue.computed(() => isDef(props.rightWidth) ? +props.rightWidth : getWidthByRef(rightRef));
-      const open = (side) => {
-        state.offset = side === "left" ? leftWidth.value : -rightWidth.value;
-        if (!opened) {
-          opened = true;
-          emit("open", {
-            name: props.name,
-            position: side
-          });
-        }
-      };
-      const close = (position) => {
-        state.offset = 0;
-        if (opened) {
-          opened = false;
-          emit("close", {
-            name: props.name,
-            position
-          });
-        }
-      };
-      const toggle = (side) => {
-        const offset2 = Math.abs(state.offset);
-        const THRESHOLD = 0.15;
-        const threshold = opened ? 1 - THRESHOLD : THRESHOLD;
-        const width2 = side === "left" ? leftWidth.value : rightWidth.value;
-        if (width2 && offset2 > width2 * threshold) {
-          open(side);
-        } else {
-          close(side);
-        }
-      };
-      const onTouchStart = (event) => {
-        if (!props.disabled) {
-          startOffset = state.offset;
-          touch.start(event);
-        }
-      };
-      const onTouchMove = (event) => {
-        if (props.disabled) {
-          return;
-        }
-        const {
-          deltaX
-        } = touch;
-        touch.move(event);
-        if (touch.isHorizontal()) {
-          lockClick2 = true;
-          state.dragging = true;
-          const isEdge = !opened || deltaX.value * startOffset < 0;
-          if (isEdge) {
-            preventDefault(event, props.stopPropagation);
-          }
-          state.offset = clamp(deltaX.value + startOffset, -rightWidth.value, leftWidth.value);
-        }
-      };
-      const onTouchEnd = () => {
-        if (state.dragging) {
-          state.dragging = false;
-          toggle(state.offset > 0 ? "left" : "right");
-          setTimeout(() => {
-            lockClick2 = false;
-          }, 0);
-        }
-      };
-      const onClick = (position = "outside") => {
-        emit("click", position);
-        if (opened && !lockClick2) {
-          callInterceptor(props.beforeClose, {
-            args: [{
-              name: props.name,
-              position
-            }],
-            done: () => close(position)
-          });
-        }
-      };
-      const getClickHandler = (position, stop) => (event) => {
-        if (stop) {
-          event.stopPropagation();
-        }
-        onClick(position);
-      };
-      const renderSideContent = (side, ref2) => {
-        const contentSlot = slots[side];
-        if (contentSlot) {
-          return vue.createVNode("div", {
-            "ref": ref2,
-            "class": bem$5(side),
-            "onClick": getClickHandler(side, true)
-          }, [contentSlot()]);
-        }
-      };
-      useExpose({
-        open,
-        close
-      });
-      useClickAway(root, () => onClick("outside"), {
-        eventName: "touchstart"
-      });
-      useEventListener("touchmove", onTouchMove, {
-        target: root
-      });
-      return () => {
-        var _a;
-        const wrapperStyle = {
-          transform: `translate3d(${state.offset}px, 0, 0)`,
-          transitionDuration: state.dragging ? "0s" : ".6s"
-        };
-        return vue.createVNode("div", {
-          "ref": root,
-          "class": bem$5(),
-          "onClick": getClickHandler("cell", lockClick2),
-          "onTouchstartPassive": onTouchStart,
-          "onTouchend": onTouchEnd,
-          "onTouchcancel": onTouchEnd
-        }, [vue.createVNode("div", {
-          "class": bem$5("wrapper"),
-          "style": wrapperStyle
-        }, [renderSideContent("left", leftRef), (_a = slots.default) == null ? void 0 : _a.call(slots), renderSideContent("right", rightRef)])]);
-      };
-    }
-  });
-  const SwipeCell = withInstall(stdin_default$b);
-  const [name$5, bem$4] = createNamespace("tabbar");
-  const tabbarProps = {
-    route: Boolean,
-    fixed: truthProp,
-    border: truthProp,
-    zIndex: numericProp,
-    placeholder: Boolean,
-    activeColor: String,
-    beforeChange: Function,
-    inactiveColor: String,
-    modelValue: makeNumericProp(0),
-    safeAreaInsetBottom: {
-      type: Boolean,
-      default: null
-    }
-  };
-  const TABBAR_KEY = Symbol(name$5);
-  var stdin_default$a = vue.defineComponent({
-    name: name$5,
-    props: tabbarProps,
-    emits: ["change", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const root = vue.ref();
-      const {
-        linkChildren
-      } = useChildren(TABBAR_KEY);
-      const renderPlaceholder = usePlaceholder(root, bem$4);
-      const enableSafeArea = () => {
-        var _a;
-        return (_a = props.safeAreaInsetBottom) != null ? _a : props.fixed;
-      };
-      const renderTabbar = () => {
-        var _a;
-        const {
-          fixed,
-          zIndex,
-          border
-        } = props;
-        return vue.createVNode("div", {
-          "ref": root,
-          "role": "tablist",
-          "style": getZIndexStyle(zIndex),
-          "class": [bem$4({
-            fixed
-          }), {
-            [BORDER_TOP_BOTTOM]: border,
-            "van-safe-area-bottom": enableSafeArea()
-          }]
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
-      };
-      const setActive = (active, afterChange) => {
-        callInterceptor(props.beforeChange, {
-          args: [active],
-          done() {
-            emit("update:modelValue", active);
-            emit("change", active);
-            afterChange();
-          }
-        });
-      };
-      linkChildren({
-        props,
-        setActive
-      });
-      return () => {
-        if (props.fixed && props.placeholder) {
-          return renderPlaceholder(renderTabbar);
-        }
-        return renderTabbar();
-      };
-    }
-  });
-  const Tabbar = withInstall(stdin_default$a);
-  const [name$4, bem$3] = createNamespace("tabbar-item");
-  const tabbarItemProps = extend({}, routeProps, {
-    dot: Boolean,
-    icon: String,
-    name: numericProp,
-    badge: numericProp,
-    badgeProps: Object,
-    iconPrefix: String
-  });
-  var stdin_default$9 = vue.defineComponent({
-    name: name$4,
-    props: tabbarItemProps,
-    emits: ["click"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const route2 = useRoute();
-      const vm = vue.getCurrentInstance().proxy;
-      const {
-        parent,
-        index
-      } = useParent(TABBAR_KEY);
-      if (!parent) {
-        return;
-      }
-      const active = vue.computed(() => {
-        var _a;
-        const {
-          route: route22,
-          modelValue
-        } = parent.props;
-        if (route22 && "$route" in vm) {
-          const {
-            $route
-          } = vm;
-          const {
-            to
-          } = props;
-          const config = isObject(to) ? to : {
-            path: to
-          };
-          return !!$route.matched.find((val) => {
-            const pathMatched = "path" in config && config.path === val.path;
-            const nameMatched = "name" in config && config.name === val.name;
-            return pathMatched || nameMatched;
-          });
-        }
-        return ((_a = props.name) != null ? _a : index.value) === modelValue;
-      });
-      const onClick = (event) => {
-        var _a;
-        if (!active.value) {
-          parent.setActive((_a = props.name) != null ? _a : index.value, route2);
-        }
-        emit("click", event);
-      };
-      const renderIcon = () => {
-        if (slots.icon) {
-          return slots.icon({
-            active: active.value
-          });
-        }
-        if (props.icon) {
-          return vue.createVNode(Icon, {
-            "name": props.icon,
-            "classPrefix": props.iconPrefix
-          }, null);
-        }
-      };
-      return () => {
-        var _a;
-        const {
-          dot,
-          badge
-        } = props;
-        const {
-          activeColor,
-          inactiveColor
-        } = parent.props;
-        const color = active.value ? activeColor : inactiveColor;
-        return vue.createVNode("div", {
-          "role": "tab",
-          "class": bem$3({
-            active: active.value
-          }),
-          "style": {
-            color
-          },
-          "tabindex": 0,
-          "aria-selected": active.value,
-          "onClick": onClick
-        }, [vue.createVNode(Badge, vue.mergeProps({
-          "dot": dot,
-          "class": bem$3("icon"),
-          "content": badge
-        }, props.badgeProps), {
-          default: renderIcon
-        }), vue.createVNode("div", {
-          "class": bem$3("text")
-        }, [(_a = slots.default) == null ? void 0 : _a.call(slots, {
-          active: active.value
-        })])]);
-      };
-    }
-  });
-  const TabbarItem = withInstall(stdin_default$9);
-  const [name$3, bem$2] = createNamespace("text-ellipsis");
-  const textEllipsisProps = {
-    rows: makeNumericProp(1),
-    content: makeStringProp(""),
-    expandText: makeStringProp(""),
-    collapseText: makeStringProp("")
-  };
-  var stdin_default$8 = vue.defineComponent({
-    name: name$3,
-    props: textEllipsisProps,
-    emits: ["clickAction"],
-    setup(props, {
-      emit
-    }) {
-      const text = vue.ref("");
-      const expanded = vue.ref(false);
-      const hasAction = vue.ref(false);
-      const root = vue.ref();
-      const pxToNum = (value) => {
-        if (!value)
-          return 0;
-        const match = value.match(/^\d*(\.\d*)?/);
-        return match ? Number(match[0]) : 0;
-      };
-      const calcEllipsised = () => {
-        const cloneContainer = () => {
-          if (!root.value)
-            return;
-          const originStyle = window.getComputedStyle(root.value);
-          const container2 = document.createElement("div");
-          const styleNames = Array.prototype.slice.apply(originStyle);
-          styleNames.forEach((name2) => {
-            container2.style.setProperty(name2, originStyle.getPropertyValue(name2));
-          });
-          container2.style.position = "fixed";
-          container2.style.zIndex = "-9999";
-          container2.style.top = "-9999px";
-          container2.style.height = "auto";
-          container2.style.minHeight = "auto";
-          container2.style.maxHeight = "auto";
-          container2.innerText = props.content;
-          document.body.appendChild(container2);
-          return container2;
-        };
-        const calcEllipsisText = (container2, maxHeight2) => {
-          const {
-            content,
-            expandText
-          } = props;
-          const dot = "...";
-          let left2 = 0;
-          let right2 = content.length;
-          let res = -1;
-          while (left2 <= right2) {
-            const mid = Math.floor((left2 + right2) / 2);
-            container2.innerText = content.slice(0, mid) + dot + expandText;
-            if (container2.offsetHeight <= maxHeight2) {
-              left2 = mid + 1;
-              res = mid;
-            } else {
-              right2 = mid - 1;
-            }
-          }
-          return content.slice(0, res) + dot;
-        };
-        const container = cloneContainer();
-        if (!container)
-          return;
-        const {
-          paddingBottom,
-          paddingTop,
-          lineHeight
-        } = container.style;
-        const maxHeight = (Number(props.rows) + 0.5) * pxToNum(lineHeight) + pxToNum(paddingTop) + pxToNum(paddingBottom);
-        if (maxHeight < container.offsetHeight) {
-          hasAction.value = true;
-          text.value = calcEllipsisText(container, maxHeight);
-        } else {
-          hasAction.value = false;
-          text.value = props.content;
-        }
-        document.body.removeChild(container);
-      };
-      const onClickAction = (event) => {
-        expanded.value = !expanded.value;
-        emit("clickAction", event);
-      };
-      const renderAction = () => vue.createVNode("span", {
-        "class": bem$2("action"),
-        "onClick": onClickAction
-      }, [expanded.value ? props.collapseText : props.expandText]);
-      vue.onMounted(calcEllipsised);
-      vue.watch(() => [props.content, props.rows], calcEllipsised);
-      useEventListener("resize", calcEllipsised);
-      return () => vue.createVNode("div", {
-        "ref": root,
-        "class": bem$2()
-      }, [expanded.value ? props.content : text.value, hasAction.value ? renderAction() : null]);
-    }
-  });
-  const TextEllipsis = withInstall(stdin_default$8);
-  const [name$2] = createNamespace("time-picker");
-  const timePickerProps = extend({}, sharedProps, {
-    minHour: makeNumericProp(0),
-    maxHour: makeNumericProp(23),
-    minMinute: makeNumericProp(0),
-    maxMinute: makeNumericProp(59),
-    minSecond: makeNumericProp(0),
-    maxSecond: makeNumericProp(59),
-    columnsType: {
-      type: Array,
-      default: () => ["hour", "minute"]
-    }
-  });
-  var stdin_default$7 = vue.defineComponent({
-    name: name$2,
-    props: timePickerProps,
-    emits: ["confirm", "cancel", "change", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const currentValues = vue.ref(props.modelValue);
-      const columns = vue.computed(() => props.columnsType.map((type) => {
-        const {
-          filter,
-          formatter
-        } = props;
-        switch (type) {
-          case "hour":
-            return genOptions(+props.minHour, +props.maxHour, type, formatter, filter);
-          case "minute":
-            return genOptions(+props.minMinute, +props.maxMinute, type, formatter, filter);
-          case "second":
-            return genOptions(+props.minSecond, +props.maxSecond, type, formatter, filter);
-          default:
-            return [];
-        }
-      }));
-      vue.watch(currentValues, (newValues) => {
-        if (!isSameValue(newValues, props.modelValue)) {
-          emit("update:modelValue", newValues);
-        }
-      });
-      vue.watch(() => props.modelValue, (newValues) => {
-        newValues = formatValueRange(newValues, columns.value);
-        if (!isSameValue(newValues, currentValues.value)) {
-          currentValues.value = newValues;
-        }
-      }, {
-        immediate: true
-      });
-      const onChange = (...args) => emit("change", ...args);
-      const onCancel = (...args) => emit("cancel", ...args);
-      const onConfirm = (...args) => emit("confirm", ...args);
-      return () => vue.createVNode(Picker, vue.mergeProps({
-        "modelValue": currentValues.value,
-        "onUpdate:modelValue": ($event) => currentValues.value = $event,
-        "columns": columns.value,
-        "onChange": onChange,
-        "onCancel": onCancel,
-        "onConfirm": onConfirm
-      }, pick(props, pickerInheritKeys)), slots);
-    }
-  });
-  const TimePicker = withInstall(stdin_default$7);
-  const [name$1, bem$1] = createNamespace("tree-select");
-  const treeSelectProps = {
-    max: makeNumericProp(Infinity),
-    items: makeArrayProp(),
-    height: makeNumericProp(300),
-    selectedIcon: makeStringProp("success"),
-    mainActiveIndex: makeNumericProp(0),
-    activeId: {
-      type: [Number, String, Array],
-      default: 0
-    }
-  };
-  var stdin_default$6 = vue.defineComponent({
-    name: name$1,
-    props: treeSelectProps,
-    emits: ["clickNav", "clickItem", "update:activeId", "update:mainActiveIndex"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const isActiveItem = (id) => Array.isArray(props.activeId) ? props.activeId.includes(id) : props.activeId === id;
-      const renderSubItem = (item) => {
-        const onClick = () => {
-          if (item.disabled) {
-            return;
-          }
-          let activeId;
-          if (Array.isArray(props.activeId)) {
-            activeId = props.activeId.slice();
-            const index = activeId.indexOf(item.id);
-            if (index !== -1) {
-              activeId.splice(index, 1);
-            } else if (activeId.length < +props.max) {
-              activeId.push(item.id);
-            }
-          } else {
-            activeId = item.id;
-          }
-          emit("update:activeId", activeId);
-          emit("clickItem", item);
-        };
-        return vue.createVNode("div", {
-          "key": item.id,
-          "class": ["van-ellipsis", bem$1("item", {
-            active: isActiveItem(item.id),
-            disabled: item.disabled
-          })],
-          "onClick": onClick
-        }, [item.text, isActiveItem(item.id) && vue.createVNode(Icon, {
-          "name": props.selectedIcon,
-          "class": bem$1("selected")
-        }, null)]);
-      };
-      const onSidebarChange = (index) => {
-        emit("update:mainActiveIndex", index);
-      };
-      const onClickSidebarItem = (index) => emit("clickNav", index);
-      const renderSidebar = () => {
-        const Items = props.items.map((item) => vue.createVNode(SidebarItem, {
-          "dot": item.dot,
-          "badge": item.badge,
-          "class": [bem$1("nav-item"), item.className],
-          "disabled": item.disabled,
-          "onClick": onClickSidebarItem
-        }, {
-          title: () => slots["nav-text"] ? slots["nav-text"](item) : item.text
-        }));
-        return vue.createVNode(Sidebar, {
-          "class": bem$1("nav"),
-          "modelValue": props.mainActiveIndex,
-          "onChange": onSidebarChange
-        }, {
-          default: () => [Items]
-        });
-      };
-      const renderContent = () => {
-        if (slots.content) {
-          return slots.content();
-        }
-        const selected = props.items[+props.mainActiveIndex] || {};
-        if (selected.children) {
-          return selected.children.map(renderSubItem);
-        }
-      };
-      return () => vue.createVNode("div", {
-        "class": bem$1(),
-        "style": {
-          height: addUnit(props.height)
-        }
-      }, [renderSidebar(), vue.createVNode("div", {
-        "class": bem$1("content")
-      }, [renderContent()])]);
-    }
-  });
-  const TreeSelect = withInstall(stdin_default$6);
-  const [name, bem, t] = createNamespace("uploader");
-  function readFileContent(file, resultType) {
-    return new Promise((resolve) => {
-      if (resultType === "file") {
-        resolve();
-        return;
-      }
-      const reader = new FileReader();
-      reader.onload = (event) => {
-        resolve(event.target.result);
-      };
-      if (resultType === "dataUrl") {
-        reader.readAsDataURL(file);
-      } else if (resultType === "text") {
-        reader.readAsText(file);
-      }
-    });
-  }
-  function isOversize(items, maxSize) {
-    return toArray(items).some((item) => {
-      if (item.file) {
-        if (isFunction(maxSize)) {
-          return maxSize(item.file);
-        }
-        return item.file.size > +maxSize;
-      }
-      return false;
-    });
-  }
-  function filterFiles(items, maxSize) {
-    const valid = [];
-    const invalid = [];
-    items.forEach((item) => {
-      if (isOversize(item, maxSize)) {
-        invalid.push(item);
-      } else {
-        valid.push(item);
-      }
-    });
-    return { valid, invalid };
-  }
-  const IMAGE_REGEXP = /\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg|avif)/i;
-  const isImageUrl = (url) => IMAGE_REGEXP.test(url);
-  function isImageFile(item) {
-    if (item.isImage) {
-      return true;
-    }
-    if (item.file && item.file.type) {
-      return item.file.type.indexOf("image") === 0;
-    }
-    if (item.url) {
-      return isImageUrl(item.url);
-    }
-    if (typeof item.content === "string") {
-      return item.content.indexOf("data:image") === 0;
-    }
-    return false;
-  }
-  var stdin_default$5 = vue.defineComponent({
-    props: {
-      name: numericProp,
-      item: makeRequiredProp(Object),
-      index: Number,
-      imageFit: String,
-      lazyLoad: Boolean,
-      deletable: Boolean,
-      previewSize: [Number, String, Array],
-      beforeDelete: Function
-    },
-    emits: ["delete", "preview"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const renderMask = () => {
-        const {
-          status,
-          message
-        } = props.item;
-        if (status === "uploading" || status === "failed") {
-          const MaskIcon = status === "failed" ? vue.createVNode(Icon, {
-            "name": "close",
-            "class": bem("mask-icon")
-          }, null) : vue.createVNode(Loading, {
-            "class": bem("loading")
-          }, null);
-          const showMessage = isDef(message) && message !== "";
-          return vue.createVNode("div", {
-            "class": bem("mask")
-          }, [MaskIcon, showMessage && vue.createVNode("div", {
-            "class": bem("mask-message")
-          }, [message])]);
-        }
-      };
-      const onDelete = (event) => {
-        const {
-          name: name2,
-          item,
-          index,
-          beforeDelete
-        } = props;
-        event.stopPropagation();
-        callInterceptor(beforeDelete, {
-          args: [item, {
-            name: name2,
-            index
-          }],
-          done: () => emit("delete")
-        });
-      };
-      const onPreview = () => emit("preview");
-      const renderDeleteIcon = () => {
-        if (props.deletable && props.item.status !== "uploading") {
-          const slot = slots["preview-delete"];
-          return vue.createVNode("div", {
-            "role": "button",
-            "class": bem("preview-delete", {
-              shadow: !slot
-            }),
-            "tabindex": 0,
-            "aria-label": t("delete"),
-            "onClick": onDelete
-          }, [slot ? slot() : vue.createVNode(Icon, {
-            "name": "cross",
-            "class": bem("preview-delete-icon")
-          }, null)]);
-        }
-      };
-      const renderCover = () => {
-        if (slots["preview-cover"]) {
-          const {
-            index,
-            item
-          } = props;
-          return vue.createVNode("div", {
-            "class": bem("preview-cover")
-          }, [slots["preview-cover"](extend({
-            index
-          }, item))]);
-        }
-      };
-      const renderPreview = () => {
-        const {
-          item,
-          lazyLoad,
-          imageFit,
-          previewSize
-        } = props;
-        if (isImageFile(item)) {
-          return vue.createVNode(Image$1, {
-            "fit": imageFit,
-            "src": item.content || item.url,
-            "class": bem("preview-image"),
-            "width": Array.isArray(previewSize) ? previewSize[0] : previewSize,
-            "height": Array.isArray(previewSize) ? previewSize[1] : previewSize,
-            "lazyLoad": lazyLoad,
-            "onClick": onPreview
-          }, {
-            default: renderCover
-          });
-        }
-        return vue.createVNode("div", {
-          "class": bem("file"),
-          "style": getSizeStyle(props.previewSize)
-        }, [vue.createVNode(Icon, {
-          "class": bem("file-icon"),
-          "name": "description"
-        }, null), vue.createVNode("div", {
-          "class": [bem("file-name"), "van-ellipsis"]
-        }, [item.file ? item.file.name : item.url]), renderCover()]);
-      };
-      return () => vue.createVNode("div", {
-        "class": bem("preview")
-      }, [renderPreview(), renderMask(), renderDeleteIcon()]);
-    }
-  });
-  const uploaderProps = {
-    name: makeNumericProp(""),
-    accept: makeStringProp("image/*"),
-    capture: String,
-    multiple: Boolean,
-    disabled: Boolean,
-    readonly: Boolean,
-    lazyLoad: Boolean,
-    maxCount: makeNumericProp(Infinity),
-    imageFit: makeStringProp("cover"),
-    resultType: makeStringProp("dataUrl"),
-    uploadIcon: makeStringProp("photograph"),
-    uploadText: String,
-    deletable: truthProp,
-    afterRead: Function,
-    showUpload: truthProp,
-    modelValue: makeArrayProp(),
-    beforeRead: Function,
-    beforeDelete: Function,
-    previewSize: [Number, String, Array],
-    previewImage: truthProp,
-    previewOptions: Object,
-    previewFullImage: truthProp,
-    maxSize: {
-      type: [Number, String, Function],
-      default: Infinity
-    }
-  };
-  var stdin_default$4 = vue.defineComponent({
-    name,
-    props: uploaderProps,
-    emits: ["delete", "oversize", "clickUpload", "closePreview", "clickPreview", "update:modelValue"],
-    setup(props, {
-      emit,
-      slots
-    }) {
-      const inputRef = vue.ref();
-      const urls = [];
-      const getDetail = (index = props.modelValue.length) => ({
-        name: props.name,
-        index
-      });
-      const resetInput = () => {
-        if (inputRef.value) {
-          inputRef.value.value = "";
-        }
-      };
-      const onAfterRead = (items) => {
-        resetInput();
-        if (isOversize(items, props.maxSize)) {
-          if (Array.isArray(items)) {
-            const result = filterFiles(items, props.maxSize);
-            items = result.valid;
-            emit("oversize", result.invalid, getDetail());
-            if (!items.length) {
-              return;
-            }
-          } else {
-            emit("oversize", items, getDetail());
-            return;
-          }
-        }
-        items = vue.reactive(items);
-        emit("update:modelValue", [...props.modelValue, ...toArray(items)]);
-        if (props.afterRead) {
-          props.afterRead(items, getDetail());
-        }
-      };
-      const readFile = (files) => {
-        const {
-          maxCount,
-          modelValue,
-          resultType
-        } = props;
-        if (Array.isArray(files)) {
-          const remainCount = +maxCount - modelValue.length;
-          if (files.length > remainCount) {
-            files = files.slice(0, remainCount);
-          }
-          Promise.all(files.map((file) => readFileContent(file, resultType))).then((contents) => {
-            const fileList = files.map((file, index) => {
-              const result = {
-                file,
-                status: "",
-                message: ""
-              };
-              if (contents[index]) {
-                result.content = contents[index];
-              }
-              return result;
-            });
-            onAfterRead(fileList);
-          });
-        } else {
-          readFileContent(files, resultType).then((content) => {
-            const result = {
-              file: files,
-              status: "",
-              message: ""
-            };
-            if (content) {
-              result.content = content;
-            }
-            onAfterRead(result);
-          });
-        }
-      };
-      const onChange = (event) => {
-        const {
-          files
-        } = event.target;
-        if (props.disabled || !files || !files.length) {
-          return;
-        }
-        const file = files.length === 1 ? files[0] : [].slice.call(files);
-        if (props.beforeRead) {
-          const response = props.beforeRead(file, getDetail());
-          if (!response) {
-            resetInput();
-            return;
-          }
-          if (isPromise(response)) {
-            response.then((data) => {
-              if (data) {
-                readFile(data);
-              } else {
-                readFile(file);
-              }
-            }).catch(resetInput);
-            return;
-          }
-        }
-        readFile(file);
-      };
-      let imagePreview;
-      const onClosePreview = () => emit("closePreview");
-      const previewImage = (item) => {
-        if (props.previewFullImage) {
-          const imageFiles = props.modelValue.filter(isImageFile);
-          const images = imageFiles.map((item2) => {
-            if (item2.file && !item2.url && item2.status !== "failed") {
-              item2.url = URL.createObjectURL(item2.file);
-              urls.push(item2.url);
-            }
-            return item2.url;
-          }).filter(Boolean);
-          imagePreview = showImagePreview(extend({
-            images,
-            startPosition: imageFiles.indexOf(item),
-            onClose: onClosePreview
-          }, props.previewOptions));
-        }
-      };
-      const closeImagePreview = () => {
-        if (imagePreview) {
-          imagePreview.close();
-        }
-      };
-      const deleteFile = (item, index) => {
-        const fileList = props.modelValue.slice(0);
-        fileList.splice(index, 1);
-        emit("update:modelValue", fileList);
-        emit("delete", item, getDetail(index));
-      };
-      const renderPreviewItem = (item, index) => {
-        const needPickData = ["imageFit", "deletable", "previewSize", "beforeDelete"];
-        const previewData = extend(pick(props, needPickData), pick(item, needPickData, true));
-        return vue.createVNode(stdin_default$5, vue.mergeProps({
-          "item": item,
-          "index": index,
-          "onClick": () => emit("clickPreview", item, getDetail(index)),
-          "onDelete": () => deleteFile(item, index),
-          "onPreview": () => previewImage(item)
-        }, pick(props, ["name", "lazyLoad"]), previewData), pick(slots, ["preview-cover", "preview-delete"]));
-      };
-      const renderPreviewList = () => {
-        if (props.previewImage) {
-          return props.modelValue.map(renderPreviewItem);
-        }
-      };
-      const onClickUpload = (event) => emit("clickUpload", event);
-      const renderUpload = () => {
-        if (props.modelValue.length >= +props.maxCount) {
-          return;
-        }
-        const Input = props.readonly ? null : vue.createVNode("input", {
-          "ref": inputRef,
-          "type": "file",
-          "class": bem("input"),
-          "accept": props.accept,
-          "capture": props.capture,
-          "multiple": props.multiple,
-          "disabled": props.disabled,
-          "onChange": onChange
-        }, null);
-        if (slots.default) {
-          return vue.createVNode("div", {
-            "class": bem("input-wrapper"),
-            "onClick": onClickUpload
-          }, [slots.default(), Input]);
-        }
-        return vue.withDirectives(vue.createVNode("div", {
-          "class": bem("upload", {
-            readonly: props.readonly
-          }),
-          "style": getSizeStyle(props.previewSize),
-          "onClick": onClickUpload
-        }, [vue.createVNode(Icon, {
-          "name": props.uploadIcon,
-          "class": bem("upload-icon")
-        }, null), props.uploadText && vue.createVNode("span", {
-          "class": bem("upload-text")
-        }, [props.uploadText]), Input]), [[vue.vShow, props.showUpload]]);
-      };
-      const chooseFile = () => {
-        if (inputRef.value && !props.disabled) {
-          inputRef.value.click();
-        }
-      };
-      vue.onBeforeUnmount(() => {
-        urls.forEach((url) => URL.revokeObjectURL(url));
-      });
-      useExpose({
-        chooseFile,
-        closeImagePreview
-      });
-      useCustomFieldValue(() => props.modelValue);
-      return () => vue.createVNode("div", {
-        "class": bem()
-      }, [vue.createVNode("div", {
-        "class": bem("wrapper", {
-          disabled: props.disabled
-        })
-      }, [renderPreviewList(), renderUpload()])]);
-    }
-  });
-  const Uploader = withInstall(stdin_default$4);
-  class ReactiveListener {
-    constructor({
-      el,
-      src,
-      error,
-      loading,
-      bindType,
-      $parent,
-      options,
-      cors,
-      elRenderer,
-      imageCache
-    }) {
-      this.el = el;
-      this.src = src;
-      this.error = error;
-      this.loading = loading;
-      this.bindType = bindType;
-      this.attempt = 0;
-      this.cors = cors;
-      this.naturalHeight = 0;
-      this.naturalWidth = 0;
-      this.options = options;
-      this.$parent = $parent;
-      this.elRenderer = elRenderer;
-      this.imageCache = imageCache;
-      this.performanceData = {
-        loadStart: 0,
-        loadEnd: 0
-      };
-      this.filter();
-      this.initState();
-      this.render("loading", false);
-    }
-    /*
-     * init listener state
-     * @return
-     */
-    initState() {
-      if ("dataset" in this.el) {
-        this.el.dataset.src = this.src;
-      } else {
-        this.el.setAttribute("data-src", this.src);
-      }
-      this.state = {
-        loading: false,
-        error: false,
-        loaded: false,
-        rendered: false
-      };
-    }
-    /*
-     * record performance
-     * @return
-     */
-    record(event) {
-      this.performanceData[event] = Date.now();
-    }
-    /*
-     * update image listener data
-     * @param  {String} image uri
-     * @param  {String} loading image uri
-     * @param  {String} error image uri
-     * @return
-     */
-    update({ src, loading, error }) {
-      const oldSrc = this.src;
-      this.src = src;
-      this.loading = loading;
-      this.error = error;
-      this.filter();
-      if (oldSrc !== this.src) {
-        this.attempt = 0;
-        this.initState();
-      }
-    }
-    /*
-     *  check el is in view
-     * @return {Boolean} el is in view
-     */
-    checkInView() {
-      const rect = useRect(this.el);
-      return rect.top < window.innerHeight * this.options.preLoad && rect.bottom > this.options.preLoadTop && rect.left < window.innerWidth * this.options.preLoad && rect.right > 0;
-    }
-    /*
-     * listener filter
-     */
-    filter() {
-      Object.keys(this.options.filter).forEach((key) => {
-        this.options.filter[key](this, this.options);
-      });
-    }
-    /*
-     * render loading first
-     * @params cb:Function
-     * @return
-     */
-    renderLoading(cb) {
-      this.state.loading = true;
-      loadImageAsync(
-        {
-          src: this.loading,
-          cors: this.cors
-        },
-        () => {
-          this.render("loading", false);
-          this.state.loading = false;
-          cb();
-        },
-        () => {
-          cb();
-          this.state.loading = false;
-        }
-      );
-    }
-    /*
-     * try load image and  render it
-     * @return
-     */
-    load(onFinish = noop) {
-      if (this.attempt > this.options.attempt - 1 && this.state.error) {
-        onFinish();
-        return;
-      }
-      if (this.state.rendered && this.state.loaded)
-        return;
-      if (this.imageCache.has(this.src)) {
-        this.state.loaded = true;
-        this.render("loaded", true);
-        this.state.rendered = true;
-        return onFinish();
-      }
-      this.renderLoading(() => {
-        var _a, _b;
-        this.attempt++;
-        (_b = (_a = this.options.adapter).beforeLoad) == null ? void 0 : _b.call(_a, this, this.options);
-        this.record("loadStart");
-        loadImageAsync(
-          {
-            src: this.src,
-            cors: this.cors
-          },
-          (data) => {
-            this.naturalHeight = data.naturalHeight;
-            this.naturalWidth = data.naturalWidth;
-            this.state.loaded = true;
-            this.state.error = false;
-            this.record("loadEnd");
-            this.render("loaded", false);
-            this.state.rendered = true;
-            this.imageCache.add(this.src);
-            onFinish();
-          },
-          (err) => {
-            !this.options.silent && console.error(err);
-            this.state.error = true;
-            this.state.loaded = false;
-            this.render("error", false);
-          }
-        );
-      });
-    }
-    /*
-     * render image
-     * @param  {String} state to render // ['loading', 'src', 'error']
-     * @param  {String} is form cache
-     * @return
-     */
-    render(state, cache) {
-      this.elRenderer(this, state, cache);
-    }
-    /*
-     * output performance data
-     * @return {Object} performance data
-     */
-    performance() {
-      let state = "loading";
-      let time = 0;
-      if (this.state.loaded) {
-        state = "loaded";
-        time = (this.performanceData.loadEnd - this.performanceData.loadStart) / 1e3;
-      }
-      if (this.state.error)
-        state = "error";
-      return {
-        src: this.src,
-        state,
-        time
-      };
-    }
-    /*
-     * $destroy
-     * @return
-     */
-    $destroy() {
-      this.el = null;
-      this.src = null;
-      this.error = null;
-      this.loading = null;
-      this.bindType = null;
-      this.attempt = 0;
-    }
-  }
-  const DEFAULT_URL = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
-  const DEFAULT_EVENTS = [
-    "scroll",
-    "wheel",
-    "mousewheel",
-    "resize",
-    "animationend",
-    "transitionend",
-    "touchmove"
-  ];
-  const DEFAULT_OBSERVER_OPTIONS = {
-    rootMargin: "0px",
-    threshold: 0
-  };
-  function stdin_default$3() {
-    return class Lazy {
-      constructor({
-        preLoad,
-        error,
-        throttleWait,
-        preLoadTop,
-        dispatchEvent,
-        loading,
-        attempt,
-        silent = true,
-        scale,
-        listenEvents,
-        filter,
-        adapter,
-        observer,
-        observerOptions
-      }) {
-        this.mode = modeType.event;
-        this.listeners = [];
-        this.targetIndex = 0;
-        this.targets = [];
-        this.options = {
-          silent,
-          dispatchEvent: !!dispatchEvent,
-          throttleWait: throttleWait || 200,
-          preLoad: preLoad || 1.3,
-          preLoadTop: preLoadTop || 0,
-          error: error || DEFAULT_URL,
-          loading: loading || DEFAULT_URL,
-          attempt: attempt || 3,
-          scale: scale || getDPR(scale),
-          ListenEvents: listenEvents || DEFAULT_EVENTS,
-          supportWebp: supportWebp(),
-          filter: filter || {},
-          adapter: adapter || {},
-          observer: !!observer,
-          observerOptions: observerOptions || DEFAULT_OBSERVER_OPTIONS
-        };
-        this.initEvent();
-        this.imageCache = new ImageCache({ max: 200 });
-        this.lazyLoadHandler = throttle(
-          this.lazyLoadHandler.bind(this),
-          this.options.throttleWait
-        );
-        this.setMode(this.options.observer ? modeType.observer : modeType.event);
-      }
-      /**
-       * update config
-       * @param  {Object} config params
-       * @return
-       */
-      config(options = {}) {
-        Object.assign(this.options, options);
-      }
-      /**
-       * output listener's load performance
-       * @return {Array}
-       */
-      performance() {
-        return this.listeners.map((item) => item.performance());
-      }
-      /*
-       * add lazy component to queue
-       * @param  {Vue} vm lazy component instance
-       * @return
-       */
-      addLazyBox(vm) {
-        this.listeners.push(vm);
-        if (inBrowser) {
-          this.addListenerTarget(window);
-          this.observer && this.observer.observe(vm.el);
-          if (vm.$el && vm.$el.parentNode) {
-            this.addListenerTarget(vm.$el.parentNode);
-          }
-        }
-      }
-      /*
-       * add image listener to queue
-       * @param  {DOM} el
-       * @param  {object} binding vue directive binding
-       * @param  {vnode} vnode vue directive vnode
-       * @return
-       */
-      add(el, binding, vnode) {
-        if (this.listeners.some((item) => item.el === el)) {
-          this.update(el, binding);
-          return vue.nextTick(this.lazyLoadHandler);
-        }
-        const value = this.valueFormatter(binding.value);
-        let { src } = value;
-        vue.nextTick(() => {
-          src = getBestSelectionFromSrcset(el, this.options.scale) || src;
-          this.observer && this.observer.observe(el);
-          const container = Object.keys(binding.modifiers)[0];
-          let $parent;
-          if (container) {
-            $parent = vnode.context.$refs[container];
-            $parent = $parent ? $parent.$el || $parent : document.getElementById(container);
-          }
-          if (!$parent) {
-            $parent = getScrollParent$1(el);
-          }
-          const newListener = new ReactiveListener({
-            bindType: binding.arg,
-            $parent,
-            el,
-            src,
-            loading: value.loading,
-            error: value.error,
-            cors: value.cors,
-            elRenderer: this.elRenderer.bind(this),
-            options: this.options,
-            imageCache: this.imageCache
-          });
-          this.listeners.push(newListener);
-          if (inBrowser) {
-            this.addListenerTarget(window);
-            this.addListenerTarget($parent);
-          }
-          this.lazyLoadHandler();
-          vue.nextTick(() => this.lazyLoadHandler());
-        });
-      }
-      /**
-       * update image src
-       * @param  {DOM} el
-       * @param  {object} vue directive binding
-       * @return
-       */
-      update(el, binding, vnode) {
-        const value = this.valueFormatter(binding.value);
-        let { src } = value;
-        src = getBestSelectionFromSrcset(el, this.options.scale) || src;
-        const exist = this.listeners.find((item) => item.el === el);
-        if (!exist) {
-          this.add(el, binding, vnode);
-        } else {
-          exist.update({
-            src,
-            error: value.error,
-            loading: value.loading
-          });
-        }
-        if (this.observer) {
-          this.observer.unobserve(el);
-          this.observer.observe(el);
-        }
-        this.lazyLoadHandler();
-        vue.nextTick(() => this.lazyLoadHandler());
-      }
-      /**
-       * remove listener form list
-       * @param  {DOM} el
-       * @return
-       */
-      remove(el) {
-        if (!el)
-          return;
-        this.observer && this.observer.unobserve(el);
-        const existItem = this.listeners.find((item) => item.el === el);
-        if (existItem) {
-          this.removeListenerTarget(existItem.$parent);
-          this.removeListenerTarget(window);
-          remove(this.listeners, existItem);
-          existItem.$destroy();
-        }
-      }
-      /*
-       * remove lazy components form list
-       * @param  {Vue} vm Vue instance
-       * @return
-       */
-      removeComponent(vm) {
-        if (!vm)
-          return;
-        remove(this.listeners, vm);
-        this.observer && this.observer.unobserve(vm.el);
-        if (vm.$parent && vm.$el.parentNode) {
-          this.removeListenerTarget(vm.$el.parentNode);
-        }
-        this.removeListenerTarget(window);
-      }
-      setMode(mode) {
-        if (!hasIntersectionObserver && mode === modeType.observer) {
-          mode = modeType.event;
-        }
-        this.mode = mode;
-        if (mode === modeType.event) {
-          if (this.observer) {
-            this.listeners.forEach((listener) => {
-              this.observer.unobserve(listener.el);
-            });
-            this.observer = null;
-          }
-          this.targets.forEach((target) => {
-            this.initListen(target.el, true);
-          });
-        } else {
-          this.targets.forEach((target) => {
-            this.initListen(target.el, false);
-          });
-          this.initIntersectionObserver();
-        }
-      }
-      /*
-       *** Private functions ***
-       */
-      /*
-       * add listener target
-       * @param  {DOM} el listener target
-       * @return
-       */
-      addListenerTarget(el) {
-        if (!el)
-          return;
-        let target = this.targets.find((target2) => target2.el === el);
-        if (!target) {
-          target = {
-            el,
-            id: ++this.targetIndex,
-            childrenCount: 1,
-            listened: true
-          };
-          this.mode === modeType.event && this.initListen(target.el, true);
-          this.targets.push(target);
-        } else {
-          target.childrenCount++;
-        }
-        return this.targetIndex;
-      }
-      /*
-       * remove listener target or reduce target childrenCount
-       * @param  {DOM} el or window
-       * @return
-       */
-      removeListenerTarget(el) {
-        this.targets.forEach((target, index) => {
-          if (target.el === el) {
-            target.childrenCount--;
-            if (!target.childrenCount) {
-              this.initListen(target.el, false);
-              this.targets.splice(index, 1);
-              target = null;
-            }
-          }
-        });
-      }
-      /*
-       * add or remove eventlistener
-       * @param  {DOM} el DOM or Window
-       * @param  {boolean} start flag
-       * @return
-       */
-      initListen(el, start2) {
-        this.options.ListenEvents.forEach(
-          (evt) => (start2 ? on : off)(el, evt, this.lazyLoadHandler)
-        );
-      }
-      initEvent() {
-        this.Event = {
-          listeners: {
-            loading: [],
-            loaded: [],
-            error: []
-          }
-        };
-        this.$on = (event, func) => {
-          if (!this.Event.listeners[event])
-            this.Event.listeners[event] = [];
-          this.Event.listeners[event].push(func);
-        };
-        this.$once = (event, func) => {
-          const on2 = (...args) => {
-            this.$off(event, on2);
-            func.apply(this, args);
-          };
-          this.$on(event, on2);
-        };
-        this.$off = (event, func) => {
-          if (!func) {
-            if (!this.Event.listeners[event])
-              return;
-            this.Event.listeners[event].length = 0;
-            return;
-          }
-          remove(this.Event.listeners[event], func);
-        };
-        this.$emit = (event, context, inCache) => {
-          if (!this.Event.listeners[event])
-            return;
-          this.Event.listeners[event].forEach((func) => func(context, inCache));
-        };
-      }
-      /**
-       * find nodes which in viewport and trigger load
-       * @return
-       */
-      lazyLoadHandler() {
-        const freeList = [];
-        this.listeners.forEach((listener) => {
-          if (!listener.el || !listener.el.parentNode) {
-            freeList.push(listener);
-          }
-          const catIn = listener.checkInView();
-          if (!catIn)
-            return;
-          listener.load();
-        });
-        freeList.forEach((item) => {
-          remove(this.listeners, item);
-          item.$destroy();
-        });
-      }
-      /**
-       * init IntersectionObserver
-       * set mode to observer
-       * @return
-       */
-      initIntersectionObserver() {
-        if (!hasIntersectionObserver) {
-          return;
-        }
-        this.observer = new IntersectionObserver(
-          this.observerHandler.bind(this),
-          this.options.observerOptions
-        );
-        if (this.listeners.length) {
-          this.listeners.forEach((listener) => {
-            this.observer.observe(listener.el);
-          });
-        }
-      }
-      /**
-       * init IntersectionObserver
-       * @return
-       */
-      observerHandler(entries) {
-        entries.forEach((entry) => {
-          if (entry.isIntersecting) {
-            this.listeners.forEach((listener) => {
-              if (listener.el === entry.target) {
-                if (listener.state.loaded)
-                  return this.observer.unobserve(listener.el);
-                listener.load();
-              }
-            });
-          }
-        });
-      }
-      /**
-       * set element attribute with image'url and state
-       * @param  {object} lazyload listener object
-       * @param  {string} state will be rendered
-       * @param  {bool} inCache  is rendered from cache
-       * @return
-       */
-      elRenderer(listener, state, cache) {
-        if (!listener.el)
-          return;
-        const { el, bindType } = listener;
-        let src;
-        switch (state) {
-          case "loading":
-            src = listener.loading;
-            break;
-          case "error":
-            src = listener.error;
-            break;
-          default:
-            ({ src } = listener);
-            break;
-        }
-        if (bindType) {
-          el.style[bindType] = 'url("' + src + '")';
-        } else if (el.getAttribute("src") !== src) {
-          el.setAttribute("src", src);
-        }
-        el.setAttribute("lazy", state);
-        this.$emit(state, listener, cache);
-        this.options.adapter[state] && this.options.adapter[state](listener, this.options);
-        if (this.options.dispatchEvent) {
-          const event = new CustomEvent(state, {
-            detail: listener
-          });
-          el.dispatchEvent(event);
-        }
-      }
-      /**
-       * generate loading loaded error image url
-       * @param {string} image's src
-       * @return {object} image's loading, loaded, error url
-       */
-      valueFormatter(value) {
-        let src = value;
-        let { loading, error } = this.options;
-        if (isObject(value)) {
-          ({ src } = value);
-          loading = value.loading || this.options.loading;
-          error = value.error || this.options.error;
-        }
-        return {
-          src,
-          loading,
-          error
-        };
-      }
-    };
-  }
-  var stdin_default$2 = (lazy) => ({
-    props: {
-      tag: {
-        type: String,
-        default: "div"
-      }
-    },
-    emits: ["show"],
-    render() {
-      return vue.h(
-        this.tag,
-        this.show && this.$slots.default ? this.$slots.default() : null
-      );
-    },
-    data() {
-      return {
-        el: null,
-        state: {
-          loaded: false
-        },
-        show: false
-      };
-    },
-    mounted() {
-      this.el = this.$el;
-      lazy.addLazyBox(this);
-      lazy.lazyLoadHandler();
-    },
-    beforeUnmount() {
-      lazy.removeComponent(this);
-    },
-    methods: {
-      checkInView() {
-        const rect = useRect(this.$el);
-        return inBrowser && rect.top < window.innerHeight * lazy.options.preLoad && rect.bottom > 0 && rect.left < window.innerWidth * lazy.options.preLoad && rect.right > 0;
-      },
-      load() {
-        this.show = true;
-        this.state.loaded = true;
-        this.$emit("show", this);
-      },
-      destroy() {
-        return this.$destroy;
-      }
-    }
-  });
-  const defaultOptions = {
-    selector: "img"
-  };
-  class LazyContainer {
-    constructor({ el, binding, vnode, lazy }) {
-      this.el = null;
-      this.vnode = vnode;
-      this.binding = binding;
-      this.options = {};
-      this.lazy = lazy;
-      this.queue = [];
-      this.update({ el, binding });
-    }
-    update({ el, binding }) {
-      this.el = el;
-      this.options = Object.assign({}, defaultOptions, binding.value);
-      const imgs = this.getImgs();
-      imgs.forEach((el2) => {
-        this.lazy.add(
-          el2,
-          Object.assign({}, this.binding, {
-            value: {
-              src: "dataset" in el2 ? el2.dataset.src : el2.getAttribute("data-src"),
-              error: ("dataset" in el2 ? el2.dataset.error : el2.getAttribute("data-error")) || this.options.error,
-              loading: ("dataset" in el2 ? el2.dataset.loading : el2.getAttribute("data-loading")) || this.options.loading
-            }
-          }),
-          this.vnode
-        );
-      });
-    }
-    getImgs() {
-      return Array.from(this.el.querySelectorAll(this.options.selector));
-    }
-    clear() {
-      const imgs = this.getImgs();
-      imgs.forEach((el) => this.lazy.remove(el));
-      this.vnode = null;
-      this.binding = null;
-      this.lazy = null;
-    }
-  }
-  class LazyContainerManager {
-    constructor({ lazy }) {
-      this.lazy = lazy;
-      this.queue = [];
-    }
-    bind(el, binding, vnode) {
-      const container = new LazyContainer({
-        el,
-        binding,
-        vnode,
-        lazy: this.lazy
-      });
-      this.queue.push(container);
-    }
-    update(el, binding, vnode) {
-      const container = this.queue.find((item) => item.el === el);
-      if (!container)
-        return;
-      container.update({ el, binding, vnode });
-    }
-    unbind(el) {
-      const container = this.queue.find((item) => item.el === el);
-      if (!container)
-        return;
-      container.clear();
-      remove(this.queue, container);
-    }
-  }
-  var stdin_default$1 = (lazyManager) => ({
-    props: {
-      src: [String, Object],
-      tag: {
-        type: String,
-        default: "img"
-      }
-    },
-    render() {
-      var _a, _b;
-      return vue.h(
-        this.tag,
-        {
-          src: this.renderSrc
-        },
-        (_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)
-      );
-    },
-    data() {
-      return {
-        el: null,
-        options: {
-          src: "",
-          error: "",
-          loading: "",
-          attempt: lazyManager.options.attempt
-        },
-        state: {
-          loaded: false,
-          error: false,
-          attempt: 0
-        },
-        renderSrc: ""
-      };
-    },
-    watch: {
-      src() {
-        this.init();
-        lazyManager.addLazyBox(this);
-        lazyManager.lazyLoadHandler();
-      }
-    },
-    created() {
-      this.init();
-    },
-    mounted() {
-      this.el = this.$el;
-      lazyManager.addLazyBox(this);
-      lazyManager.lazyLoadHandler();
-    },
-    beforeUnmount() {
-      lazyManager.removeComponent(this);
-    },
-    methods: {
-      init() {
-        const { src, loading, error } = lazyManager.valueFormatter(this.src);
-        this.state.loaded = false;
-        this.options.src = src;
-        this.options.error = error;
-        this.options.loading = loading;
-        this.renderSrc = this.options.loading;
-      },
-      checkInView() {
-        const rect = useRect(this.$el);
-        return rect.top < window.innerHeight * lazyManager.options.preLoad && rect.bottom > 0 && rect.left < window.innerWidth * lazyManager.options.preLoad && rect.right > 0;
-      },
-      load(onFinish = noop) {
-        if (this.state.attempt > this.options.attempt - 1 && this.state.error) {
-          onFinish();
-          return;
-        }
-        const { src } = this.options;
-        loadImageAsync(
-          { src },
-          ({ src: src2 }) => {
-            this.renderSrc = src2;
-            this.state.loaded = true;
-          },
-          () => {
-            this.state.attempt++;
-            this.renderSrc = this.options.error;
-            this.state.error = true;
-          }
-        );
-      }
-    }
-  });
-  const Lazyload = {
-    /*
-     * install function
-     * @param  {App} app
-     * @param  {object} options lazyload options
-     */
-    install(app, options = {}) {
-      const LazyClass = stdin_default$3();
-      const lazy = new LazyClass(options);
-      const lazyContainer = new LazyContainerManager({ lazy });
-      app.config.globalProperties.$Lazyload = lazy;
-      if (options.lazyComponent) {
-        app.component("LazyComponent", stdin_default$2(lazy));
-      }
-      if (options.lazyImage) {
-        app.component("LazyImage", stdin_default$1(lazy));
-      }
-      app.directive("lazy", {
-        beforeMount: lazy.add.bind(lazy),
-        updated: lazy.update.bind(lazy),
-        unmounted: lazy.remove.bind(lazy)
-      });
-      app.directive("lazy-container", {
-        beforeMount: lazyContainer.bind.bind(lazyContainer),
-        updated: lazyContainer.update.bind(lazyContainer),
-        unmounted: lazyContainer.unbind.bind(lazyContainer)
-      });
-    }
-  };
-  const version = "4.1.2";
-  function install(app) {
-    const components = [
-      ActionBar,
-      ActionBarButton,
-      ActionBarIcon,
-      ActionSheet,
-      AddressEdit,
-      AddressList,
-      Area,
-      BackTop,
-      Badge,
-      Button,
-      Calendar,
-      Card,
-      Cascader,
-      Cell,
-      CellGroup,
-      Checkbox,
-      CheckboxGroup,
-      Circle,
-      Col,
-      Collapse,
-      CollapseItem,
-      ConfigProvider,
-      ContactCard,
-      ContactEdit,
-      ContactList,
-      CountDown,
-      Coupon,
-      CouponCell,
-      CouponList,
-      DatePicker,
-      Dialog,
-      Divider,
-      DropdownItem,
-      DropdownMenu,
-      Empty,
-      Field,
-      Form,
-      Grid,
-      GridItem,
-      Icon,
-      Image$1,
-      ImagePreview,
-      IndexAnchor,
-      IndexBar,
-      List,
-      Loading,
-      Locale,
-      NavBar,
-      NoticeBar,
-      Notify,
-      NumberKeyboard,
-      Overlay,
-      Pagination,
-      PasswordInput,
-      Picker,
-      PickerGroup,
-      Popover,
-      Popup,
-      Progress,
-      PullRefresh,
-      Radio,
-      RadioGroup,
-      Rate,
-      Row,
-      Search,
-      ShareSheet,
-      Sidebar,
-      SidebarItem,
-      Skeleton,
-      SkeletonAvatar,
-      SkeletonImage,
-      SkeletonParagraph,
-      SkeletonTitle,
-      Slider,
-      Space,
-      Step,
-      Stepper,
-      Steps,
-      Sticky,
-      SubmitBar,
-      Swipe,
-      SwipeCell,
-      SwipeItem,
-      Switch,
-      Tab,
-      Tabbar,
-      TabbarItem,
-      Tabs,
-      Tag,
-      TextEllipsis,
-      TimePicker,
-      Toast,
-      TreeSelect,
-      Uploader
-    ];
-    components.forEach((item) => {
-      if (item.install) {
-        app.use(item);
-      } else if (item.name) {
-        app.component(item.name, item);
-      }
-    });
-  }
-  var stdin_default = {
-    install,
-    version
-  };
-  exports2.ActionBar = ActionBar;
-  exports2.ActionBarButton = ActionBarButton;
-  exports2.ActionBarIcon = ActionBarIcon;
-  exports2.ActionSheet = ActionSheet;
-  exports2.AddressEdit = AddressEdit;
-  exports2.AddressList = AddressList;
-  exports2.Area = Area;
-  exports2.BackTop = BackTop;
-  exports2.Badge = Badge;
-  exports2.Button = Button;
-  exports2.Calendar = Calendar;
-  exports2.Card = Card;
-  exports2.Cascader = Cascader;
-  exports2.Cell = Cell;
-  exports2.CellGroup = CellGroup;
-  exports2.Checkbox = Checkbox;
-  exports2.CheckboxGroup = CheckboxGroup;
-  exports2.Circle = Circle;
-  exports2.Col = Col;
-  exports2.Collapse = Collapse;
-  exports2.CollapseItem = CollapseItem;
-  exports2.ConfigProvider = ConfigProvider;
-  exports2.ContactCard = ContactCard;
-  exports2.ContactEdit = ContactEdit;
-  exports2.ContactList = ContactList;
-  exports2.CountDown = CountDown;
-  exports2.Coupon = Coupon;
-  exports2.CouponCell = CouponCell;
-  exports2.CouponList = CouponList;
-  exports2.DEFAULT_ROW_WIDTH = DEFAULT_ROW_WIDTH;
-  exports2.DatePicker = DatePicker;
-  exports2.Dialog = Dialog;
-  exports2.Divider = Divider;
-  exports2.DropdownItem = DropdownItem;
-  exports2.DropdownMenu = DropdownMenu;
-  exports2.Empty = Empty;
-  exports2.Field = Field;
-  exports2.Form = Form;
-  exports2.Grid = Grid;
-  exports2.GridItem = GridItem;
-  exports2.Icon = Icon;
-  exports2.Image = Image$1;
-  exports2.ImagePreview = ImagePreview;
-  exports2.IndexAnchor = IndexAnchor;
-  exports2.IndexBar = IndexBar;
-  exports2.Lazyload = Lazyload;
-  exports2.List = List;
-  exports2.Loading = Loading;
-  exports2.Locale = Locale;
-  exports2.NavBar = NavBar;
-  exports2.NoticeBar = NoticeBar;
-  exports2.Notify = Notify;
-  exports2.NumberKeyboard = NumberKeyboard;
-  exports2.Overlay = Overlay;
-  exports2.Pagination = Pagination;
-  exports2.PasswordInput = PasswordInput;
-  exports2.Picker = Picker;
-  exports2.PickerGroup = PickerGroup;
-  exports2.Popover = Popover;
-  exports2.Popup = Popup;
-  exports2.Progress = Progress;
-  exports2.PullRefresh = PullRefresh;
-  exports2.Radio = Radio;
-  exports2.RadioGroup = RadioGroup;
-  exports2.Rate = Rate;
-  exports2.Row = Row;
-  exports2.Search = Search;
-  exports2.ShareSheet = ShareSheet;
-  exports2.Sidebar = Sidebar;
-  exports2.SidebarItem = SidebarItem;
-  exports2.Skeleton = Skeleton;
-  exports2.SkeletonAvatar = SkeletonAvatar;
-  exports2.SkeletonImage = SkeletonImage;
-  exports2.SkeletonParagraph = SkeletonParagraph;
-  exports2.SkeletonTitle = SkeletonTitle;
-  exports2.Slider = Slider;
-  exports2.Space = Space;
-  exports2.Step = Step;
-  exports2.Stepper = Stepper;
-  exports2.Steps = Steps;
-  exports2.Sticky = Sticky;
-  exports2.SubmitBar = SubmitBar;
-  exports2.Swipe = Swipe;
-  exports2.SwipeCell = SwipeCell;
-  exports2.SwipeItem = SwipeItem;
-  exports2.Switch = Switch;
-  exports2.Tab = Tab;
-  exports2.Tabbar = Tabbar;
-  exports2.TabbarItem = TabbarItem;
-  exports2.Tabs = Tabs;
-  exports2.Tag = Tag;
-  exports2.TextEllipsis = TextEllipsis;
-  exports2.TimePicker = TimePicker;
-  exports2.Toast = Toast;
-  exports2.TreeSelect = TreeSelect;
-  exports2.Uploader = Uploader;
-  exports2.actionBarButtonProps = actionBarButtonProps;
-  exports2.actionBarIconProps = actionBarIconProps;
-  exports2.actionBarProps = actionBarProps;
-  exports2.actionSheetProps = actionSheetProps;
-  exports2.addressEditProps = addressEditProps;
-  exports2.addressListProps = addressListProps;
-  exports2.allowMultipleToast = allowMultipleToast;
-  exports2.areaProps = areaProps;
-  exports2.backTopProps = backTopProps;
-  exports2.badgeProps = badgeProps;
-  exports2.buttonProps = buttonProps;
-  exports2.calendarProps = calendarProps;
-  exports2.cardProps = cardProps;
-  exports2.cascaderProps = cascaderProps;
-  exports2.cellGroupProps = cellGroupProps;
-  exports2.cellProps = cellProps;
-  exports2.checkboxGroupProps = checkboxGroupProps;
-  exports2.checkboxProps = checkboxProps;
-  exports2.circleProps = circleProps;
-  exports2.closeDialog = closeDialog;
-  exports2.closeNotify = closeNotify;
-  exports2.closeToast = closeToast;
-  exports2.colProps = colProps;
-  exports2.collapseItemProps = collapseItemProps;
-  exports2.collapseProps = collapseProps;
-  exports2.configProviderProps = configProviderProps;
-  exports2.contactCardProps = contactCardProps;
-  exports2.contactEditProps = contactEditProps;
-  exports2.contactListProps = contactListProps;
-  exports2.countDownProps = countDownProps;
-  exports2.couponCellProps = couponCellProps;
-  exports2.couponListProps = couponListProps;
-  exports2.datePickerProps = datePickerProps;
-  exports2.default = stdin_default;
-  exports2.dialogProps = dialogProps;
-  exports2.dividerProps = dividerProps;
-  exports2.dropdownItemProps = dropdownItemProps;
-  exports2.dropdownMenuProps = dropdownMenuProps;
-  exports2.emptyProps = emptyProps;
-  exports2.fieldProps = fieldProps;
-  exports2.formProps = formProps;
-  exports2.gridItemProps = gridItemProps;
-  exports2.gridProps = gridProps;
-  exports2.iconProps = iconProps;
-  exports2.imagePreviewProps = imagePreviewProps;
-  exports2.imageProps = imageProps;
-  exports2.indexAnchorProps = indexAnchorProps;
-  exports2.indexBarProps = indexBarProps;
-  exports2.install = install;
-  exports2.listProps = listProps;
-  exports2.loadingProps = loadingProps;
-  exports2.navBarProps = navBarProps;
-  exports2.noticeBarProps = noticeBarProps;
-  exports2.notifyProps = notifyProps;
-  exports2.numberKeyboardProps = numberKeyboardProps;
-  exports2.overlayProps = overlayProps;
-  exports2.paginationProps = paginationProps;
-  exports2.passwordInputProps = passwordInputProps;
-  exports2.pickerGroupProps = pickerGroupProps;
-  exports2.pickerProps = pickerProps;
-  exports2.popoverProps = popoverProps;
-  exports2.popupProps = popupProps$2;
-  exports2.progressProps = progressProps;
-  exports2.pullRefreshProps = pullRefreshProps;
-  exports2.radioGroupProps = radioGroupProps;
-  exports2.radioProps = radioProps;
-  exports2.rateProps = rateProps;
-  exports2.resetDialogDefaultOptions = resetDialogDefaultOptions;
-  exports2.resetNotifyDefaultOptions = resetNotifyDefaultOptions;
-  exports2.resetToastDefaultOptions = resetToastDefaultOptions;
-  exports2.rowProps = rowProps;
-  exports2.searchProps = searchProps;
-  exports2.setDialogDefaultOptions = setDialogDefaultOptions;
-  exports2.setNotifyDefaultOptions = setNotifyDefaultOptions;
-  exports2.setToastDefaultOptions = setToastDefaultOptions;
-  exports2.shareSheetProps = shareSheetProps;
-  exports2.showConfirmDialog = showConfirmDialog;
-  exports2.showDialog = showDialog;
-  exports2.showFailToast = showFailToast;
-  exports2.showImagePreview = showImagePreview;
-  exports2.showLoadingToast = showLoadingToast;
-  exports2.showNotify = showNotify;
-  exports2.showSuccessToast = showSuccessToast;
-  exports2.showToast = showToast;
-  exports2.sidebarItemProps = sidebarItemProps;
-  exports2.sidebarProps = sidebarProps;
-  exports2.skeletonAvatarProps = skeletonAvatarProps;
-  exports2.skeletonImageProps = skeletonImageProps;
-  exports2.skeletonParagraphProps = skeletonParagraphProps;
-  exports2.skeletonProps = skeletonProps;
-  exports2.skeletonTitleProps = skeletonTitleProps;
-  exports2.sliderProps = sliderProps;
-  exports2.spaceProps = spaceProps;
-  exports2.stepperProps = stepperProps;
-  exports2.stepsProps = stepsProps;
-  exports2.stickyProps = stickyProps;
-  exports2.submitBarProps = submitBarProps;
-  exports2.swipeCellProps = swipeCellProps;
-  exports2.swipeProps = swipeProps;
-  exports2.switchProps = switchProps;
-  exports2.tabProps = tabProps;
-  exports2.tabbarItemProps = tabbarItemProps;
-  exports2.tabbarProps = tabbarProps;
-  exports2.tabsProps = tabsProps;
-  exports2.tagProps = tagProps;
-  exports2.textEllipsisProps = textEllipsisProps;
-  exports2.timePickerProps = timePickerProps;
-  exports2.toastProps = toastProps;
-  exports2.treeSelectProps = treeSelectProps;
-  exports2.uploaderProps = uploaderProps;
-  exports2.useCurrentLang = useCurrentLang;
-  exports2.version = version;
-  Object.defineProperties(exports2, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
-});

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 6
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/lib/vue.js


+ 0 - 472
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/js/mapindex.js

@@ -1,472 +0,0 @@
-
-function showInputView(){
-	const box = document.getElementById("search-box");
-	box.style.display = "block"; //设置样式为不显示(隐藏)
-	// const citys = document.getElementById("citys");
-	// citys.style.display = "block"; //设置样式为不显示(隐藏)
-}
-
-function hidInputView(){
-	const box = document.getElementById("search-box");
-	box.style.display = "none"; //设置样式为不显示(隐藏)
-	// const citys = document.getElementById("citys");
-	// citys.style.display = "none"; //设置样式为不显示(隐藏)
-}
-
-function driverLocateCH(obj){//外部传入新的定位信息
-	//处理地图更新
-}
-
-
-document.addEventListener('UniAppJSBridgeReady', function() {
-var lats = getQueryVariable('lat') * 1;
-var lngs = getQueryVariable('lng') * 1;
-var latn = getQueryVariable('nlat') * 1;
-var lngn = getQueryVariable('nlng') * 1;
-var sstate = getQueryVariable('sstate') * 1;
-var lg = getQueryVariable('lg') * 1;
-var zoom = 15; //地图缩放比例
-var coords = "";
-var startAddr="";
-var endcoords = "";
-var endAddr="";
-var mpcenter = "";
-var searchmarker = "";
-
-
-
-var showinput=false;
-
-
-var map; //地图
-var drawRouteMarker = []; //路线marker
-var directionsRendererArr = []; //地图路线
-/**
- * 初始化
- * 
- */
-function initMap() {
-	if (lats && lngs) {
-		coords = {
-			lat: lats,
-			lng: lngs
-		};
-		mpcenter = {
-			lat: lats,
-			lng: lngs
-		};
-	} else {
-		navigator.geolocation.getCurrentPosition(function(position) {
-			coords = {
-				lat: position.coords.latitude,
-				lng: position.coords.longitude
-			};
-			mpcenter = {
-				lat: position.coords.latitude-0.001,
-				lng: position.coords.longitude
-			};
-			lats = position.coords.latitude;
-			lngs = position.coords.longitude
-		});
-	}
-	map = new google.maps.Map(document.getElementById('map'), {
-		zoom: zoom,
-		center: mpcenter,
-		mapId: MAPID,
-		animation: 'BOUNCE'
-	});
-	if(latn!=0 && lngn!=0){
-		endcoords ={
-			lat: latn,
-			lng: lngn
-		};
-		drawRoute();
-	}
-	else{
-		searchmarker = new google.maps.Marker({
-			map: map,
-			position: coords,
-			title: '',
-		});
-		getAddress(coords,'',0);
-	}
-	
-	if(sstate==0){
-		const box = document.getElementById("search-box");
-		box.style.display = "none"; //设置样式为不显示(隐藏)
-		const posl = document.getElementById("pos");
-		posl.style.display = "none"; //设置样式为不显示(隐藏)
-	}
-	else if(sstate==1){
-		const box = document.getElementById("search-box");
-		if(lg==1){
-			box.placeholder='Vui lòng nhập điểm đến...';
-		}
-		if(lg==2){
-			box.placeholder='请输入目的地...';
-		}
-		if(lg==3){
-			box.placeholder='請輸入目的地...';
-		}
-		
-		Repositioning();
-		ListeningInputBox();
-	}
-	else if(sstate==2){
-		const box = document.getElementById("search-box");
-		box.style.display = "none"; //设置样式为不显示(隐藏)
-		const posl = document.getElementById("pos");
-		posl.style.display = "none"; //设置样式为不显示(隐藏)
-		
-	}
-	
-	setTimeout(() => {
-		LoadAnimation(false)
-	}, 500)
-	
-}
-
-/**
- * 监听输入框 输入事件
- * 
- * */
-function ListeningInputBox() {
-	// 创建 Autocomplete 实例
-
-	const input = document.getElementById("search-box");
-	const autocomplete = new google.maps.places.Autocomplete(input);
-	// 设置 Autocomplete 参数
-	autocomplete.setFields(["geometry", "name"]);
-	// 添加事件监听器,当用户选择某个地点时,在地图上标记出所选位置
-	LoadAnimation(true)
-	autocomplete.addListener("place_changed", function() {
-		const place = autocomplete.getPlace();
-		var latlng = JSON.parse(JSON.stringify(place.geometry.location));
-		var placename = document.getElementById("search-box").value;
-		getAddress(latlng,placename,1);
-		if (!place.geometry) {
-			console.log("返回的地理信息无效!");
-			return;
-		}
-		
-		// 将地图中心点指向用户所选位置,并设置标记
-		map.setCenter(place.geometry.location);
-		if (searchmarker) { //去除marker标记点
-			searchmarker.setMap(null)
-			searchmarker = ""
-		}
-		searchmarker = new google.maps.Marker({
-			map: map,
-			position: place.geometry.location,
-			title: place.name,
-		});
-		
-		//以搜索地址为目的地规划路径
-		// endcoords = place.geometry.location;
-		// drawRoute();
-		setTimeout(() => {
-			LoadAnimation(false)
-		}, 1000)
-		
-	});
-}
-/**
- * 根据经度纬度获取相对应的地址信息
- *  提取 国家 省/州 市 区/县 路 门牌号  
- * 
- * */
-function getAddress(latlng,name,mark) {
-	
-	// 根据经纬度发起 Reverse Geocoding API 请求,获取地址信息
-	var geocoder = new google.maps.Geocoder();
-	var cityInfo = {
-		country: "", //国家
-		province: "", //省
-		city: "", //市
-		district: "", //区
-		street: "", //街道	
-		door: "", //门牌号
-		address: "", //详细地址
-		name:name//地址名称
-	}
-	geocoder.geocode({
-		location: latlng,
-	}, function(results, status) {
-		if (status === 'OK') {
-			if (results[0]) {
-				console.log(results[0])
-				for (var i = 0; i < results.length; i++) {
-					var components = results[i].address_components;
-					for (var j = 0; j < components.length; j++) {
-						var component = components[j];
-						if (component.types.includes("country")) {
-							console.log("国家:  ====>" + component.long_name);
-							cityInfo.country = component.long_name || '';
-						} else if (component.types.includes("administrative_area_level_1")) {
-							console.log("省/州:  ====>" + component.long_name);
-							cityInfo.province = component.long_name || '';
-						} else if (component.types.includes("locality")) {
-							console.log("城市: ====> " + component.long_name);
-							cityInfo.city = component.long_name || '';
-						} else if (component.types.includes("sublocality_level_1")) {
-							console.log("区/县: ====>" + component.long_name);
-							cityInfo.district = component.long_name || '';
-						} else if (component.types.includes("route")) {
-							console.log("路/街道名: ====> " + component.long_name);
-							cityInfo.street = component.long_name || '';
-						} else if (component.types.includes("street_number")) {
-							console.log("门牌号: ====> " + component.long_name);
-							cityInfo.door = component.long_name || '';
-						}
-					}
-				}
-				cityInfo.address = results[0].formatted_address;
-				returngeocode(latlng,cityInfo,mark);
-				// console.log("cityInfo==========", cityInfo)
-				// addInfo(cityInfo)
-				
-			} else {
-				//alert('找不到地址信息');
-				returngeocode(latlng,cityInfo,mark);
-			}
-		} else {
-			//alert('获取地址信息失败:' + status);
-			returngeocode(latlng,cityInfo,mark);
-		}
-	});
-}
-
-function returngeocode(location,cityInfo,type){
-	uni.postMessage({
-		data: {
-			position:location,
-			cityInfo:cityInfo,
-			type:type
-		}
-	});
-}
-
-function addInfo(cityInfo) {
-	// 获取子节点并设置新的文本内容
-	const child1 = document.getElementById('country');
-	child1.textContent = cityInfo.country;
-	const child2 = document.getElementById('province');
-	child2.textContent = cityInfo.province;
-	const child3 = document.getElementById('city');
-	child3.textContent = cityInfo.city;
-	const child4 = document.getElementById('district');
-	child4.textContent = cityInfo.district;
-	const child5 = document.getElementById('street');
-	child5.textContent = cityInfo.street;
-	const child6 = document.getElementById('door');
-	child6.textContent = cityInfo.door;
-	const child7 = document.getElementById('address');
-	child7.textContent = cityInfo.address;
-
-}
-
-/**
- * 画路线图
- *  经度纬度加了随机函数 故 起始点和终点 各不一致
- *  需要用到此功能自行调整
- * 
- * */
-function drawRoute() {
-	LoadAnimation(true)
-	clearDrawRoute()
-	const directionsService = new google.maps.DirectionsService();
-	var TravelMode = [{
-			id: 1,
-			name: "DRIVING",
-			color: "#ea4335"
-		},
-		{
-			id: 2,
-			name: "WALKING",
-			color: "#7825fa"
-		},
-		{
-			id: 3,
-			name: "BICYCLING",
-			color: "#fa6200"
-		},
-		{
-			id: 4,
-			name: "TRANSIT",
-			color: "#ff00ff"
-		}
-	];
-	startDrawRoute(directionsService, TravelMode[0]);
-	
-}
-
-/**
- * 清除路线
- * 
- * */
-function clearDrawRoute() {
-	if (directionsRendererArr) { //清空线
-		for (var i = 0; i < directionsRendererArr.length; i++) {
-			directionsRendererArr[i].setMap(null);
-		}
-		// 清空数组
-		directionsRendererArr = [];
-	}
-	if (drawRouteMarker) { //清空标记点
-		for (var i = 0; i < drawRouteMarker.length; i++) {
-			drawRouteMarker[i].setMap(null);
-		}
-		// 清空数组
-		drawRouteMarker = [];
-
-	}
-
-}
-
-/**
- * 
- * 开始绘制以下路线图
- *	DRIVING:驾车模式。这是默认的出行方式,计算出行路线时考虑当时的实时交通情况。
- *可用  WALKING:步行模式。计算步行路线时会考虑人行道、人行横道等规则,因此得到的路线可能与驾车路线不同。
- *可用  BICYCLING:骑行模式。计算骑行路线时,避开了折返点和拥堵路段,提供了适合骑自行车的路线。
- * TRANSIT:公共交通模式。在城市间导航中被广泛使用,提供了乘坐公共交通工具(如公交车、地铁、火车和轻轨)的路线方案。
- * FLIGHTS:飞行模式。在 Google Maps 平台上无法使用,此模式只适用于各大航空公司网站等其他服务商范畴内。
- * 
- * */
-function startDrawRoute(directionsService, travelMode) {
-	// 随机数字而已  动态数字  方便查询效果
-	// let min = 5000;
-	// let max = 10000;
-	// let randomNum = (Math.floor(Math.random() * (max - min + 1)) + min) / 500000;
-	// 起点坐标
-
-	/**
-	 * lat 和lng数据为随机数据  运行时 调整为自己所在位置坐标
-	 * 
-	 * */
-	const origin = {
-		lat: coords.lat,
-		lng: coords.lng
-	};
-	// 终点坐标
-	const destination = {
-		lat: endcoords.lat,
-		lng: endcoords.lng
-	};
-    
-	var directionsRenderer = new google.maps.DirectionsRenderer({
-		map: map,
-		suppressMarkers: true, // 关闭默认图标
-		polylineOptions: {
-			strokeColor: travelMode.color, //设置路线颜色
-			strokeWeight: 5 //设置路线宽度
-		},
-		// draggable: true //允许用户拖动路线
-
-	});
-	const request = {
-		origin: origin,
-		destination: endcoords,
-		travelMode: travelMode.name, //绘制路线的模式
-	};
-	directionsService.route(request,
-		(result, status) => {
-			if (status === "OK") {
-				directionsRenderer.setDirections(result);
-				directionsRenderer.setMap(map);
-				// 获取起点和终点的信息并添加标记
-				var startMarker = new google.maps.Marker({
-					position: result.routes[0].legs[0].start_location,
-					map: map,
-					icon: {
-						url: "https://maps.gstatic.com/mapfiles/ms2/micons/pink.png",
-						scaledSize: new google.maps.Size(50, 50),
-					},
-				});
-				
-				drawRouteMarker.push(startMarker)
-				var endMarker = new google.maps.Marker({
-					position: result.routes[0].legs[0].end_location,
-					map: map,
-					icon: {
-						url: "https://maps.gstatic.com/mapfiles/ms2/micons/orange.png",
-						scaledSize: new google.maps.Size(50, 50),
-					},
-				});
-				drawRouteMarker.push(endMarker)
-				directionsRendererArr.push(directionsRenderer)
-				//显示路线的总距离
-				// console.log('距离===', directionsRenderer.directions.routes[0].legs[0].distance.text)
-				// console.log('时间===', directionsRenderer.directions.routes[0].legs[0].duration.text)
-				// for (var k = 0; k < directionsRenderer.directions.routes[0].legs[0].steps.length; k++) {
-				// 	console.log(directionsRenderer.directions.routes[0].legs[0].steps[k].instructions)
-				// }
-				if (searchmarker) { //去除marker标记点
-					searchmarker.setMap(null)
-					searchmarker = ""
-				}
-				uni.postMessage({
-					data: {
-						distance:directionsRenderer.directions.routes[0].legs[0].distance.text,
-						duration:directionsRenderer.directions.routes[0].legs[0].duration.text,
-						type:2
-					}
-				});
-			} else {
-				// console.log(travelMode, "绘制失败===", result)
-				uni.postMessage({
-					data: {
-						drawRoute:result
-					}
-				});
-			}
-		}
-	);
-
-	LoadAnimation(false)
-}
-
-/**
- * 重新定位
- * 
- * 
- * */
-function Repositioning() {
-	LoadAnimation(true)
-	var element = document.getElementById('pos');
-	element.addEventListener("click", function() {
-		if (navigator.geolocation) {
-			navigator.geolocation.getCurrentPosition(function(position) {
-				// lats = position.coords.latitude;
-				// lngs = position.coords.longitude;
-				var pos = {
-					lat: position.coords.latitude,
-					lng: position.coords.longitude
-				};
-				LoadAnimation(false)
-				map.setCenter(pos); // 将地图中心置于当前位置
-				// 将地图中心点指向用户所选位置,并设置标记
-				if (searchmarker) { //去除marker标记点
-					searchmarker.setMap(null)
-					searchmarker = ""
-				}
-				searchmarker = new google.maps.Marker({
-					map: map,
-					position: pos,
-					title:'location',
-				});
-				getAddress(pos,'',0);
-			}, function() {
-				console.log("无法获取地理位置信息");
-			});
-		} else {
-			console.log("浏览器不支持Geolocation API");
-		}
-
-
-	});
-}
-
-LoadAnimation(true)
-window.initMap = initMap;
-});

+ 0 - 37
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/maps/mapindex.html

@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport"
-			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=0" />
-		<link href="http://fonts.googleapis.com/css?family=Roboto:300" rel="stylesheet" type="text/css">
-		<title></title>
-		<link rel="stylesheet" type="text/css" href="./css/index.css" />
-		<script src="./js/lib/common.js"></script>
-		<script src="./js/lib/toast.js"></script>
-	</head>
-	<body>
-		<!-- 地图 -->
-		<div id="map"></div>
-		<!-- 输入框事件 -->
-		<input id="search-box" type="text" placeholder="請輸入目的地...">
-		<!-- css loading动画 -->
-		<!-- 定位 -->
-		<img class="pos" id="pos" src="./img/positioning.png" alt="">
-
-		<!-- <div class="citys" id="citys">
-			【国家 :<text id="country"></text>&nbsp;&nbsp;&nbsp;】
-			【省 : <text id="province"></text>&nbsp;&nbsp;&nbsp;】
-			【市 : <text id="city"></text>&nbsp;&nbsp;&nbsp;】
-			【区 : <text id="district"></text>&nbsp;&nbsp;&nbsp;】
-			【路 : <text id="street"></text>&nbsp;&nbsp;&nbsp;】
-			【 门牌号: <text id="door"></text>&nbsp;&nbsp;&nbsp;】
-			【详情地址 : <text id="address"></text>&nbsp;&nbsp;&nbsp;】</div> -->
-			<div class="loader" id="loader"></div>
-	</body>
-	<script type="text/javascript" src="./js/lib/uniwebviewsdk.js"></script>
-	 
-	<script type="text/javascript" src="https://api.fooder.tw/profile/upload/mapload.js"></script>
-
-	<script type="text/javascript" src="./js/mapindex.js"></script>
-</html>

+ 0 - 404
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/audio.html

@@ -1,404 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="UTF-8">
-		<meta http-equiv="X-UA-Compatible" content="IE=edge">
-		<meta name="viewport" content="width=device-width, initial-scale=1.0">
-		<link rel="stylesheet" type="text/css" href="./css/index.css" />
-		<title id="title"></title>
-		<style>
-		html, body {
-		    height: 100%;
-		}
-		body {
-		    margin: 0;
-		}
-		video {
-		    width: 100%;
-		    height: 100%;
-		    position: absolute;
-		    left: 0;
-		    top: 0;
-		    z-index: -1;
-		}
-		
-		</style>
-	</head>
-	<body>
-		<!-- <video class="Bvideo" id="Big_video"  preload autoplay onclick="Bvideoselc()"></video> -->
-		<!-- <video class="Svideo" id="sm_video"  preload muted autoplay onclick="Svideoselc()"></video> -->
-		<audio id="my_audio" autoplay></audio>
-		<div class="contentColumnC" style="width: 100%;margin-top: 60px;"">
-			<div id="ICnote"></div>
-			<img class="iconImg" style="margin-top: 5px;" src="./img/logo.png" alt="" onclick="guaduan()"/>
-			<div class="contentInRowC" style="width: 100%;margin-top: 10px;">
-				<div id="markNote"></div>
-				<img class="calling" src="./img/loading2.gif" alt="" />
-			</div>
-		</div>
-		 <div style="width: 100%;margin-top: 100px;">
-			 <div class="contentColumnC">
-				 <img id='dianhua_Img' class="guadanImg" style="margin-top: 5px;" src="./img/jietong.png" alt="" onclick="guaduan()"/>
-			 </div>
-		 </div>
-		 <div>
-			 <div id="sdpkNote"></div>
-		 </div>
-	</body>
-	<script type="text/javascript" src="./js/lib/uniwebviewsdk.js"></script>
-	<script>
-		let language = getQueryVariable('language');
-		let title,state1,state2,state3,state4,state5,ICnote;
-		const title_div = document.getElementById('title');
-		const ICnote_div = document.getElementById('ICnote');
-	let localStream = null;
-	let localCall = 0;
-	let localCandidata=null;
-	let peer = null;
-	let video=null;
-	let jietong=false;
-	let payload=null;
-	
-	let markindex=0;
-	
-	// const Big_video = document.getElementById('Big_video');
-	// const sm_video = document.getElementById('sm_video');
-	// const my_audio = document.getElementById('my_audio');
-	const dianhua_Img = document.getElementById('dianhua_Img');
-	
-	const markNote = document.getElementById('markNote');
-	const sdpkNote = document.getElementById('sdpkNote');
-	
-	//====================================================
-	function getQueryVariable(variable) {
-		var query = decodeURI(window.location.search.substring(1));
-		var vars = query.split("&");
-		for (var i = 0; i < vars.length; i++) {
-			var pair = vars[i].split("=");
-			if (pair[0] == variable) {
-				return pair[1];
-			}
-		}
-		return (false);
-	}
-	function Bvideoselc(){
-		if(localStream!=null){
-			//Big_video.srcObject =localStream;
-			Big_video.setAttribute('autoplay', true); /* THIS */
-		}
-	}
-	function Svideoselc(){
-		if(localStream!=null){
-			//sm_video.srcObject =localStream;
-			sm_video.setAttribute('autoplay', true); /* THIS */
-		}
-		
-	}
-	function guaduan(){
-		if(jietong){
-			if(peer){
-				peer.close();
-			}
-			uni.postMessage({
-			    data: {
-			        data:'', // 回传
-					type:88
-			    },
-			});
-		}
-		else{
-			jietong=true;
-			markNote.innerHTML=state2;
-			if(payload!=null){
-				RCstartWebRct(payload);
-			}
-			dianhua_Img.src = "./img/guaduandd.png"
-		}
-	}
-	function duifangguaduan(){
-		if(jietong){
-			if(peer){
-				peer.close();
-			}
-			markNote.innerHTML=state4;
-		}
-	}
-	//====================================================
-	function appAct (obj) {
-		if(obj.type==1){//主动发起im通话
-			localCall=1;
-			//startWebRct(obj.type);
-			markNote.innerHTML=state1;
-			
-		}
-		else if(obj.type==2){//收到发起方sdp offer
-			if(localCall==1){//发起方收到接受方 sdp answer
-				markNote.innerHTML=state2;
-				RCremoteData(obj.payload);
-			}
-			else{//接受方 收到发起方sdp offer
-				//markNote.innerHTML=state1;
-				payload=obj.payload;
-				if(jietong){
-					//markNote.innerHTML=state2;
-					RCstartWebRct(obj.payload);//启动wbrtc
-				}
-			}
-		}
-		else if(obj.type==3){//收到candidate
-			//markNote.innerHTML=state2;
-			//sdpkNote.innerHTML=JSON.stringify(obj.payload);
-			for(var i=0;i<obj.payload.length;i++){//收到candidate 添加到Rct
-				peer.addIceCandidate(obj.payload[i]);
-			}
-			if(localCall!=1){//接收方收到candidate 回应自己的candidate给发起方
-				uni.postMessage({
-				    data: {
-				        data:localCandidata, //应答方回应candidate
-						type:3
-				    },
-				});
-			}
-		}
-	}
-	
-	async function startCapture(displayMediaOptions) {
-	    try {
-	        localStream = await navigator.mediaDevices.getUserMedia(displayMediaOptions);
-			// Big_video.srcObject =localStream;
-			// Big_video.setAttribute('autoplay', true); /* THIS */
-			// markindex=markindex+1;
-			// uni.postMessage({
-			//     data: {
-			//         data:markindex, // 回传
-			// 		type:99999
-			//     },
-			// });
-			uni.postMessage({
-			    data: {
-			        data:'', // 回传
-					type:99
-			    },
-			});
-	    } catch(err) {
-	        console.error(err);
-	    }
-	}
-	async function startWebRct(type){
-		peer = new RTCPeerConnection(
-			{
-				iceServers:[
-					{
-						urls:'stun:stun.l.google.com:19302',
-					}
-				]
-			}
-		);
-		//添加本地音视频
-		localStream.getTracks().forEach((track) => {
-		  peer.addTrack(track, localStream)
-		});
-		//创建本地offer
-		const offer = peer.createOffer({
-			offerToReceiveAudio:1,
-			offerToReceiveVideo:0
-		});
-		//记录本地offer
-		offer.then(value => {
-			peer.setLocalDescription(value);
-			uni.postMessage({
-			    data: {
-			        data:value, // 回传并推送offer
-					type:2
-			    },
-			});
-		}).catch(error => {
-		});
-		peer.onconnectionstatechange = function (ev) {
-			if(peer.connectionState=="closed"){
-				markNote.innerHTML=state5;
-			}
-			if(peer.connectionState=="connected"){
-				markNote.innerHTML=state3;
-			}
-			if(peer.connectionState=="connecting"){
-				markNote.innerHTML=state2;
-			}
-			if(peer.connectionState=="disconnected"){
-				markNote.innerHTML=state4;
-			}
-		};
-		localCandidata=[]
-		peer.onicecandidate = function (event) {
-		  if (event.candidate){
-			localCandidata.push(event.candidate);
-		  }
-		}
-		startCommunicate();
-	}
-	//发起方收到 远端SDP answer  保存并发送candidate
-	async function RCremoteData(rcData){//收到remoteAnswer
-		//记录远端offer
-		await peer.setRemoteDescription(rcData)
-		
-		uni.postMessage({
-		    data: {
-		        data:localCandidata, // 发起方先发candidate
-				type:3
-		    },
-		});
-	}
-	function startCommunicate(){
-		peer.ontrack = (e) => {
-			if(e.streams[0]){
-				var otherVideos = document.querySelector('#my_audio');
-				//var otherVideos = document.querySelector('#Big_video');
-				otherVideos.srcObject = e.streams[0];
-				//otherVideos.setAttribute('autoplay', true); /* THIS */
-				uni.postMessage({
-				    data: {
-				        data:JSON.stringify(e.streams[0]), // 回传并推送offer
-						type:'sss'
-				    },
-				});
-			}
-			// sm_video.srcObject =localStream;
-			// sm_video.setAttribute('autoplay', true); /* THIS */
-		}
-	}
-	async function RCstartWebRct(payload){
-		peer = new RTCPeerConnection(
-			{
-				iceServers:[
-					{
-						urls:'stun:stun.l.google.com:19302',
-					}
-				],
-				offerExtmapAllowMixed:false
-			}
-		);
-		// uni.postMessage({
-		//     data: {
-		//         data:1, //应答方回应candidate
-		// 		type:33333
-		//     },
-		// });
-		//添加本地音视频
-		localStream.getTracks().forEach((track) => {
-		  peer.addTrack(track, localStream)
-		})
-		localCandidata=[];
-		peer.onicecandidate = function (event) {
-		  if (event.candidate){
-			//let strcandidate=JSON.stringify(event.candidate);
-			localCandidata.push(event.candidate);
-		  }
-		}
-		
-		
-		startCommunicate();
-		// uni.postMessage({
-		//     data: {
-		//         data:2, //应答方回应candidate
-		// 		type:33333
-		//     },
-		// });
-		peer.onconnectionstatechange = function (ev) {
-			if(peer.connectionState=="closed"){
-				markNote.innerHTML=state5;
-			}
-			if(peer.connectionState=="connected"){
-				markNote.innerHTML=state3;
-			}
-			if(peer.connectionState=="connecting"){
-				markNote.innerHTML=state2;
-			}
-			if(peer.connectionState=="disconnected"){
-				markNote.innerHTML=state4;
-			}
-		};
-		
-		
-		//记录远端offer
-		//记录远端offer
-		const offer = new RTCSessionDescription(payload);
-		uni.postMessage({
-		    data: {
-		        data:offer, //应答方回应candidate
-				type:33333
-		    },
-		});
-		await peer.setRemoteDescription(offer);
-		//await peer.setRemoteDescription(payload)//iOS发起的通话 安卓音频适配异常----------------
-
-		// uni.postMessage({
-		//     data: {
-		//         data:4, //应答方回应candidate
-		// 		type:33333
-		//     },
-		// });
-		const remoteAnswer = await peer.createAnswer();
-		// uni.postMessage({
-		//     data: {
-		//         data:remoteAnswer, //应答方回应candidate
-		// 		type:33333
-		//     },
-		// });
-		//记录本地offer
-		await peer.setLocalDescription(remoteAnswer);
-		//推送remoteAnswer
-		uni.postMessage({
-		    data: {
-		        data:remoteAnswer, // 回传并推送offer
-				type:2
-		    },
-		});
-		
-	}
-	function initRtc() {
-		if(language=='yuenan'){//越南语
-			ICnote='Rider yêu cầu IM Voice Call';
-			title='IM Cuộc gọi thoại';
-			state1='Đang gọi';
-			state2='Đang kết nối';
-			state3='Đã kết nối';
-			state4='Bị treo';
-			state5='Kết thúc cuộc gọi';
-		}
-		if(language=='zh-Hans'){//简体中文
-			ICnote='骑手请求IM语音通话'
-			title='IM 语音通话';
-			state1='正在呼叫';
-			state2='正在接通';
-			state3='已接通';
-			state4='已挂断';
-			state5='结束通话';
-		}
-		if(language=='zh-Hant'){//繁体中文
-			ICnote='騎手請求IM語音通話'
-			title='IM 語音通話';
-			state1='正在呼叫';
-			state2='正在接通';
-			state3='已接通';
-			state4='已掛斷';
-			state5='結束通話';
-		}
-		markNote.innerHTML=title;
-		ICnote_div.innerHTML=ICnote;
-		title_div.innerHTML=title;
-		setTimeout(() => {
-			startCapture({ video: true, audio: true});
-			//startCapture({audio: true});
-		}, 1000)
-		return;
-	}
-	function releaseTack(){
-		if(peer){
-			peer.close();
-		}
-	}
-	window.onload=initRtc;
-	window.onunload=releaseTack;
-	</script>
-	
-</html>

+ 0 - 74
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/index.css

@@ -1,74 +0,0 @@
-* {
-	padding: 0;
-	margin: 0;
-}
-
-.loadinggif {
-	width: 50px;
-	height: 50px;
-	position: fixed;
-	left: 50%;
-	bottom: 50%;
-	margin-left: -25px;
-	margin-top: -25px;
-	z-index: 99;
-}
-
-.Bvideo {
-	display: flex;
-	width: 100%;
-	height: auto;
-	left: 0;
-	top: 0;
-	z-index: 1;
-}
-.Svideo {
-	position: fixed;
-	flex-direction: row;
-	width: 30%;
-	height: auto;
-	left: auto;
-	right: 0;
-	bottom: 0;
-	z-index: 99;
-}
-
-.bottomView{
-	position: fixed;
-	flex-direction: column;
-	justify-content: center;
-	align-items: center;
-	width: 100%;
-	height: 100px;
-	top: auto;
-	bottom: 0;
-	z-index: 999;
-	background-color: rgba(100, 100, 100, 0.5); /* 黑色,50% 透明度 */
-}
-
-.contentInRowC{
-	display: flex;
-	flex-direction: row;
-	justify-content: center;
-	align-items: center;
-}
-.contentColumnC{
-	display: flex;
-	flex-direction: column;
-	align-items: center;
-	justify-content: center;
-}
-.iconImg{
-	width: 120px;
-	height: 120px;
-	border-radius: 6px;
-}
-.guadanImg{
-	width: 54px;
-	height: 54px;
-}
-.calling{
-	width: 26px;
-	height: 26px;
-}
-

+ 0 - 1
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/code.css

@@ -1 +0,0 @@
-html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-view{display:block;position:relative;margin:10px 0;padding:0;border:1px solid #eee;border-left-width:6px;background-color:#fafafa;color:#333;font-family:Courier New;font-size:13px}.layui-code-title{position:relative;padding:0 10px;height:40px;line-height:40px;border-bottom:1px solid #eee;font-size:12px}.layui-code-title>.layui-code-about{position:absolute;right:10px;top:0;color:#b7b7b7}.layui-code-about>a{padding-left:10px}.layui-code-view>.layui-code-ol,.layui-code-view>.layui-code-ul{position:relative;overflow:auto}.layui-code-view>.layui-code-ol>li{position:relative;margin-left:45px;line-height:20px;padding:0 10px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view>.layui-code-ol>li:first-child,.layui-code-view>.layui-code-ul>li:first-child{padding-top:10px}.layui-code-view>.layui-code-ol>li:last-child,.layui-code-view>.layui-code-ul>li:last-child{padding-bottom:10px}.layui-code-view>.layui-code-ul>li{position:relative;line-height:20px;padding:0 10px;list-style-type:none;*list-style-type:none;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-dark{border:1px solid #0c0c0c;border-left-color:#3f3f3f;background-color:#0c0c0c;color:#c2be9e}.layui-code-dark>.layui-code-title{border-bottom:none}.layui-code-dark>.layui-code-ol>li,.layui-code-dark>.layui-code-ul>li{background-color:#3f3f3f;border-left:none}.layui-code-dark>.layui-code-ul>li{margin-left:6px}.layui-code-demo .layui-code{visibility:visible!important;margin:-15px;border-top:none;border-right:none;border-bottom:none}.layui-code-demo .layui-tab-content{padding:15px;border-top:none}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/laydate/default/laydate.css


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/icon-ext.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/icon.png


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/layer.css


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/loading-0.gif


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/loading-1.gif


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/modules/layer/default/loading-2.gif


+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/slider.css


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/css/vant.css


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/img/guaduandd.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/img/jietong.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/img/loading2.gif


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/img/logo.png


+ 0 - 254
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/index.html

@@ -1,254 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="UTF-8">
-		<meta http-equiv="X-UA-Compatible" content="IE=edge">
-		<meta name="viewport" content="width=device-width, initial-scale=1.0">
-		<link rel="stylesheet" type="text/css" href="./css/index.css" />
-		<title>IM通话</title>
-		<style>
-		html, body {
-		    height: 100%;
-		}
-		body {
-		    margin: 0;
-		}
-		video {
-		    width: 100%;
-		    height: 100%;
-		    position: absolute;
-		    left: 0;
-		    top: 0;
-		    z-index: -1;
-		}
-		
-		</style>
-	</head>
-	<body>
-		<video class="Bvideo" id="Big_video"  preload autoplay onclick="Bvideoselc()"></video>
-		<!-- <video class="Svideo" id="sm_video"  preload muted autoplay onclick="Svideoselc()"></video> -->
-		<!-- <audio id="my_audio" autoplay></audio> -->
-		 <div class="bottomView" style="width: 100%;">
-			 <div class="contentColumnC">
-				 <img class="guadanImg" style="margin-top: 5px;" src="./img/guaduandd.png" alt="" onclick="guaduan()"/>
-				 <div class="contentInRowC" style="width: 100%;margin-top: 10px;">
-					 <div id="markNote"></div>
-					 <img class="calling" src="./img/loading2.gif" alt="" />
-				 </div>
-			 </div>
-		 </div>
-	</body>
-	<script type="text/javascript" src="./js/lib/uniwebviewsdk.js"></script>
-	<script>
-	let localStream = null;
-	let localCall = 0;
-	let localCandidata=null;
-	let peer = null;
-	let video=null;
-	// const Big_video = document.getElementById('Big_video');
-	// const sm_video = document.getElementById('sm_video');
-	// const my_audio = document.getElementById('my_audio');
-	
-	const markNote = document.getElementById('markNote');
-	//====================================================
-	function Bvideoselc(){
-		if(localStream!=null){
-			//Big_video.srcObject =localStream;
-			Big_video.setAttribute('autoplay', true); /* THIS */
-		}
-	}
-	function Svideoselc(){
-		if(localStream!=null){
-			//sm_video.srcObject =localStream;
-			sm_video.setAttribute('autoplay', true); /* THIS */
-		}
-		
-	}
-	function guaduan(){
-		peer.close();
-		uni.postMessage({
-		    data: {
-		        data:'', // 回传
-				type:88
-		    },
-		});
-	}
-	//====================================================
-	function appAct (obj) {
-		if(obj.type==1){//主动发起im通话
-			localCall=1;
-			startWebRct(obj.type);
-			markNote.innerHTML='拨打中'
-		}
-		else if(obj.type==2){//收到推送消息
-			if(localCall==1){
-				markNote.innerHTML='接通中'
-				RCremoteData(obj.payload);
-			}
-			else{
-				RCstartWebRct(obj.payload);
-			}
-		}
-		else if(obj.type==3){//收到candidate
-			markNote.innerHTML='接通中'
-			for(var i=0;i<obj.payload.length;i++){
-				peer.addIceCandidate(obj.payload[i]);
-			}
-			if(localCall!=1){
-				uni.postMessage({
-				    data: {
-				        data:localCandidata, //应答方回应candidate
-						type:3
-				    },
-				});
-			}
-			
-		}
-	}
-	
-	async function startCapture(displayMediaOptions) {
-	    try {
-	        localStream = await navigator.mediaDevices.getUserMedia(displayMediaOptions);
-			// Big_video.srcObject =localStream;
-			// Big_video.setAttribute('autoplay', true); /* THIS */
-			
-			uni.postMessage({
-			    data: {
-			        data:'', // 回传
-					type:99
-			    },
-			});
-	    } catch(err) {
-	        console.error(err);
-	    }
-	}
-	async function startWebRct(type){
-		peer = new RTCPeerConnection(
-			{
-				iceServers:[
-					{
-						urls:'stun:stun.l.google.com:19302',
-					}
-				]
-			}
-		);
-		//添加本地音视频
-		localStream.getTracks().forEach((track) => {
-		  peer.addTrack(track, localStream)
-		});
-		//创建本地offer
-		const offer = peer.createOffer({
-			offerToReceiveAudio:1,
-			offerToReceiveVideo:1
-		});
-		//记录本地offer
-		offer.then(value => {
-			peer.setLocalDescription(value);
-			uni.postMessage({
-			    data: {
-			        data:value, // 回传并推送offer
-					type:2
-			    },
-			});
-		}).catch(error => {
-		});
-		peer.oniceconnectionstatechange = function (ev) {
-			if(peer.connectionState=="closed"){
-				markNote.innerHTML='结束通话'
-			}
-			if(peer.connectionState=="connected"){
-				markNote.innerHTML='已接通'
-			}
-			if(peer.connectionState=="connecting"){
-				markNote.innerHTML='连接中'
-			}
-			if(peer.connectionState=="disconnected"){
-				markNote.innerHTML='对方挂断'
-			}
-		};
-		localCandidata=[]
-		peer.onicecandidate = function (event) {
-		  if (event.candidate){
-			localCandidata.push(event.candidate);
-		  }
-		}
-		startCommunicate();
-	}
-	
-	async function RCremoteData(rcData){//收到remoteAnswer
-		//记录远端offer
-		await peer.setRemoteDescription(rcData)
-		
-		uni.postMessage({
-		    data: {
-		        data:localCandidata, // 发起方先发candidate
-				type:3
-		    },
-		});
-	}
-	function startCommunicate(){
-		peer.ontrack = (e) => {
-			if(e.streams[0]){
-				//var otherVideos = document.querySelector('#my_audio');
-				var otherVideos = document.querySelector('#Big_video');
-				otherVideos.srcObject = e.streams[0];
-			}
-			// sm_video.srcObject =localStream;
-			// sm_video.setAttribute('autoplay', true); /* THIS */
-		}
-	}
-	async function RCstartWebRct(payload){
-		peer = new RTCPeerConnection(
-			{
-				iceServers:[
-					{
-						urls:'stun:stun.l.google.com:19302',
-					}
-				]
-			}
-		);
-		//添加本地音视频
-		localStream.getTracks().forEach((track) => {
-		  peer.addTrack(track, localStream)
-		})
-		localCandidata=[];
-		peer.onicecandidate = function (event) {
-		  if (event.candidate){
-			//let strcandidate=JSON.stringify(event.candidate);
-			localCandidata.push(event.candidate);
-		  }
-		}
-		startCommunicate();
-		//记录远端offer
-		await peer.setRemoteDescription(payload)
-		
-		const remoteAnswer = await peer.createAnswer();
-		//记录本地offer
-		await peer.setLocalDescription(remoteAnswer);
-		//推送remoteAnswer
-		uni.postMessage({
-		    data: {
-		        data:remoteAnswer, // 回传并推送offer
-				type:2
-		    },
-		});
-		
-	}
-	function initRtc() {
-		markNote.innerHTML='IM通话'
-		setTimeout(() => {
-			startCapture({ video: true, audio: true});
-			//startCapture({audio: true});
-		}, 1000)
-		return;
-	}
-	function releaseTack(){
-		if(peer){
-			peer.close();
-		}
-	}
-	window.onload=initRtc;
-	window.onunload=releaseTack;
-	</script>
-	
-</html>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/voices/js/lib/uniwebviewsdk.js


+ 0 - 5649
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/css/mui.css

@@ -1,5649 +0,0 @@
-/*!
- * =====================================================
- * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)
- * =====================================================
- */
-
-/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
-html
-{
-    font-family: sans-serif;
-
-    -webkit-text-size-adjust: 100%;
-}
-
-body
-{
-    margin: 0;
-}
-
-body::after
-{
-    position: fixed;
-    top: -1000px;
-    left: -1000px;
-
-    content: '';
-    -webkit-animation: shadow-preload .1s;
-            animation: shadow-preload .1s;
-    -webkit-animation-delay: 3s;
-            animation-delay: 3s;
-}
-
-@-webkit-keyframes shadow-preload
-{
-    0%
-    {
-        background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
-    }
-
-    100%
-    {
-        background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
-    }
-}
-@keyframes shadow-preload
-{
-    0%
-    {
-        background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
-    }
-
-    100%
-    {
-        background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
-    }
-}
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-nav,
-section,
-summary
-{
-    display: block;
-}
-
-audio,
-canvas,
-progress,
-video
-{
-    display: inline-block;
-
-    vertical-align: baseline;
-}
-
-audio:not([controls])
-{
-    display: none;
-
-    height: 0;
-}
-
-[hidden],
-template
-{
-    display: none;
-}
-
-a
-{
-    background: transparent;
-}
-
-a:active,
-a:hover
-{
-    outline: 0;
-}
-
-abbr[title]
-{
-    border-bottom: 1px dotted;
-}
-
-b,
-strong
-{
-    font-weight: bold;
-}
-
-dfn
-{
-    font-style: italic;
-}
-
-h1
-{
-    font-size: 2em;
-
-    margin: .67em 0;
-}
-
-mark
-{
-    color: #000;
-    background: #ff0;
-}
-
-small
-{
-    font-size: 80%;
-}
-
-sub,
-sup
-{
-    font-size: 75%;
-    line-height: 0;
-
-    position: relative;
-
-    vertical-align: baseline;
-}
-
-sup
-{
-    top: -.5em;
-}
-
-sub
-{
-    bottom: -.25em;
-}
-
-img
-{
-    border: 0;
-}
-
-svg:not(:root)
-{
-    overflow: hidden;
-}
-
-figure
-{
-    margin: 1em 40px;
-}
-
-hr
-{
-    box-sizing: content-box;
-    height: 0;
-}
-
-pre
-{
-    overflow: auto;
-}
-
-code,
-kbd,
-pre,
-samp
-{
-    font-family: monospace, monospace;
-    font-size: 1em;
-}
-
-button,
-input,
-optgroup,
-select,
-textarea
-{
-    font: inherit;
-
-    margin: 0;
-
-    color: inherit;
-}
-
-button
-{
-    overflow: visible;
-}
-
-button,
-select
-{
-    text-transform: none;
-}
-
-button,
-html input[type='button'],
-input[type='reset'],
-input[type='submit']
-{
-    cursor: pointer;
-
-    -webkit-appearance: button;
-}
-
-button[disabled],
-html input[disabled]
-{
-    cursor: default;
-}
-
-input
-{
-    line-height: normal;
-}
-
-input[type='checkbox'],
-input[type='radio']
-{
-    box-sizing: border-box;
-    padding: 0;
-}
-
-input[type='number']::-webkit-inner-spin-button,
-input[type='number']::-webkit-outer-spin-button
-{
-    height: auto;
-}
-
-input[type='search']
-{
-    -webkit-box-sizing: content-box;
-            box-sizing: content-box;
-
-    -webkit-appearance: textfield;
-}
-
-input[type='search']::-webkit-search-cancel-button,
-input[type='search']::-webkit-search-decoration
-{
-    -webkit-appearance: none;
-}
-
-fieldset
-{
-    margin: 0 2px;
-    padding: .35em .625em .75em;
-
-    border: 1px solid #c0c0c0;
-}
-
-legend
-{
-    padding: 0;
-
-    border: 0;
-}
-
-textarea
-{
-    overflow: auto;
-}
-
-optgroup
-{
-    font-weight: bold;
-}
-
-table
-{
-    border-spacing: 0;
-    border-collapse: collapse;
-}
-
-td,
-th
-{
-    padding: 0;
-}
-
-*
-{
-    -webkit-box-sizing: border-box;
-            box-sizing: border-box;
-
-    -webkit-user-select: none;
-
-    outline: none;
-
-    -webkit-tap-highlight-color: transparent;
-    -webkit-tap-highlight-color: transparent;
-}
-
-body
-{
-    font-family: 'Helvetica Neue', Helvetica, sans-serif;
-    font-size: 17px;
-    line-height: 21px;
-
-    color: #000;
-    background-color: #efeff4;
-
-    -webkit-overflow-scrolling: touch;
-}
-
-a
-{
-    text-decoration: none;
-
-    color: #007aff;
-}
-a:active
-{
-    color: #0062cc;
-}
-
-.mui-content
-{
-    background-color: #efeff4;
-
-    -webkit-overflow-scrolling: touch;
-}
-
-.mui-bar-nav ~ .mui-content
-{
-    padding-top: 44px;
-}
-.mui-bar-nav ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
-{
-    top: 44px;
-}
-
-.mui-bar-header-secondary ~ .mui-content
-{
-    padding-top: 88px;
-}
-.mui-bar-header-secondary ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
-{
-    top: 88px;
-}
-
-.mui-bar-footer ~ .mui-content
-{
-    padding-bottom: 44px;
-}
-.mui-bar-footer ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
-{
-    bottom: 44px;
-}
-
-.mui-bar-footer-secondary ~ .mui-content
-{
-    padding-bottom: 88px;
-}
-.mui-bar-footer-secondary ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
-{
-    bottom: 88px;
-}
-
-.mui-bar-tab ~ .mui-content
-{
-    padding-bottom: 50px;
-}
-.mui-bar-tab ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
-{
-    bottom: 50px;
-}
-
-.mui-bar-footer-secondary-tab ~ .mui-content
-{
-    padding-bottom: 94px;
-}
-.mui-bar-footer-secondary-tab ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
-{
-    bottom: 94px;
-}
-
-.mui-content-padded
-{
-    margin: 10px;
-}
-
-.mui-inline
-{
-    display: inline-block;
-
-    vertical-align: top;
-}
-
-.mui-block
-{
-    display: block !important;
-}
-
-.mui-visibility
-{
-    visibility: visible !important;
-}
-
-.mui-hidden
-{
-    display: none !important;
-}
-
-.mui-ellipsis
-{
-    overflow: hidden;
-
-    white-space: nowrap;
-    text-overflow: ellipsis;
-}
-
-.mui-ellipsis-2
-{
-    display: -webkit-box;
-    overflow: hidden;
-
-    white-space: normal !important;
-    text-overflow: ellipsis;
-    word-wrap: break-word;
-
-    -webkit-line-clamp: 2;
-    -webkit-box-orient: vertical;
-}
-
-.mui-table
-{
-    display: table;
-
-    width: 100%;
-
-    table-layout: fixed;
-}
-
-.mui-table-cell
-{
-    position: relative;
-
-    display: table-cell;
-}
-
-.mui-text-left
-{
-    text-align: left !important;
-}
-
-.mui-text-center
-{
-    text-align: center !important;
-}
-
-.mui-text-justify
-{
-    text-align: justify !important;
-}
-
-.mui-text-right
-{
-    text-align: right !important;
-}
-
-.mui-pull-left
-{
-    float: left;
-}
-
-.mui-pull-right
-{
-    float: right;
-}
-
-.mui-list-unstyled
-{
-    padding-left: 0;
-
-    list-style: none;
-}
-
-.mui-list-inline
-{
-    margin-left: -5px;
-    padding-left: 0;
-
-    list-style: none;
-}
-
-.mui-list-inline > li
-{
-    display: inline-block;
-
-    padding-right: 5px;
-    padding-left: 5px;
-}
-
-.mui-clearfix:before, .mui-clearfix:after
-{
-    display: table;
-
-    content: ' ';
-}
-.mui-clearfix:after
-{
-    clear: both;
-}
-
-.mui-bg-primary
-{
-    background-color: #007aff;
-}
-
-.mui-bg-positive
-{
-    background-color: #4cd964;
-}
-
-.mui-bg-negative
-{
-    background-color: #dd524d;
-}
-
-.mui-error
-{
-    margin: 88px 35px;
-    padding: 10px;
-
-    border-radius: 6px;
-    background-color: #bbb;
-}
-
-.mui-subtitle
-{
-    font-size: 15px;
-}
-
-h1, h2, h3, h4, h5, h6
-{
-    line-height: 1;
-
-    margin-top: 5px;
-    margin-bottom: 5px;
-}
-
-h1, .mui-h1
-{
-    font-size: 36px;
-}
-
-h2, .mui-h2
-{
-    font-size: 30px;
-}
-
-h3, .mui-h3
-{
-    font-size: 24px;
-}
-
-h4, .mui-h4
-{
-    font-size: 18px;
-}
-
-h5, .mui-h5
-{
-    font-size: 14px;
-    font-weight: normal;
-
-    color: #8f8f94;
-}
-
-h6, .mui-h6
-{
-    font-size: 12px;
-    font-weight: normal;
-
-    color: #8f8f94;
-}
-
-p
-{
-    font-size: 14px;
-
-    margin-top: 0;
-    margin-bottom: 10px;
-
-    color: #8f8f94;
-}
-
-.mui-row:before, .mui-row:after
-{
-    display: table;
-
-    content: ' ';
-}
-.mui-row:after
-{
-    clear: both;
-}
-
-.mui-col-xs-1, .mui-col-sm-1, .mui-col-xs-2, .mui-col-sm-2, .mui-col-xs-3, .mui-col-sm-3, .mui-col-xs-4, .mui-col-sm-4, .mui-col-xs-5, .mui-col-sm-5, .mui-col-xs-6, .mui-col-sm-6, .mui-col-xs-7, .mui-col-sm-7, .mui-col-xs-8, .mui-col-sm-8, .mui-col-xs-9, .mui-col-sm-9, .mui-col-xs-10, .mui-col-sm-10, .mui-col-xs-11, .mui-col-sm-11, .mui-col-xs-12, .mui-col-sm-12
-{
-    position: relative;
-
-    min-height: 1px;
-}
-
-.mui-row > [class*='mui-col-']
-{
-    float: left;
-}
-
-.mui-col-xs-12
-{
-    width: 100%;
-}
-
-.mui-col-xs-11
-{
-    width: 91.66666667%;
-}
-
-.mui-col-xs-10
-{
-    width: 83.33333333%;
-}
-
-.mui-col-xs-9
-{
-    width: 75%;
-}
-
-.mui-col-xs-8
-{
-    width: 66.66666667%;
-}
-
-.mui-col-xs-7
-{
-    width: 58.33333333%;
-}
-
-.mui-col-xs-6
-{
-    width: 50%;
-}
-
-.mui-col-xs-5
-{
-    width: 41.66666667%;
-}
-
-.mui-col-xs-4
-{
-    width: 33.33333333%;
-}
-
-.mui-col-xs-3
-{
-    width: 25%;
-}
-
-.mui-col-xs-2
-{
-    width: 16.66666667%;
-}
-
-.mui-col-xs-1
-{
-    width: 8.33333333%;
-}
-
-@media (min-width: 400px)
-{
-    .mui-col-sm-12
-    {
-        width: 100%;
-    }
-
-    .mui-col-sm-11
-    {
-        width: 91.66666667%;
-    }
-
-    .mui-col-sm-10
-    {
-        width: 83.33333333%;
-    }
-
-    .mui-col-sm-9
-    {
-        width: 75%;
-    }
-
-    .mui-col-sm-8
-    {
-        width: 66.66666667%;
-    }
-
-    .mui-col-sm-7
-    {
-        width: 58.33333333%;
-    }
-
-    .mui-col-sm-6
-    {
-        width: 50%;
-    }
-
-    .mui-col-sm-5
-    {
-        width: 41.66666667%;
-    }
-
-    .mui-col-sm-4
-    {
-        width: 33.33333333%;
-    }
-
-    .mui-col-sm-3
-    {
-        width: 25%;
-    }
-
-    .mui-col-sm-2
-    {
-        width: 16.66666667%;
-    }
-
-    .mui-col-sm-1
-    {
-        width: 8.33333333%;
-    }
-}
-.mui-scroll-wrapper
-{
-    position: absolute;
-    z-index: 2;
-    top: 0;
-    bottom: 0;
-    left: 0;
-
-    overflow: hidden;
-
-    width: 100%;
-}
-
-.mui-scroll
-{
-    position: absolute;
-    z-index: 1;
-
-    width: 100%;
-}
-
-.mui-scrollbar
-{
-    position: absolute;
-    z-index: 9998;
-
-    overflow: hidden;
-
-    -webkit-transition: 500ms;
-            transition: 500ms;
-    transform: translateZ(0px);
-    pointer-events: none;
-
-    opacity: 0;
-}
-
-.mui-scrollbar-vertical
-{
-    top: 0;
-    right: 1px;
-    bottom: 2px;
-
-    width: 4px;
-}
-.mui-scrollbar-vertical .mui-scrollbar-indicator
-{
-    width: 100%;
-}
-
-.mui-scrollbar-horizontal
-{
-    right: 2px;
-    bottom: 0;
-    left: 2px;
-
-    height: 4px;
-}
-.mui-scrollbar-horizontal .mui-scrollbar-indicator
-{
-    height: 100%;
-}
-
-.mui-scrollbar-indicator
-{
-    position: absolute;
-
-    display: block;
-
-    box-sizing: border-box;
-
-    -webkit-transition: .01s cubic-bezier(.1, .57, .1, 1);
-            transition: .01s cubic-bezier(.1, .57, .1, 1);
-    transform: translate(0px, 0px) translateZ(0px);
-
-    border: 1px solid rgba(255, 255, 255, .80196);
-    border-radius: 2px;
-    background: rgba(0, 0, 0, .39804);
-}
-
-.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper, .mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper
-{
-    position: absolute;
-    top: 0;
-    bottom: 0;
-    left: 0;
-
-    overflow: hidden;
-
-    width: 100%;
-}
-.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll, .mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll
-{
-    position: absolute;
-
-    width: 100%;
-}
-.mui-plus-pullrefresh .mui-scroll-wrapper, .mui-plus-pullrefresh .mui-slider-group
-{
-    position: static;
-    top: auto;
-    bottom: auto;
-    left: auto;
-
-    overflow: auto;
-
-    width: auto;
-}
-.mui-plus-pullrefresh .mui-slider-group
-{
-    overflow: visible;
-}
-.mui-plus-pullrefresh .mui-scroll
-{
-    position: static;
-
-    width: auto;
-}
-
-.mui-off-canvas-wrap .mui-bar
-{
-    position: absolute !important;
-
-    -webkit-transform: translate3d(0, 0, 0);
-            transform: translate3d(0, 0, 0);
-
-    -webkit-box-shadow: none;
-            box-shadow: none;
-}
-
-.mui-off-canvas-wrap
-{
-    position: relative;
-    z-index: 1;
-
-    overflow: hidden;
-
-    width: 100%;
-    height: 100%;
-}
-.mui-off-canvas-wrap .mui-inner-wrap
-{
-    position: relative;
-    z-index: 1;
-
-    width: 100%;
-    height: 100%;
-}
-.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning
-{
-    -webkit-transition: -webkit-transform 350ms;
-            transition:         transform 350ms cubic-bezier(.165, .84, .44, 1);
-}
-.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left
-{
-    -webkit-transform: translate3d(-100%, 0, 0);
-            transform: translate3d(-100%, 0, 0);
-}
-.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right
-{
-    -webkit-transform: translate3d(100%, 0, 0);
-            transform: translate3d(100%, 0, 0);
-}
-.mui-off-canvas-wrap.mui-active
-{
-    overflow: hidden;
-
-    height: 100%;
-}
-.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop
-{
-    position: absolute;
-    z-index: 998;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
-
-    display: block;
-
-    transition: background 350ms cubic-bezier(.165, .84, .44, 1);
-
-    background: rgba(0, 0, 0, .4);
-    box-shadow: -4px 0 4px rgba(0, 0, 0, .5), 4px 0 4px rgba(0, 0, 0, .5);
-
-    -webkit-tap-highlight-color: transparent;
-}
-.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right
-{
-    z-index: 10000 !important;
-
-    -webkit-transform: translate3d(100%, 0px, 0px);
-}
-.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left
-{
-    z-index: 10000 !important;
-
-    -webkit-transform: translate3d(-100%, 0px, 0px);
-}
-
-.mui-off-canvas-left, .mui-off-canvas-right
-{
-    position: absolute;
-    z-index: -1;
-    top: 0;
-    bottom: 0;
-
-    visibility: hidden;
-
-    box-sizing: content-box;
-    width: 70%;
-    min-height: 100%;
-
-    background: #333;
-
-    -webkit-overflow-scrolling: touch;
-}
-.mui-off-canvas-left.mui-transitioning, .mui-off-canvas-right.mui-transitioning
-{
-    -webkit-transition: -webkit-transform 350ms cubic-bezier(.165, .84, .44, 1);
-            transition:         transform 350ms cubic-bezier(.165, .84, .44, 1);
-}
-
-.mui-off-canvas-left
-{
-    left: 0;
-}
-
-.mui-off-canvas-right
-{
-    right: 0;
-}
-
-.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable
-{
-    background-color: #333;
-}
-.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right
-{
-    width: 80%;
-
-    -webkit-transform: scale(.8);
-            transform: scale(.8);
-
-    opacity: .1;
-}
-.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left.mui-transitioning, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right.mui-transitioning
-{
-    -webkit-transition: -webkit-transform 350ms cubic-bezier(.165, .84, .44, 1), opacity 350ms cubic-bezier(.165, .84, .44, 1);
-            transition:         transform 350ms cubic-bezier(.165, .84, .44, 1), opacity 350ms cubic-bezier(.165, .84, .44, 1);
-}
-.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left
-{
-    -webkit-transform-origin: -100%;
-            transform-origin: -100%;
-}
-.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right
-{
-    -webkit-transform-origin: 200%;
-            transform-origin: 200%;
-}
-.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-inner-wrap
-{
-    -webkit-transform: scale(.8);
-            transform: scale(.8);
-}
-.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-off-canvas-left, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-off-canvas-right
-{
-    -webkit-transform: scale(1);
-            transform: scale(1);
-
-    opacity: 1;
-}
-
-.mui-loading .mui-spinner
-{
-    display: block;
-
-    margin: 0 auto;
-}
-
-.mui-spinner
-{
-    display: inline-block;
-
-    width: 24px;
-    height: 24px;
-
-    -webkit-transform-origin: 50%;
-            transform-origin: 50%;
-    -webkit-animation: spinner-spin 1s step-end infinite;
-            animation: spinner-spin 1s step-end infinite;
-}
-
-.mui-spinner:after
-{
-    display: block;
-
-    width: 100%;
-    height: 100%;
-
-    content: '';
-
-    background-image: url('data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%236c6c6c\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>');
-    background-repeat: no-repeat;
-    background-position: 50%;
-    background-size: 100%;
-}
-
-.mui-spinner-white:after
-{
-    background-image: url('data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%23fff\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>');
-}
-
-@-webkit-keyframes spinner-spin
-{
-    0%
-    {
-        -webkit-transform: rotate(0deg);
-    }
-
-    8.33333333%
-    {
-        -webkit-transform: rotate(30deg);
-    }
-
-    16.66666667%
-    {
-        -webkit-transform: rotate(60deg);
-    }
-
-    25%
-    {
-        -webkit-transform: rotate(90deg);
-    }
-
-    33.33333333%
-    {
-        -webkit-transform: rotate(120deg);
-    }
-
-    41.66666667%
-    {
-        -webkit-transform: rotate(150deg);
-    }
-
-    50%
-    {
-        -webkit-transform: rotate(180deg);
-    }
-
-    58.33333333%
-    {
-        -webkit-transform: rotate(210deg);
-    }
-
-    66.66666667%
-    {
-        -webkit-transform: rotate(240deg);
-    }
-
-    75%
-    {
-        -webkit-transform: rotate(270deg);
-    }
-
-    83.33333333%
-    {
-        -webkit-transform: rotate(300deg);
-    }
-
-    91.66666667%
-    {
-        -webkit-transform: rotate(330deg);
-    }
-
-    100%
-    {
-        -webkit-transform: rotate(360deg);
-    }
-}
-@keyframes spinner-spin
-{
-    0%
-    {
-        transform: rotate(0deg);
-    }
-
-    8.33333333%
-    {
-        transform: rotate(30deg);
-    }
-
-    16.66666667%
-    {
-        transform: rotate(60deg);
-    }
-
-    25%
-    {
-        transform: rotate(90deg);
-    }
-
-    33.33333333%
-    {
-        transform: rotate(120deg);
-    }
-
-    41.66666667%
-    {
-        transform: rotate(150deg);
-    }
-
-    50%
-    {
-        transform: rotate(180deg);
-    }
-
-    58.33333333%
-    {
-        transform: rotate(210deg);
-    }
-
-    66.66666667%
-    {
-        transform: rotate(240deg);
-    }
-
-    75%
-    {
-        transform: rotate(270deg);
-    }
-
-    83.33333333%
-    {
-        transform: rotate(300deg);
-    }
-
-    91.66666667%
-    {
-        transform: rotate(330deg);
-    }
-
-    100%
-    {
-        transform: rotate(360deg);
-    }
-}
-input[type='button'],
-input[type='submit'],
-input[type='reset'],
-button,
-.mui-btn
-{
-    font-size: 14px;
-    font-weight: 400;
-    line-height: 1.42;
-
-    position: relative;
-
-    display: inline-block;
-
-    margin-bottom: 0;
-    padding: 6px 12px;
-
-    cursor: pointer;
-    -webkit-transition: all;
-            transition: all;
-    -webkit-transition-timing-function: linear;
-            transition-timing-function: linear;
-    -webkit-transition-duration: .2s;
-            transition-duration: .2s;
-    text-align: center;
-    vertical-align: top;
-    white-space: nowrap;
-
-    color: #333;
-    border: 1px solid #ccc;
-    border-radius: 3px;
-    border-top-left-radius: 3px;
-    border-top-right-radius: 3px;
-    border-bottom-right-radius: 3px;
-    border-bottom-left-radius: 3px;
-    background-color: #fff;
-    background-clip: padding-box;
-}
-input[type='button']:enabled:active, input[type='button'].mui-active:enabled,
-input[type='submit']:enabled:active,
-input[type='submit'].mui-active:enabled,
-input[type='reset']:enabled:active,
-input[type='reset'].mui-active:enabled,
-button:enabled:active,
-button.mui-active:enabled,
-.mui-btn:enabled:active,
-.mui-btn.mui-active:enabled
-{
-    color: #fff;
-    background-color: #929292;
-}
-input[type='button']:disabled, input[type='button'].mui-disabled,
-input[type='submit']:disabled,
-input[type='submit'].mui-disabled,
-input[type='reset']:disabled,
-input[type='reset'].mui-disabled,
-button:disabled,
-button.mui-disabled,
-.mui-btn:disabled,
-.mui-btn.mui-disabled
-{
-    opacity: .6;
-}
-
-input[type='submit'],
-.mui-btn-primary,
-.mui-btn-blue
-{
-    color: #fff;
-    border: 1px solid #007aff;
-    background-color: #007aff;
-}
-input[type='submit']:enabled:active, input[type='submit'].mui-active:enabled,
-.mui-btn-primary:enabled:active,
-.mui-btn-primary.mui-active:enabled,
-.mui-btn-blue:enabled:active,
-.mui-btn-blue.mui-active:enabled
-{
-    color: #fff;
-    border: 1px solid #0062cc;
-    background-color: #0062cc;
-}
-
-.mui-btn-positive,
-.mui-btn-success,
-.mui-btn-green
-{
-    color: #fff;
-    border: 1px solid #4cd964;
-    background-color: #4cd964;
-}
-.mui-btn-positive:enabled:active, .mui-btn-positive.mui-active:enabled,
-.mui-btn-success:enabled:active,
-.mui-btn-success.mui-active:enabled,
-.mui-btn-green:enabled:active,
-.mui-btn-green.mui-active:enabled
-{
-    color: #fff;
-    border: 1px solid #2ac845;
-    background-color: #2ac845;
-}
-
-.mui-btn-warning,
-.mui-btn-yellow
-{
-    color: #fff;
-    border: 1px solid #f0ad4e;
-    background-color: #f0ad4e;
-}
-.mui-btn-warning:enabled:active, .mui-btn-warning.mui-active:enabled,
-.mui-btn-yellow:enabled:active,
-.mui-btn-yellow.mui-active:enabled
-{
-    color: #fff;
-    border: 1px solid #ec971f;
-    background-color: #ec971f;
-}
-
-.mui-btn-negative,
-.mui-btn-danger,
-.mui-btn-red
-{
-    color: #fff;
-    border: 1px solid #dd524d;
-    background-color: #dd524d;
-}
-.mui-btn-negative:enabled:active, .mui-btn-negative.mui-active:enabled,
-.mui-btn-danger:enabled:active,
-.mui-btn-danger.mui-active:enabled,
-.mui-btn-red:enabled:active,
-.mui-btn-red.mui-active:enabled
-{
-    color: #fff;
-    border: 1px solid #cf2d28;
-    background-color: #cf2d28;
-}
-
-.mui-btn-royal,
-.mui-btn-purple
-{
-    color: #fff;
-    border: 1px solid #8a6de9;
-    background-color: #8a6de9;
-}
-.mui-btn-royal:enabled:active, .mui-btn-royal.mui-active:enabled,
-.mui-btn-purple:enabled:active,
-.mui-btn-purple.mui-active:enabled
-{
-    color: #fff;
-    border: 1px solid #6641e2;
-    background-color: #6641e2;
-}
-
-.mui-btn-grey
-{
-    color: #fff;
-    border: 1px solid #c7c7cc;
-    background-color: #c7c7cc;
-}
-.mui-btn-grey:enabled:active, .mui-btn-grey.mui-active:enabled
-{
-    color: #fff;
-    border: 1px solid #acacb4;
-    background-color: #acacb4;
-}
-
-.mui-btn-outlined
-{
-    background-color: transparent;
-}
-.mui-btn-outlined.mui-btn-primary, .mui-btn-outlined.mui-btn-blue
-{
-    color: #007aff;
-}
-.mui-btn-outlined.mui-btn-positive, .mui-btn-outlined.mui-btn-success, .mui-btn-outlined.mui-btn-green
-{
-    color: #4cd964;
-}
-.mui-btn-outlined.mui-btn-warning, .mui-btn-outlined.mui-btn-yellow
-{
-    color: #f0ad4e;
-}
-.mui-btn-outlined.mui-btn-negative, .mui-btn-outlined.mui-btn-danger, .mui-btn-outlined.mui-btn-red
-{
-    color: #dd524d;
-}
-.mui-btn-outlined.mui-btn-royal, .mui-btn-outlined.mui-btn-purple
-{
-    color: #8a6de9;
-}
-.mui-btn-outlined.mui-btn-primary:enabled:active, .mui-btn-outlined.mui-btn-blue:enabled:active, .mui-btn-outlined.mui-btn-positive:enabled:active, .mui-btn-outlined.mui-btn-success:enabled:active, .mui-btn-outlined.mui-btn-green:enabled:active, .mui-btn-outlined.mui-btn-warning:enabled:active, .mui-btn-outlined.mui-btn-yellow:enabled:active, .mui-btn-outlined.mui-btn-negative:enabled:active, .mui-btn-outlined.mui-btn-danger:enabled:active, .mui-btn-outlined.mui-btn-red:enabled:active, .mui-btn-outlined.mui-btn-royal:enabled:active, .mui-btn-outlined.mui-btn-purple:enabled:active
-{
-    color: #fff;
-}
-
-.mui-btn-link
-{
-    padding-top: 6px;
-    padding-bottom: 6px;
-
-    color: #007aff;
-    border: 0;
-    background-color: transparent;
-}
-.mui-btn-link:enabled:active, .mui-btn-link.mui-active:enabled
-{
-    color: #0062cc;
-    background-color: transparent;
-}
-
-.mui-btn-block
-{
-    font-size: 18px;
-
-    display: block;
-
-    width: 100%;
-    margin-bottom: 10px;
-    padding: 15px 0;
-}
-
-.mui-btn .mui-badge
-{
-    font-size: 14px;
-
-    margin: -2px -4px -2px 4px;
-
-    background-color: rgba(0, 0, 0, .15);
-}
-
-.mui-btn .mui-badge-inverted,
-.mui-btn:enabled:active .mui-badge-inverted
-{
-    background-color: transparent;
-}
-
-.mui-btn-primary:enabled:active .mui-badge-inverted,
-.mui-btn-positive:enabled:active .mui-badge-inverted,
-.mui-btn-negative:enabled:active .mui-badge-inverted
-{
-    color: #fff;
-}
-
-.mui-btn-block .mui-badge
-{
-    position: absolute;
-    right: 0;
-
-    margin-right: 10px;
-}
-
-.mui-btn .mui-icon
-{
-    font-size: inherit;
-}
-
-.mui-btn.mui-icon
-{
-    font-size: 14px;
-    line-height: 1.42;
-}
-
-.mui-btn.mui-fab
-{
-    width: 56px;
-    height: 56px;
-    padding: 16px;
-
-    border-radius: 50%;
-    outline: none;
-}
-.mui-btn.mui-fab.mui-btn-mini
-{
-    width: 40px;
-    height: 40px;
-    padding: 8px;
-}
-.mui-btn.mui-fab .mui-icon
-{
-    font-size: 24px;
-    line-height: 24px;
-
-    width: 24px;
-    height: 24px;
-}
-
-.mui-btn .mui-spinner
-{
-    width: 14px;
-    height: 14px;
-
-    vertical-align: text-bottom;
-}
-
-.mui-btn-block .mui-spinner
-{
-    width: 22px;
-    height: 22px;
-}
-
-.mui-bar
-{
-    position: fixed;
-    z-index: 10;
-    right: 0;
-    left: 0;
-
-    height: 44px;
-    padding-right: 10px;
-    padding-left: 10px;
-
-    border-bottom: 0;
-    background-color: #f7f7f7;
-    -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, .85);
-            box-shadow: 0 0 1px rgba(0, 0, 0, .85);
-
-    -webkit-backface-visibility: hidden;
-            backface-visibility: hidden;
-}
-
-.mui-bar .mui-title
-{
-    right: 40px;
-    left: 40px;
-
-    display: inline-block;
-    overflow: hidden;
-
-    width: auto;
-    margin: 0;
-
-    text-overflow: ellipsis;
-}
-.mui-bar .mui-backdrop
-{
-    background: none;
-}
-
-.mui-bar-header-secondary
-{
-    top: 44px;
-}
-
-.mui-bar-footer
-{
-    bottom: 0;
-}
-
-.mui-bar-footer-secondary
-{
-    bottom: 44px;
-}
-
-.mui-bar-footer-secondary-tab
-{
-    bottom: 50px;
-}
-
-.mui-bar-footer,
-.mui-bar-footer-secondary,
-.mui-bar-footer-secondary-tab
-{
-    border-top: 0;
-}
-
-.mui-bar-transparent
-{
-    top: 0;
-
-    background-color: rgba(247, 247, 247, 0);
-    -webkit-box-shadow: none;
-            box-shadow: none;
-}
-
-.mui-bar-nav
-{
-    top: 0;
-
-    -webkit-box-shadow: 0 1px 6px #ccc;
-            box-shadow: 0 1px 6px #ccc;
-}
-.mui-bar-nav ~ .mui-content .mui-anchor
-{
-    display: block;
-    visibility: hidden;
-
-    height: 45px;
-    margin-top: -45px;
-}
-.mui-bar-nav.mui-bar .mui-icon
-{
-    margin-right: -10px;
-    margin-left: -10px;
-    padding-right: 10px;
-    padding-left: 10px;
-}
-
-.mui-title
-{
-    font-size: 17px;
-    font-weight: 500;
-    line-height: 44px;
-
-    position: absolute;
-
-    display: block;
-
-    width: 100%;
-    margin: 0 -10px;
-    padding: 0;
-
-    text-align: center;
-    white-space: nowrap;
-
-    color: #000;
-}
-
-.mui-title a
-{
-    color: inherit;
-}
-
-.mui-bar-tab
-{
-    bottom: 0;
-
-    display: table;
-
-    width: 100%;
-    height: 50px;
-    padding: 0;
-
-    table-layout: fixed;
-
-    border-top: 0;
-    border-bottom: 0;
-
-    -webkit-touch-callout: none;
-}
-.mui-bar-tab .mui-tab-item
-{
-    display: table-cell;
-    overflow: hidden;
-
-    width: 1%;
-    height: 50px;
-
-    text-align: center;
-    vertical-align: middle;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-
-    color: #929292;
-}
-.mui-bar-tab .mui-tab-item.mui-active
-{
-    color: #007aff;
-}
-.mui-bar-tab .mui-tab-item .mui-icon
-{
-    top: 3px;
-
-    width: 24px;
-    height: 24px;
-    padding-top: 0;
-    padding-bottom: 0;
-}
-.mui-bar-tab .mui-tab-item .mui-icon ~ .mui-tab-label
-{
-    font-size: 11px;
-
-    display: block;
-    overflow: hidden;
-
-    text-overflow: ellipsis;
-}
-.mui-bar-tab .mui-tab-item .mui-icon:active
-{
-    background: none;
-}
-
-.mui-focusin > .mui-bar-nav,
-.mui-focusin > .mui-bar-header-secondary
-{
-    position: absolute;
-}
-
-.mui-focusin > .mui-bar ~ .mui-content
-{
-    padding-bottom: 0;
-}
-
-.mui-bar .mui-btn
-{
-    font-weight: 400;
-
-    position: relative;
-    z-index: 20;
-    top: 7px;
-
-    margin-top: 0;
-    padding: 6px 12px 7px;
-}
-.mui-bar .mui-btn.mui-pull-right
-{
-    margin-left: 10px;
-}
-.mui-bar .mui-btn.mui-pull-left
-{
-    margin-right: 10px;
-}
-
-.mui-bar .mui-btn-link
-{
-    font-size: 16px;
-    line-height: 44px;
-
-    top: 0;
-
-    padding: 0;
-
-    color: #007aff;
-    border: 0;
-}
-.mui-bar .mui-btn-link:active, .mui-bar .mui-btn-link.mui-active
-{
-    color: #0062cc;
-}
-
-.mui-bar .mui-btn-block
-{
-    font-size: 16px;
-
-    top: 6px;
-
-    margin-bottom: 0;
-    padding: 5px 0;
-}
-
-.mui-bar .mui-btn-nav.mui-pull-left
-{
-    margin-left: -5px;
-}
-.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav
-{
-    margin-right: -3px;
-}
-.mui-bar .mui-btn-nav.mui-pull-right
-{
-    margin-right: -5px;
-}
-.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav
-{
-    margin-left: -3px;
-}
-.mui-bar .mui-btn-nav:active
-{
-    opacity: .3;
-}
-
-.mui-bar .mui-icon
-{
-    font-size: 24px;
-
-    position: relative;
-    z-index: 20;
-
-    padding-top: 10px;
-    padding-bottom: 10px;
-}
-.mui-bar .mui-icon:active
-{
-    opacity: .3;
-}
-.mui-bar .mui-btn .mui-icon
-{
-    top: 1px;
-
-    margin: 0;
-    padding: 0;
-}
-.mui-bar .mui-title .mui-icon
-{
-    margin: 0;
-    padding: 0;
-}
-.mui-bar .mui-title .mui-icon.mui-icon-caret
-{
-    top: 4px;
-
-    margin-left: -5px;
-}
-
-.mui-bar input[type='search']
-{
-    height: 29px;
-    margin: 6px 0;
-}
-
-.mui-bar .mui-input-row .mui-btn
-{
-    padding: 12px 10px;
-}
-
-.mui-bar .mui-search:before
-{
-    margin-top: -10px;
-}
-
-.mui-bar .mui-input-row .mui-input-clear ~ .mui-icon-clear,
-.mui-bar .mui-input-row .mui-input-speech ~ .mui-icon-speech
-{
-    top: 0;
-    right: 12px;
-}
-
-.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear ~ .mui-icon-clear,
-.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech ~ .mui-icon-speech
-{
-    top: 0;
-    right: 0;
-}
-
-.mui-bar .mui-segmented-control
-{
-    top: 7px;
-
-    width: auto;
-    margin: 0 auto;
-}
-
-.mui-bar.mui-bar-header-secondary .mui-segmented-control
-{
-    top: 0;
-}
-
-.mui-badge
-{
-    font-size: 12px;
-    line-height: 1;
-
-    display: inline-block;
-
-    padding: 3px 6px;
-
-    color: #333;
-    border-radius: 100px;
-    background-color: rgba(0, 0, 0, .15);
-}
-.mui-badge.mui-badge-inverted
-{
-    padding: 0 5px 0 0;
-
-    color: #929292;
-    background-color: transparent;
-}
-
-.mui-badge-primary, .mui-badge-blue
-{
-    color: #fff;
-    background-color: #007aff;
-}
-.mui-badge-primary.mui-badge-inverted, .mui-badge-blue.mui-badge-inverted
-{
-    color: #007aff;
-    background-color: transparent;
-}
-
-.mui-badge-success, .mui-badge-green
-{
-    color: #fff;
-    background-color: #4cd964;
-}
-.mui-badge-success.mui-badge-inverted, .mui-badge-green.mui-badge-inverted
-{
-    color: #4cd964;
-    background-color: transparent;
-}
-
-.mui-badge-warning, .mui-badge-yellow
-{
-    color: #fff;
-    background-color: #f0ad4e;
-}
-.mui-badge-warning.mui-badge-inverted, .mui-badge-yellow.mui-badge-inverted
-{
-    color: #f0ad4e;
-    background-color: transparent;
-}
-
-.mui-badge-danger, .mui-badge-red
-{
-    color: #fff;
-    background-color: #dd524d;
-}
-.mui-badge-danger.mui-badge-inverted, .mui-badge-red.mui-badge-inverted
-{
-    color: #dd524d;
-    background-color: transparent;
-}
-
-.mui-badge-royal, .mui-badge-purple
-{
-    color: #fff;
-    background-color: #8a6de9;
-}
-.mui-badge-royal.mui-badge-inverted, .mui-badge-purple.mui-badge-inverted
-{
-    color: #8a6de9;
-    background-color: transparent;
-}
-
-.mui-icon .mui-badge
-{
-    font-size: 10px;
-    line-height: 1.4;
-
-    position: absolute;
-    top: -2px;
-    left: 100%;
-
-    margin-left: -10px;
-    padding: 1px 5px;
-
-    color: white;
-    background: red;
-}
-
-.mui-card
-{
-    font-size: 14px;
-
-    position: relative;
-
-    overflow: hidden;
-
-    margin: 10px;
-
-    border-radius: 2px;
-    background-color: white;
-    background-clip: padding-box;
-    box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
-}
-
-.mui-content > .mui-card:first-child
-{
-    margin-top: 15px;
-}
-
-.mui-card .mui-input-group:before, .mui-card .mui-input-group:after
-{
-    height: 0;
-}
-.mui-card .mui-input-group .mui-input-row:last-child:before, .mui-card .mui-input-group .mui-input-row:last-child:after
-{
-    height: 0;
-}
-
-.mui-card .mui-table-view
-{
-    margin-bottom: 0;
-
-    border-top: 0;
-    border-bottom: 0;
-    border-radius: 6px;
-}
-.mui-card .mui-table-view .mui-table-view-divider:first-child, .mui-card .mui-table-view .mui-table-view-cell:first-child
-{
-    top: 0;
-
-    border-top-left-radius: 6px;
-    border-top-right-radius: 6px;
-}
-.mui-card .mui-table-view .mui-table-view-divider:last-child, .mui-card .mui-table-view .mui-table-view-cell:last-child
-{
-    border-bottom-right-radius: 6px;
-    border-bottom-left-radius: 6px;
-}
-.mui-card .mui-table-view:before, .mui-card .mui-table-view:after
-{
-    height: 0;
-}
-
-.mui-card > .mui-table-view > .mui-table-view-cell:last-child:before, .mui-card > .mui-table-view > .mui-table-view-cell:last-child:after
-{
-    height: 0;
-}
-
-.mui-card-header,
-.mui-card-footer
-{
-    position: relative;
-
-    display: -webkit-box;
-    display: -webkit-flex;
-    display:         flex;
-
-    min-height: 44px;
-    padding: 10px 15px;
-
-    -webkit-box-pack: justify;
-    -webkit-justify-content: space-between;
-            justify-content: space-between;
-    -webkit-box-align: center;
-    -webkit-align-items: center;
-            align-items: center;
-}
-.mui-card-header .mui-card-link,
-.mui-card-footer .mui-card-link
-{
-    line-height: 44px;
-
-    position: relative;
-
-    display: -webkit-box;
-    display: -webkit-flex;
-    display:         flex;
-
-    height: 44px;
-    margin-top: -10px;
-    margin-bottom: -10px;
-
-    -webkit-transition-duration: .3s;
-            transition-duration: .3s;
-    text-decoration: none;
-
-    -webkit-box-pack: start;
-    -webkit-justify-content: flex-start;
-            justify-content: flex-start;
-    -webkit-box-align: center;
-    -webkit-align-items: center;
-            align-items: center;
-}
-
-.mui-card-header:after,
-.mui-card-footer:before
-{
-    position: absolute;
-    top: 0;
-    right: 0;
-    left: 0;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-
-.mui-card-header
-{
-    font-size: 17px;
-
-    border-radius: 2px 2px 0 0;
-}
-.mui-card-header:after
-{
-    top: auto;
-    bottom: 0;
-}
-.mui-card-header > img:first-child
-{
-    font-size: 0;
-    line-height: 0;
-
-    float: left;
-
-    width: 34px;
-    height: 34px;
-}
-
-.mui-card-footer
-{
-    color: #6d6d72;
-    border-radius: 0 0 2px 2px;
-}
-
-.mui-card-content
-{
-    font-size: 14px;
-
-    position: relative;
-}
-
-.mui-card-content-inner
-{
-    position: relative;
-
-    padding: 15px;
-}
-
-.mui-card-media
-{
-    vertical-align: bottom;
-
-    color: #fff;
-    background-position: center;
-    background-size: cover;
-}
-
-.mui-card-header.mui-card-media
-{
-    display: block;
-
-    padding: 10px;
-}
-.mui-card-header.mui-card-media .mui-media-body
-{
-    font-size: 14px;
-    font-weight: 500;
-    line-height: 17px;
-
-    margin-bottom: 0;
-    margin-left: 44px;
-
-    color: #333;
-}
-.mui-card-header.mui-card-media .mui-media-body p
-{
-    font-size: 13px;
-
-    margin-bottom: 0;
-}
-
-.mui-table-view
-{
-    position: relative;
-
-    margin-top: 0;
-    margin-bottom: 0;
-    padding-left: 0;
-
-    list-style: none;
-
-    background-color: #fff;
-}
-.mui-table-view:after
-{
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 0;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-.mui-table-view:before
-{
-    position: absolute;
-    top: 0;
-    right: 0;
-    left: 0;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-.mui-table-view:before
-{
-    top: -1px;
-}
-
-.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon
-{
-    font-size: 20px;
-
-    margin-top: -1px;
-    margin-right: 5px;
-    margin-left: -5px;
-}
-.mui-table-view-icon .mui-table-view-cell:after
-{
-    left: 40px;
-}
-
-.mui-table-view-chevron .mui-table-view-cell
-{
-    padding-right: 65px;
-}
-.mui-table-view-chevron .mui-table-view-cell > a:not(.mui-btn)
-{
-    margin-right: -65px;
-}
-
-.mui-table-view-radio .mui-table-view-cell
-{
-    padding-right: 65px;
-}
-.mui-table-view-radio .mui-table-view-cell > a:not(.mui-btn)
-{
-    margin-right: -65px;
-}
-.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after
-{
-    font-size: 30px;
-    font-weight: 600;
-
-    right: 9px;
-
-    content: '';
-
-    color: #007aff;
-}
-.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after
-{
-    content: '\e472';
-}
-
-.mui-table-view-inverted
-{
-    color: #fff;
-    background: #333;
-}
-.mui-table-view-inverted:after
-{
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 0;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #222;
-}
-.mui-table-view-inverted:before
-{
-    position: absolute;
-    top: 0;
-    right: 0;
-    left: 0;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #222;
-}
-.mui-table-view-inverted .mui-table-view-cell:after
-{
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 15px;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #222;
-}
-.mui-table-view-inverted .mui-table-view-cell.mui-active
-{
-    background-color: #242424;
-}
-.mui-table-view-inverted .mui-table-view-cell > a:not(.mui-btn).mui-active
-{
-    background-color: #242424;
-}
-
-.mui-table-view-cell
-{
-    position: relative;
-
-    overflow: hidden;
-
-    padding: 11px 15px;
-
-    -webkit-touch-callout: none;
-}
-.mui-table-view-cell:after
-{
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 15px;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-.mui-table-view-cell.mui-radio input[type=radio], .mui-table-view-cell.mui-checkbox input[type=checkbox]
-{
-    top: 8px;
-}
-.mui-table-view-cell.mui-radio.mui-left, .mui-table-view-cell.mui-checkbox.mui-left
-{
-    padding-left: 58px;
-}
-.mui-table-view-cell.mui-active
-{
-    background-color: #eee;
-}
-.mui-table-view-cell:last-child:before, .mui-table-view-cell:last-child:after
-{
-    height: 0;
-}
-.mui-table-view-cell > a:not(.mui-btn)
-{
-    position: relative;
-
-    display: block;
-    overflow: hidden;
-
-    margin: -11px -15px;
-    padding: inherit;
-
-    white-space: nowrap;
-    text-overflow: ellipsis;
-
-    color: inherit;
-  /*&:active {
-      background-color: #eee;
-  }*/
-}
-.mui-table-view-cell > a:not(.mui-btn).mui-active
-{
-    background-color: #eee;
-}
-.mui-table-view-cell p
-{
-    margin-bottom: 0;
-}
-
-.mui-table-view-cell.mui-transitioning > .mui-slider-handle, .mui-table-view-cell.mui-transitioning > .mui-slider-left .mui-btn, .mui-table-view-cell.mui-transitioning > .mui-slider-right .mui-btn
-{
-    -webkit-transition: -webkit-transform 300ms ease;
-            transition:         transform 300ms ease;
-}
-.mui-table-view-cell.mui-active > .mui-slider-handle
-{
-    background-color: #eee;
-}
-.mui-table-view-cell > .mui-slider-handle
-{
-    position: relative;
-
-    background-color: #fff;
-}
-.mui-table-view-cell > .mui-slider-handle.mui-navigate-right:after, .mui-table-view-cell > .mui-slider-handle .mui-navigate-right:after
-{
-    right: 0;
-}
-.mui-table-view-cell > .mui-slider-handle, .mui-table-view-cell > .mui-slider-left .mui-btn, .mui-table-view-cell > .mui-slider-right .mui-btn
-{
-    -webkit-transition: -webkit-transform 0ms ease;
-            transition:         transform 0ms ease;
-}
-.mui-table-view-cell > .mui-slider-left, .mui-table-view-cell > .mui-slider-right
-{
-    position: absolute;
-    top: 0;
-
-    display: -webkit-box;
-    display: -webkit-flex;
-    display:         flex;
-
-    height: 100%;
-}
-.mui-table-view-cell > .mui-slider-left > .mui-btn, .mui-table-view-cell > .mui-slider-right > .mui-btn
-{
-    position: relative;
-    left: 0;
-
-    display: -webkit-box;
-    display: -webkit-flex;
-    display:         flex;
-
-    padding: 0 30px;
-
-    color: #fff;
-    border: 0;
-    border-radius: 0;
-
-    -webkit-box-align: center;
-    -webkit-align-items: center;
-            align-items: center;
-}
-.mui-table-view-cell > .mui-slider-left > .mui-btn:after, .mui-table-view-cell > .mui-slider-right > .mui-btn:after
-{
-    position: absolute;
-    z-index: -1;
-    top: 0;
-
-    width: 600%;
-    height: 100%;
-
-    content: '';
-
-    background: inherit;
-}
-.mui-table-view-cell > .mui-slider-left > .mui-btn.mui-icon, .mui-table-view-cell > .mui-slider-right > .mui-btn.mui-icon
-{
-    font-size: 30px;
-}
-.mui-table-view-cell > .mui-slider-right
-{
-    right: 0;
-
-    -webkit-transition: -webkit-transform 0ms ease;
-            transition:         transform 0ms ease;
-    -webkit-transform: translateX(100%);
-            transform: translateX(100%);
-}
-.mui-table-view-cell > .mui-slider-left
-{
-    left: 0;
-
-    -webkit-transition: -webkit-transform 0ms ease;
-            transition:         transform 0ms ease;
-    -webkit-transform: translateX(-100%);
-            transform: translateX(-100%);
-}
-.mui-table-view-cell > .mui-slider-left > .mui-btn:after
-{
-    right: 100%;
-
-    margin-right: -1px;
-}
-
-.mui-table-view-divider
-{
-    font-weight: 500;
-
-    position: relative;
-
-    margin-top: -1px;
-    margin-left: 0;
-    padding-top: 6px;
-    padding-bottom: 6px;
-    padding-left: 15px;
-
-    color: #999;
-    background-color: #fafafa;
-}
-.mui-table-view-divider:after
-{
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 0;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-.mui-table-view-divider:before
-{
-    position: absolute;
-    top: 0;
-    right: 0;
-    left: 0;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-
-.mui-table-view .mui-media,
-.mui-table-view .mui-media-body
-{
-    overflow: hidden;
-}
-
-.mui-table-view .mui-media-large .mui-media-object
-{
-    line-height: 80px;
-
-    max-width: 80px;
-    height: 80px;
-}
-.mui-table-view .mui-media .mui-subtitle
-{
-    color: #000;
-}
-.mui-table-view .mui-media-object
-{
-    line-height: 42px;
-
-    max-width: 42px;
-    height: 42px;
-}
-.mui-table-view .mui-media-object.mui-pull-left
-{
-    margin-right: 10px;
-}
-.mui-table-view .mui-media-object.mui-pull-right
-{
-    margin-left: 10px;
-}
-.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object
-{
-    line-height: 29px;
-
-    max-width: 29px;
-    height: 29px;
-    margin: -4px 0;
-}
-.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img
-{
-    line-height: 29px;
-
-    max-width: 29px;
-    height: 29px;
-}
-.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left
-{
-    margin-right: 10px;
-}
-.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon
-{
-    font-size: 29px;
-}
-.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after
-{
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 55px;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-.mui-table-view .mui-table-view-cell.mui-media-icon:after
-{
-    height: 0 !important;
-}
-
-.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view
-{
-    display: block;
-}
-.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before, .mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after
-{
-    height: 0 !important;
-}
-.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after
-{
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 70px;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-
-.mui-table-view-cell > .mui-btn,
-.mui-table-view-cell > .mui-badge,
-.mui-table-view-cell > .mui-switch,
-.mui-table-view-cell > a > .mui-btn,
-.mui-table-view-cell > a > .mui-badge,
-.mui-table-view-cell > a > .mui-switch
-{
-    position: absolute;
-    top: 50%;
-    right: 15px;
-
-    -webkit-transform: translateY(-50%);
-            transform: translateY(-50%);
-}
-.mui-table-view-cell .mui-navigate-right > .mui-btn,
-.mui-table-view-cell .mui-navigate-right > .mui-badge,
-.mui-table-view-cell .mui-navigate-right > .mui-switch,
-.mui-table-view-cell .mui-push-left > .mui-btn,
-.mui-table-view-cell .mui-push-left > .mui-badge,
-.mui-table-view-cell .mui-push-left > .mui-switch,
-.mui-table-view-cell .mui-push-right > .mui-btn,
-.mui-table-view-cell .mui-push-right > .mui-badge,
-.mui-table-view-cell .mui-push-right > .mui-switch,
-.mui-table-view-cell > a .mui-navigate-right > .mui-btn,
-.mui-table-view-cell > a .mui-navigate-right > .mui-badge,
-.mui-table-view-cell > a .mui-navigate-right > .mui-switch,
-.mui-table-view-cell > a .mui-push-left > .mui-btn,
-.mui-table-view-cell > a .mui-push-left > .mui-badge,
-.mui-table-view-cell > a .mui-push-left > .mui-switch,
-.mui-table-view-cell > a .mui-push-right > .mui-btn,
-.mui-table-view-cell > a .mui-push-right > .mui-badge,
-.mui-table-view-cell > a .mui-push-right > .mui-switch
-{
-    right: 35px;
-}
-
-.mui-content > .mui-table-view:first-child
-{
-    margin-top: 15px;
-}
-
-.mui-table-view-cell.mui-collapse .mui-table-view:before, .mui-table-view-cell.mui-collapse .mui-table-view:after
-{
-    height: 0;
-}
-.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after
-{
-    height: 0;
-}
-.mui-table-view-cell.mui-collapse > .mui-navigate-right:after, .mui-table-view-cell.mui-collapse > .mui-push-right:after
-{
-    content: '\e581';
-}
-.mui-table-view-cell.mui-collapse.mui-active
-{
-    margin-top: -1px;
-}
-.mui-table-view-cell.mui-collapse.mui-active .mui-table-view, .mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content
-{
-    display: block;
-}
-.mui-table-view-cell.mui-collapse.mui-active > .mui-navigate-right:after, .mui-table-view-cell.mui-collapse.mui-active > .mui-push-right:after
-{
-    content: '\e580';
-}
-.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell > a:not(.mui-btn).mui-active
-{
-    margin-left: -31px;
-    padding-left: 47px;
-}
-.mui-table-view-cell.mui-collapse .mui-collapse-content
-{
-    position: relative;
-
-    display: none;
-    overflow: hidden;
-
-    margin: 11px -15px -11px;
-    padding: 8px 15px;
-
-    -webkit-transition: height .35s ease;
-         -o-transition: height .35s ease;
-            transition: height .35s ease;
-
-    background: white;
-}
-.mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-input-group, .mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-slider
-{
-    width: auto;
-    height: auto;
-    margin: -8px -15px;
-}
-.mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-slider
-{
-    margin: -8px -16px;
-}
-.mui-table-view-cell.mui-collapse .mui-table-view
-{
-    display: none;
-
-    margin-top: 11px;
-    margin-right: -15px;
-    margin-bottom: -11px;
-    margin-left: -15px;
-
-    border: 0;
-}
-.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron
-{
-    margin-right: -65px;
-}
-.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell
-{
-    padding-left: 31px;
-
-    background-position: 31px 100%;
-}
-.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after
-{
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 30px;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-
-.mui-table-view.mui-grid-view
-{
-    font-size: 0;
-
-    display: block;
-
-    width: 100%;
-    padding: 0 10px 10px 0;
-
-    white-space: normal;
-}
-.mui-table-view.mui-grid-view .mui-table-view-cell
-{
-    font-size: 17px;
-
-    display: inline-block;
-
-    margin-right: -4px;
-    padding: 10px 0 0 14px;
-
-    text-align: center;
-    vertical-align: middle;
-
-    background: none;
-}
-.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object
-{
-    width: 100%;
-    max-width: 100%;
-    height: auto;
-}
-.mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn)
-{
-    margin: -10px 0 0 -14px;
-}
-.mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn):active, .mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn).mui-active
-{
-    background: none;
-}
-.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body
-{
-    font-size: 15px;
-    line-height: 15px;
-
-    display: block;
-
-    width: 100%;
-    height: 15px;
-    margin-top: 8px;
-
-    text-overflow: ellipsis;
-
-    color: #333;
-}
-.mui-table-view.mui-grid-view .mui-table-view-cell:before, .mui-table-view.mui-grid-view .mui-table-view-cell:after
-{
-    height: 0;
-}
-
-.mui-grid-view.mui-grid-9
-{
-    margin: 0;
-    padding: 0;
-
-    border-top: 1px solid #eee;
-    border-left: 1px solid #eee;
-    background-color: #f2f2f2;
-}
-.mui-grid-view.mui-grid-9:before, .mui-grid-view.mui-grid-9:after
-{
-    display: table;
-
-    content: ' ';
-}
-.mui-grid-view.mui-grid-9:after
-{
-    clear: both;
-}
-.mui-grid-view.mui-grid-9:after
-{
-    position: static;
-}
-.mui-grid-view.mui-grid-9 .mui-table-view-cell
-{
-    margin: 0;
-    padding: 11px 15px;
-
-    vertical-align: top;
-
-    border-right: 1px solid #eee;
-    border-bottom: 1px solid #eee;
-}
-.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active
-{
-    background-color: #eee;
-}
-.mui-grid-view.mui-grid-9 .mui-table-view-cell > a:not(.mui-btn)
-{
-    margin: 0;
-    padding: 10px 0;
-}
-.mui-grid-view.mui-grid-9:before
-{
-    height: 0;
-}
-.mui-grid-view.mui-grid-9 .mui-media
-{
-    color: #797979;
-}
-.mui-grid-view.mui-grid-9 .mui-media .mui-icon
-{
-    font-size: 2.4em;
-
-    position: relative;
-}
-
-.mui-slider-cell
-{
-    position: relative;
-}
-.mui-slider-cell > .mui-slider-handle
-{
-    z-index: 1;
-}
-.mui-slider-cell > .mui-slider-left, .mui-slider-cell > .mui-slider-right
-{
-    position: absolute;
-    z-index: 0;
-    top: 0;
-    bottom: 0;
-}
-.mui-slider-cell > .mui-slider-left
-{
-    left: 0;
-}
-.mui-slider-cell > .mui-slider-right
-{
-    right: 0;
-}
-
-input,
-textarea,
-select
-{
-    font-family: 'Helvetica Neue', Helvetica, sans-serif;
-    font-size: 17px;
-
-    -webkit-tap-highlight-color: transparent;
-    -webkit-tap-highlight-color: transparent;
-}
-input:focus,
-textarea:focus,
-select:focus
-{
-    -webkit-tap-highlight-color: transparent;
-    -webkit-tap-highlight-color: transparent;
-    -webkit-user-modify: read-write-plaintext-only;
-}
-
-select,
-textarea,
-input[type='text'],
-input[type='search'],
-input[type='password'],
-input[type='datetime'],
-input[type='datetime-local'],
-input[type='date'],
-input[type='month'],
-input[type='time'],
-input[type='week'],
-input[type='number'],
-input[type='email'],
-input[type='url'],
-input[type='tel'],
-input[type='color']
-{
-    line-height: 21px;
-
-    width: 100%;
-    height: 40px;
-    margin-bottom: 15px;
-    padding: 10px 15px;
-
-    -webkit-user-select: text;
-
-    border: 1px solid rgba(0, 0, 0, .2);
-    border-radius: 3px;
-    outline: none;
-    background-color: #fff;
-
-    -webkit-appearance: none;
-}
-
-input[type=number]::-webkit-inner-spin-button,
-input[type=number]::-webkit-outer-spin-button
-{
-    margin: 0;
-
-    -webkit-appearance: none;
-}
-
-input[type='search']
-{
-    font-size: 16px;
-
-    -webkit-box-sizing: border-box;
-            box-sizing: border-box;
-    height: 34px;
-
-    text-align: center;
-
-    border: 0;
-    border-radius: 6px;
-    background-color: rgba(0, 0, 0, .1);
-}
-
-input[type='search']:focus
-{
-    text-align: left;
-}
-
-textarea
-{
-    height: auto;
-
-    resize: none;
-}
-
-select
-{
-    font-size: 14px;
-
-    height: auto;
-    margin-top: 1px;
-
-    border: 0 !important;
-    background-color: #fff;
-}
-select:focus
-{
-    -webkit-user-modify: read-only;
-}
-
-.mui-input-group
-{
-    position: relative;
-
-    padding: 0;
-
-    border: 0;
-    background-color: #fff;
-}
-.mui-input-group:after
-{
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 0;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-.mui-input-group:before
-{
-    position: absolute;
-    top: 0;
-    right: 0;
-    left: 0;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-
-.mui-input-group input,
-.mui-input-group textarea
-{
-    margin-bottom: 0;
-
-    border: 0;
-    border-radius: 0;
-    background-color: transparent;
-    -webkit-box-shadow: none;
-            box-shadow: none;
-}
-
-.mui-input-group input[type='search']
-{
-    background: none;
-}
-
-.mui-input-group input:last-child
-{
-    background-image: none;
-}
-
-.mui-input-row
-{
-    clear: left;
-    overflow: hidden;
-}
-.mui-input-row select
-{
-    font-size: 17px;
-
-    height: 37px;
-    padding: 0;
-}
-
-.mui-input-row:last-child,
-.mui-input-row label + input, .mui-input-row .mui-btn + input
-{
-    background: none;
-}
-
-.mui-input-group .mui-input-row
-{
-    height: 40px;
-}
-.mui-input-group .mui-input-row:after
-{
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 15px;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-
-.mui-input-row label
-{
-    font-family: 'Helvetica Neue', Helvetica, sans-serif;
-    line-height: 1.1;
-
-    float: left;
-
-    width: 35%;
-    padding: 11px 15px;
-}
-
-.mui-input-row label ~ input, .mui-input-row label ~ select, .mui-input-row label ~ textarea
-{
-    float: right;
-
-    width: 65%;
-    margin-bottom: 0;
-    padding-left: 0;
-
-    border: 0;
-}
-
-.mui-input-row .mui-btn
-{
-    line-height: 1.1;
-
-    float: right;
-
-    width: 15%;
-    padding: 10px 15px;
-}
-
-.mui-input-row .mui-btn ~ input, .mui-input-row .mui-btn ~ select, .mui-input-row .mui-btn ~ textarea
-{
-    float: left;
-
-    width: 85%;
-    margin-bottom: 0;
-    padding-left: 0;
-
-    border: 0;
-}
-
-.mui-button-row
-{
-    position: relative;
-
-    padding-top: 5px;
-
-    text-align: center;
-}
-
-.mui-input-group .mui-button-row
-{
-    height: 45px;
-}
-
-.mui-input-row
-{
-    position: relative;
-}
-.mui-input-row.mui-input-range
-{
-    overflow: visible;
-
-    padding-right: 20px;
-}
-.mui-input-row .mui-inline
-{
-    padding: 8px 0;
-}
-.mui-input-row .mui-input-clear ~ .mui-icon-clear, .mui-input-row .mui-input-speech ~ .mui-icon-speech, .mui-input-row .mui-input-password ~ .mui-icon-eye
-{
-    font-size: 20px;
-
-    position: absolute;
-    z-index: 1;
-    top: 10px;
-    right: 0;
-
-    width: 38px;
-    height: 38px;
-
-    text-align: center;
-
-    color: #999;
-}
-.mui-input-row .mui-input-clear ~ .mui-icon-clear.mui-active, .mui-input-row .mui-input-speech ~ .mui-icon-speech.mui-active, .mui-input-row .mui-input-password ~ .mui-icon-eye.mui-active
-{
-    color: #007aff;
-}
-.mui-input-row .mui-input-speech ~ .mui-icon-speech
-{
-    font-size: 24px;
-
-    top: 8px;
-}
-.mui-input-row .mui-input-clear ~ .mui-icon-clear ~ .mui-icon-speech
-{
-    display: none;
-}
-.mui-input-row .mui-input-clear ~ .mui-icon-clear.mui-hidden ~ .mui-icon-speech
-{
-    display: inline-block;
-}
-.mui-input-row .mui-icon-speech ~ .mui-placeholder
-{
-    right: 38px;
-}
-.mui-input-row.mui-search .mui-icon-clear
-{
-    top: 7px;
-}
-.mui-input-row.mui-search .mui-icon-speech
-{
-    top: 5px;
-}
-
-.mui-radio, .mui-checkbox
-{
-    position: relative;
-}
-.mui-radio label, .mui-checkbox label
-{
-    display: inline-block;
-    float: none;
-
-    width: 100%;
-    padding-right: 58px;
-}
-
-.mui-radio.mui-left input[type='radio'], .mui-checkbox.mui-left input[type='checkbox']
-{
-    left: 20px;
-}
-
-.mui-radio.mui-left label, .mui-checkbox.mui-left label
-{
-    padding-right: 15px;
-    padding-left: 58px;
-}
-
-.mui-radio input[type='radio'], .mui-checkbox input[type='checkbox']
-{
-    position: absolute;
-    top: 4px;
-    right: 20px;
-
-    display: inline-block;
-
-    width: 28px;
-    height: 26px;
-
-    border: 0;
-    outline: 0 !important;
-    background-color: transparent;
-
-    -webkit-appearance: none;
-}
-.mui-radio input[type='radio'][disabled]:before, .mui-checkbox input[type='checkbox'][disabled]:before
-{
-    opacity: .3;
-}
-.mui-radio input[type='radio']:before, .mui-checkbox input[type='checkbox']:before
-{
-    font-family: Muiicons;
-    font-size: 28px;
-    font-weight: normal;
-    line-height: 1;
-
-    text-decoration: none;
-
-    color: #aaa;
-    border-radius: 0;
-    background: none;
-
-    -webkit-font-smoothing: antialiased;
-}
-.mui-radio input[type='radio']:checked:before, .mui-checkbox input[type='checkbox']:checked:before
-{
-    color: #007aff;
-}
-
-.mui-radio.mui-disabled label, .mui-radio label.mui-disabled, .mui-checkbox.mui-disabled label, .mui-checkbox label.mui-disabled
-{
-    opacity: .4;
-}
-
-.mui-radio input[type='radio']:before
-{
-    content: '\e411';
-}
-
-.mui-radio input[type='radio']:checked:before
-{
-    content: '\e441';
-}
-
-.mui-checkbox input[type='checkbox']:before
-{
-    content: '\e411';
-}
-
-.mui-checkbox input[type='checkbox']:checked:before
-{
-    content: '\e442';
-}
-
-.mui-select
-{
-    position: relative;
-}
-
-.mui-select:before
-{
-    font-family: Muiicons;
-
-    position: absolute;
-    top: 8px;
-    right: 21px;
-
-    content: '\e581';
-
-    color: rgba(170, 170, 170, .6);
-}
-
-.mui-input-row .mui-switch
-{
-    float: right;
-
-    margin-top: 5px;
-    margin-right: 20px;
-}
-
-.mui-input-range
-{
-  /*input[type="range"] {
-      -webkit-appearance: none;
-      background: #999;
-      height: 36px;
-      border-radius: 1px;
-      overflow: hidden;
-      margin-top: 2px;
-      margin-bottom: 2px;
-      outline:none;
-      position:relative;
-      width:100%;
-  }*/
-  /*input[type='range']::-webkit-slider-thumb {
-      -webkit-appearance: none!important;
-      opacity: 0.5;
-      height:28px;
-      width:28px;
-      border-radius: 50%;
-      background:#00b7fb;
-      position: relative;
-      pointer-events: none;
-      -webkit-box-sizing: border-box;
-      box-sizing: border-box;
-      &:before{
-          position: absolute;
-          top: 13px;
-          left: -2000px;
-          width: 2000px;
-          height: 2px;
-          background: #00b7fb;
-          content:' ';
-      }
-  }*/
-}
-.mui-input-range input[type='range']
-{
-    position: relative;
-
-    width: 100%;
-    height: 2px;
-    margin: 17px 0;
-    padding: 0;
-
-    cursor: pointer;
-
-    border: 0;
-    border-radius: 3px;
-    outline: none;
-    background-color: #999;
-
-    -webkit-appearance: none !important;
-}
-.mui-input-range input[type='range']::-webkit-slider-thumb
-{
-    width: 28px;
-    height: 28px;
-
-    border-color: #0062cc;
-    border-radius: 50%;
-    background-color: #007aff;
-    background-clip: padding-box;
-
-    -webkit-appearance: none !important;
-}
-.mui-input-range label ~ input[type='range']
-{
-    width: 65%;
-}
-.mui-input-range .mui-tooltip
-{
-    font-size: 36px;
-    line-height: 64px;
-
-    position: absolute;
-    z-index: 1;
-    top: -70px;
-
-    width: 64px;
-    height: 64px;
-
-    text-align: center;
-
-    opacity: .8;
-    color: #333;
-    border: 1px solid #ddd;
-    border-radius: 6px;
-    background-color: #fff;
-    text-shadow: 0 1px 0 #f3f3f3;
-}
-
-.mui-search
-{
-    position: relative;
-}
-.mui-search input[type='search']
-{
-    padding-left: 30px;
-}
-.mui-search .mui-placeholder
-{
-    font-size: 16px;
-    line-height: 34px;
-
-    position: absolute;
-    z-index: 1;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
-
-    display: inline-block;
-
-    height: 34px;
-
-    text-align: center;
-
-    color: #999;
-    border: 0;
-    border-radius: 6px;
-    background: none;
-}
-.mui-search .mui-placeholder .mui-icon
-{
-    font-size: 20px;
-
-    color: #333;
-}
-.mui-search:before
-{
-    font-family: Muiicons;
-    font-size: 20px;
-    font-weight: normal;
-
-    position: absolute;
-    top: 50%;
-    right: 50%;
-
-    display: none;
-
-    margin-top: -18px;
-    margin-right: 31px;
-
-    content: '\e466';
-}
-.mui-search.mui-active:before
-{
-    font-size: 20px;
-
-    right: auto;
-    left: 5px;
-
-    display: block;
-
-    margin-right: 0;
-}
-.mui-search.mui-active input[type='search']
-{
-    text-align: left;
-}
-.mui-search.mui-active .mui-placeholder
-{
-    display: none;
-}
-
-.mui-segmented-control
-{
-    font-size: 15px;
-    font-weight: 400;
-
-    position: relative;
-
-    display: table;
-    overflow: hidden;
-
-    width: 100%;
-
-    table-layout: fixed;
-
-    border: 1px solid #007aff;
-    border-radius: 3px;
-    background-color: transparent;
-
-    -webkit-touch-callout: none;
-}
-.mui-segmented-control.mui-segmented-control-vertical
-{
-    border-collapse: collapse;
-
-    border-width: 0;
-    border-radius: 0;
-}
-.mui-segmented-control.mui-segmented-control-vertical .mui-control-item
-{
-    display: block;
-
-    border-bottom: 1px solid #c8c7cc;
-    border-left-width: 0;
-}
-.mui-segmented-control.mui-scroll-wrapper
-{
-    height: 38px;
-}
-.mui-segmented-control.mui-scroll-wrapper .mui-scroll
-{
-    width: auto;
-    height: 40px;
-
-    white-space: nowrap;
-}
-.mui-segmented-control.mui-scroll-wrapper .mui-control-item
-{
-    display: inline-block;
-
-    width: auto;
-    padding: 0 20px;
-
-    border: 0;
-}
-.mui-segmented-control .mui-control-item
-{
-    line-height: 38px;
-
-    display: table-cell;
-    overflow: hidden;
-
-    width: 1%;
-
-    -webkit-transition: background-color .1s linear;
-            transition: background-color .1s linear;
-    text-align: center;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-
-    color: #007aff;
-    border-color: #007aff;
-    border-left: 1px solid #007aff;
-}
-.mui-segmented-control .mui-control-item:first-child
-{
-    border-left-width: 0;
-}
-.mui-segmented-control .mui-control-item.mui-active
-{
-    color: #fff;
-    background-color: #007aff;
-}
-.mui-segmented-control.mui-segmented-control-inverted
-{
-    width: 100%;
-
-    border: 0;
-    border-radius: 0;
-}
-.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item
-{
-    border-bottom: 1px solid #c8c7cc;
-}
-.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active
-{
-    border-bottom: 1px solid #c8c7cc;
-}
-.mui-segmented-control.mui-segmented-control-inverted .mui-control-item
-{
-    color: inherit;
-    border: 0;
-}
-.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active
-{
-    color: #007aff;
-    border-bottom: 2px solid #007aff;
-    background: none;
-}
-.mui-segmented-control.mui-segmented-control-inverted ~ .mui-slider-progress-bar
-{
-    background-color: #007aff;
-}
-
-.mui-segmented-control-positive
-{
-    border: 1px solid #4cd964;
-}
-.mui-segmented-control-positive .mui-control-item
-{
-    color: #4cd964;
-    border-color: inherit;
-}
-.mui-segmented-control-positive .mui-control-item.mui-active
-{
-    color: #fff;
-    background-color: #4cd964;
-}
-.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active
-{
-    color: #4cd964;
-    border-bottom: 2px solid #4cd964;
-    background: none;
-}
-.mui-segmented-control-positive.mui-segmented-control-inverted ~ .mui-slider-progress-bar
-{
-    background-color: #4cd964;
-}
-
-.mui-segmented-control-negative
-{
-    border: 1px solid #dd524d;
-}
-.mui-segmented-control-negative .mui-control-item
-{
-    color: #dd524d;
-    border-color: inherit;
-}
-.mui-segmented-control-negative .mui-control-item.mui-active
-{
-    color: #fff;
-    background-color: #dd524d;
-}
-.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active
-{
-    color: #dd524d;
-    border-bottom: 2px solid #dd524d;
-    background: none;
-}
-.mui-segmented-control-negative.mui-segmented-control-inverted ~ .mui-slider-progress-bar
-{
-    background-color: #dd524d;
-}
-
-.mui-control-content
-{
-    position: relative;
-
-    display: none;
-}
-.mui-control-content.mui-active
-{
-    display: block;
-}
-
-.mui-popover
-{
-    position: absolute;
-    z-index: 999;
-
-    display: none;
-
-    width: 280px;
-
-    -webkit-transition: opacity .3s;
-            transition: opacity .3s;
-    -webkit-transition-property: opacity;
-            transition-property: opacity;
-    -webkit-transform: none;
-            transform: none;
-
-    opacity: 0;
-    border-radius: 7px;
-    background-color: #f7f7f7;
-    -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, .1);
-            box-shadow: 0 0 15px rgba(0, 0, 0, .1);
-}
-.mui-popover .mui-popover-arrow
-{
-    position: absolute;
-    z-index: 1000;
-    top: -25px;
-    left: 0;
-
-    overflow: hidden;
-
-    width: 26px;
-    height: 26px;
-}
-.mui-popover .mui-popover-arrow:after
-{
-    position: absolute;
-    top: 19px;
-    left: 0;
-
-    width: 26px;
-    height: 26px;
-
-    content: ' ';
-    -webkit-transform: rotate(45deg);
-            transform: rotate(45deg);
-
-    border-radius: 3px;
-    background: #f7f7f7;
-}
-.mui-popover .mui-popover-arrow.mui-bottom
-{
-    top: 100%;
-    left: -26px;
-
-    margin-top: -1px;
-}
-.mui-popover .mui-popover-arrow.mui-bottom:after
-{
-    top: -19px;
-    left: 0;
-}
-.mui-popover.mui-popover-action
-{
-    bottom: 0;
-
-    width: 100%;
-
-    -webkit-transition: -webkit-transform .3s, opacity .3s;
-            transition:         transform .3s, opacity .3s;
-    -webkit-transform: translate3d(0, 100%, 0);
-            transform: translate3d(0, 100%, 0);
-
-    border-radius: 0;
-    background: none;
-    -webkit-box-shadow: none;
-            box-shadow: none;
-}
-.mui-popover.mui-popover-action .mui-popover-arrow
-{
-    display: none;
-}
-.mui-popover.mui-popover-action.mui-popover-bottom
-{
-    position: fixed;
-}
-.mui-popover.mui-popover-action.mui-active
-{
-    -webkit-transform: translate3d(0, 0, 0);
-            transform: translate3d(0, 0, 0);
-}
-.mui-popover.mui-popover-action .mui-table-view
-{
-    margin: 8px;
-
-    text-align: center;
-
-    color: #007aff;
-    border-radius: 4px;
-}
-.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after
-{
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 0;
-
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-
-    background-color: #c8c7cc;
-}
-.mui-popover.mui-popover-action .mui-table-view small
-{
-    font-weight: 400;
-    line-height: 1.3;
-
-    display: block;
-}
-.mui-popover.mui-active
-{
-    display: block;
-
-    opacity: 1;
-}
-.mui-popover .mui-bar ~ .mui-table-view
-{
-    padding-top: 44px;
-}
-
-.mui-backdrop
-{
-    position: fixed;
-    z-index: 998;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
-
-    background-color: rgba(0, 0, 0, .3);
-}
-
-.mui-bar-backdrop.mui-backdrop
-{
-    bottom: 50px;
-
-    background: none;
-}
-
-.mui-backdrop-action.mui-backdrop
-{
-    background-color: rgba(0, 0, 0, .3);
-}
-
-.mui-bar-backdrop.mui-backdrop, .mui-backdrop-action.mui-backdrop
-{
-    opacity: 0;
-}
-.mui-bar-backdrop.mui-backdrop.mui-active, .mui-backdrop-action.mui-backdrop.mui-active
-{
-    -webkit-transition: all .4s ease;
-            transition: all .4s ease;
-
-    opacity: 1;
-}
-
-.mui-popover .mui-btn-block
-{
-    margin-bottom: 5px;
-}
-.mui-popover .mui-btn-block:last-child
-{
-    margin-bottom: 0;
-}
-
-.mui-popover .mui-bar
-{
-    -webkit-box-shadow: none;
-            box-shadow: none;
-}
-
-.mui-popover .mui-bar-nav
-{
-    border-bottom: 1px solid rgba(0, 0, 0, .15);
-    border-top-left-radius: 12px;
-    border-top-right-radius: 12px;
-    -webkit-box-shadow: none;
-            box-shadow: none;
-}
-
-.mui-popover .mui-scroll-wrapper
-{
-    margin: 7px 0;
-
-    border-radius: 7px;
-    background-clip: padding-box;
-}
-
-.mui-popover .mui-scroll .mui-table-view
-{
-    max-height: none;
-}
-
-.mui-popover .mui-table-view
-{
-    overflow: auto;
-
-    max-height: 300px;
-    margin-bottom: 0;
-
-    border-radius: 7px;
-    background-color: #f7f7f7;
-    background-image: none;
-
-    -webkit-overflow-scrolling: touch;
-}
-.mui-popover .mui-table-view:before, .mui-popover .mui-table-view:after
-{
-    height: 0;
-}
-.mui-popover .mui-table-view .mui-table-view-cell:first-child,
-.mui-popover .mui-table-view .mui-table-view-cell:first-child > a:not(.mui-btn)
-{
-    border-top-left-radius: 12px;
-    border-top-right-radius: 12px;
-}
-.mui-popover .mui-table-view .mui-table-view-cell:last-child,
-.mui-popover .mui-table-view .mui-table-view-cell:last-child > a:not(.mui-btn)
-{
-    border-bottom-right-radius: 12px;
-    border-bottom-left-radius: 12px;
-}
-
-.mui-popover.mui-bar-popover .mui-table-view
-{
-    width: 106px;
-}
-.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell
-{
-    padding: 11px 15px 11px 15px;
-
-    background-position: 0 100%;
-}
-.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell > a:not(.mui-btn)
-{
-    margin: -11px -15px -11px -15px;
-}
-
-.mui-popup-backdrop
-{
-    position: fixed;
-    z-index: 998;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
-
-    -webkit-transition-duration: 400ms;
-            transition-duration: 400ms;
-
-    opacity: 0;
-    background: rgba(0, 0, 0, .4);
-}
-.mui-popup-backdrop.mui-active
-{
-    opacity: 1;
-}
-
-.mui-popup
-{
-    position: fixed;
-    z-index: 10000;
-    top: 50%;
-    left: 50%;
-
-    display: none;
-    overflow: hidden;
-
-    width: 270px;
-
-    -webkit-transition-property: -webkit-transform,opacity;
-            transition-property:         transform,opacity;
-    -webkit-transform: translate3d(-50%, -50%, 0) scale(1.185);
-            transform: translate3d(-50%, -50%, 0) scale(1.185);
-    text-align: center;
-
-    opacity: 0;
-    color: #000;
-    border-radius: 13px;
-}
-.mui-popup.mui-popup-in
-{
-    display: block;
-
-    -webkit-transition-duration: 400ms;
-            transition-duration: 400ms;
-    -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
-            transform: translate3d(-50%, -50%, 0) scale(1);
-
-    opacity: 1;
-}
-.mui-popup.mui-popup-out
-{
-    -webkit-transition-duration: 400ms;
-            transition-duration: 400ms;
-    -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
-            transform: translate3d(-50%, -50%, 0) scale(1);
-
-    opacity: 0;
-}
-
-.mui-popup-inner
-{
-    position: relative;
-
-    padding: 15px;
-
-    border-radius: 13px 13px 0 0;
-    background: rgba(255, 255, 255, .95);
-}
-.mui-popup-inner:after
-{
-    position: absolute;
-    z-index: 15;
-    top: auto;
-    right: auto;
-    bottom: 0;
-    left: 0;
-
-    display: block;
-
-    width: 100%;
-    height: 1px;
-
-    content: '';
-    -webkit-transform: scaleY(.5);
-            transform: scaleY(.5);
-    -webkit-transform-origin: 50% 100%;
-            transform-origin: 50% 100%;
-
-    background-color: rgba(0, 0, 0, .2);
-}
-
-.mui-popup-title
-{
-    font-size: 18px;
-    font-weight: 500;
-
-    text-align: center;
-}
-
-.mui-popup-title + .mui-popup-text
-{
-    font-family: inherit;
-    font-size: 14px;
-
-    margin: 5px 0 0;
-}
-
-.mui-popup-buttons
-{
-    position: relative;
-
-    display: -webkit-box;
-    display: -webkit-flex;
-    display:         flex;
-
-    height: 44px;
-
-    -webkit-box-pack: center;
-    -webkit-justify-content: center;
-            justify-content: center;
-}
-
-.mui-popup-button
-{
-    font-size: 17px;
-    line-height: 44px;
-
-    position: relative;
-
-    display: block;
-    overflow: hidden;
-
-    box-sizing: border-box;
-    width: 100%;
-    height: 44px;
-    padding: 0 5px;
-
-    cursor: pointer;
-    text-align: center;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-
-    color: #007aff;
-    background: rgba(255, 255, 255, .95);
-
-    -webkit-box-flex: 1;
-}
-.mui-popup-button:after
-{
-    position: absolute;
-    z-index: 15;
-    top: 0;
-    right: 0;
-    bottom: auto;
-    left: auto;
-
-    display: block;
-
-    width: 1px;
-    height: 100%;
-
-    content: '';
-    -webkit-transform: scaleX(.5);
-            transform: scaleX(.5);
-    -webkit-transform-origin: 100% 50%;
-            transform-origin: 100% 50%;
-
-    background-color: rgba(0, 0, 0, .2);
-}
-.mui-popup-button:first-child
-{
-    border-radius: 0 0 0 13px;
-}
-.mui-popup-button:first-child:last-child
-{
-    border-radius: 0 0 13px 13px;
-}
-.mui-popup-button:last-child
-{
-    border-radius: 0 0 13px 0;
-}
-.mui-popup-button:last-child:after
-{
-    display: none;
-}
-.mui-popup-button.mui-popup-button-bold
-{
-    font-weight: 600;
-}
-
-.mui-popup-input input
-{
-    font-size: 14px;
-
-    width: 100%;
-    height: 26px;
-    margin: 15px 0 0;
-    padding: 0 5px;
-
-    border: 1px solid rgba(0, 0, 0, .3);
-    border-radius: 0;
-    background: #fff;
-}
-
-.mui-plus.mui-android .mui-popup-backdrop
-{
-    -webkit-transition-duration: 1ms;
-            transition-duration: 1ms;
-}
-
-.mui-plus.mui-android .mui-popup
-{
-    -webkit-transition-duration: 1ms;
-            transition-duration: 1ms;
-    -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
-            transform: translate3d(-50%, -50%, 0) scale(1);
-}
-
-/* === Progress Bar === */
-.mui-progressbar
-{
-    position: relative;
-
-    display: block;
-    overflow: hidden;
-
-    width: 100%;
-    height: 2px;
-
-    -webkit-transform-origin: center top;
-            transform-origin: center top;
-    vertical-align: middle;
-
-    border-radius: 2px;
-    background: #b6b6b6;
-
-    -webkit-transform-style: preserve-3d;
-            transform-style: preserve-3d;
-}
-.mui-progressbar span
-{
-    position: absolute;
-    top: 0;
-    left: 0;
-
-    width: 100%;
-    height: 100%;
-
-    -webkit-transition: 150ms;
-            transition: 150ms;
-    -webkit-transform: translate3d(-100%, 0, 0);
-            transform: translate3d(-100%, 0, 0);
-
-    background: #007aff;
-}
-.mui-progressbar.mui-progressbar-infinite:before
-{
-    position: absolute;
-    top: 0;
-    left: 0;
-
-    width: 100%;
-    height: 100%;
-
-    content: '';
-    -webkit-transform: translate3d(0, 0, 0);
-            transform: translate3d(0, 0, 0);
-    -webkit-transform-origin: left center;
-            transform-origin: left center;
-    -webkit-animation: mui-progressbar-infinite 1s linear infinite;
-            animation: mui-progressbar-infinite 1s linear infinite;
-
-    background: #007aff;
-}
-
-body > .mui-progressbar
-{
-    position: absolute;
-    z-index: 10000;
-    top: 44px;
-    left: 0;
-
-    border-radius: 0;
-}
-
-.mui-progressbar-in
-{
-    -webkit-animation: mui-progressbar-in 300ms forwards;
-            animation: mui-progressbar-in 300ms forwards;
-}
-
-.mui-progressbar-out
-{
-    -webkit-animation: mui-progressbar-out 300ms forwards;
-            animation: mui-progressbar-out 300ms forwards;
-}
-
-@-webkit-keyframes mui-progressbar-in
-{
-    from
-    {
-        -webkit-transform: scaleY(0);
-
-        opacity: 0;
-    }
-
-    to
-    {
-        -webkit-transform: scaleY(1);
-
-        opacity: 1;
-    }
-}
-@keyframes mui-progressbar-in
-{
-    from
-    {
-        transform: scaleY(0);
-
-        opacity: 0;
-    }
-
-    to
-    {
-        transform: scaleY(1);
-
-        opacity: 1;
-    }
-}
-@-webkit-keyframes mui-progressbar-out
-{
-    from
-    {
-        -webkit-transform: scaleY(1);
-
-        opacity: 1;
-    }
-
-    to
-    {
-        -webkit-transform: scaleY(0);
-
-        opacity: 0;
-    }
-}
-@keyframes mui-progressbar-out
-{
-    from
-    {
-        transform: scaleY(1);
-
-        opacity: 1;
-    }
-
-    to
-    {
-        transform: scaleY(0);
-
-        opacity: 0;
-    }
-}
-@-webkit-keyframes mui-progressbar-infinite
-{
-    0%
-    {
-        -webkit-transform: translate3d(-50%, 0, 0) scaleX(.5);
-    }
-
-    100%
-    {
-        -webkit-transform: translate3d(100%, 0, 0) scaleX(.5);
-    }
-}
-@keyframes mui-progressbar-infinite
-{
-    0%
-    {
-        transform: translate3d(-50%, 0, 0) scaleX(.5);
-    }
-
-    100%
-    {
-        transform: translate3d(100%, 0, 0) scaleX(.5);
-    }
-}
-.mui-pagination
-{
-    display: inline-block;
-
-    margin: 0 auto;
-    padding-left: 0;
-
-    border-radius: 6px;
-}
-.mui-pagination > li
-{
-    display: inline;
-}
-.mui-pagination > li > a,
-.mui-pagination > li > span
-{
-    line-height: 1.428571429;
-
-    position: relative;
-
-    float: left;
-
-    margin-left: -1px;
-    padding: 6px 12px;
-
-    text-decoration: none;
-
-    color: #007aff;
-    border: 1px solid #ddd;
-    background-color: #fff;
-}
-.mui-pagination > li:first-child > a,
-.mui-pagination > li:first-child > span
-{
-    margin-left: 0;
-
-    border-top-left-radius: 6px;
-    border-bottom-left-radius: 6px;
-    background-clip: padding-box;
-}
-.mui-pagination > li:last-child > a,
-.mui-pagination > li:last-child > span
-{
-    border-top-right-radius: 6px;
-    border-bottom-right-radius: 6px;
-    background-clip: padding-box;
-}
-.mui-pagination > li:active > a, .mui-pagination > li:active > a:active,
-.mui-pagination > li:active > span,
-.mui-pagination > li:active > span:active,
-.mui-pagination > li.mui-active > a,
-.mui-pagination > li.mui-active > a:active,
-.mui-pagination > li.mui-active > span,
-.mui-pagination > li.mui-active > span:active
-{
-    z-index: 2;
-
-    cursor: default;
-
-    color: #fff;
-    border-color: #007aff;
-    background-color: #007aff;
-}
-.mui-pagination > li.mui-disabled > span,
-.mui-pagination > li.mui-disabled > span:active,
-.mui-pagination > li.mui-disabled > a,
-.mui-pagination > li.mui-disabled > a:active
-{
-    opacity: .6;
-    color: #777;
-    border: 1px solid #ddd;
-    background-color: #fff;
-}
-
-.mui-pagination-lg > li > a,
-.mui-pagination-lg > li > span
-{
-    font-size: 18px;
-
-    padding: 10px 16px;
-}
-
-.mui-pagination-sm > li > a,
-.mui-pagination-sm > li > span
-{
-    font-size: 12px;
-
-    padding: 5px 10px;
-}
-
-.mui-pager
-{
-    padding-left: 0;
-
-    list-style: none;
-
-    text-align: center;
-}
-.mui-pager:before, .mui-pager:after
-{
-    display: table;
-
-    content: ' ';
-}
-.mui-pager:after
-{
-    clear: both;
-}
-.mui-pager li
-{
-    display: inline;
-}
-.mui-pager li > a,
-.mui-pager li > span
-{
-    display: inline-block;
-
-    padding: 5px 14px;
-
-    border: 1px solid #ddd;
-    border-radius: 6px;
-    background-color: #fff;
-    background-clip: padding-box;
-}
-.mui-pager li:active > a, .mui-pager li:active > span, .mui-pager li.mui-active > a, .mui-pager li.mui-active > span
-{
-    cursor: default;
-    text-decoration: none;
-
-    color: #fff;
-    border-color: #007aff;
-    background-color: #007aff;
-}
-.mui-pager .mui-next > a,
-.mui-pager .mui-next > span
-{
-    float: right;
-}
-.mui-pager .mui-previous > a,
-.mui-pager .mui-previous > span
-{
-    float: left;
-}
-.mui-pager .mui-disabled > a,
-.mui-pager .mui-disabled > a:active,
-.mui-pager .mui-disabled > span,
-.mui-pager .mui-disabled > span:active
-{
-    opacity: .6;
-    color: #777;
-    border: 1px solid #ddd;
-    background-color: #fff;
-}
-
-.mui-modal
-{
-    position: fixed;
-    z-index: 999;
-    top: 0;
-
-    overflow: hidden;
-
-    width: 100%;
-    min-height: 100%;
-
-    -webkit-transition: -webkit-transform .25s, opacity 1ms .25s;
-            transition:         transform .25s, opacity 1ms .25s;
-    -webkit-transition-timing-function: cubic-bezier(.1, .5, .1, 1);
-            transition-timing-function: cubic-bezier(.1, .5, .1, 1);
-    -webkit-transform: translate3d(0, 100%, 0);
-            transform: translate3d(0, 100%, 0);
-
-    opacity: 0;
-    background-color: #fff;
-}
-.mui-modal.mui-active
-{
-    height: 100%;
-
-    -webkit-transition: -webkit-transform .25s;
-            transition:         transform .25s;
-    -webkit-transition-timing-function: cubic-bezier(.1, .5, .1, 1);
-            transition-timing-function: cubic-bezier(.1, .5, .1, 1);
-    -webkit-transform: translate3d(0, 0, 0);
-            transform: translate3d(0, 0, 0);
-
-    opacity: 1;
-}
-
-.mui-android .mui-modal .mui-bar
-{
-    position: static;
-}
-
-.mui-android .mui-modal .mui-bar-nav ~ .mui-content
-{
-    padding-top: 0;
-}
-
-.mui-slider
-{
-    position: relative;
-    z-index: 1;
-
-    overflow: hidden;
-
-    width: 100%;
-}
-.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active
-{
-    border-bottom: 0;
-}
-.mui-slider .mui-segmented-control.mui-segmented-control-inverted ~ .mui-slider-group .mui-slider-item
-{
-    border-top: 1px solid #c8c7cc;
-    border-bottom: 1px solid #c8c7cc;
-}
-.mui-slider .mui-slider-group
-{
-    font-size: 0;
-
-    position: relative;
-
-    -webkit-transition: all 0s linear;
-            transition: all 0s linear;
-    white-space: nowrap;
-}
-.mui-slider .mui-slider-group .mui-slider-item
-{
-    font-size: 14px;
-
-    position: relative;
-
-    display: inline-block;
-
-    width: 100%;
-    height: 100%;
-
-    vertical-align: top;
-    white-space: normal;
-}
-.mui-slider .mui-slider-group .mui-slider-item > a:not(.mui-control-item)
-{
-    line-height: 0;
-
-    position: relative;
-
-    display: block;
-}
-.mui-slider .mui-slider-group .mui-slider-item img
-{
-    width: 100%;
-}
-.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before, .mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after
-{
-    height: 0;
-}
-.mui-slider .mui-slider-group.mui-slider-loop
-{
-    -webkit-transform: translate(-100%, 0px);
-            transform: translate(-100%, 0px);
-}
-
-.mui-slider-title
-{
-    line-height: 30px;
-
-    position: absolute;
-    bottom: 0;
-    left: 0;
-
-    width: 100%;
-    height: 30px;
-    margin: 0;
-
-    text-align: left;
-    text-indent: 12px;
-
-    opacity: .8;
-    background-color: #000;
-}
-
-.mui-slider-indicator
-{
-    position: absolute;
-    bottom: 8px;
-
-    width: 100%;
-
-    text-align: center;
-
-    background: none;
-}
-.mui-slider-indicator.mui-segmented-control
-{
-    position: relative;
-    bottom: auto;
-}
-.mui-slider-indicator .mui-indicator
-{
-    display: inline-block;
-
-    width: 6px;
-    height: 6px;
-    margin: 1px 6px;
-
-    cursor: pointer;
-
-    border-radius: 50%;
-    background: #aaa;
-    -webkit-box-shadow: 0 0 1px 1px rgba(130, 130, 130, .7);
-            box-shadow: 0 0 1px 1px rgba(130, 130, 130, .7);
-}
-.mui-slider-indicator .mui-active.mui-indicator
-{
-    background: #fff;
-}
-.mui-slider-indicator .mui-icon
-{
-    font-size: 20px;
-    line-height: 30px;
-
-    width: 40px;
-    height: 30px;
-    margin: 3px;
-
-    text-align: center;
-
-    border: 1px solid #ddd;
-}
-.mui-slider-indicator .mui-number
-{
-    line-height: 32px;
-
-    display: inline-block;
-
-    width: 58px;
-}
-.mui-slider-indicator .mui-number span
-{
-    color: #ff5053;
-}
-
-.mui-slider-progress-bar
-{
-    z-index: 1;
-
-    height: 2px;
-
-    -webkit-transform: translateZ(0);
-            transform: translateZ(0);
-}
-
-.mui-switch
-{
-    position: relative;
-
-    display: block;
-
-    width: 74px;
-    height: 30px;
-
-    -webkit-transition-timing-function: ease-in-out;
-            transition-timing-function: ease-in-out;
-    -webkit-transition-duration: .2s;
-            transition-duration: .2s;
-    -webkit-transition-property: background-color, border;
-            transition-property: background-color, border;
-
-    border: 2px solid #ddd;
-    border-radius: 20px;
-    background-color: #fff;
-    background-clip: padding-box;
-}
-.mui-switch.mui-disabled
-{
-    opacity: .3;
-}
-.mui-switch .mui-switch-handle
-{
-    position: absolute;
-    z-index: 1;
-    top: -1px;
-    left: -1px;
-
-    width: 28px;
-    height: 28px;
-
-    -webkit-transition: .2s ease-in-out;
-            transition: .2s ease-in-out;
-    -webkit-transition-property: -webkit-transform, width,left;
-            transition-property:         transform, width,left;
-
-    border-radius: 16px;
-    background-color: #fff;
-    background-clip: padding-box;
-    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .4);
-            box-shadow: 0 2px 5px rgba(0, 0, 0, .4);
-}
-.mui-switch:before
-{
-    font-size: 13px;
-
-    position: absolute;
-    top: 3px;
-    right: 11px;
-
-    content: 'Off';
-    text-transform: uppercase;
-
-    color: #999;
-}
-.mui-switch.mui-dragging
-{
-    border-color: #f7f7f7;
-    background-color: #f7f7f7;
-}
-.mui-switch.mui-dragging .mui-switch-handle
-{
-    width: 38px;
-}
-.mui-switch.mui-dragging.mui-active .mui-switch-handle
-{
-    left: -11px;
-
-    width: 38px;
-}
-.mui-switch.mui-active
-{
-    border-color: #4cd964;
-    background-color: #4cd964;
-}
-.mui-switch.mui-active .mui-switch-handle
-{
-    -webkit-transform: translate(43px, 0);
-            transform: translate(43px, 0);
-}
-.mui-switch.mui-active:before
-{
-    right: auto;
-    left: 15px;
-
-    content: 'On';
-
-    color: #fff;
-}
-.mui-switch input[type='checkbox']
-{
-    display: none;
-}
-
-.mui-switch-mini
-{
-    width: 47px;
-}
-.mui-switch-mini:before
-{
-    display: none;
-}
-.mui-switch-mini.mui-active .mui-switch-handle
-{
-    -webkit-transform: translate(16px, 0);
-            transform: translate(16px, 0);
-}
-
-.mui-switch-blue.mui-active
-{
-    border: 2px solid #007aff;
-    background-color: #007aff;
-}
-
-.mui-content.mui-fade
-{
-    left: 0;
-
-    opacity: 0;
-}
-.mui-content.mui-fade.mui-in
-{
-    opacity: 1;
-}
-.mui-content.mui-sliding
-{
-    z-index: 2;
-
-    -webkit-transition: -webkit-transform .4s;
-            transition:         transform .4s;
-    -webkit-transform: translate3d(0, 0, 0);
-            transform: translate3d(0, 0, 0);
-}
-.mui-content.mui-sliding.mui-left
-{
-    z-index: 1;
-
-    -webkit-transform: translate3d(-100%, 0, 0);
-            transform: translate3d(-100%, 0, 0);
-}
-.mui-content.mui-sliding.mui-right
-{
-    z-index: 3;
-
-    -webkit-transform: translate3d(100%, 0, 0);
-            transform: translate3d(100%, 0, 0);
-}
-
-.mui-navigate-right:after,
-.mui-push-left:after,
-.mui-push-right:after
-{
-    font-family: Muiicons;
-    font-size: inherit;
-    line-height: 1;
-
-    position: absolute;
-    top: 50%;
-
-    display: inline-block;
-
-    -webkit-transform: translateY(-50%);
-            transform: translateY(-50%);
-    text-decoration: none;
-
-    color: #bbb;
-
-    -webkit-font-smoothing: antialiased;
-}
-
-.mui-push-left:after
-{
-    left: 15px;
-
-    content: '\e582';
-}
-
-.mui-navigate-right:after,
-.mui-push-right:after
-{
-    right: 15px;
-
-    content: '\e583';
-}
-
-.mui-pull-top-pocket, .mui-pull-bottom-pocket
-{
-    position: absolute;
-    left: 0;
-
-    display: block;
-    visibility: hidden;
-    overflow: hidden;
-
-    width: 100%;
-    height: 50px;
-}
-
-.mui-plus-pullrefresh .mui-pull-top-pocket, .mui-plus-pullrefresh .mui-pull-bottom-pocket
-{
-    display: none;
-    visibility: visible;
-}
-
-.mui-pull-top-pocket
-{
-    top: 0;
-}
-
-.mui-bar-nav ~ .mui-content .mui-pull-top-pocket
-{
-    top: 44px;
-}
-
-.mui-bar-nav ~ .mui-bar-header-secondary ~ .mui-content .mui-pull-top-pocket
-{
-    top: 88px;
-}
-
-.mui-pull-bottom-pocket
-{
-    position: relative;
-    bottom: 0;
-
-    height: 40px;
-}
-.mui-pull-bottom-pocket .mui-pull-loading
-{
-    visibility: hidden;
-}
-.mui-pull-bottom-pocket .mui-pull-loading.mui-in
-{
-    display: inline-block;
-}
-
-.mui-pull
-{
-    font-weight: bold;
-
-    position: absolute;
-    right: 0;
-    bottom: 10px;
-    left: 0;
-
-    text-align: center;
-
-    color: #777;
-}
-
-.mui-pull-loading
-{
-    margin-right: 10px;
-
-    -webkit-transition: -webkit-transform .4s;
-            transition:         transform .4s;
-    -webkit-transition-duration: 400ms;
-            transition-duration: 400ms;
-    vertical-align: middle;
-}
-
-.mui-pull-loading.mui-reverse
-{
-    -webkit-transform: rotate(180deg) translateZ(0);
-            transform: rotate(180deg) translateZ(0);
-}
-
-.mui-pull-caption
-{
-    font-size: 15px;
-    line-height: 24px;
-
-    position: relative;
-
-    display: inline-block;
-    overflow: visible;
-
-    margin-top: 0;
-
-    vertical-align: middle;
-}
-.mui-pull-caption span
-{
-    display: none;
-}
-.mui-pull-caption span.mui-in
-{
-    display: inline;
-}
-
-.mui-toast-container
-{
-    line-height: 17px;
-
-    position: fixed;
-    z-index: 9999;
-    bottom: 50px;
-    left: 50%;
-
-    -webkit-transition: opacity .3s;
-            transition: opacity .3s;
-    -webkit-transform: translate(-50%, 0);
-            transform: translate(-50%, 0);
-
-    opacity: 0;
-}
-.mui-toast-container.mui-active
-{
-    opacity: .9;
-}
-
-.mui-toast-message
-{
-    font-size: 14px;
-
-    padding: 10px 25px;
-
-    text-align: center;
-
-    color: #fff;
-    border-radius: 6px;
-    background-color: #323232;
-}
-
-.mui-numbox
-{
-    position: relative;
-
-    display: inline-block;
-    overflow: hidden;
-
-    width: 120px;
-    height: 35px;
-    padding: 0 40px 0 40px;
-
-    vertical-align: top;
-    vertical-align: middle;
-
-    border: solid 1px #bbb;
-    border-radius: 3px;
-    background-color: #efeff4;
-}
-.mui-numbox [class*=numbox-btn], .mui-numbox [class*=btn-numbox]
-{
-    font-size: 18px;
-    font-weight: normal;
-    line-height: 100%;
-
-    position: absolute;
-    top: 0;
-
-    overflow: hidden;
-
-    width: 40px;
-    height: 100%;
-    padding: 0;
-
-    color: #555;
-    border: none;
-    border-radius: 0;
-    background-color: #f9f9f9;
-}
-.mui-numbox [class*=numbox-btn]:active, .mui-numbox [class*=btn-numbox]:active
-{
-    background-color: #ccc;
-}
-.mui-numbox [class*=numbox-btn][disabled], .mui-numbox [class*=btn-numbox][disabled]
-{
-    color: #c0c0c0;
-}
-.mui-numbox .mui-numbox-btn-plus, .mui-numbox .mui-btn-numbox-plus
-{
-    right: 0;
-
-    border-top-right-radius: 3px;
-    border-bottom-right-radius: 3px;
-}
-.mui-numbox .mui-numbox-btn-minus, .mui-numbox .mui-btn-numbox-minus
-{
-    left: 0;
-
-    border-top-left-radius: 3px;
-    border-bottom-left-radius: 3px;
-}
-.mui-numbox .mui-numbox-input, .mui-numbox .mui-input-numbox
-{
-    display: inline-block;
-    overflow: hidden;
-
-    width: 100% !important;
-    height: 100%;
-    margin: 0;
-    padding: 0 3px !important;
-
-    text-align: center;
-    text-overflow: ellipsis;
-    word-break: normal;
-
-    border: none !important;
-    border-right: solid 1px #ccc !important;
-    border-left: solid 1px #ccc !important;
-    border-radius: 0 !important;
-}
-
-.mui-input-row .mui-numbox
-{
-    float: right;
-
-    margin: 2px 8px;
-}
-
-@font-face {
-    font-family: Muiicons;
-    font-weight: normal;
-    font-style: normal;
-
-    src: url('../fonts/mui.ttf') format('truetype');
-}
-.mui-icon
-{
-    font-family: Muiicons;
-    font-size: 24px;
-    font-weight: normal;
-    font-style: normal;
-    line-height: 1;
-
-    display: inline-block;
-
-    text-decoration: none;
-
-    -webkit-font-smoothing: antialiased;
-}
-.mui-icon.mui-active
-{
-    color: #007aff;
-}
-.mui-icon.mui-right:before
-{
-    float: right;
-
-    padding-left: .2em;
-}
-
-.mui-icon-contact:before
-{
-    content: '\e100';
-}
-
-.mui-icon-person:before
-{
-    content: '\e101';
-}
-
-.mui-icon-personadd:before
-{
-    content: '\e102';
-}
-
-.mui-icon-contact-filled:before
-{
-    content: '\e130';
-}
-
-.mui-icon-person-filled:before
-{
-    content: '\e131';
-}
-
-.mui-icon-personadd-filled:before
-{
-    content: '\e132';
-}
-
-.mui-icon-phone:before
-{
-    content: '\e200';
-}
-
-.mui-icon-email:before
-{
-    content: '\e201';
-}
-
-.mui-icon-chatbubble:before
-{
-    content: '\e202';
-}
-
-.mui-icon-chatboxes:before
-{
-    content: '\e203';
-}
-
-.mui-icon-phone-filled:before
-{
-    content: '\e230';
-}
-
-.mui-icon-email-filled:before
-{
-    content: '\e231';
-}
-
-.mui-icon-chatbubble-filled:before
-{
-    content: '\e232';
-}
-
-.mui-icon-chatboxes-filled:before
-{
-    content: '\e233';
-}
-
-.mui-icon-weibo:before
-{
-    content: '\e260';
-}
-
-.mui-icon-weixin:before
-{
-    content: '\e261';
-}
-
-.mui-icon-pengyouquan:before
-{
-    content: '\e262';
-}
-
-.mui-icon-chat:before
-{
-    content: '\e263';
-}
-
-.mui-icon-qq:before
-{
-    content: '\e264';
-}
-
-.mui-icon-videocam:before
-{
-    content: '\e300';
-}
-
-.mui-icon-camera:before
-{
-    content: '\e301';
-}
-
-.mui-icon-mic:before
-{
-    content: '\e302';
-}
-
-.mui-icon-location:before
-{
-    content: '\e303';
-}
-
-.mui-icon-mic-filled:before, .mui-icon-speech:before
-{
-    content: '\e332';
-}
-
-.mui-icon-location-filled:before
-{
-    content: '\e333';
-}
-
-.mui-icon-micoff:before
-{
-    content: '\e360';
-}
-
-.mui-icon-image:before
-{
-    content: '\e363';
-}
-
-.mui-icon-map:before
-{
-    content: '\e364';
-}
-
-.mui-icon-compose:before
-{
-    content: '\e400';
-}
-
-.mui-icon-trash:before
-{
-    content: '\e401';
-}
-
-.mui-icon-upload:before
-{
-    content: '\e402';
-}
-
-.mui-icon-download:before
-{
-    content: '\e403';
-}
-
-.mui-icon-close:before
-{
-    content: '\e404';
-}
-
-.mui-icon-redo:before
-{
-    content: '\e405';
-}
-
-.mui-icon-undo:before
-{
-    content: '\e406';
-}
-
-.mui-icon-refresh:before
-{
-    content: '\e407';
-}
-
-.mui-icon-star:before
-{
-    content: '\e408';
-}
-
-.mui-icon-plus:before
-{
-    content: '\e409';
-}
-
-.mui-icon-minus:before
-{
-    content: '\e410';
-}
-
-.mui-icon-circle:before, .mui-icon-checkbox:before
-{
-    content: '\e411';
-}
-
-.mui-icon-close-filled:before, .mui-icon-clear:before
-{
-    content: '\e434';
-}
-
-.mui-icon-refresh-filled:before
-{
-    content: '\e437';
-}
-
-.mui-icon-star-filled:before
-{
-    content: '\e438';
-}
-
-.mui-icon-plus-filled:before
-{
-    content: '\e439';
-}
-
-.mui-icon-minus-filled:before
-{
-    content: '\e440';
-}
-
-.mui-icon-circle-filled:before
-{
-    content: '\e441';
-}
-
-.mui-icon-checkbox-filled:before
-{
-    content: '\e442';
-}
-
-.mui-icon-closeempty:before
-{
-    content: '\e460';
-}
-
-.mui-icon-refreshempty:before
-{
-    content: '\e461';
-}
-
-.mui-icon-reload:before
-{
-    content: '\e462';
-}
-
-.mui-icon-starhalf:before
-{
-    content: '\e463';
-}
-
-.mui-icon-spinner:before
-{
-    content: '\e464';
-}
-
-.mui-icon-spinner-cycle:before
-{
-    content: '\e465';
-}
-
-.mui-icon-search:before
-{
-    content: '\e466';
-}
-
-.mui-icon-plusempty:before
-{
-    content: '\e468';
-}
-
-.mui-icon-forward:before
-{
-    content: '\e470';
-}
-
-.mui-icon-back:before, .mui-icon-left-nav:before
-{
-    content: '\e471';
-}
-
-.mui-icon-checkmarkempty:before
-{
-    content: '\e472';
-}
-
-.mui-icon-home:before
-{
-    content: '\e500';
-}
-
-.mui-icon-navigate:before
-{
-    content: '\e501';
-}
-
-.mui-icon-gear:before
-{
-    content: '\e502';
-}
-
-.mui-icon-paperplane:before
-{
-    content: '\e503';
-}
-
-.mui-icon-info:before
-{
-    content: '\e504';
-}
-
-.mui-icon-help:before
-{
-    content: '\e505';
-}
-
-.mui-icon-locked:before
-{
-    content: '\e506';
-}
-
-.mui-icon-more:before
-{
-    content: '\e507';
-}
-
-.mui-icon-flag:before
-{
-    content: '\e508';
-}
-
-.mui-icon-home-filled:before
-{
-    content: '\e530';
-}
-
-.mui-icon-gear-filled:before
-{
-    content: '\e532';
-}
-
-.mui-icon-info-filled:before
-{
-    content: '\e534';
-}
-
-.mui-icon-help-filled:before
-{
-    content: '\e535';
-}
-
-.mui-icon-more-filled:before
-{
-    content: '\e537';
-}
-
-.mui-icon-settings:before
-{
-    content: '\e560';
-}
-
-.mui-icon-list:before
-{
-    content: '\e562';
-}
-
-.mui-icon-bars:before
-{
-    content: '\e563';
-}
-
-.mui-icon-loop:before
-{
-    content: '\e565';
-}
-
-.mui-icon-paperclip:before
-{
-    content: '\e567';
-}
-
-.mui-icon-eye:before
-{
-    content: '\e568';
-}
-
-.mui-icon-arrowup:before
-{
-    content: '\e580';
-}
-
-.mui-icon-arrowdown:before
-{
-    content: '\e581';
-}
-
-.mui-icon-arrowleft:before
-{
-    content: '\e582';
-}
-
-.mui-icon-arrowright:before
-{
-    content: '\e583';
-}
-
-.mui-icon-arrowthinup:before
-{
-    content: '\e584';
-}
-
-.mui-icon-arrowthindown:before
-{
-    content: '\e585';
-}
-
-.mui-icon-arrowthinleft:before
-{
-    content: '\e586';
-}
-
-.mui-icon-arrowthinright:before
-{
-    content: '\e587';
-}
-
-.mui-icon-pulldown:before
-{
-    content: '\e588';
-}
-
-.mui-fullscreen
-{
-    position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
-}
-.mui-fullscreen.mui-slider .mui-slider-group
-{
-    height: 100%;
-}
-.mui-fullscreen .mui-segmented-control ~ .mui-slider-group
-{
-    position: absolute;
-    top: 40px;
-    bottom: 0;
-
-    width: 100%;
-    height: auto;
-}
-.mui-fullscreen.mui-slider .mui-slider-item > a
-{
-    top: 50%;
-
-    -webkit-transform: translateY(-50%);
-            transform: translateY(-50%);
-}
-.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item > a
-{
-    top: auto;
-
-    -webkit-transform: none;
-            transform: none;
-}
-
-.mui-bar-nav ~ .mui-content .mui-slider.mui-fullscreen
-{
-    top: 44px;
-}
-
-.mui-bar-tab ~ .mui-content .mui-slider.mui-fullscreen .mui-segmented-control ~ .mui-slider-group
-{
-    bottom: 50px;
-}
-
-.mui-android.mui-android-4-0 input:focus,
-.mui-android.mui-android-4-0 textarea:focus
-{
-    -webkit-user-modify: inherit;
-}
-
-.mui-android.mui-android-4-2 input,
-.mui-android.mui-android-4-2 textarea, .mui-android.mui-android-4-3 input,
-.mui-android.mui-android-4-3 textarea
-{
-    -webkit-user-select: text;
-}
-
-.mui-ios .mui-table-view-cell
-{
-    -webkit-transform-style: preserve-3d;
-            transform-style: preserve-3d;
-}
-
-.mui-plus-visible, .mui-wechat-visible
-{
-    display: none !important;
-}
-
-.mui-plus-hidden, .mui-wechat-hidden
-{
-    display: block !important;
-}
-
-.mui-tab-item.mui-plus-hidden, .mui-tab-item.mui-wechat-hidden
-{
-    display: table-cell !important;
-}
-
-.mui-plus .mui-plus-visible, .mui-wechat .mui-wechat-visible
-{
-    display: block !important;
-}
-
-.mui-plus .mui-tab-item.mui-plus-visible, .mui-wechat .mui-tab-item.mui-wechat-visible
-{
-    display: table-cell !important;
-}
-
-.mui-plus .mui-plus-hidden, .mui-wechat .mui-wechat-hidden
-{
-    display: none !important;
-}
-
-.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav
-{
-    height: 64px;
-    padding-top: 20px;
-}
-.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav ~ .mui-content
-{
-    padding-top: 64px;
-}
-.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav ~ .mui-content .mui-pull-top-pocket
-{
-    top: 64px;
-}
-.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary
-{
-    top: 64px;
-}
-.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary ~ .mui-content
-{
-    padding-top: 94px;
-}
-
-.mui-iframe-wrapper
-{
-    position: absolute;
-    right: 0;
-    left: 0;
-
-    -webkit-overflow-scrolling: touch;
-}
-.mui-iframe-wrapper iframe
-{
-    width: 100%;
-    height: 100%;
-
-    border: 0;
-}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 4
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/css/mui.min.css


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/fonts/mui.ttf


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/img/guaduandd.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/img/jietong.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/img/logo.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/img/xinxi.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/img/y800.mp3


+ 0 - 117
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/index.html

@@ -1,117 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport"
-			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
-		<title></title>
-		<script src="js/mui.min.js"></script>
-		<link href="css/mui.min.css" rel="stylesheet" />
-		<script>
-			mui.init();
-		</script>
-		<style type="text/css">
-			html,
-			body {
-				width: 100%;
-				height: 100%;
-				background-color:transparent;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				justify-content: center;
-				/* opacity: 0.2; */
-			}
-			.contentColumnC{
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				justify-content: center;
-			}
-		</style>
-	</head>
-
-	<body>
-		<div id="time" class="contentColumnC">
-			<div>
-				CTE
-			</div>
-			<div id="noteT" style="font-size: 12px;">
-				訂單派送中,請留意信息
-			</div>
-			<div id="noteM" style="font-size: 12px;">
-				Đang giao hàng, vui lòng lưu ý thông tin
-			</div>
-		</div>
-		<audio id="my_audio" autoplay></audio>
-		<!-- <button id="btn">发送消息给app</button> -->
-		
-		<script>
-			let state=0;
-			Date.prototype.Format = function(fmt) {
-				var o = {
-					"M+": this.getMonth() + 1, //月份 
-					"d+": this.getDate(), //日 
-					"h+": this.getHours(), //小时 
-					"m+": this.getMinutes(), //分 
-					"s+": this.getSeconds(), //秒 
-					"q+": Math.floor((this.getMonth() + 3) / 3), //季度 
-					"S": this.getMilliseconds() //毫秒 
-				};
-				if (/(y+)/.test(fmt))
-					fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
-				for (var k in o) {
-					if (new RegExp("(" + k + ")").test(fmt)) {
-						fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k])
-							.length)));
-					}
-				}
-				return fmt;
-			}
-			// setInterval((res) => {
-			// 	var time = new Date().Format("yyyy-MM-dd hh:mm:ss");
-			// 	document.getElementById("time").innerHTML = "当前时间:" + time
-			// }, 10)
-
-			function changeImg() {
-				
-			}
-			function changeImgvi() {
-				
-			}
-			function changeImgMS() {
-			}
-			function changeImgMSvi() {
-				// state=2;
-				// document.getElementById("img").style.display="none";
-				// document.getElementById("noteT").textContent='Có tin mới rồi';
-				// document.getElementById("noteM").textContent='Thoát Navigation Xem thông tin.';
-				// //document.getElementById("img").setAttribute("src", "img/xinxi.png");
-				// document.getElementById("my_audio").setAttribute("src", "img/y800.mp3");
-			}
-			
-			function changeImgdef(){
-				state=0;
-				// document.getElementById("img").style.display="block";
-				// //document.getElementById("img").setAttribute("src", "img/logo.png");
-				// document.getElementById("my_audio").setAttribute("src", "");
-			}
-			
-			document.getElementById("img").addEventListener("click", function(res) {
-				document.getElementById("my_audio").setAttribute("src", "");
-				var dic = {
-					"key": state
-				}
-				var jsonStr = JSON.stringify(dic)
-				try {
-					window.webkit.messageHandlers.sendData.postMessage(jsonStr); //ios
-				} catch (e) {}
-			})
-			function releaseTack(){
-				document.getElementById("my_audio").setAttribute("src", "");
-			}
-			window.onunload=releaseTack;
-		</script>
-	</body>
-</html>

+ 0 - 8390
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/js/mui.js

@@ -1,8390 +0,0 @@
-/*!
- * =====================================================
- * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)
- * =====================================================
- */
-/**
- * MUI核心JS
- * @type _L4.$|Function
- */
-var mui = (function(document, undefined) {
-	var readyRE = /complete|loaded|interactive/;
-	var idSelectorRE = /^#([\w-]+)$/;
-	var classSelectorRE = /^\.([\w-]+)$/;
-	var tagSelectorRE = /^[\w-]+$/;
-	var translateRE = /translate(?:3d)?\((.+?)\)/;
-	var translateMatrixRE = /matrix(3d)?\((.+?)\)/;
-
-	var $ = function(selector, context) {
-		context = context || document;
-		if (!selector)
-			return wrap();
-		if (typeof selector === 'object')
-			if ($.isArrayLike(selector)) {
-				return wrap($.slice.call(selector), null);
-			} else {
-				return wrap([selector], null);
-			}
-		if (typeof selector === 'function')
-			return $.ready(selector);
-		if (typeof selector === 'string') {
-			try {
-				selector = selector.trim();
-				if (idSelectorRE.test(selector)) {
-					var found = document.getElementById(RegExp.$1);
-					return wrap(found ? [found] : []);
-				}
-				return wrap($.qsa(selector, context), selector);
-			} catch (e) {}
-		}
-		return wrap();
-	};
-
-	var wrap = function(dom, selector) {
-		dom = dom || [];
-		Object.setPrototypeOf(dom, $.fn);
-		dom.selector = selector || '';
-		return dom;
-	};
-
-	$.uuid = 0;
-
-	$.data = {};
-	/**
-	 * extend(simple)
-	 * @param {type} target
-	 * @param {type} source
-	 * @param {type} deep
-	 * @returns {unresolved}
-	 */
-	$.extend = function() { //from jquery2
-		var options, name, src, copy, copyIsArray, clone,
-			target = arguments[0] || {},
-			i = 1,
-			length = arguments.length,
-			deep = false;
-
-		if (typeof target === "boolean") {
-			deep = target;
-
-			target = arguments[i] || {};
-			i++;
-		}
-
-		if (typeof target !== "object" && !$.isFunction(target)) {
-			target = {};
-		}
-
-		if (i === length) {
-			target = this;
-			i--;
-		}
-
-		for (; i < length; i++) {
-			if ((options = arguments[i]) != null) {
-				for (name in options) {
-					src = target[name];
-					copy = options[name];
-
-					if (target === copy) {
-						continue;
-					}
-
-					if (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy)))) {
-						if (copyIsArray) {
-							copyIsArray = false;
-							clone = src && $.isArray(src) ? src : [];
-
-						} else {
-							clone = src && $.isPlainObject(src) ? src : {};
-						}
-
-						target[name] = $.extend(deep, clone, copy);
-
-					} else if (copy !== undefined) {
-						target[name] = copy;
-					}
-				}
-			}
-		}
-
-		return target;
-	};
-	/**
-	 * mui noop(function)
-	 */
-	$.noop = function() {};
-	/**
-	 * mui slice(array)
-	 */
-	$.slice = [].slice;
-	/**
-	 * mui filter(array)
-	 */
-	$.filter = [].filter;
-
-	$.type = function(obj) {
-		return obj == null ? String(obj) : class2type[{}.toString.call(obj)] || "object";
-	};
-	/**
-	 * mui isArray
-	 */
-	$.isArray = Array.isArray ||
-		function(object) {
-			return object instanceof Array;
-		};
-	/**
-	 * mui isArrayLike 
-	 * @param {Object} obj
-	 */
-	$.isArrayLike = function(obj) {
-		var length = !!obj && "length" in obj && obj.length;
-		var type = $.type(obj);
-		if (type === "function" || $.isWindow(obj)) {
-			return false;
-		}
-		return type === "array" || length === 0 ||
-			typeof length === "number" && length > 0 && (length - 1) in obj;
-	};
-	/**
-	 * mui isWindow(需考虑obj为undefined的情况)
-	 */
-	$.isWindow = function(obj) {
-		return obj != null && obj === obj.window;
-	};
-	/**
-	 * mui isObject
-	 */
-	$.isObject = function(obj) {
-		return $.type(obj) === "object";
-	};
-	/**
-	 * mui isPlainObject
-	 */
-	$.isPlainObject = function(obj) {
-		return $.isObject(obj) && !$.isWindow(obj) && Object.getPrototypeOf(obj) === Object.prototype;
-	};
-	/**
-	 * mui isEmptyObject
-	 * @param {Object} o
-	 */
-	$.isEmptyObject = function(o) {
-		for (var p in o) {
-			if (p !== undefined) {
-				return false;
-			}
-		}
-		return true;
-	};
-	/**
-	 * mui isFunction
-	 */
-	$.isFunction = function(value) {
-		return $.type(value) === "function";
-	};
-	/**
-	 * mui querySelectorAll
-	 * @param {type} selector
-	 * @param {type} context
-	 * @returns {Array}
-	 */
-	$.qsa = function(selector, context) {
-		context = context || document;
-		return $.slice.call(classSelectorRE.test(selector) ? context.getElementsByClassName(RegExp.$1) : tagSelectorRE.test(selector) ? context.getElementsByTagName(selector) : context.querySelectorAll(selector));
-	};
-	/**
-	 * ready(DOMContentLoaded)
-	 * @param {type} callback
-	 * @returns {_L6.$}
-	 */
-	$.ready = function(callback) {
-		if (readyRE.test(document.readyState)) {
-			callback($);
-		} else {
-			document.addEventListener('DOMContentLoaded', function() {
-				callback($);
-			}, false);
-		}
-		return this;
-	};
-	/**
-	 * 将 fn 缓存一段时间后, 再被调用执行
-	 * 此方法为了避免在 ms 段时间内, 执行 fn 多次. 常用于 resize , scroll , mousemove 等连续性事件中;
-	 * 当 ms 设置为 -1, 表示立即执行 fn, 即和直接调用 fn 一样;
-	 * 调用返回函数的 stop 停止最后一次的 buffer 效果
-	 * @param {Object} fn
-	 * @param {Object} ms
-	 * @param {Object} context
-	 */
-	$.buffer = function(fn, ms, context) {
-		var timer;
-		var lastStart = 0;
-		var lastEnd = 0;
-		var ms = ms || 150;
-
-		function run() {
-			if (timer) {
-				timer.cancel();
-				timer = 0;
-			}
-			lastStart = $.now();
-			fn.apply(context || this, arguments);
-			lastEnd = $.now();
-		}
-
-		return $.extend(function() {
-			if (
-				(!lastStart) || // 从未运行过
-				(lastEnd >= lastStart && $.now() - lastEnd > ms) || // 上次运行成功后已经超过ms毫秒
-				(lastEnd < lastStart && $.now() - lastStart > ms * 8) // 上次运行或未完成,后8*ms毫秒
-			) {
-				run.apply(this, arguments);
-			} else {
-				if (timer) {
-					timer.cancel();
-				}
-				timer = $.later(run, ms, null, $.slice.call(arguments));
-			}
-		}, {
-			stop: function() {
-				if (timer) {
-					timer.cancel();
-					timer = 0;
-				}
-			}
-		});
-	};
-	/**
-	 * each
-	 * @param {type} elements
-	 * @param {type} callback
-	 * @returns {_L8.$}
-	 */
-	$.each = function(elements, callback, hasOwnProperty) {
-		if (!elements) {
-			return this;
-		}
-		if (typeof elements.length === 'number') {
-			[].every.call(elements, function(el, idx) {
-				return callback.call(el, idx, el) !== false;
-			});
-		} else {
-			for (var key in elements) {
-				if (hasOwnProperty) {
-					if (elements.hasOwnProperty(key)) {
-						if (callback.call(elements[key], key, elements[key]) === false) return elements;
-					}
-				} else {
-					if (callback.call(elements[key], key, elements[key]) === false) return elements;
-				}
-			}
-		}
-		return this;
-	};
-	$.focus = function(element) {
-		if ($.os.ios) {
-			setTimeout(function() {
-				element.focus();
-			}, 10);
-		} else {
-			element.focus();
-		}
-	};
-	/**
-	 * trigger event
-	 * @param {type} element
-	 * @param {type} eventType
-	 * @param {type} eventData
-	 * @returns {_L8.$}
-	 */
-	$.trigger = function(element, eventType, eventData) {
-		element.dispatchEvent(new CustomEvent(eventType, {
-			detail: eventData,
-			bubbles: true,
-			cancelable: true
-		}));
-		return this;
-	};
-	/**
-	 * getStyles
-	 * @param {type} element
-	 * @param {type} property
-	 * @returns {styles}
-	 */
-	$.getStyles = function(element, property) {
-		var styles = element.ownerDocument.defaultView.getComputedStyle(element, null);
-		if (property) {
-			return styles.getPropertyValue(property) || styles[property];
-		}
-		return styles;
-	};
-	/**
-	 * parseTranslate
-	 * @param {type} translateString
-	 * @param {type} position
-	 * @returns {Object}
-	 */
-	$.parseTranslate = function(translateString, position) {
-		var result = translateString.match(translateRE || '');
-		if (!result || !result[1]) {
-			result = ['', '0,0,0'];
-		}
-		result = result[1].split(",");
-		result = {
-			x: parseFloat(result[0]),
-			y: parseFloat(result[1]),
-			z: parseFloat(result[2])
-		};
-		if (position && result.hasOwnProperty(position)) {
-			return result[position];
-		}
-		return result;
-	};
-	/**
-	 * parseTranslateMatrix
-	 * @param {type} translateString
-	 * @param {type} position
-	 * @returns {Object}
-	 */
-	$.parseTranslateMatrix = function(translateString, position) {
-		var matrix = translateString.match(translateMatrixRE);
-		var is3D = matrix && matrix[1];
-		if (matrix) {
-			matrix = matrix[2].split(",");
-			if (is3D === "3d")
-				matrix = matrix.slice(12, 15);
-			else {
-				matrix.push(0);
-				matrix = matrix.slice(4, 7);
-			}
-		} else {
-			matrix = [0, 0, 0];
-		}
-		var result = {
-			x: parseFloat(matrix[0]),
-			y: parseFloat(matrix[1]),
-			z: parseFloat(matrix[2])
-		};
-		if (position && result.hasOwnProperty(position)) {
-			return result[position];
-		}
-		return result;
-	};
-	$.hooks = {};
-	$.addAction = function(type, hook) {
-		var hooks = $.hooks[type];
-		if (!hooks) {
-			hooks = [];
-		}
-		hook.index = hook.index || 1000;
-		hooks.push(hook);
-		hooks.sort(function(a, b) {
-			return a.index - b.index;
-		});
-		$.hooks[type] = hooks;
-		return $.hooks[type];
-	};
-	$.doAction = function(type, callback) {
-		if ($.isFunction(callback)) { //指定了callback
-			$.each($.hooks[type], callback);
-		} else { //未指定callback,直接执行
-			$.each($.hooks[type], function(index, hook) {
-				return !hook.handle();
-			});
-		}
-	};
-	/**
-	 * setTimeout封装
-	 * @param {Object} fn
-	 * @param {Object} when
-	 * @param {Object} context
-	 * @param {Object} data
-	 */
-	$.later = function(fn, when, context, data) {
-		when = when || 0;
-		var m = fn;
-		var d = data;
-		var f;
-		var r;
-
-		if (typeof fn === 'string') {
-			m = context[fn];
-		}
-
-		f = function() {
-			m.apply(context, $.isArray(d) ? d : [d]);
-		};
-
-		r = setTimeout(f, when);
-
-		return {
-			id: r,
-			cancel: function() {
-				clearTimeout(r);
-			}
-		};
-	};
-	$.now = Date.now || function() {
-		return +new Date();
-	};
-	var class2type = {};
-	$.each(['Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp', 'Object', 'Error'], function(i, name) {
-		class2type["[object " + name + "]"] = name.toLowerCase();
-	});
-	if (window.JSON) {
-		$.parseJSON = JSON.parse;
-	}
-	/**
-	 * $.fn
-	 */
-	$.fn = {
-		each: function(callback) {
-			[].every.call(this, function(el, idx) {
-				return callback.call(el, idx, el) !== false;
-			});
-			return this;
-		}
-	};
-
-	/**
-	 * 兼容 AMD 模块
-	 **/
-	if (typeof define === 'function' && define.amd) {
-		define('mui', [], function() {
-			return $;
-		});
-	}
-
-	return $;
-})(document);
-//window.mui = mui;
-//'$' in window || (window.$ = mui);
-/**
- * $.os
- * @param {type} $
- * @returns {undefined}
- */
-(function($, window) {
-	function detect(ua) {
-		this.os = {};
-		var funcs = [
-
-			function() { //wechat
-				var wechat = ua.match(/(MicroMessenger)\/([\d\.]+)/i);
-				if (wechat) { //wechat
-					this.os.wechat = {
-						version: wechat[2].replace(/_/g, '.')
-					};
-				}
-				return false;
-			},
-			function() { //android
-				var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/);
-				if (android) {
-					this.os.android = true;
-					this.os.version = android[2];
-
-					this.os.isBadAndroid = !(/Chrome\/\d/.test(window.navigator.appVersion));
-				}
-				return this.os.android === true;
-			},
-			function() { //ios
-				var iphone = ua.match(/(iPhone\sOS)\s([\d_]+)/);
-				if (iphone) { //iphone
-					this.os.ios = this.os.iphone = true;
-					this.os.version = iphone[2].replace(/_/g, '.');
-				} else {
-					var ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
-					if (ipad) { //ipad
-						this.os.ios = this.os.ipad = true;
-						this.os.version = ipad[2].replace(/_/g, '.');
-					}
-				}
-				return this.os.ios === true;
-			}
-		];
-		[].every.call(funcs, function(func) {
-			return !func.call($);
-		});
-	}
-	detect.call($, navigator.userAgent);
-})(mui, window);
-/**
- * $.os.plus
- * @param {type} $
- * @returns {undefined}
- */
-(function($, document) {
-	function detect(ua) {
-		this.os = this.os || {};
-		var plus = ua.match(/Html5Plus/i); //TODO 5\+Browser?
-		if (plus) {
-			this.os.plus = true;
-			$(function() {
-				document.body.classList.add('mui-plus');
-			});
-			if (ua.match(/StreamApp/i)) { //TODO 最好有流应用自己的标识
-				this.os.stream = true;
-				$(function() {
-					document.body.classList.add('mui-plus-stream');
-				});
-			}
-		}
-	}
-	detect.call($, navigator.userAgent);
-})(mui, document);
-/**
- * 仅提供简单的on,off(仅支持事件委托,不支持当前元素绑定,当前元素绑定请直接使用addEventListener,removeEventListener)
- * @param {Object} $
- */
-(function($) {
-	if ('ontouchstart' in window) {
-		$.isTouchable = true;
-		$.EVENT_START = 'touchstart';
-		$.EVENT_MOVE = 'touchmove';
-		$.EVENT_END = 'touchend';
-	} else {
-		$.isTouchable = false;
-		$.EVENT_START = 'mousedown';
-		$.EVENT_MOVE = 'mousemove';
-		$.EVENT_END = 'mouseup';
-	}
-	$.EVENT_CANCEL = 'touchcancel';
-	$.EVENT_CLICK = 'click';
-
-	var _mid = 1;
-	var delegates = {};
-	//需要wrap的函数
-	var eventMethods = {
-		preventDefault: 'isDefaultPrevented',
-		stopImmediatePropagation: 'isImmediatePropagationStopped',
-		stopPropagation: 'isPropagationStopped'
-	};
-	//默认true返回函数
-	var returnTrue = function() {
-		return true
-	};
-	//默认false返回函数
-	var returnFalse = function() {
-		return false
-	};
-	//wrap浏览器事件
-	var compatible = function(event, target) {
-		if (!event.detail) {
-			event.detail = {
-				currentTarget: target
-			};
-		} else {
-			event.detail.currentTarget = target;
-		}
-		$.each(eventMethods, function(name, predicate) {
-			var sourceMethod = event[name];
-			event[name] = function() {
-				this[predicate] = returnTrue;
-				return sourceMethod && sourceMethod.apply(event, arguments)
-			}
-			event[predicate] = returnFalse;
-		}, true);
-		return event;
-	};
-	//简单的wrap对象_mid
-	var mid = function(obj) {
-		return obj && (obj._mid || (obj._mid = _mid++));
-	};
-	//事件委托对象绑定的事件回调列表
-	var delegateFns = {};
-	//返回事件委托的wrap事件回调
-	var delegateFn = function(element, event, selector, callback) {
-		return function(e) {
-			//same event
-			var callbackObjs = delegates[element._mid][event];
-			var handlerQueue = [];
-			var target = e.target;
-			var selectorAlls = {};
-			for (; target && target !== document; target = target.parentNode) {
-				if (target === element) {
-					break;
-				}
-				if (~['click', 'tap', 'doubletap', 'longtap', 'hold'].indexOf(event) && (target.disabled || target.classList.contains('mui-disabled'))) {
-					break;
-				}
-				var matches = {};
-				$.each(callbackObjs, function(selector, callbacks) { //same selector
-					selectorAlls[selector] || (selectorAlls[selector] = $.qsa(selector, element));
-					if (selectorAlls[selector] && ~(selectorAlls[selector]).indexOf(target)) {
-						if (!matches[selector]) {
-							matches[selector] = callbacks;
-						}
-					}
-				}, true);
-				if (!$.isEmptyObject(matches)) {
-					handlerQueue.push({
-						element: target,
-						handlers: matches
-					});
-				}
-			}
-			selectorAlls = null;
-			e = compatible(e); //compatible event
-			$.each(handlerQueue, function(index, handler) {
-				target = handler.element;
-				var tagName = target.tagName;
-				if (event === 'tap' && (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && tagName !== 'SELECT')) {
-					e.preventDefault();
-					e.detail && e.detail.gesture && e.detail.gesture.preventDefault();
-				}
-				$.each(handler.handlers, function(index, handler) {
-					$.each(handler, function(index, callback) {
-						if (callback.call(target, e) === false) {
-							e.preventDefault();
-							e.stopPropagation();
-						}
-					}, true);
-				}, true)
-				if (e.isPropagationStopped()) {
-					return false;
-				}
-			}, true);
-		};
-	};
-	var findDelegateFn = function(element, event) {
-		var delegateCallbacks = delegateFns[mid(element)];
-		var result = [];
-		if (delegateCallbacks) {
-			result = [];
-			if (event) {
-				var filterFn = function(fn) {
-					return fn.type === event;
-				}
-				return delegateCallbacks.filter(filterFn);
-			} else {
-				result = delegateCallbacks;
-			}
-		}
-		return result;
-	};
-	var preventDefaultException = /^(INPUT|TEXTAREA|BUTTON|SELECT)$/;
-	/**
-	 * mui delegate events
-	 * @param {type} event
-	 * @param {type} selector
-	 * @param {type} callback
-	 * @returns {undefined}
-	 */
-	$.fn.on = function(event, selector, callback) { //仅支持简单的事件委托,主要是tap事件使用,类似mouse,focus之类暂不封装支持
-		return this.each(function() {
-			var element = this;
-			mid(element);
-			mid(callback);
-			var isAddEventListener = false;
-			var delegateEvents = delegates[element._mid] || (delegates[element._mid] = {});
-			var delegateCallbackObjs = delegateEvents[event] || ((delegateEvents[event] = {}));
-			if ($.isEmptyObject(delegateCallbackObjs)) {
-				isAddEventListener = true;
-			}
-			var delegateCallbacks = delegateCallbackObjs[selector] || (delegateCallbackObjs[selector] = []);
-			delegateCallbacks.push(callback);
-			if (isAddEventListener) {
-				var delegateFnArray = delegateFns[mid(element)];
-				if (!delegateFnArray) {
-					delegateFnArray = [];
-				}
-				var delegateCallback = delegateFn(element, event, selector, callback);
-				delegateFnArray.push(delegateCallback);
-				delegateCallback.i = delegateFnArray.length - 1;
-				delegateCallback.type = event;
-				delegateFns[mid(element)] = delegateFnArray;
-				element.addEventListener(event, delegateCallback);
-				if (event === 'tap') { //TODO 需要找个更好的解决方案
-					element.addEventListener('click', function(e) {
-						if (e.target) {
-							var tagName = e.target.tagName;
-							if (!preventDefaultException.test(tagName)) {
-								if (tagName === 'A') {
-									var href = e.target.href;
-									if (!(href && ~href.indexOf('tel:'))) {
-										e.preventDefault();
-									}
-								} else {
-									e.preventDefault();
-								}
-							}
-						}
-					});
-				}
-			}
-		});
-	};
-	$.fn.off = function(event, selector, callback) {
-		return this.each(function() {
-			var _mid = mid(this);
-			if (!event) { //mui(selector).off();
-				delegates[_mid] && delete delegates[_mid];
-			} else if (!selector) { //mui(selector).off(event);
-				delegates[_mid] && delete delegates[_mid][event];
-			} else if (!callback) { //mui(selector).off(event,selector);
-				delegates[_mid] && delegates[_mid][event] && delete delegates[_mid][event][selector];
-			} else { //mui(selector).off(event,selector,callback);
-				var delegateCallbacks = delegates[_mid] && delegates[_mid][event] && delegates[_mid][event][selector];
-				$.each(delegateCallbacks, function(index, delegateCallback) {
-					if (mid(delegateCallback) === mid(callback)) {
-						delegateCallbacks.splice(index, 1);
-						return false;
-					}
-				}, true);
-			}
-			if (delegates[_mid]) {
-				//如果off掉了所有当前element的指定的event事件,则remove掉当前element的delegate回调
-				if ((!delegates[_mid][event] || $.isEmptyObject(delegates[_mid][event]))) {
-					findDelegateFn(this, event).forEach(function(fn) {
-						this.removeEventListener(fn.type, fn);
-						delete delegateFns[_mid][fn.i];
-					}.bind(this));
-				}
-			} else {
-				//如果delegates[_mid]已不存在,删除所有
-				findDelegateFn(this).forEach(function(fn) {
-					this.removeEventListener(fn.type, fn);
-					delete delegateFns[_mid][fn.i];
-				}.bind(this));
-			}
-		});
-
-	};
-})(mui);
-/**
- * mui target(action>popover>modal>tab>toggle)
- */
-(function($, window, document) {
-	/**
-	 * targets
-	 */
-	$.targets = {};
-	/**
-	 * target handles
-	 */
-	$.targetHandles = [];
-	/**
-	 * register target
-	 * @param {type} target
-	 * @returns {$.targets}
-	 */
-	$.registerTarget = function(target) {
-
-		target.index = target.index || 1000;
-
-		$.targetHandles.push(target);
-
-		$.targetHandles.sort(function(a, b) {
-			return a.index - b.index;
-		});
-
-		return $.targetHandles;
-	};
-	window.addEventListener($.EVENT_START, function(event) {
-		var target = event.target;
-		var founds = {};
-		for (; target && target !== document; target = target.parentNode) {
-			var isFound = false;
-			$.each($.targetHandles, function(index, targetHandle) {
-				var name = targetHandle.name;
-				if (!isFound && !founds[name] && targetHandle.hasOwnProperty('handle')) {
-					$.targets[name] = targetHandle.handle(event, target);
-					if ($.targets[name]) {
-						founds[name] = true;
-						if (targetHandle.isContinue !== true) {
-							isFound = true;
-						}
-					}
-				} else {
-					if (!founds[name]) {
-						if (targetHandle.isReset !== false)
-							$.targets[name] = false;
-					}
-				}
-			});
-			if (isFound) {
-				break;
-			}
-		}
-	});
-	window.addEventListener('click', function(event) { //解决touch与click的target不一致的问题(比如链接边缘点击时,touch的target为html,而click的target为A)
-		var target = event.target;
-		var isFound = false;
-		for (; target && target !== document; target = target.parentNode) {
-			if (target.tagName === 'A') {
-				$.each($.targetHandles, function(index, targetHandle) {
-					var name = targetHandle.name;
-					if (targetHandle.hasOwnProperty('handle')) {
-						if (targetHandle.handle(event, target)) {
-							isFound = true;
-							event.preventDefault();
-							return false;
-						}
-					}
-				});
-				if (isFound) {
-					break;
-				}
-			}
-		}
-	});
-})(mui, window, document);
-/**
- * fixed trim
- * @param {type} undefined
- * @returns {undefined}
- */
-(function(undefined) {
-	if (String.prototype.trim === undefined) { // fix for iOS 3.2
-		String.prototype.trim = function() {
-			return this.replace(/^\s+|\s+$/g, '');
-		};
-	}
-	Object.setPrototypeOf = Object.setPrototypeOf || function(obj, proto) {
-		obj['__proto__'] = proto;
-		return obj;
-	};
-
-})();
-/**
- * fixed CustomEvent
- */
-(function() {
-	if (typeof window.CustomEvent === 'undefined') {
-		function CustomEvent(event, params) {
-			params = params || {
-				bubbles: false,
-				cancelable: false,
-				detail: undefined
-			};
-			var evt = document.createEvent('Events');
-			var bubbles = true;
-			for (var name in params) {
-				(name === 'bubbles') ? (bubbles = !!params[name]) : (evt[name] = params[name]);
-			}
-			evt.initEvent(event, bubbles, true);
-			return evt;
-		};
-		CustomEvent.prototype = window.Event.prototype;
-		window.CustomEvent = CustomEvent;
-	}
-})();
-/*
-	A shim for non ES5 supporting browsers.
-	Adds function bind to Function prototype, so that you can do partial application.
-	Works even with the nasty thing, where the first word is the opposite of extranet, the second one is the profession of Columbus, and the version number is 9, flipped 180 degrees.
-*/
-
-Function.prototype.bind = Function.prototype.bind || function(to) {
-	// Make an array of our arguments, starting from second argument
-	var partial = Array.prototype.splice.call(arguments, 1),
-		// We'll need the original function.
-		fn = this;
-	var bound = function() {
-			// Join the already applied arguments to the now called ones (after converting to an array again).
-			var args = partial.concat(Array.prototype.splice.call(arguments, 0));
-			// If not being called as a constructor
-			if (!(this instanceof bound)) {
-				// return the result of the function called bound to target and partially applied.
-				return fn.apply(to, args);
-			}
-			// If being called as a constructor, apply the function bound to self.
-			fn.apply(this, args);
-		}
-		// Attach the prototype of the function to our newly created function.
-	bound.prototype = fn.prototype;
-	return bound;
-};
-/**
- * mui fixed classList
- * @param {type} document
- * @returns {undefined}
- */
-(function(document) {
-    if (!("classList" in document.documentElement) && Object.defineProperty && typeof HTMLElement !== 'undefined') {
-
-        Object.defineProperty(HTMLElement.prototype, 'classList', {
-            get: function() {
-                var self = this;
-                function update(fn) {
-                    return function(value) {
-                        var classes = self.className.split(/\s+/),
-                                index = classes.indexOf(value);
-
-                        fn(classes, index, value);
-                        self.className = classes.join(" ");
-                    };
-                }
-
-                var ret = {
-                    add: update(function(classes, index, value) {
-                        ~index || classes.push(value);
-                    }),
-                    remove: update(function(classes, index) {
-                        ~index && classes.splice(index, 1);
-                    }),
-                    toggle: update(function(classes, index, value) {
-                        ~index ? classes.splice(index, 1) : classes.push(value);
-                    }),
-                    contains: function(value) {
-                        return !!~self.className.split(/\s+/).indexOf(value);
-                    },
-                    item: function(i) {
-                        return self.className.split(/\s+/)[i] || null;
-                    }
-                };
-
-                Object.defineProperty(ret, 'length', {
-                    get: function() {
-                        return self.className.split(/\s+/).length;
-                    }
-                });
-
-                return ret;
-            }
-        });
-    }
-})(document);
-
-/**
- * mui fixed requestAnimationFrame
- * @param {type} window
- * @returns {undefined}
- */
-(function(window) {
-	if (!window.requestAnimationFrame) {
-		var lastTime = 0;
-		window.requestAnimationFrame = window.webkitRequestAnimationFrame || function(callback, element) {
-			var currTime = new Date().getTime();
-			var timeToCall = Math.max(0, 16.7 - (currTime - lastTime));
-			var id = window.setTimeout(function() {
-				callback(currTime + timeToCall);
-			}, timeToCall);
-			lastTime = currTime + timeToCall;
-			return id;
-		};
-		window.cancelAnimationFrame = window.webkitCancelAnimationFrame || window.webkitCancelRequestAnimationFrame || function(id) {
-			clearTimeout(id);
-		};
-	};
-}(window));
-/**
- * fastclick(only for radio,checkbox)
- */
-(function($, window, name) {
-	if (!$.os.android && !$.os.ios) { //目前仅识别android和ios
-		return;
-	}
-	if (window.FastClick) {
-		return;
-	}
-
-	var handle = function(event, target) {
-		if (target.tagName === 'LABEL') {
-			if (target.parentNode) {
-				target = target.parentNode.querySelector('input');
-			}
-		}
-		if (target && (target.type === 'radio' || target.type === 'checkbox')) {
-			if (!target.disabled) { //disabled
-				return target;
-			}
-		}
-		return false;
-	};
-
-	$.registerTarget({
-		name: name,
-		index: 40,
-		handle: handle,
-		target: false
-	});
-	var dispatchEvent = function(event) {
-		var targetElement = $.targets.click;
-		if (targetElement) {
-			var clickEvent, touch;
-			// On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect
-			if (document.activeElement && document.activeElement !== targetElement) {
-				document.activeElement.blur();
-			}
-			touch = event.detail.gesture.changedTouches[0];
-			// Synthesise a click event, with an extra attribute so it can be tracked
-			clickEvent = document.createEvent('MouseEvents');
-			clickEvent.initMouseEvent('click', true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);
-			clickEvent.forwardedTouchEvent = true;
-			targetElement.dispatchEvent(clickEvent);
-			event.detail && event.detail.gesture.preventDefault();
-		}
-	};
-	window.addEventListener('tap', dispatchEvent);
-	window.addEventListener('doubletap', dispatchEvent);
-	//捕获
-	window.addEventListener('click', function(event) {
-		if ($.targets.click) {
-			if (!event.forwardedTouchEvent) { //stop click
-				if (event.stopImmediatePropagation) {
-					event.stopImmediatePropagation();
-				} else {
-					// Part of the hack for browsers that don't support Event#stopImmediatePropagation
-					event.propagationStopped = true;
-				}
-				event.stopPropagation();
-				event.preventDefault();
-				return false;
-			}
-		}
-	}, true);
-
-})(mui, window, 'click');
-(function($, document) {
-	$(function() {
-		if (!$.os.ios) {
-			return;
-		}
-		var CLASS_FOCUSIN = 'mui-focusin';
-		var CLASS_BAR_TAB = 'mui-bar-tab';
-		var CLASS_BAR_FOOTER = 'mui-bar-footer';
-		var CLASS_BAR_FOOTER_SECONDARY = 'mui-bar-footer-secondary';
-		var CLASS_BAR_FOOTER_SECONDARY_TAB = 'mui-bar-footer-secondary-tab';
-		// var content = document.querySelector('.' + CLASS_CONTENT);
-		// if (content) {
-		// 	document.body.insertBefore(content, document.body.firstElementChild);
-		// }
-		document.addEventListener('focusin', function(e) {
-			if ($.os.plus) { //在父webview里边不fix
-				if (window.plus) {
-					if (plus.webview.currentWebview().children().length > 0) {
-						return;
-					}
-				}
-			}
-			var target = e.target;
-			//TODO 需考虑所有键盘弹起的情况
-			if (target.tagName && (target.tagName === 'TEXTAREA' || (target.tagName === 'INPUT' && (target.type === 'text' || target.type === 'search' || target.type === 'number')))) {
-				if (target.disabled || target.readOnly) {
-					return;
-				}
-				document.body.classList.add(CLASS_FOCUSIN);
-				var isFooter = false;
-				for (; target && target !== document; target = target.parentNode) {
-					var classList = target.classList;
-					if (classList && classList.contains(CLASS_BAR_TAB) || classList.contains(CLASS_BAR_FOOTER) || classList.contains(CLASS_BAR_FOOTER_SECONDARY) || classList.contains(CLASS_BAR_FOOTER_SECONDARY_TAB)) {
-						isFooter = true;
-						break;
-					}
-				}
-				if (isFooter) {
-					var scrollTop = document.body.scrollHeight;
-					var scrollLeft = document.body.scrollLeft;
-					setTimeout(function() {
-						window.scrollTo(scrollLeft, scrollTop);
-					}, 20);
-				}
-			}
-		});
-		document.addEventListener('focusout', function(e) {
-			var classList = document.body.classList;
-			if (classList.contains(CLASS_FOCUSIN)) {
-				classList.remove(CLASS_FOCUSIN);
-				setTimeout(function() {
-					window.scrollTo(document.body.scrollLeft, document.body.scrollTop);
-				}, 20);
-			}
-		});
-	});
-})(mui, document);
-/**
- * mui namespace(optimization)
- * @param {type} $
- * @returns {undefined}
- */
-(function($) {
-	$.namespace = 'mui';
-	$.classNamePrefix = $.namespace + '-';
-	$.classSelectorPrefix = '.' + $.classNamePrefix;
-	/**
-	 * 返回正确的className
-	 * @param {type} className
-	 * @returns {String}
-	 */
-	$.className = function(className) {
-		return $.classNamePrefix + className;
-	};
-	/**
-	 * 返回正确的classSelector
-	 * @param {type} classSelector
-	 * @returns {String}
-	 */
-	$.classSelector = function(classSelector) {
-		return classSelector.replace(/\./g, $.classSelectorPrefix);
-	};
-	/**
-         * 返回正确的eventName
-         * @param {type} event
-         * @param {type} module
-         * @returns {String}
-         */
-	$.eventName = function(event, module) {
-		return event + ($.namespace ? ('.' + $.namespace) : '') + ( module ? ('.' + module) : '');
-	};
-})(mui);
-
-/**
- * mui gestures
- * @param {type} $
- * @param {type} window
- * @returns {undefined}
- */
-(function($, window) {
-	$.gestures = {
-		session: {}
-	};
-	/**
-	 * Gesture preventDefault
-	 * @param {type} e
-	 * @returns {undefined}
-	 */
-	$.preventDefault = function(e) {
-		e.preventDefault();
-	};
-	/**
-	 * Gesture stopPropagation
-	 * @param {type} e
-	 * @returns {undefined}
-	 */
-	$.stopPropagation = function(e) {
-		e.stopPropagation();
-	};
-
-	/**
-	 * register gesture
-	 * @param {type} gesture
-	 * @returns {$.gestures}
-	 */
-	$.addGesture = function(gesture) {
-		return $.addAction('gestures', gesture);
-
-	};
-
-	var round = Math.round;
-	var abs = Math.abs;
-	var sqrt = Math.sqrt;
-	var atan = Math.atan;
-	var atan2 = Math.atan2;
-	/**
-	 * distance
-	 * @param {type} p1
-	 * @param {type} p2
-	 * @returns {Number}
-	 */
-	var getDistance = function(p1, p2, props) {
-		if(!props) {
-			props = ['x', 'y'];
-		}
-		var x = p2[props[0]] - p1[props[0]];
-		var y = p2[props[1]] - p1[props[1]];
-		return sqrt((x * x) + (y * y));
-	};
-	/**
-	 * scale
-	 * @param {Object} starts
-	 * @param {Object} moves
-	 */
-	var getScale = function(starts, moves) {
-		if(starts.length >= 2 && moves.length >= 2) {
-			var props = ['pageX', 'pageY'];
-			return getDistance(moves[1], moves[0], props) / getDistance(starts[1], starts[0], props);
-		}
-		return 1;
-	};
-	/**
-	 * angle
-	 * @param {type} p1
-	 * @param {type} p2
-	 * @returns {Number}
-	 */
-	var getAngle = function(p1, p2, props) {
-		if(!props) {
-			props = ['x', 'y'];
-		}
-		var x = p2[props[0]] - p1[props[0]];
-		var y = p2[props[1]] - p1[props[1]];
-		return atan2(y, x) * 180 / Math.PI;
-	};
-	/**
-	 * direction
-	 * @param {Object} x
-	 * @param {Object} y
-	 */
-	var getDirection = function(x, y) {
-		if(x === y) {
-			return '';
-		}
-		if(abs(x) >= abs(y)) {
-			return x > 0 ? 'left' : 'right';
-		}
-		return y > 0 ? 'up' : 'down';
-	};
-	/**
-	 * rotation
-	 * @param {Object} start
-	 * @param {Object} end
-	 */
-	var getRotation = function(start, end) {
-		var props = ['pageX', 'pageY'];
-		return getAngle(end[1], end[0], props) - getAngle(start[1], start[0], props);
-	};
-	/**
-	 * px per ms
-	 * @param {Object} deltaTime
-	 * @param {Object} x
-	 * @param {Object} y
-	 */
-	var getVelocity = function(deltaTime, x, y) {
-		return {
-			x: x / deltaTime || 0,
-			y: y / deltaTime || 0
-		};
-	};
-	/**
-	 * detect gestures
-	 * @param {type} event
-	 * @param {type} touch
-	 * @returns {undefined}
-	 */
-	var detect = function(event, touch) {
-		if($.gestures.stoped) {
-			return;
-		}
-		$.doAction('gestures', function(index, gesture) {
-			if(!$.gestures.stoped) {
-				if($.options.gestureConfig[gesture.name] !== false) {
-					gesture.handle(event, touch);
-				}
-			}
-		});
-	};
-	/**
-	 * 暂时无用
-	 * @param {Object} node
-	 * @param {Object} parent
-	 */
-	var hasParent = function(node, parent) {
-		while(node) {
-			if(node == parent) {
-				return true;
-			}
-			node = node.parentNode;
-		}
-		return false;
-	};
-
-	var uniqueArray = function(src, key, sort) {
-		var results = [];
-		var values = [];
-		var i = 0;
-
-		while(i < src.length) {
-			var val = key ? src[i][key] : src[i];
-			if(values.indexOf(val) < 0) {
-				results.push(src[i]);
-			}
-			values[i] = val;
-			i++;
-		}
-
-		if(sort) {
-			if(!key) {
-				results = results.sort();
-			} else {
-				results = results.sort(function sortUniqueArray(a, b) {
-					return a[key] > b[key];
-				});
-			}
-		}
-
-		return results;
-	};
-	var getMultiCenter = function(touches) {
-		var touchesLength = touches.length;
-		if(touchesLength === 1) {
-			return {
-				x: round(touches[0].pageX),
-				y: round(touches[0].pageY)
-			};
-		}
-
-		var x = 0;
-		var y = 0;
-		var i = 0;
-		while(i < touchesLength) {
-			x += touches[i].pageX;
-			y += touches[i].pageY;
-			i++;
-		}
-
-		return {
-			x: round(x / touchesLength),
-			y: round(y / touchesLength)
-		};
-	};
-	var multiTouch = function() {
-		return $.options.gestureConfig.pinch;
-	};
-	var copySimpleTouchData = function(touch) {
-		var touches = [];
-		var i = 0;
-		while(i < touch.touches.length) {
-			touches[i] = {
-				pageX: round(touch.touches[i].pageX),
-				pageY: round(touch.touches[i].pageY)
-			};
-			i++;
-		}
-		return {
-			timestamp: $.now(),
-			gesture: touch.gesture,
-			touches: touches,
-			center: getMultiCenter(touch.touches),
-			deltaX: touch.deltaX,
-			deltaY: touch.deltaY
-		};
-	};
-
-	var calDelta = function(touch) {
-		var session = $.gestures.session;
-		var center = touch.center;
-		var offset = session.offsetDelta || {};
-		var prevDelta = session.prevDelta || {};
-		var prevTouch = session.prevTouch || {};
-
-		if(touch.gesture.type === $.EVENT_START || touch.gesture.type === $.EVENT_END) {
-			prevDelta = session.prevDelta = {
-				x: prevTouch.deltaX || 0,
-				y: prevTouch.deltaY || 0
-			};
-
-			offset = session.offsetDelta = {
-				x: center.x,
-				y: center.y
-			};
-		}
-		touch.deltaX = prevDelta.x + (center.x - offset.x);
-		touch.deltaY = prevDelta.y + (center.y - offset.y);
-	};
-	var calTouchData = function(touch) {
-		var session = $.gestures.session;
-		var touches = touch.touches;
-		var touchesLength = touches.length;
-
-		if(!session.firstTouch) {
-			session.firstTouch = copySimpleTouchData(touch);
-		}
-
-		if(multiTouch() && touchesLength > 1 && !session.firstMultiTouch) {
-			session.firstMultiTouch = copySimpleTouchData(touch);
-		} else if(touchesLength === 1) {
-			session.firstMultiTouch = false;
-		}
-
-		var firstTouch = session.firstTouch;
-		var firstMultiTouch = session.firstMultiTouch;
-		var offsetCenter = firstMultiTouch ? firstMultiTouch.center : firstTouch.center;
-
-		var center = touch.center = getMultiCenter(touches);
-		touch.timestamp = $.now();
-		touch.deltaTime = touch.timestamp - firstTouch.timestamp;
-
-		touch.angle = getAngle(offsetCenter, center);
-		touch.distance = getDistance(offsetCenter, center);
-
-		calDelta(touch);
-
-		touch.offsetDirection = getDirection(touch.deltaX, touch.deltaY);
-
-		touch.scale = firstMultiTouch ? getScale(firstMultiTouch.touches, touches) : 1;
-		touch.rotation = firstMultiTouch ? getRotation(firstMultiTouch.touches, touches) : 0;
-
-		calIntervalTouchData(touch);
-
-	};
-	var CAL_INTERVAL = 25;
-	var calIntervalTouchData = function(touch) {
-		var session = $.gestures.session;
-		var last = session.lastInterval || touch;
-		var deltaTime = touch.timestamp - last.timestamp;
-		var velocity;
-		var velocityX;
-		var velocityY;
-		var direction;
-
-		if(touch.gesture.type != $.EVENT_CANCEL && (deltaTime > CAL_INTERVAL || last.velocity === undefined)) {
-			var deltaX = last.deltaX - touch.deltaX;
-			var deltaY = last.deltaY - touch.deltaY;
-
-			var v = getVelocity(deltaTime, deltaX, deltaY);
-			velocityX = v.x;
-			velocityY = v.y;
-			velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;
-			direction = getDirection(deltaX, deltaY) || last.direction;
-
-			session.lastInterval = touch;
-		} else {
-			velocity = last.velocity;
-			velocityX = last.velocityX;
-			velocityY = last.velocityY;
-			direction = last.direction;
-		}
-
-		touch.velocity = velocity;
-		touch.velocityX = velocityX;
-		touch.velocityY = velocityY;
-		touch.direction = direction;
-	};
-	var targetIds = {};
-	var convertTouches = function(touches) {
-		for(var i = 0; i < touches.length; i++) {
-			!touches['identifier'] && (touches['identifier'] = 0);
-		}
-		return touches;
-	};
-	var getTouches = function(event, touch) {
-		var allTouches = convertTouches($.slice.call(event.touches || [event]));
-
-		var type = event.type;
-
-		var targetTouches = [];
-		var changedTargetTouches = [];
-
-		//当touchstart或touchmove且touches长度为1,直接获得all和changed
-		if((type === $.EVENT_START || type === $.EVENT_MOVE) && allTouches.length === 1) {
-			targetIds[allTouches[0].identifier] = true;
-			targetTouches = allTouches;
-			changedTargetTouches = allTouches;
-			touch.target = event.target;
-		} else {
-			var i = 0;
-			var targetTouches = [];
-			var changedTargetTouches = [];
-			var changedTouches = convertTouches($.slice.call(event.changedTouches || [event]));
-
-			touch.target = event.target;
-			var sessionTarget = $.gestures.session.target || event.target;
-			targetTouches = allTouches.filter(function(touch) {
-				return hasParent(touch.target, sessionTarget);
-			});
-
-			if(type === $.EVENT_START) {
-				i = 0;
-				while(i < targetTouches.length) {
-					targetIds[targetTouches[i].identifier] = true;
-					i++;
-				}
-			}
-
-			i = 0;
-			while(i < changedTouches.length) {
-				if(targetIds[changedTouches[i].identifier]) {
-					changedTargetTouches.push(changedTouches[i]);
-				}
-				if(type === $.EVENT_END || type === $.EVENT_CANCEL) {
-					delete targetIds[changedTouches[i].identifier];
-				}
-				i++;
-			}
-
-			if(!changedTargetTouches.length) {
-				return false;
-			}
-		}
-		targetTouches = uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true);
-		var touchesLength = targetTouches.length;
-		var changedTouchesLength = changedTargetTouches.length;
-		if(type === $.EVENT_START && touchesLength - changedTouchesLength === 0) { //first
-			touch.isFirst = true;
-			$.gestures.touch = $.gestures.session = {
-				target: event.target
-			};
-		}
-		touch.isFinal = ((type === $.EVENT_END || type === $.EVENT_CANCEL) && (touchesLength - changedTouchesLength === 0));
-
-		touch.touches = targetTouches;
-		touch.changedTouches = changedTargetTouches;
-		return true;
-
-	};
-	var handleTouchEvent = function(event) {
-		var touch = {
-			gesture: event
-		};
-		var touches = getTouches(event, touch);
-		if(!touches) {
-			return;
-		}
-		calTouchData(touch);
-		detect(event, touch);
-		$.gestures.session.prevTouch = touch;
-		if(event.type === $.EVENT_END && !$.isTouchable) {
-			$.gestures.touch = $.gestures.session = {};
-		}
-	};
-	var supportsPassive = (function checkPassiveListener() {
-		var supportsPassive = false;
-		try {
-			var opts = Object.defineProperty({}, 'passive', {
-				get: function get() {
-					supportsPassive = true;
-				},
-			});
-			window.addEventListener('testPassiveListener', null, opts);
-		} catch(e) {
-			// No support
-		}
-		return supportsPassive;
-	}())
-	window.addEventListener($.EVENT_START, handleTouchEvent);
-	window.addEventListener($.EVENT_MOVE, handleTouchEvent, supportsPassive ? {
-		passive: false,
-		capture: false
-	} : false);
-	window.addEventListener($.EVENT_END, handleTouchEvent);
-	window.addEventListener($.EVENT_CANCEL, handleTouchEvent);
-	//fixed hashchange(android)
-	window.addEventListener($.EVENT_CLICK, function(e) {
-		//TODO 应该判断当前target是不是在targets.popover内部,而不是非要相等
-		if(($.os.android || $.os.ios) && (($.targets.popover && e.target === $.targets.popover) || ($.targets.tab) || $.targets.offcanvas || $.targets.modal)) {
-			e.preventDefault();
-		}
-	}, true);
-
-	//增加原生滚动识别
-	$.isScrolling = false;
-	var scrollingTimeout = null;
-	window.addEventListener('scroll', function() {
-		$.isScrolling = true;
-		scrollingTimeout && clearTimeout(scrollingTimeout);
-		scrollingTimeout = setTimeout(function() {
-			$.isScrolling = false;
-		}, 250);
-	});
-})(mui, window);
-/**
- * mui gesture flick[left|right|up|down]
- * @param {type} $
- * @param {type} name
- * @returns {undefined}
- */
-(function($, name) {
-	var flickStartTime = 0;
-	var handle = function(event, touch) {
-		var session = $.gestures.session;
-		var options = this.options;
-		var now = $.now();
-		switch (event.type) {
-			case $.EVENT_MOVE:
-				if (now - flickStartTime > 300) {
-					flickStartTime = now;
-					session.flickStart = touch.center;
-				}
-				break;
-			case $.EVENT_END:
-			case $.EVENT_CANCEL:
-				touch.flick = false;
-				if (session.flickStart && options.flickMaxTime > (now - flickStartTime) && touch.distance > options.flickMinDistince) {
-					touch.flick = true;
-					touch.flickTime = now - flickStartTime;
-					touch.flickDistanceX = touch.center.x - session.flickStart.x;
-					touch.flickDistanceY = touch.center.y - session.flickStart.y;
-					$.trigger(session.target, name, touch);
-					$.trigger(session.target, name + touch.direction, touch);
-				}
-				break;
-		}
-
-	};
-	/**
-	 * mui gesture flick
-	 */
-	$.addGesture({
-		name: name,
-		index: 5,
-		handle: handle,
-		options: {
-			flickMaxTime: 200,
-			flickMinDistince: 10
-		}
-	});
-})(mui, 'flick');
-/**
- * mui gesture swipe[left|right|up|down]
- * @param {type} $
- * @param {type} name
- * @returns {undefined}
- */
-(function($, name) {
-	var handle = function(event, touch) {
-		var session = $.gestures.session;
-		if (event.type === $.EVENT_END || event.type === $.EVENT_CANCEL) {
-			var options = this.options;
-			touch.swipe = false;
-			//TODO 后续根据velocity计算
-			if (touch.direction && options.swipeMaxTime > touch.deltaTime && touch.distance > options.swipeMinDistince) {
-				touch.swipe = true;
-				$.trigger(session.target, name, touch);
-				$.trigger(session.target, name + touch.direction, touch);
-			}
-		}
-	};
-	/**
-	 * mui gesture swipe
-	 */
-	$.addGesture({
-		name: name,
-		index: 10,
-		handle: handle,
-		options: {
-			swipeMaxTime: 300,
-			swipeMinDistince: 18
-		}
-	});
-})(mui, 'swipe');
-/**
- * mui gesture drag[start|left|right|up|down|end]
- * @param {type} $
- * @param {type} name
- * @returns {undefined}
- */
-(function($, name) {
-	var handle = function(event, touch) {
-		var session = $.gestures.session;
-		switch (event.type) {
-			case $.EVENT_START:
-				break;
-			case $.EVENT_MOVE:
-				if (!touch.direction || !session.target) {
-					return;
-				}
-				//修正direction,可在session期间自行锁定拖拽方向,方便开发scroll类不同方向拖拽插件嵌套
-				if (session.lockDirection && session.startDirection) {
-					if (session.startDirection && session.startDirection !== touch.direction) {
-						if (session.startDirection === 'up' || session.startDirection === 'down') {
-							touch.direction = touch.deltaY < 0 ? 'up' : 'down';
-						} else {
-							touch.direction = touch.deltaX < 0 ? 'left' : 'right';
-						}
-					}
-				}
-
-				if (!session.drag) {
-					session.drag = true;
-					$.trigger(session.target, name + 'start', touch);
-				}
-				$.trigger(session.target, name, touch);
-				$.trigger(session.target, name + touch.direction, touch);
-				break;
-			case $.EVENT_END:
-			case $.EVENT_CANCEL:
-				if (session.drag && touch.isFinal) {
-					$.trigger(session.target, name + 'end', touch);
-				}
-				break;
-		}
-	};
-	/**
-	 * mui gesture drag
-	 */
-	$.addGesture({
-		name: name,
-		index: 20,
-		handle: handle,
-		options: {
-			fingers: 1
-		}
-	});
-})(mui, 'drag');
-/**
- * mui gesture tap and doubleTap
- * @param {type} $
- * @param {type} name
- * @returns {undefined}
- */
-(function($, name) {
-	var lastTarget;
-	var lastTapTime;
-	var handle = function(event, touch) {
-		var session = $.gestures.session;
-		var options = this.options;
-		switch (event.type) {
-			case $.EVENT_END:
-				if (!touch.isFinal) {
-					return;
-				}
-				var target = session.target;
-				if (!target || (target.disabled || (target.classList && target.classList.contains('mui-disabled')))) {
-					return;
-				}
-				if (touch.distance < options.tapMaxDistance && touch.deltaTime < options.tapMaxTime) {
-					if ($.options.gestureConfig.doubletap && lastTarget && (lastTarget === target)) { //same target
-						if (lastTapTime && (touch.timestamp - lastTapTime) < options.tapMaxInterval) {
-							$.trigger(target, 'doubletap', touch);
-							lastTapTime = $.now();
-							lastTarget = target;
-							return;
-						}
-					}
-					$.trigger(target, name, touch);
-					lastTapTime = $.now();
-					lastTarget = target;
-				}
-				break;
-		}
-	};
-	/**
-	 * mui gesture tap
-	 */
-	$.addGesture({
-		name: name,
-		index: 30,
-		handle: handle,
-		options: {
-			fingers: 1,
-			tapMaxInterval: 300,
-			tapMaxDistance: 5,
-			tapMaxTime: 250
-		}
-	});
-})(mui, 'tap');
-/**
- * mui gesture longtap
- * @param {type} $
- * @param {type} name
- * @returns {undefined}
- */
-(function($, name) {
-	var timer;
-	var handle = function(event, touch) {
-		var session = $.gestures.session;
-		var options = this.options;
-		switch (event.type) {
-			case $.EVENT_START:
-				clearTimeout(timer);
-				timer = setTimeout(function() {
-					$.trigger(session.target, name, touch);
-				}, options.holdTimeout);
-				break;
-			case $.EVENT_MOVE:
-				if (touch.distance > options.holdThreshold) {
-					clearTimeout(timer);
-				}
-				break;
-			case $.EVENT_END:
-			case $.EVENT_CANCEL:
-				clearTimeout(timer);
-				break;
-		}
-	};
-	/**
-	 * mui gesture longtap
-	 */
-	$.addGesture({
-		name: name,
-		index: 10,
-		handle: handle,
-		options: {
-			fingers: 1,
-			holdTimeout: 500,
-			holdThreshold: 2
-		}
-	});
-})(mui, 'longtap');
-/**
- * mui gesture hold
- * @param {type} $
- * @param {type} name
- * @returns {undefined}
- */
-(function($, name) {
-	var timer;
-	var handle = function(event, touch) {
-		var session = $.gestures.session;
-		var options = this.options;
-		switch (event.type) {
-			case $.EVENT_START:
-				if ($.options.gestureConfig.hold) {
-					timer && clearTimeout(timer);
-					timer = setTimeout(function() {
-						touch.hold = true;
-						$.trigger(session.target, name, touch);
-					}, options.holdTimeout);
-				}
-				break;
-			case $.EVENT_MOVE:
-				break;
-			case $.EVENT_END:
-			case $.EVENT_CANCEL:
-				if (timer) {
-					clearTimeout(timer) && (timer = null);
-					$.trigger(session.target, 'release', touch);
-				}
-				break;
-		}
-	};
-	/**
-	 * mui gesture hold
-	 */
-	$.addGesture({
-		name: name,
-		index: 10,
-		handle: handle,
-		options: {
-			fingers: 1,
-			holdTimeout: 0
-		}
-	});
-})(mui, 'hold');
-/**
- * mui gesture pinch
- * @param {type} $
- * @param {type} name
- * @returns {undefined}
- */
-(function($, name) {
-	var handle = function(event, touch) {
-		var options = this.options;
-		var session = $.gestures.session;
-		switch (event.type) {
-			case $.EVENT_START:
-				break;
-			case $.EVENT_MOVE:
-				if ($.options.gestureConfig.pinch) {
-					if (touch.touches.length < 2) {
-						return;
-					}
-					if (!session.pinch) { //start
-						session.pinch = true;
-						$.trigger(session.target, name + 'start', touch);
-					}
-					$.trigger(session.target, name, touch);
-					var scale = touch.scale;
-					var rotation = touch.rotation;
-					var lastScale = typeof touch.lastScale === 'undefined' ? 1 : touch.lastScale;
-					var scaleDiff = 0.000000000001; //防止scale与lastScale相等,不触发事件的情况。
-					if (scale > lastScale) { //out
-						lastScale = scale - scaleDiff;
-						$.trigger(session.target, name + 'out', touch);
-					} //in
-					else if (scale < lastScale) {
-						lastScale = scale + scaleDiff;
-						$.trigger(session.target, name + 'in', touch);
-					}
-					if (Math.abs(rotation) > options.minRotationAngle) {
-						$.trigger(session.target, 'rotate', touch);
-					}
-				}
-				break;
-			case $.EVENT_END:
-			case $.EVENT_CANCEL:
-				if ($.options.gestureConfig.pinch && session.pinch && touch.touches.length === 2) {
-					session.pinch = false;
-					$.trigger(session.target, name + 'end', touch);
-				}
-				break;
-		}
-	};
-	/**
-	 * mui gesture pinch
-	 */
-	$.addGesture({
-		name: name,
-		index: 10,
-		handle: handle,
-		options: {
-			minRotationAngle: 0
-		}
-	});
-})(mui, 'pinch');
-/**
- * mui.init
- * @param {type} $
- * @returns {undefined}
- */
-(function($) {
-	$.global = $.options = {
-		gestureConfig: {
-			tap: true,
-			doubletap: false,
-			longtap: false,
-			hold: false,
-			flick: true,
-			swipe: true,
-			drag: true,
-			pinch: false
-		}
-	};
-	/**
-	 *
-	 * @param {type} options
-	 * @returns {undefined}
-	 */
-	$.initGlobal = function(options) {
-		$.options = $.extend(true, $.global, options);
-		return this;
-	};
-	var inits = {};
-
-	/**
-	 * 单页配置 初始化
-	 * @param {object} options
-	 */
-	$.init = function(options) {
-		$.options = $.extend(true, $.global, options || {});
-		$.ready(function() {
-			$.doAction('inits', function(index, init) {
-				var isInit = !!(!inits[init.name] || init.repeat);
-				if (isInit) {
-					init.handle.call($);
-					inits[init.name] = true;
-				}
-			});
-		});
-		return this;
-	};
-
-	/**
-	 * 增加初始化执行流程
-	 * @param {function} init
-	 */
-	$.addInit = function(init) {
-		return $.addAction('inits', init);
-	};
-	/**
-	 * 处理html5版本subpages 
-	 */
-	$.addInit({
-		name: 'iframe',
-		index: 100,
-		handle: function() {
-			var options = $.options;
-			var subpages = options.subpages || [];
-			if (!$.os.plus && subpages.length) {
-				//暂时只处理单个subpage。后续可以考虑支持多个subpage
-				createIframe(subpages[0]);
-			}
-		}
-	});
-	var createIframe = function(options) {
-		var wrapper = document.createElement('div');
-		wrapper.className = 'mui-iframe-wrapper';
-		var styles = options.styles || {};
-		if (typeof styles.top !== 'string') {
-			styles.top = '0px';
-		}
-		if (typeof styles.bottom !== 'string') {
-			styles.bottom = '0px';
-		}
-		wrapper.style.top = styles.top;
-		wrapper.style.bottom = styles.bottom;
-		var iframe = document.createElement('iframe');
-		iframe.src = options.url;
-		iframe.id = options.id || options.url;
-		iframe.name = iframe.id;
-		wrapper.appendChild(iframe);
-		document.body.appendChild(wrapper);
-		//目前仅处理微信
-		$.os.wechat && handleScroll(wrapper, iframe);
-	};
-
-	function handleScroll(wrapper, iframe) {
-		var key = 'MUI_SCROLL_POSITION_' + document.location.href + '_' + iframe.src;
-		var scrollTop = (parseFloat(localStorage.getItem(key)) || 0);
-		if (scrollTop) {
-			(function(y) {
-				iframe.onload = function() {
-					window.scrollTo(0, y);
-				};
-			})(scrollTop);
-		}
-		setInterval(function() {
-			var _scrollTop = window.scrollY;
-			if (scrollTop !== _scrollTop) {
-				localStorage.setItem(key, _scrollTop + '');
-				scrollTop = _scrollTop;
-			}
-		}, 100);
-	};
-	$(function() {
-		var classList = document.body.classList;
-		var os = [];
-		if ($.os.ios) {
-			os.push({
-				os: 'ios',
-				version: $.os.version
-			});
-			classList.add('mui-ios');
-		} else if ($.os.android) {
-			os.push({
-				os: 'android',
-				version: $.os.version
-			});
-			classList.add('mui-android');
-		}
-		if ($.os.wechat) {
-			os.push({
-				os: 'wechat',
-				version: $.os.wechat.version
-			});
-			classList.add('mui-wechat');
-		}
-		if (os.length) {
-			$.each(os, function(index, osObj) {
-				var version = '';
-				var classArray = [];
-				if (osObj.version) {
-					$.each(osObj.version.split('.'), function(i, v) {
-						version = version + (version ? '-' : '') + v;
-						classList.add($.className(osObj.os + '-' + version));
-					});
-				}
-			});
-		}
-	});
-})(mui);
-/**
- * mui.init 5+
- * @param {type} $
- * @returns {undefined}
- */
-(function($) {
-	var defaultOptions = {
-		swipeBack: false,
-		preloadPages: [], //5+ lazyLoad webview
-		preloadLimit: 10, //预加载窗口的数量限制(一旦超出,先进先出)
-		keyEventBind: {
-			backbutton: true,
-			menubutton: true
-		},
-		titleConfig: {
-			height: "44px",
-			backgroundColor: "#f7f7f7", //导航栏背景色
-			bottomBorderColor: "#cccccc", //底部边线颜色
-			title: { //标题配置
-				text: "", //标题文字
-				position: {
-					top: 0,
-					left: 0,
-					width: "100%",
-					height: "100%"
-				},
-				styles: {
-					color: "#000000",
-					align: "center",
-					family: "'Helvetica Neue',Helvetica,sans-serif",
-					size: "17px",
-					style: "normal",
-					weight: "normal",
-					fontSrc: ""
-				}
-			},
-			back: {
-				image: {
-					base64Data: '',
-					imgSrc: '',
-					sprite: {
-						top: '0px',
-						left: '0px',
-						width: '100%',
-						height: '100%'
-					},
-					position: {
-						top: "10px",
-						left: "10px",
-						width: "24px",
-						height: "24px"
-					}
-				}
-			}
-		}
-	};
-
-	//默认页面动画
-	var defaultShow = {
-		event:"titleUpdate",
-		autoShow: true,
-		duration: 300,
-		aniShow: 'slide-in-right',
-		extras:{}
-	};
-	//若执行了显示动画初始化操作,则要覆盖默认配置
-	if($.options.show) {
-		defaultShow = $.extend(true, defaultShow, $.options.show);
-	}
-
-	$.currentWebview = null;
-
-	$.extend(true, $.global, defaultOptions);
-	$.extend(true, $.options, defaultOptions);
-	/**
-	 * 等待动画配置
-	 * @param {type} options
-	 * @returns {Object}
-	 */
-	$.waitingOptions = function(options) {
-		return $.extend(true, {}, {
-			autoShow: true,
-			title: '',
-			modal: false
-		}, options);
-	};
-	/**
-	 * 窗口显示配置
-	 * @param {type} options
-	 * @returns {Object}
-	 */
-	$.showOptions = function(options) {
-		return $.extend(true, {}, defaultShow, options);
-	};
-	/**
-	 * 窗口默认配置
-	 * @param {type} options
-	 * @returns {Object}
-	 */
-	$.windowOptions = function(options) {
-		return $.extend({
-			scalable: false,
-			bounce: "" //vertical
-		}, options);
-	};
-	/**
-	 * plusReady
-	 * @param {type} callback
-	 * @returns {_L6.$}
-	 */
-	$.plusReady = function(callback) {
-		if(window.plus) {
-			setTimeout(function() { //解决callback与plusready事件的执行时机问题(典型案例:showWaiting,closeWaiting)
-				callback();
-			}, 0);
-		} else {
-			document.addEventListener("plusready", function() {
-				callback();
-			}, false);
-		}
-		return this;
-	};
-	/**
-	 * 5+ event(5+没提供之前我自己实现)
-	 * @param {type} webview
-	 * @param {type} eventType
-	 * @param {type} data
-	 * @returns {undefined}
-	 */
-	$.fire = function(webview, eventType, data) {
-		if(webview) {
-			if(typeof data === 'undefined') {
-				data = '';
-			} else if(typeof data === 'boolean' || typeof data === 'number') {
-				webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "'," + data + ")");
-				return;
-			} else if($.isPlainObject(data) || $.isArray(data)) {
-				data = JSON.stringify(data || {}).replace(/\'/g, "\\u0027").replace(/\\/g, "\\u005c");
-			}
-			webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "','" + data + "')");
-		}
-	};
-	/**
-	 * 5+ event(5+没提供之前我自己实现)
-	 * @param {type} eventType
-	 * @param {type} data
-	 * @returns {undefined}
-	 */
-	$.receive = function(eventType, data) {
-		if(eventType) {
-			try {
-				if(data && typeof data === 'string') {
-					data = JSON.parse(data);
-				}
-			} catch(e) {}
-			$.trigger(document, eventType, data);
-		}
-	};
-	var triggerPreload = function(webview) {
-		if(!webview.preloaded) { //保证仅触发一次
-			$.fire(webview, 'preload');
-			var list = webview.children();
-			for(var i = 0; i < list.length; i++) {
-				$.fire(list[i], 'preload');
-			}
-			webview.preloaded = true;
-		}
-	};
-	var trigger = function(webview, eventType, timeChecked) {
-		if(timeChecked) {
-			if(!webview[eventType + 'ed']) {
-				$.fire(webview, eventType);
-				var list = webview.children();
-				for(var i = 0; i < list.length; i++) {
-					$.fire(list[i], eventType);
-				}
-				webview[eventType + 'ed'] = true;
-			}
-		} else {
-			$.fire(webview, eventType);
-			var list = webview.children();
-			for(var i = 0; i < list.length; i++) {
-				$.fire(list[i], eventType);
-			}
-		}
-
-	};
-	/**
-	 * 打开新窗口
-	 * @param {string} url 要打开的页面地址
-	 * @param {string} id 指定页面ID
-	 * @param {object} options 可选:参数,等待,窗口,显示配置{params:{},waiting:{},styles:{},show:{}}
-	 */
-	$.openWindow = function(url, id, options) {
-		if(typeof url === 'object') {
-			options = url;
-			url = options.url;
-			id = options.id || url;
-		} else {
-			if(typeof id === 'object') {
-				options = id;
-				id = options.id || url;
-			} else {
-				id = id || url;
-			}
-		}
-		if(!$.os.plus) {
-			//TODO 先临时这么处理:手机上顶层跳,PC上parent跳
-			if($.os.ios || $.os.android) {
-				window.top.location.href = url;
-			} else {
-				window.parent.location.href = url;
-			}
-			return;
-		}
-		if(!window.plus) {
-			return;
-		}
-
-		options = options || {};
-		var params = options.params || {};
-		var webview = null,
-			webviewCache = null,
-			nShow, nWaiting;
-
-		if($.webviews[id]) {
-			webviewCache = $.webviews[id];
-			//webview真实存在,才能获取
-			if(plus.webview.getWebviewById(id)) {
-				webview = webviewCache.webview;
-			}
-		} else if(options.createNew !== true) {
-			webview = plus.webview.getWebviewById(id);
-		}
-
-		if(webview) { //已缓存
-			//每次show都需要传递动画参数;
-			//预加载的动画参数优先级:openWindow配置>preloadPages配置>mui默认配置;
-			nShow = webviewCache ? webviewCache.show : defaultShow;
-			nShow = options.show ? $.extend(nShow, options.show) : nShow;
-			nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() {
-				triggerPreload(webview);
-				trigger(webview, 'pagebeforeshow', false);
-			});
-			if(webviewCache) {
-				webviewCache.afterShowMethodName && webview.evalJS(webviewCache.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
-			}
-			return webview;
-		} else { //新窗口
-			if(!url) {
-				throw new Error('webview[' + id + '] does not exist');
-			}
-
-			//显示waiting
-			var waitingConfig = $.waitingOptions(options.waiting);
-			if(waitingConfig.autoShow) {
-				nWaiting = plus.nativeUI.showWaiting(waitingConfig.title, waitingConfig.options);
-			}
-
-			//创建页面
-			options = $.extend(options, {
-				id: id,
-				url: url
-			});
-
-			webview = $.createWindow(options);
-
-			//显示
-			nShow = $.showOptions(options.show);
-			if(nShow.autoShow) {
-				var showWebview = function() {
-					//关闭等待框
-					if(nWaiting) {
-						nWaiting.close();
-					}
-					//显示页面
-					webview.show(nShow.aniShow, nShow.duration, function() {},nShow.extras);
-					options.afterShowMethodName && webview.evalJS(options.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
-				};
-				//titleUpdate触发时机早于loaded,更换为titleUpdate后,可以更早的显示webview
-				webview.addEventListener(nShow.event, showWebview, false);
-				//loaded事件发生后,触发预加载和pagebeforeshow事件
-				webview.addEventListener("loaded", function() {
-					triggerPreload(webview);
-					trigger(webview, 'pagebeforeshow', false);
-				}, false);
-			}
-		}
-		return webview;
-	};
-
-	$.openWindowWithTitle = function(options, titleConfig) {
-		options = options || {};
-		var url = options.url;
-		var id = options.id || url;
-
-		if(!$.os.plus) {
-			//TODO 先临时这么处理:手机上顶层跳,PC上parent跳
-			if($.os.ios || $.os.android) {
-				window.top.location.href = url;
-			} else {
-				window.parent.location.href = url;
-			}
-			return;
-		}
-		if(!window.plus) {
-			return;
-		}
-
-		var params = options.params || {};
-		var webview = null,
-			webviewCache = null,
-			nShow, nWaiting;
-
-		if($.webviews[id]) {
-			webviewCache = $.webviews[id];
-			//webview真实存在,才能获取
-			if(plus.webview.getWebviewById(id)) {
-				webview = webviewCache.webview;
-			}
-		} else if(options.createNew !== true) {
-			webview = plus.webview.getWebviewById(id);
-		}
-
-		if(webview) { //已缓存
-			//每次show都需要传递动画参数;
-			//预加载的动画参数优先级:openWindow配置>preloadPages配置>mui默认配置;
-			nShow = webviewCache ? webviewCache.show : defaultShow;
-			nShow = options.show ? $.extend(nShow, options.show) : nShow;
-			nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() {
-				triggerPreload(webview);
-				trigger(webview, 'pagebeforeshow', false);
-			});
-			if(webviewCache) {
-				webviewCache.afterShowMethodName && webview.evalJS(webviewCache.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
-			}
-			return webview;
-		} else { //新窗口
-			if(!url) {
-				throw new Error('webview[' + id + '] does not exist');
-			}
-
-			//显示waiting
-			var waitingConfig = $.waitingOptions(options.waiting);
-			if(waitingConfig.autoShow) {
-				nWaiting = plus.nativeUI.showWaiting(waitingConfig.title, waitingConfig.options);
-			}
-
-			//创建页面
-			options = $.extend(options, {
-				id: id,
-				url: url
-			});
-
-			webview = $.createWindow(options);
-
-			if(titleConfig) { //处理原生头
-				$.extend(true, $.options.titleConfig, titleConfig);
-				var tid = $.options.titleConfig.id ? $.options.titleConfig.id : id + "_title";
-				var view = new plus.nativeObj.View(tid, {
-					top: 0,
-					height: $.options.titleConfig.height,
-					width: "100%",
-					dock: "top",
-					position: "dock"
-				});
-				view.drawRect($.options.titleConfig.backgroundColor); //绘制背景色
-				var _b = parseInt($.options.titleConfig.height) - 1;
-				view.drawRect($.options.titleConfig.bottomBorderColor, {
-					top: _b + "px",
-					left: "0px"
-				}); //绘制底部边线
-
-				//绘制文字
-				if($.options.titleConfig.title.text){
-					var _title = $.options.titleConfig.title;
-					view.drawText(_title.text,_title.position , _title.styles);
-				}
-				
-				//返回图标绘制
-				var _back = $.options.titleConfig.back;
-				var backClick = null;
-				//优先字体
-
-				//其次是图片
-				var _backImage = _back.image;
-				if(_backImage.base64Data || _backImage.imgSrc) {
-					//TODO 此处需要处理百分比的情况
-					backClick = {
-						left:parseInt(_backImage.position.left),
-						right:parseInt(_backImage.position.left) + parseInt(_backImage.position.width)
-					};
-					var bitmap = new plus.nativeObj.Bitmap(id + "_back");
-					if(_backImage.base64Data) { //优先base64编码字符串
-						bitmap.loadBase64Data(_backImage.base64Data);
-					} else { //其次加载图片文件
-						bitmap.load(_backImage.imgSrc);
-					}
-					view.drawBitmap(bitmap,_backImage.sprite , _backImage.position);
-				}
-
-				//处理点击事件
-				view.setTouchEventRect({
-					top: "0px",
-					left: "0px",
-					width: "100%",
-					height: "100%"
-				});
-				view.interceptTouchEvent(true);
-				view.addEventListener("click", function(e) {
-					var x = e.clientX;
-					
-					//返回按钮点击
-					if(backClick&& x > backClick.left && x < backClick.right){
-						if( _back.click && $.isFunction(_back.click)){
-							_back.click();
-						}else{
-							webview.evalJS("window.mui&&mui.back();");
-						}
-					}
-				}, false);
-				webview.append(view);
-
-			}
-
-			//显示
-			nShow = $.showOptions(options.show);
-			if(nShow.autoShow) {
-				//titleUpdate触发时机早于loaded,更换为titleUpdate后,可以更早的显示webview
-				webview.addEventListener(nShow.event, function () {
-					//关闭等待框
-					if(nWaiting) {
-						nWaiting.close();
-					}
-					//显示页面
-					webview.show(nShow.aniShow, nShow.duration, function() {},nShow.extras);
-				}, false);
-			}
-		}
-		return webview;
-	};
-
-	/**
-	 * 根据配置信息创建一个webview
-	 * @param {type} options
-	 * @param {type} isCreate
-	 * @returns {webview}
-	 */
-	$.createWindow = function(options, isCreate) {
-		if(!window.plus) {
-			return;
-		}
-		var id = options.id || options.url;
-		var webview;
-		if(options.preload) {
-			if($.webviews[id] && $.webviews[id].webview.getURL()) { //已经cache
-				webview = $.webviews[id].webview;
-			} else { //新增预加载窗口
-				//判断是否携带createNew参数,默认为false
-				if(options.createNew !== true) {
-					webview = plus.webview.getWebviewById(id);
-				}
-
-				//之前没有,那就新创建	
-				if(!webview) {
-					webview = plus.webview.create(options.url, id, $.windowOptions(options.styles), $.extend({
-						preload: true
-					}, options.extras));
-					if(options.subpages) {
-						$.each(options.subpages, function(index, subpage) {
-							var subpageId = subpage.id || subpage.url;
-							if(subpageId) { //过滤空对象
-								var subWebview = plus.webview.getWebviewById(subpageId);
-								if(!subWebview) { //如果该webview不存在,则创建
-									subWebview = plus.webview.create(subpage.url, subpageId, $.windowOptions(subpage.styles), $.extend({
-										preload: true
-									}, subpage.extras));
-								}
-								webview.append(subWebview);
-							}
-						});
-					}
-				}
-			}
-
-			//TODO 理论上,子webview也应该计算到预加载队列中,但这样就麻烦了,要退必须退整体,否则可能出现问题;
-			$.webviews[id] = {
-				webview: webview, //目前仅preload的缓存webview
-				preload: true,
-				show: $.showOptions(options.show),
-				afterShowMethodName: options.afterShowMethodName //就不应该用evalJS。应该是通过事件消息通讯
-			};
-			//索引该预加载窗口
-			var preloads = $.data.preloads;
-			var index = preloads.indexOf(id);
-			if(~index) { //删除已存在的(变相调整插入位置)
-				preloads.splice(index, 1);
-			}
-			preloads.push(id);
-			if(preloads.length > $.options.preloadLimit) {
-				//先进先出
-				var first = $.data.preloads.shift();
-				var webviewCache = $.webviews[first];
-				if(webviewCache && webviewCache.webview) {
-					//需要将自己打开的所有页面,全部close;
-					//关闭该预加载webview	
-					$.closeAll(webviewCache.webview);
-				}
-				//删除缓存
-				delete $.webviews[first];
-			}
-		} else {
-			if(isCreate !== false) { //直接创建非预加载窗口
-				webview = plus.webview.create(options.url, id, $.windowOptions(options.styles), options.extras);
-				if(options.subpages) {
-					$.each(options.subpages, function(index, subpage) {
-						var subpageId = subpage.id || subpage.url;
-						var subWebview = plus.webview.getWebviewById(subpageId);
-						if(!subWebview) {
-							subWebview = plus.webview.create(subpage.url, subpageId, $.windowOptions(subpage.styles), subpage.extras);
-						}
-						webview.append(subWebview);
-					});
-				}
-			}
-		}
-		return webview;
-	};
-
-	/**
-	 * 预加载
-	 */
-	$.preload = function(options) {
-		//调用预加载函数,不管是否传递preload参数,强制变为true
-		if(!options.preload) {
-			options.preload = true;
-		}
-		return $.createWindow(options);
-	};
-
-	/**
-	 *关闭当前webview打开的所有webview;
-	 */
-	$.closeOpened = function(webview) {
-		var opened = webview.opened();
-		if(opened) {
-			for(var i = 0, len = opened.length; i < len; i++) {
-				var openedWebview = opened[i];
-				var open_open = openedWebview.opened();
-				if(open_open && open_open.length > 0) {
-					//关闭打开的webview
-					$.closeOpened(openedWebview);
-					//关闭自己
-					openedWebview.close("none");
-				} else {
-					//如果直接孩子节点,就不用关闭了,因为父关闭的时候,会自动关闭子;
-					if(openedWebview.parent() !== webview) {
-						openedWebview.close('none');
-					}
-				}
-			}
-		}
-	};
-	$.closeAll = function(webview, aniShow) {
-		$.closeOpened(webview);
-		if(aniShow) {
-			webview.close(aniShow);
-		} else {
-			webview.close();
-		}
-	};
-
-	/**
-	 * 批量创建webview
-	 * @param {type} options
-	 * @returns {undefined}
-	 */
-	$.createWindows = function(options) {
-		$.each(options, function(index, option) {
-			//初始化预加载窗口(创建)和非预加载窗口(仅配置,不创建)
-			$.createWindow(option, false);
-		});
-	};
-	/**
-	 * 创建当前页面的子webview
-	 * @param {type} options
-	 * @returns {webview}
-	 */
-	$.appendWebview = function(options) {
-		if(!window.plus) {
-			return;
-		}
-		var id = options.id || options.url;
-		var webview;
-		if(!$.webviews[id]) { //保证执行一遍
-			//TODO 这里也有隐患,比如某个webview不是作为subpage创建的,而是作为target webview的话;
-			if(!plus.webview.getWebviewById(id)) {
-				webview = plus.webview.create(options.url, id, options.styles, options.extras);
-			}
-			//之前的实现方案:子窗口loaded之后再append到父窗口中;
-			//问题:部分子窗口loaded事件发生较晚,此时执行父窗口的children方法会返回空,导致父子通讯失败;
-			//     比如父页面执行完preload事件后,需触发子页面的preload事件,此时未append的话,就无法触发;
-			//修改方式:不再监控loaded事件,直接append
-			//by chb@20150521
-			// webview.addEventListener('loaded', function() {
-			plus.webview.currentWebview().append(webview);
-			// });
-			$.webviews[id] = options;
-
-		}
-		return webview;
-	};
-
-	//全局webviews
-	$.webviews = {};
-	//预加载窗口索引
-	$.data.preloads = [];
-	//$.currentWebview
-	$.plusReady(function() {
-		$.currentWebview = plus.webview.currentWebview();
-	});
-	$.addInit({
-		name: '5+',
-		index: 100,
-		handle: function() {
-			var options = $.options;
-			var subpages = options.subpages || [];
-			if($.os.plus) {
-				$.plusReady(function() {
-					//TODO  这里需要判断一下,最好等子窗口加载完毕后,再调用主窗口的show方法;
-					//或者:在openwindow方法中,监听实现;
-					$.each(subpages, function(index, subpage) {
-						$.appendWebview(subpage);
-					});
-					//判断是否首页
-					if(plus.webview.currentWebview() === plus.webview.getWebviewById(plus.runtime.appid)) {
-						//首页需要自己激活预加载;
-						//timeout因为子页面loaded之后才append的,防止子页面尚未append、从而导致其preload未触发的问题;
-						setTimeout(function() {
-							triggerPreload(plus.webview.currentWebview());
-						}, 300);
-					}
-					//设置ios顶部状态栏颜色;
-					if($.os.ios && $.options.statusBarBackground) {
-						plus.navigator.setStatusBarBackground($.options.statusBarBackground);
-					}
-					if($.os.android && parseFloat($.os.version) < 4.4) {
-						//解决Android平台4.4版本以下,resume后,父窗体标题延迟渲染的问题;
-						if(plus.webview.currentWebview().parent() == null) {
-							document.addEventListener("resume", function() {
-								var body = document.body;
-								body.style.display = 'none';
-								setTimeout(function() {
-									body.style.display = '';
-								}, 10);
-							});
-						}
-					}
-				});
-			} else {
-				//已支持iframe嵌入
-				//				if (subpages.length > 0) {
-				//					var err = document.createElement('div');
-				//					err.className = 'mui-error';
-				//					//文字描述
-				//					var span = document.createElement('span');
-				//					span.innerHTML = '在该浏览器下,不支持创建子页面,具体参考';
-				//					err.appendChild(span);
-				//					var a = document.createElement('a');
-				//					a.innerHTML = '"mui框架适用场景"';
-				//					a.href = 'http://ask.dcloud.net.cn/article/113';
-				//					err.appendChild(a);
-				//					document.body.appendChild(err);
-				//					console.log('在该浏览器下,不支持创建子页面');
-				//				}
-
-			}
-
-		}
-	});
-	window.addEventListener('preload', function() {
-		//处理预加载部分
-		var webviews = $.options.preloadPages || [];
-		$.plusReady(function() {
-			$.each(webviews, function(index, webview) {
-				$.createWindow($.extend(webview, {
-					preload: true
-				}));
-			});
-
-		});
-	});
-	$.supportStatusbarOffset = function() {
-		return $.os.plus && $.os.ios && parseFloat($.os.version) >= 7;
-	};
-	$.ready(function() {
-		//标识当前环境支持statusbar
-		if($.supportStatusbarOffset()) {
-			document.body.classList.add('mui-statusbar');
-		}
-	});
-})(mui);
-
-/**
- * mui back
- * @param {type} $
- * @param {type} window
- * @returns {undefined}
- */
-(function($, window) {
-	/**
-	 * register back
-	 * @param {type} back
-	 * @returns {$.gestures}
-	 */
-	$.addBack = function(back) {
-		return $.addAction('backs', back);
-	};
-	/**
-	 * default
-	 */
-	$.addBack({
-		name: 'browser',
-		index: 100,
-		handle: function() {
-			if (window.history.length > 1) {
-				window.history.back();
-				return true;
-			}
-			return false;
-		}
-	});
-	/**
-	 * 后退
-	 */
-	$.back = function() {
-		if (typeof $.options.beforeback === 'function') {
-			if ($.options.beforeback() === false) {
-				return;
-			}
-		}
-		$.doAction('backs');
-	};
-	window.addEventListener('tap', function(e) {
-		var action = $.targets.action;
-		if (action && action.classList.contains('mui-action-back')) {
-			$.back();
-			$.targets.action = false;
-		}
-	});
-	window.addEventListener('swiperight', function(e) {
-		var detail = e.detail;
-		if ($.options.swipeBack === true && Math.abs(detail.angle) < 3) {
-			$.back();
-		}
-	});
-
-})(mui, window);
-/**
- * mui back 5+
- * @param {type} $
- * @param {type} window
- * @returns {undefined}
- */
-(function($, window) {
-	if ($.os.plus && $.os.android) {
-		$.addBack({
-			name: 'mui',
-			index: 5,
-			handle: function() {
-				//后续重新设计此处,将back放到各个空间内部实现
-				//popover
-				if ($.targets._popover && $.targets._popover.classList.contains('mui-active')) {
-					$($.targets._popover).popover('hide');
-					return true;
-				}
-				//offcanvas
-				var offCanvas = document.querySelector('.mui-off-canvas-wrap.mui-active');
-				if (offCanvas) {
-					$(offCanvas).offCanvas('close');
-					return true;
-				}
-				var previewImage = $.isFunction($.getPreviewImage) && $.getPreviewImage();
-				if (previewImage && previewImage.isShown()) {
-					previewImage.close();
-					return true;
-				}
-				//popup
-				return $.closePopup();
-			}
-		});
-	}
-	//首次按下back按键的时间
-	$.__back__first = null;
-	/**
-	 * 5+ back
-	 */
-	$.addBack({
-		name: '5+',
-		index: 10,
-		handle: function() {
-			if (!window.plus) {
-				return false;
-			}
-			var wobj = plus.webview.currentWebview();
-			var parent = wobj.parent();
-			if (parent) {
-				parent.evalJS('mui&&mui.back();');
-			} else {
-				wobj.canBack(function(e) {
-					//by chb 暂时注释,在碰到类似popover之类的锚点的时候,需多次点击才能返回;
-					if (e.canBack) { //webview history back
-						window.history.back();
-					} else { //webview close or hide
-						//fixed by fxy 此处不应该用opener判断,因为用户有可能自己close掉当前窗口的opener。这样的话。opener就为空了,导致不能执行close
-						if (wobj.id === plus.runtime.appid) { //首页
-							//首页不存在opener的情况下,后退实际上应该是退出应用;
-							//首次按键,提示‘再按一次退出应用’
-							if (!$.__back__first) {
-								$.__back__first = new Date().getTime();
-								mui.toast('再按一次退出应用');
-								setTimeout(function() {
-									$.__back__first = null;
-								}, 2000);
-							} else {
-								if (new Date().getTime() - $.__back__first < 2000) {
-									plus.runtime.quit();
-								}
-							}
-						} else { //其他页面,
-							if (wobj.preload) {
-								wobj.hide("auto");
-							} else {
-								//关闭页面时,需要将其打开的所有子页面全部关闭;
-								$.closeAll(wobj);
-							}
-						}
-					}
-				});
-			}
-			return true;
-		}
-	});
-
-
-	$.menu = function() {
-		var menu = document.querySelector('.mui-action-menu');
-		if (menu) {
-			$.trigger(menu, $.EVENT_START); //临时处理menu无touchstart的话,找不到当前targets的问题
-			$.trigger(menu, 'tap');
-		} else { //执行父窗口的menu
-			if (window.plus) {
-				var wobj = $.currentWebview;
-				var parent = wobj.parent();
-				if (parent) { //又得evalJS
-					parent.evalJS('mui&&mui.menu();');
-				}
-			}
-		}
-	};
-	var __back = function() {
-		$.back();
-	};
-	var __menu = function() {
-		$.menu();
-	};
-	//默认监听
-	$.plusReady(function() {
-		if ($.options.keyEventBind.backbutton) {
-			plus.key.addEventListener('backbutton', __back, false);
-		}
-		if ($.options.keyEventBind.menubutton) {
-			plus.key.addEventListener('menubutton', __menu, false);
-		}
-	});
-	//处理按键监听事件
-	$.addInit({
-		name: 'keyEventBind',
-		index: 1000,
-		handle: function() {
-			$.plusReady(function() {
-				//如果不为true,则移除默认监听
-				if (!$.options.keyEventBind.backbutton) {
-					plus.key.removeEventListener('backbutton', __back);
-				}
-				if (!$.options.keyEventBind.menubutton) {
-					plus.key.removeEventListener('menubutton', __menu);
-				}
-			});
-		}
-	});
-})(mui, window);
-/**
- * mui.init pulldownRefresh
- * @param {type} $
- * @returns {undefined}
- */
-(function($) {
-	$.addInit({
-		name: 'pullrefresh',
-		index: 1000,
-		handle: function() {
-			var options = $.options;
-			var pullRefreshOptions = options.pullRefresh || {};
-			var hasPulldown = pullRefreshOptions.down && pullRefreshOptions.down.hasOwnProperty('callback');
-			var hasPullup = pullRefreshOptions.up && pullRefreshOptions.up.hasOwnProperty('callback');
-			if(hasPulldown || hasPullup) {
-				var container = pullRefreshOptions.container;
-				if(container) {
-					var $container = $(container);
-					if($container.length === 1) {
-						if($.os.plus) { //5+环境
-							if(hasPulldown && pullRefreshOptions.down.style == "circle") { //原生转圈
-								$.plusReady(function() {
-									//这里改写$.fn.pullRefresh
-									$.fn.pullRefresh = $.fn.pullRefresh_native;
-									$container.pullRefresh(pullRefreshOptions);
-								});
-
-							} else if($.os.android) { //非原生转圈,但是Android环境
-								$.plusReady(function() {
-									//这里改写$.fn.pullRefresh
-									$.fn.pullRefresh = $.fn.pullRefresh_native
-									var webview = plus.webview.currentWebview();
-									if(window.__NWin_Enable__ === false) { //不支持多webview
-										$container.pullRefresh(pullRefreshOptions);
-									} else {
-										if(hasPullup) {
-											//当前页面初始化pullup
-											var upOptions = {};
-											upOptions.up = pullRefreshOptions.up;
-											upOptions.webviewId = webview.id || webview.getURL();
-											$container.pullRefresh(upOptions);
-										}
-										if(hasPulldown) {
-											var parent = webview.parent();
-											var id = webview.id || webview.getURL();
-											if(parent) {
-												if(!hasPullup) { //如果没有上拉加载,需要手动初始化一个默认的pullRefresh,以便当前页面容器可以调用endPulldownToRefresh等方法
-													$container.pullRefresh({
-														webviewId: id
-													});
-												}
-												var downOptions = {
-													webviewId: id//子页面id
-												};
-												downOptions.down = $.extend({}, pullRefreshOptions.down);
-												downOptions.down.callback = '_CALLBACK';
-												//改写父页面的$.fn.pullRefresh
-												parent.evalJS("mui.fn.pullRefresh=mui.fn.pullRefresh_native");
-												//父页面初始化pulldown
-												parent.evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify(downOptions) + "')");
-											}
-										}
-									}
-								});
-							} else { //非原生转圈,iOS环境
-								$container.pullRefresh(pullRefreshOptions);
-							}
-						} else {
-							$container.pullRefresh(pullRefreshOptions);
-						}
-					}
-				}
-			}
-		}
-	});
-})(mui);
-/**
- * mui ajax
- * @param {type} $
- * @returns {undefined}
- */
-(function($, window, undefined) {
-
-	var jsonType = 'application/json';
-	var htmlType = 'text/html';
-	var rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi;
-	var scriptTypeRE = /^(?:text|application)\/javascript/i;
-	var xmlTypeRE = /^(?:text|application)\/xml/i;
-	var blankRE = /^\s*$/;
-
-	$.ajaxSettings = {
-		type: 'GET',
-		beforeSend: $.noop,
-		success: $.noop,
-		error: $.noop,
-		complete: $.noop,
-		context: null,
-		xhr: function(protocol) {
-			return new window.XMLHttpRequest();
-		},
-		accepts: {
-			script: 'text/javascript, application/javascript, application/x-javascript',
-			json: jsonType,
-			xml: 'application/xml, text/xml',
-			html: htmlType,
-			text: 'text/plain'
-		},
-		timeout: 0,
-		processData: true,
-		cache: true
-	};
-	var ajaxBeforeSend = function(xhr, settings) {
-		var context = settings.context
-		if(settings.beforeSend.call(context, xhr, settings) === false) {
-			return false;
-		}
-	};
-	var ajaxSuccess = function(data, xhr, settings) {
-		settings.success.call(settings.context, data, 'success', xhr);
-		ajaxComplete('success', xhr, settings);
-	};
-	// type: "timeout", "error", "abort", "parsererror"
-	var ajaxError = function(error, type, xhr, settings) {
-		settings.error.call(settings.context, xhr, type, error);
-		ajaxComplete(type, xhr, settings);
-	};
-	// status: "success", "notmodified", "error", "timeout", "abort", "parsererror"
-	var ajaxComplete = function(status, xhr, settings) {
-		settings.complete.call(settings.context, xhr, status);
-	};
-
-	var serialize = function(params, obj, traditional, scope) {
-		var type, array = $.isArray(obj),
-			hash = $.isPlainObject(obj);
-		$.each(obj, function(key, value) {
-			type = $.type(value);
-			if(scope) {
-				key = traditional ? scope :
-					scope + '[' + (hash || type === 'object' || type === 'array' ? key : '') + ']';
-			}
-			// handle data in serializeArray() format
-			if(!scope && array) {
-				params.add(value.name, value.value);
-			}
-			// recurse into nested objects
-			else if(type === "array" || (!traditional && type === "object")) {
-				serialize(params, value, traditional, key);
-			} else {
-				params.add(key, value);
-			}
-		});
-	};
-	var serializeData = function(options) {
-		if(options.processData && options.data && typeof options.data !== "string") {
-			var contentType = options.contentType;
-			if(!contentType && options.headers) {
-				contentType = options.headers['Content-Type'];
-			}
-			if(contentType && ~contentType.indexOf(jsonType)) { //application/json
-				options.data = JSON.stringify(options.data);
-			} else {
-				options.data = $.param(options.data, options.traditional);
-			}
-		}
-		if(options.data && (!options.type || options.type.toUpperCase() === 'GET')) {
-			options.url = appendQuery(options.url, options.data);
-			options.data = undefined;
-		}
-	};
-	var appendQuery = function(url, query) {
-		if(query === '') {
-			return url;
-		}
-		return(url + '&' + query).replace(/[&?]{1,2}/, '?');
-	};
-	var mimeToDataType = function(mime) {
-		if(mime) {
-			mime = mime.split(';', 2)[0];
-		}
-		return mime && (mime === htmlType ? 'html' :
-			mime === jsonType ? 'json' :
-			scriptTypeRE.test(mime) ? 'script' :
-			xmlTypeRE.test(mime) && 'xml') || 'text';
-	};
-	var parseArguments = function(url, data, success, dataType) {
-		if($.isFunction(data)) {
-			dataType = success, success = data, data = undefined;
-		}
-		if(!$.isFunction(success)) {
-			dataType = success, success = undefined;
-		}
-		return {
-			url: url,
-			data: data,
-			success: success,
-			dataType: dataType
-		};
-	};
-	$.ajax = function(url, options) {
-		if(typeof url === "object") {
-			options = url;
-			url = undefined;
-		}
-		var settings = options || {};
-		settings.url = url || settings.url;
-		for(var key in $.ajaxSettings) {
-			if(settings[key] === undefined) {
-				settings[key] = $.ajaxSettings[key];
-			}
-		}
-		serializeData(settings);
-		var dataType = settings.dataType;
-
-		if(settings.cache === false || ((!options || options.cache !== true) && ('script' === dataType))) {
-			settings.url = appendQuery(settings.url, '_=' + $.now());
-		}
-		var mime = settings.accepts[dataType && dataType.toLowerCase()];
-		var headers = {};
-		var setHeader = function(name, value) {
-			headers[name.toLowerCase()] = [name, value];
-		};
-		var protocol = /^([\w-]+:)\/\//.test(settings.url) ? RegExp.$1 : window.location.protocol;        
-		var xhr = settings.xhr(settings);
-        
-        if(location.protocol === 'file:' && $.os.ios && window.webkit && window.webkit.messageHandlers && !(xhr instanceof plus.net.XMLHttpRequest)){
-            console.error("当前运行环境为WKWebview,需在plusReady事件触发后再调用mui.ajax,否则可能会执行失败或报Script error的错误")
-        }
-		var nativeSetHeader = xhr.setRequestHeader;
-		var abortTimeout;
-
-		setHeader('X-Requested-With', 'XMLHttpRequest');
-		setHeader('Accept', mime || '*/*');
-		if(!!(mime = settings.mimeType || mime)) {
-			if(mime.indexOf(',') > -1) {
-				mime = mime.split(',', 2)[0];
-			}
-			xhr.overrideMimeType && xhr.overrideMimeType(mime);
-		}
-		if(settings.contentType || (settings.contentType !== false && settings.data && settings.type.toUpperCase() !== 'GET')) {
-			setHeader('Content-Type', settings.contentType || 'application/x-www-form-urlencoded');
-		}
-		if(settings.headers) {
-			for(var name in settings.headers)
-				setHeader(name, settings.headers[name]);
-		}
-		xhr.setRequestHeader = setHeader;
-
-		xhr.onreadystatechange = function() {
-			if(xhr.readyState === 4) {
-				xhr.onreadystatechange = $.noop;
-				clearTimeout(abortTimeout);
-				var result, error = false;
-				var isLocal = protocol === 'file:';
-				if((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304 || (xhr.status === 0 && isLocal && xhr.responseText)) {
-					dataType = dataType || mimeToDataType(settings.mimeType || xhr.getResponseHeader('content-type'));
-					result = xhr.responseText;
-					try {
-						// http://perfectionkills.com/global-eval-what-are-the-options/
-						if(dataType === 'script') {
-							(1, eval)(result);
-						} else if(dataType === 'xml') {
-							result = xhr.responseXML;
-						} else if(dataType === 'json') {
-							result = blankRE.test(result) ? null : $.parseJSON(result);
-						}
-					} catch(e) {
-						error = e;
-					}
-
-					if(error) {
-						ajaxError(error, 'parsererror', xhr, settings);
-					} else {
-						ajaxSuccess(result, xhr, settings);
-					}
-				} else {
-					var status = xhr.status ? 'error' : 'abort';
-					var statusText = xhr.statusText || null;
-					if(isLocal) {
-						status = 'error';
-						statusText = '404';
-					}
-					ajaxError(statusText, status, xhr, settings);
-				}
-			}
-		};
-		if(ajaxBeforeSend(xhr, settings) === false) {
-			xhr.abort();
-			ajaxError(null, 'abort', xhr, settings);
-			return xhr;
-		}
-
-		if(settings.xhrFields) {
-			for(var name in settings.xhrFields) {
-				xhr[name] = settings.xhrFields[name];
-			}
-		}
-
-		var async = 'async' in settings ? settings.async : true;
-
-		xhr.open(settings.type.toUpperCase(), settings.url, async, settings.username, settings.password);
-
-		for(var name in headers) {
-			if(headers.hasOwnProperty(name)) {
-				nativeSetHeader.apply(xhr, headers[name]);
-			}
-		}
-		if(settings.timeout > 0) {
-			abortTimeout = setTimeout(function() {
-				xhr.onreadystatechange = $.noop;
-				xhr.abort();
-				ajaxError(null, 'timeout', xhr, settings);
-			}, settings.timeout);
-		}
-		xhr.send(settings.data ? settings.data : null);
-		return xhr;
-	};
-
-	$.param = function(obj, traditional) {
-		var params = [];
-		params.add = function(k, v) {
-			this.push(encodeURIComponent(k) + '=' + encodeURIComponent(v));
-		};
-		serialize(params, obj, traditional);
-		return params.join('&').replace(/%20/g, '+');
-	};
-	$.get = function( /* url, data, success, dataType */ ) {
-		return $.ajax(parseArguments.apply(null, arguments));
-	};
-
-	$.post = function( /* url, data, success, dataType */ ) {
-		var options = parseArguments.apply(null, arguments);
-		options.type = 'POST';
-		return $.ajax(options);
-	};
-
-	$.getJSON = function( /* url, data, success */ ) {
-		var options = parseArguments.apply(null, arguments);
-		options.dataType = 'json';
-		return $.ajax(options);
-	};
-
-	$.fn.load = function(url, data, success) {
-		if(!this.length)
-			return this;
-		var self = this,
-			parts = url.split(/\s/),
-			selector,
-			options = parseArguments(url, data, success),
-			callback = options.success;
-		if(parts.length > 1)
-			options.url = parts[0], selector = parts[1];
-		options.success = function(response) {
-			if(selector) {
-				var div = document.createElement('div');
-				div.innerHTML = response.replace(rscript, "");
-				var selectorDiv = document.createElement('div');
-				var childs = div.querySelectorAll(selector);
-				if(childs && childs.length > 0) {
-					for(var i = 0, len = childs.length; i < len; i++) {
-						selectorDiv.appendChild(childs[i]);
-					}
-				}
-				self[0].innerHTML = selectorDiv.innerHTML;
-			} else {
-				self[0].innerHTML = response;
-			}
-			callback && callback.apply(self, arguments);
-		};
-		$.ajax(options);
-		return this;
-	};
-
-})(mui, window);
-/**
- * 5+ ajax
- */
-(function($) {
-	var originAnchor = document.createElement('a');
-	originAnchor.href = window.location.href;
-	$.plusReady(function() {
-		$.ajaxSettings = $.extend($.ajaxSettings, {
-			xhr: function(settings) {
-				if (settings.crossDomain) { //强制使用plus跨域
-					return new plus.net.XMLHttpRequest();
-				}
-				//仅在webview的url为远程文件,且ajax请求的资源不同源下使用plus.net.XMLHttpRequest
-				if (originAnchor.protocol !== 'file:') {
-					var urlAnchor = document.createElement('a');
-					urlAnchor.href = settings.url;
-					urlAnchor.href = urlAnchor.href;
-					settings.crossDomain = (originAnchor.protocol + '//' + originAnchor.host) !== (urlAnchor.protocol + '//' + urlAnchor.host);
-					if (settings.crossDomain) {
-						return new plus.net.XMLHttpRequest();
-					}
-				}
-				if ($.os.ios && window.webkit && window.webkit.messageHandlers) { //wkwebview下同样使用5+ xhr
-                    return new plus.net.XMLHttpRequest();
-                }
-				return new window.XMLHttpRequest();
-			}
-		});
-	});
-})(mui);
-/**
- * mui layout(offset[,position,width,height...])
- * @param {type} $
- * @param {type} window
- * @param {type} undefined
- * @returns {undefined}
- */
-(function($, window, undefined) {
-	$.offset = function(element) {
-		var box = {
-			top : 0,
-			left : 0
-		};
-		if ( typeof element.getBoundingClientRect !== undefined) {
-			box = element.getBoundingClientRect();
-		}
-		return {
-			top : box.top + window.pageYOffset - element.clientTop,
-			left : box.left + window.pageXOffset - element.clientLeft
-		};
-	};
-})(mui, window); 
-/**
- * mui animation
- */
-(function($, window) {
-	/**
-	 * scrollTo
-	 */
-	$.scrollTo = function(scrollTop, duration, callback) {
-		duration = duration || 1000;
-		var scroll = function(duration) {
-			if (duration <= 0) {
-				window.scrollTo(0, scrollTop);
-				callback && callback();
-				return;
-			}
-			var distaince = scrollTop - window.scrollY;
-			setTimeout(function() {
-				window.scrollTo(0, window.scrollY + distaince / duration * 10);
-				scroll(duration - 10);
-			}, 16.7);
-		};
-		scroll(duration);
-	};
-	$.animationFrame = function(cb) {
-		var args, isQueued, context;
-		return function() {
-			args = arguments;
-			context = this;
-			if (!isQueued) {
-				isQueued = true;
-				requestAnimationFrame(function() {
-					cb.apply(context, args);
-					isQueued = false;
-				});
-			}
-		};
-	};
-
-})(mui, window);
-(function($) {
-	var initializing = false,
-		fnTest = /xyz/.test(function() {
-			xyz;
-		}) ? /\b_super\b/ : /.*/;
-
-	var Class = function() {};
-	Class.extend = function(prop) {
-		var _super = this.prototype;
-		initializing = true;
-		var prototype = new this();
-		initializing = false;
-		for (var name in prop) {
-			prototype[name] = typeof prop[name] == "function" &&
-				typeof _super[name] == "function" && fnTest.test(prop[name]) ?
-				(function(name, fn) {
-					return function() {
-						var tmp = this._super;
-
-						this._super = _super[name];
-
-						var ret = fn.apply(this, arguments);
-						this._super = tmp;
-
-						return ret;
-					};
-				})(name, prop[name]) :
-				prop[name];
-		}
-		function Class() {
-			if (!initializing && this.init)
-				this.init.apply(this, arguments);
-		}
-		Class.prototype = prototype;
-		Class.prototype.constructor = Class;
-		Class.extend = arguments.callee;
-		return Class;
-	};
-	$.Class = Class;
-})(mui);
-(function($, document, undefined) {
-    var CLASS_PULL_TOP_POCKET = 'mui-pull-top-pocket';
-    var CLASS_PULL_BOTTOM_POCKET = 'mui-pull-bottom-pocket';
-    var CLASS_PULL = 'mui-pull';
-    var CLASS_PULL_LOADING = 'mui-pull-loading';
-    var CLASS_PULL_CAPTION = 'mui-pull-caption';
-    var CLASS_PULL_CAPTION_DOWN = 'mui-pull-caption-down';
-    var CLASS_PULL_CAPTION_REFRESH = 'mui-pull-caption-refresh';
-    var CLASS_PULL_CAPTION_NOMORE = 'mui-pull-caption-nomore';
-
-    var CLASS_ICON = 'mui-icon';
-    var CLASS_SPINNER = 'mui-spinner';
-    var CLASS_ICON_PULLDOWN = 'mui-icon-pulldown';
-
-    var CLASS_BLOCK = 'mui-block';
-    var CLASS_HIDDEN = 'mui-hidden';
-    var CLASS_VISIBILITY = 'mui-visibility';
-
-    var CLASS_LOADING_UP = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_ICON_PULLDOWN;
-    var CLASS_LOADING_DOWN = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_ICON_PULLDOWN;
-    var CLASS_LOADING = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_SPINNER;
-
-    var pocketHtml = ['<div class="' + CLASS_PULL + '">', '<div class="{icon}"></div>', '<div class="' + CLASS_PULL_CAPTION + '">{contentrefresh}</div>', '</div>'].join('');
-
-    var PullRefresh = {
-        init: function(element, options) {
-            this._super(element, $.extend(true, {
-                scrollY: true,
-                scrollX: false,
-                indicators: true,
-                deceleration: 0.003,
-                down: {
-                    height: 50,
-                    contentinit: '下拉可以刷新',
-                    contentdown: '下拉可以刷新',
-                    contentover: '释放立即刷新',
-                    contentrefresh: '正在刷新...'
-                },
-                up: {
-                    height: 50,
-                    auto: false,
-                    contentinit: '上拉显示更多',
-                    contentdown: '上拉显示更多',
-                    contentrefresh: '正在加载...',
-                    contentnomore: '没有更多数据了',
-                    duration: 300
-                }
-            }, options));
-        },
-        _init: function() {
-            this._super();
-            this._initPocket();
-        },
-        _initPulldownRefresh: function() {
-            this.pulldown = true;
-            if (this.topPocket) {
-                this.pullPocket = this.topPocket;
-                this.pullPocket.classList.add(CLASS_BLOCK);
-                this.pullPocket.classList.add(CLASS_VISIBILITY);
-                this.pullCaption = this.topCaption;
-                this.pullLoading = this.topLoading;
-            }
-        },
-        _initPullupRefresh: function() {
-            this.pulldown = false;
-            if (this.bottomPocket) {
-                this.pullPocket = this.bottomPocket;
-                this.pullPocket.classList.add(CLASS_BLOCK);
-                this.pullPocket.classList.add(CLASS_VISIBILITY);
-                this.pullCaption = this.bottomCaption;
-                this.pullLoading = this.bottomLoading;
-            }
-        },
-        _initPocket: function() {
-            var options = this.options;
-            if (options.down && options.down.hasOwnProperty('callback')) {
-                this.topPocket = this.scroller.querySelector('.' + CLASS_PULL_TOP_POCKET);
-                if (!this.topPocket) {
-                    this.topPocket = this._createPocket(CLASS_PULL_TOP_POCKET, options.down, CLASS_LOADING_DOWN);
-                    this.wrapper.insertBefore(this.topPocket, this.wrapper.firstChild);
-                }
-                this.topLoading = this.topPocket.querySelector('.' + CLASS_PULL_LOADING);
-                this.topCaption = this.topPocket.querySelector('.' + CLASS_PULL_CAPTION);
-            }
-            if (options.up && options.up.hasOwnProperty('callback')) {
-                this.bottomPocket = this.scroller.querySelector('.' + CLASS_PULL_BOTTOM_POCKET);
-                if (!this.bottomPocket) {
-                    this.bottomPocket = this._createPocket(CLASS_PULL_BOTTOM_POCKET, options.up, CLASS_LOADING);
-                    this.scroller.appendChild(this.bottomPocket);
-                }
-                this.bottomLoading = this.bottomPocket.querySelector('.' + CLASS_PULL_LOADING);
-                this.bottomCaption = this.bottomPocket.querySelector('.' + CLASS_PULL_CAPTION);
-                //TODO only for h5
-                this.wrapper.addEventListener('scrollbottom', this);
-            }
-        },
-        _createPocket: function(clazz, options, iconClass) {
-            var pocket = document.createElement('div');
-            pocket.className = clazz;
-            pocket.innerHTML = pocketHtml.replace('{contentrefresh}', options.contentinit).replace('{icon}', iconClass);
-            return pocket;
-        },
-        _resetPullDownLoading: function() {
-            var loading = this.pullLoading;
-            if (loading) {
-                this.pullCaption.innerHTML = this.options.down.contentdown;
-                loading.style.webkitTransition = "";
-                loading.style.webkitTransform = "";
-                loading.style.webkitAnimation = "";
-                loading.className = CLASS_LOADING_DOWN;
-            }
-        },
-        _setCaptionClass: function(isPulldown, caption, title) {
-            if (!isPulldown) {
-                switch (title) {
-                    case this.options.up.contentdown:
-                        caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN;
-                        break;
-                    case this.options.up.contentrefresh:
-                        caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_REFRESH
-                        break;
-                    case this.options.up.contentnomore:
-                        caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_NOMORE;
-                        break;
-                }
-            }
-        },
-        _setCaption: function(title, reset) {
-            if (this.loading) {
-                return;
-            }
-            var options = this.options;
-            var pocket = this.pullPocket;
-            var caption = this.pullCaption;
-            var loading = this.pullLoading;
-            var isPulldown = this.pulldown;
-            var self = this;
-            if (pocket) {
-                if (reset) {
-                    setTimeout(function() {
-                        caption.innerHTML = self.lastTitle = title;
-                        if (isPulldown) {
-                            loading.className = CLASS_LOADING_DOWN;
-                        } else {
-                            self._setCaptionClass(false, caption, title);
-                            loading.className = CLASS_LOADING;
-                        }
-                        loading.style.webkitAnimation = "";
-                        loading.style.webkitTransition = "";
-                        loading.style.webkitTransform = "";
-                    }, 100);
-                } else {
-                    if (title !== this.lastTitle) {
-                        caption.innerHTML = title;
-                        if (isPulldown) {
-                            if (title === options.down.contentrefresh) {
-                                loading.className = CLASS_LOADING;
-                                loading.style.webkitAnimation = "spinner-spin 1s step-end infinite";
-                            } else if (title === options.down.contentover) {
-                                loading.className = CLASS_LOADING_UP;
-                                loading.style.webkitTransition = "-webkit-transform 0.3s ease-in";
-                                loading.style.webkitTransform = "rotate(180deg)";
-                            } else if (title === options.down.contentdown) {
-                                loading.className = CLASS_LOADING_DOWN;
-                                loading.style.webkitTransition = "-webkit-transform 0.3s ease-in";
-                                loading.style.webkitTransform = "rotate(0deg)";
-                            }
-                        } else {
-                            if (title === options.up.contentrefresh) {
-                                loading.className = CLASS_LOADING + ' ' + CLASS_VISIBILITY;
-                            } else {
-                                loading.className = CLASS_LOADING + ' ' + CLASS_HIDDEN;
-                            }
-                            self._setCaptionClass(false, caption, title);
-                        }
-                        this.lastTitle = title;
-                    }
-                }
-
-            }
-        }
-    };
-    $.PullRefresh = PullRefresh;
-})(mui, document);
-(function($, window, document, undefined) {
-	var CLASS_SCROLL = 'mui-scroll';
-	var CLASS_SCROLLBAR = 'mui-scrollbar';
-	var CLASS_INDICATOR = 'mui-scrollbar-indicator';
-	var CLASS_SCROLLBAR_VERTICAL = CLASS_SCROLLBAR + '-vertical';
-	var CLASS_SCROLLBAR_HORIZONTAL = CLASS_SCROLLBAR + '-horizontal';
-
-	var CLASS_ACTIVE = 'mui-active';
-
-	var ease = {
-		quadratic: {
-			style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',
-			fn: function(k) {
-				return k * (2 - k);
-			}
-		},
-		circular: {
-			style: 'cubic-bezier(0.1, 0.57, 0.1, 1)',
-			fn: function(k) {
-				return Math.sqrt(1 - (--k * k));
-			}
-		},
-		outCirc: {
-			style: 'cubic-bezier(0.075, 0.82, 0.165, 1)'
-		},
-		outCubic: {
-			style: 'cubic-bezier(0.165, 0.84, 0.44, 1)'
-		}
-	}
-	var Scroll = $.Class.extend({
-		init: function(element, options) {
-			this.wrapper = this.element = element;
-			this.scroller = this.wrapper.children[0];
-			this.scrollerStyle = this.scroller && this.scroller.style;
-			this.stopped = false;
-
-			this.options = $.extend(true, {
-				scrollY: true, //是否竖向滚动
-				scrollX: false, //是否横向滚动
-				startX: 0, //初始化时滚动至x
-				startY: 0, //初始化时滚动至y
-
-				indicators: true, //是否显示滚动条
-				stopPropagation: false,
-				hardwareAccelerated: true,
-				fixedBadAndorid: false,
-				preventDefaultException: {
-					tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/
-				},
-				momentum: true,
-
-				snapX: 0.5, //横向切换距离(以当前容器宽度为基准)
-				snap: false, //图片轮播,拖拽式选项卡
-
-				bounce: true, //是否启用回弹
-				bounceTime: 500, //回弹动画时间
-				bounceEasing: ease.outCirc, //回弹动画曲线
-
-				scrollTime: 500,
-				scrollEasing: ease.outCubic, //轮播动画曲线
-
-				directionLockThreshold: 5,
-
-				parallaxElement: false, //视差元素
-				parallaxRatio: 0.5
-			}, options);
-
-			this.x = 0;
-			this.y = 0;
-			this.translateZ = this.options.hardwareAccelerated ? ' translateZ(0)' : '';
-
-			this._init();
-			if (this.scroller) {
-				this.refresh();
-				//				if (this.options.startX !== 0 || this.options.startY !== 0) { //需要判断吗?后续根据实际情况再看看
-				this.scrollTo(this.options.startX, this.options.startY);
-				//				}
-			}
-		},
-		_init: function() {
-			this._initParallax();
-			this._initIndicators();
-			this._initEvent();
-		},
-		_initParallax: function() {
-			if (this.options.parallaxElement) {
-				this.parallaxElement = document.querySelector(this.options.parallaxElement);
-				this.parallaxStyle = this.parallaxElement.style;
-				this.parallaxHeight = this.parallaxElement.offsetHeight;
-				this.parallaxImgStyle = this.parallaxElement.querySelector('img').style;
-			}
-		},
-		_initIndicators: function() {
-			var self = this;
-			self.indicators = [];
-			if (!this.options.indicators) {
-				return;
-			}
-			var indicators = [],
-				indicator;
-
-			// Vertical scrollbar
-			if (self.options.scrollY) {
-				indicator = {
-					el: this._createScrollBar(CLASS_SCROLLBAR_VERTICAL),
-					listenX: false
-				};
-
-				this.wrapper.appendChild(indicator.el);
-				indicators.push(indicator);
-			}
-
-			// Horizontal scrollbar
-			if (this.options.scrollX) {
-				indicator = {
-					el: this._createScrollBar(CLASS_SCROLLBAR_HORIZONTAL),
-					listenY: false
-				};
-
-				this.wrapper.appendChild(indicator.el);
-				indicators.push(indicator);
-			}
-
-			for (var i = indicators.length; i--;) {
-				this.indicators.push(new Indicator(this, indicators[i]));
-			}
-
-		},
-		_initSnap: function() {
-			this.currentPage = {};
-			this.pages = [];
-			var snaps = this.snaps;
-			var length = snaps.length;
-			var m = 0;
-			var n = -1;
-			var x = 0;
-			var leftX = 0;
-			var rightX = 0;
-			var snapX = 0;
-			for (var i = 0; i < length; i++) {
-				var snap = snaps[i];
-				var offsetLeft = snap.offsetLeft;
-				var offsetWidth = snap.offsetWidth;
-				if (i === 0 || offsetLeft <= snaps[i - 1].offsetLeft) {
-					m = 0;
-					n++;
-				}
-				if (!this.pages[m]) {
-					this.pages[m] = [];
-				}
-				x = this._getSnapX(offsetLeft);
-				snapX = Math.round((offsetWidth) * this.options.snapX);
-				leftX = x - snapX;
-				rightX = x - offsetWidth + snapX;
-				this.pages[m][n] = {
-					x: x,
-					leftX: leftX,
-					rightX: rightX,
-					pageX: m,
-					element: snap
-				}
-				if (snap.classList.contains(CLASS_ACTIVE)) {
-					this.currentPage = this.pages[m][0];
-				}
-				if (x >= this.maxScrollX) {
-					m++;
-				}
-			}
-			this.options.startX = this.currentPage.x || 0;
-		},
-		_getSnapX: function(offsetLeft) {
-			return Math.max(Math.min(0, -offsetLeft + (this.wrapperWidth / 2)), this.maxScrollX);
-		},
-		_gotoPage: function(index) {
-			this.currentPage = this.pages[Math.min(index, this.pages.length - 1)][0];
-			for (var i = 0, len = this.snaps.length; i < len; i++) {
-				if (i === index) {
-					this.snaps[i].classList.add(CLASS_ACTIVE);
-				} else {
-					this.snaps[i].classList.remove(CLASS_ACTIVE);
-				}
-			}
-			this.scrollTo(this.currentPage.x, 0, this.options.scrollTime);
-		},
-		_nearestSnap: function(x) {
-			if (!this.pages.length) {
-				return {
-					x: 0,
-					pageX: 0
-				};
-			}
-			var i = 0;
-			var length = this.pages.length;
-			if (x > 0) {
-				x = 0;
-			} else if (x < this.maxScrollX) {
-				x = this.maxScrollX;
-			}
-			for (; i < length; i++) {
-				var nearestX = this.direction === 'left' ? this.pages[i][0].leftX : this.pages[i][0].rightX;
-				if (x >= nearestX) {
-					return this.pages[i][0];
-				}
-			}
-			return {
-				x: 0,
-				pageX: 0
-			};
-		},
-		_initEvent: function(detach) {
-			var action = detach ? 'removeEventListener' : 'addEventListener';
-			window[action]('orientationchange', this);
-			window[action]('resize', this);
-
-			this.scroller[action]('webkitTransitionEnd', this);
-
-			this.wrapper[action]($.EVENT_START, this);
-			this.wrapper[action]($.EVENT_CANCEL, this);
-			this.wrapper[action]($.EVENT_END, this);
-			this.wrapper[action]('drag', this);
-			this.wrapper[action]('dragend', this);
-			this.wrapper[action]('flick', this);
-			this.wrapper[action]('scrollend', this);
-			if (this.options.scrollX) {
-				this.wrapper[action]('swiperight', this);
-			}
-			var segmentedControl = this.wrapper.querySelector('.mui-segmented-control');
-			if (segmentedControl) { //靠,这个bug排查了一下午,阻止hash跳转,一旦hash跳转会导致可拖拽选项卡的tab不见
-				mui(segmentedControl)[detach ? 'off' : 'on']('click', 'a', $.preventDefault);
-			}
-
-			this.wrapper[action]('scrollstart', this);
-			this.wrapper[action]('refresh', this);
-		},
-		_handleIndicatorScrollend: function() {
-			this.indicators.map(function(indicator) {
-				indicator.fade();
-			});
-		},
-		_handleIndicatorScrollstart: function() {
-			this.indicators.map(function(indicator) {
-				indicator.fade(1);
-			});
-		},
-		_handleIndicatorRefresh: function() {
-			this.indicators.map(function(indicator) {
-				indicator.refresh();
-			});
-		},
-		handleEvent: function(e) {
-			if (this.stopped) {
-				this.resetPosition();
-				return;
-			}
-
-			switch (e.type) {
-				case $.EVENT_START:
-					this._start(e);
-					break;
-				case 'drag':
-					this.options.stopPropagation && e.stopPropagation();
-					this._drag(e);
-					break;
-				case 'dragend':
-				case 'flick':
-					this.options.stopPropagation && e.stopPropagation();
-					this._flick(e);
-					break;
-				case $.EVENT_CANCEL:
-				case $.EVENT_END:
-					this._end(e);
-					break;
-				case 'webkitTransitionEnd':
-					this.transitionTimer && this.transitionTimer.cancel();
-					this._transitionEnd(e);
-					break;
-				case 'scrollstart':
-					this._handleIndicatorScrollstart(e);
-					break;
-				case 'scrollend':
-					this._handleIndicatorScrollend(e);
-					this._scrollend(e);
-					e.stopPropagation();
-					break;
-				case 'orientationchange':
-				case 'resize':
-					this._resize();
-					break;
-				case 'swiperight':
-					e.stopPropagation();
-					break;
-				case 'refresh':
-					this._handleIndicatorRefresh(e);
-					break;
-
-			}
-		},
-		_start: function(e) {
-			this.moved = this.needReset = false;
-			this._transitionTime();
-			if (this.isInTransition) {
-				this.needReset = true;
-				this.isInTransition = false;
-				var pos = $.parseTranslateMatrix($.getStyles(this.scroller, 'webkitTransform'));
-				this.setTranslate(Math.round(pos.x), Math.round(pos.y));
-				//				this.resetPosition(); //reset
-				$.trigger(this.scroller, 'scrollend', this);
-				//				e.stopPropagation();
-				e.preventDefault();
-			}
-			this.reLayout();
-			$.trigger(this.scroller, 'beforescrollstart', this);
-		},
-		_getDirectionByAngle: function(angle) {
-			if (angle < -80 && angle > -100) {
-				return 'up';
-			} else if (angle >= 80 && angle < 100) {
-				return 'down';
-			} else if (angle >= 170 || angle <= -170) {
-				return 'left';
-			} else if (angle >= -35 && angle <= 10) {
-				return 'right';
-			}
-			return null;
-		},
-		_drag: function(e) {
-			//			if (this.needReset) {
-			//				e.stopPropagation(); //disable parent drag(nested scroller)
-			//				return;
-			//			}
-			var detail = e.detail;
-			if (this.options.scrollY || detail.direction === 'up' || detail.direction === 'down') { //如果是竖向滚动或手势方向是上或下
-				//ios8 hack
-				if ($.os.ios && parseFloat($.os.version) >= 8) { //多webview时,离开当前webview会导致后续touch事件不触发
-					var clientY = detail.gesture.touches[0].clientY;
-					//下拉刷新 or 上拉加载
-					if ((clientY + 10) > window.innerHeight || clientY < 10) {
-						this.resetPosition(this.options.bounceTime);
-						return;
-					}
-				}
-			}
-			var isPreventDefault = isReturn = false;
-			var direction = this._getDirectionByAngle(detail.angle);
-			if (detail.direction === 'left' || detail.direction === 'right') {
-				if (this.options.scrollX) {
-					isPreventDefault = true;
-					if (!this.moved) { //识别角度(该角度导致轮播不灵敏)
-						//						if (direction !== 'left' && direction !== 'right') {
-						//							isReturn = true;
-						//						} else {
-						$.gestures.session.lockDirection = true; //锁定方向
-						$.gestures.session.startDirection = detail.direction;
-						//						}
-					}
-				} else if (this.options.scrollY && !this.moved) {
-					isReturn = true;
-				}
-			} else if (detail.direction === 'up' || detail.direction === 'down') {
-				if (this.options.scrollY) {
-					isPreventDefault = true;
-					//					if (!this.moved) { //识别角度,竖向滚动似乎没必要进行小角度验证
-					//						if (direction !== 'up' && direction !== 'down') {
-					//							isReturn = true;
-					//						}
-					//					}
-					if (!this.moved) {
-						$.gestures.session.lockDirection = true; //锁定方向
-						$.gestures.session.startDirection = detail.direction;
-					}
-				} else if (this.options.scrollX && !this.moved) {
-					isReturn = true;
-				}
-			} else {
-				isReturn = true;
-			}
-			if (this.moved || isPreventDefault) {
-				e.stopPropagation(); //阻止冒泡(scroll类嵌套)
-				detail.gesture && detail.gesture.preventDefault();
-			}
-			if (isReturn) { //禁止非法方向滚动
-				return;
-			}
-			if (!this.moved) {
-				$.trigger(this.scroller, 'scrollstart', this);
-			} else {
-				e.stopPropagation(); //move期间阻止冒泡(scroll嵌套)
-			}
-			var deltaX = 0;
-			var deltaY = 0;
-			if (!this.moved) { //start
-				deltaX = detail.deltaX;
-				deltaY = detail.deltaY;
-			} else { //move
-				deltaX = detail.deltaX - $.gestures.session.prevTouch.deltaX;
-				deltaY = detail.deltaY - $.gestures.session.prevTouch.deltaY;
-			}
-			var absDeltaX = Math.abs(detail.deltaX);
-			var absDeltaY = Math.abs(detail.deltaY);
-			if (absDeltaX > absDeltaY + this.options.directionLockThreshold) {
-				deltaY = 0;
-			} else if (absDeltaY >= absDeltaX + this.options.directionLockThreshold) {
-				deltaX = 0;
-			}
-
-			deltaX = this.hasHorizontalScroll ? deltaX : 0;
-			deltaY = this.hasVerticalScroll ? deltaY : 0;
-			var newX = this.x + deltaX;
-			var newY = this.y + deltaY;
-			// Slow down if outside of the boundaries
-			if (newX > 0 || newX < this.maxScrollX) {
-				newX = this.options.bounce ? this.x + deltaX / 3 : newX > 0 ? 0 : this.maxScrollX;
-			}
-			if (newY > 0 || newY < this.maxScrollY) {
-				newY = this.options.bounce ? this.y + deltaY / 3 : newY > 0 ? 0 : this.maxScrollY;
-			}
-
-			if (!this.requestAnimationFrame) {
-				this._updateTranslate();
-			}
-			this.direction = detail.deltaX > 0 ? 'right' : 'left';
-			this.moved = true;
-			this.x = newX;
-			this.y = newY;
-			$.trigger(this.scroller, 'scroll', this);
-		},
-		_flick: function(e) {
-			//			if (!this.moved || this.needReset) {
-			//				return;
-			//			}
-			if (!this.moved) {
-				return;
-			}
-			e.stopPropagation();
-			var detail = e.detail;
-			this._clearRequestAnimationFrame();
-			if (e.type === 'dragend' && detail.flick) { //dragend
-				return;
-			}
-
-			var newX = Math.round(this.x);
-			var newY = Math.round(this.y);
-
-			this.isInTransition = false;
-			// reset if we are outside of the boundaries
-			if (this.resetPosition(this.options.bounceTime)) {
-				return;
-			}
-
-			this.scrollTo(newX, newY); // ensures that the last position is rounded
-
-			if (e.type === 'dragend') { //dragend
-				$.trigger(this.scroller, 'scrollend', this);
-				return;
-			}
-			var time = 0;
-			var easing = '';
-			// start momentum animation if needed
-			if (this.options.momentum && detail.flickTime < 300) {
-				momentumX = this.hasHorizontalScroll ? this._momentum(this.x, detail.flickDistanceX, detail.flickTime, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : {
-					destination: newX,
-					duration: 0
-				};
-				momentumY = this.hasVerticalScroll ? this._momentum(this.y, detail.flickDistanceY, detail.flickTime, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : {
-					destination: newY,
-					duration: 0
-				};
-				newX = momentumX.destination;
-				newY = momentumY.destination;
-				time = Math.max(momentumX.duration, momentumY.duration);
-				this.isInTransition = true;
-			}
-
-			if (newX != this.x || newY != this.y) {
-				if (newX > 0 || newX < this.maxScrollX || newY > 0 || newY < this.maxScrollY) {
-					easing = ease.quadratic;
-				}
-				this.scrollTo(newX, newY, time, easing);
-				return;
-			}
-
-			$.trigger(this.scroller, 'scrollend', this);
-			//			e.stopPropagation();
-		},
-		_end: function(e) {
-			this.needReset = false;
-			if ((!this.moved && this.needReset) || e.type === $.EVENT_CANCEL) {
-				this.resetPosition();
-			}
-		},
-		_transitionEnd: function(e) {
-			if (e.target != this.scroller || !this.isInTransition) {
-				return;
-			}
-			this._transitionTime();
-			if (!this.resetPosition(this.options.bounceTime)) {
-				this.isInTransition = false;
-				$.trigger(this.scroller, 'scrollend', this);
-			}
-		},
-		_scrollend: function(e) {
-			if ((this.y === 0 && this.maxScrollY === 0) || (Math.abs(this.y) > 0 && this.y <= this.maxScrollY)) {
-				$.trigger(this.scroller, 'scrollbottom', this);
-			}
-		},
-		_resize: function() {
-			var that = this;
-			clearTimeout(that.resizeTimeout);
-			that.resizeTimeout = setTimeout(function() {
-				that.refresh();
-			}, that.options.resizePolling);
-		},
-		_transitionTime: function(time) {
-			time = time || 0;
-			this.scrollerStyle['webkitTransitionDuration'] = time + 'ms';
-			if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果
-				this.parallaxStyle['webkitTransitionDuration'] = time + 'ms';
-			}
-			if (this.options.fixedBadAndorid && !time && $.os.isBadAndroid) {
-				this.scrollerStyle['webkitTransitionDuration'] = '0.001s';
-				if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果
-					this.parallaxStyle['webkitTransitionDuration'] = '0.001s';
-				}
-			}
-			if (this.indicators) {
-				for (var i = this.indicators.length; i--;) {
-					this.indicators[i].transitionTime(time);
-				}
-			}
-			if (time) { //自定义timer,保证webkitTransitionEnd始终触发
-				this.transitionTimer && this.transitionTimer.cancel();
-				this.transitionTimer = $.later(function() {
-					$.trigger(this.scroller, 'webkitTransitionEnd');
-				}, time + 100, this);
-			}
-		},
-		_transitionTimingFunction: function(easing) {
-			this.scrollerStyle['webkitTransitionTimingFunction'] = easing;
-			if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果
-				this.parallaxStyle['webkitTransitionDuration'] = easing;
-			}
-			if (this.indicators) {
-				for (var i = this.indicators.length; i--;) {
-					this.indicators[i].transitionTimingFunction(easing);
-				}
-			}
-		},
-		_translate: function(x, y) {
-			this.x = x;
-			this.y = y;
-		},
-		_clearRequestAnimationFrame: function() {
-			if (this.requestAnimationFrame) {
-				cancelAnimationFrame(this.requestAnimationFrame);
-				this.requestAnimationFrame = null;
-			}
-		},
-		_updateTranslate: function() {
-			var self = this;
-			if (self.x !== self.lastX || self.y !== self.lastY) {
-				self.setTranslate(self.x, self.y);
-			}
-			self.requestAnimationFrame = requestAnimationFrame(function() {
-				self._updateTranslate();
-			});
-		},
-		_createScrollBar: function(clazz) {
-			var scrollbar = document.createElement('div');
-			var indicator = document.createElement('div');
-			scrollbar.className = CLASS_SCROLLBAR + ' ' + clazz;
-			indicator.className = CLASS_INDICATOR;
-			scrollbar.appendChild(indicator);
-			if (clazz === CLASS_SCROLLBAR_VERTICAL) {
-				this.scrollbarY = scrollbar;
-				this.scrollbarIndicatorY = indicator;
-			} else if (clazz === CLASS_SCROLLBAR_HORIZONTAL) {
-				this.scrollbarX = scrollbar;
-				this.scrollbarIndicatorX = indicator;
-			}
-			this.wrapper.appendChild(scrollbar);
-			return scrollbar;
-		},
-		_preventDefaultException: function(el, exceptions) {
-			for (var i in exceptions) {
-				if (exceptions[i].test(el[i])) {
-					return true;
-				}
-			}
-			return false;
-		},
-		_reLayout: function() {
-			if (!this.hasHorizontalScroll) {
-				this.maxScrollX = 0;
-				this.scrollerWidth = this.wrapperWidth;
-			}
-
-			if (!this.hasVerticalScroll) {
-				this.maxScrollY = 0;
-				this.scrollerHeight = this.wrapperHeight;
-			}
-
-			this.indicators.map(function(indicator) {
-				indicator.refresh();
-			});
-
-			//以防slider类嵌套使用
-			if (this.options.snap && typeof this.options.snap === 'string') {
-				var items = this.scroller.querySelectorAll(this.options.snap);
-				this.itemLength = 0;
-				this.snaps = [];
-				for (var i = 0, len = items.length; i < len; i++) {
-					var item = items[i];
-					if (item.parentNode === this.scroller) {
-						this.itemLength++;
-						this.snaps.push(item);
-					}
-				}
-				this._initSnap(); //需要每次都_initSnap么。其实init的时候执行一次,后续resize的时候执行一次就行了吧.先这么做吧,如果影响性能,再调整
-			}
-		},
-		_momentum: function(current, distance, time, lowerMargin, wrapperSize, deceleration) {
-			var speed = parseFloat(Math.abs(distance) / time),
-				destination,
-				duration;
-
-			deceleration = deceleration === undefined ? 0.0006 : deceleration;
-			destination = current + (speed * speed) / (2 * deceleration) * (distance < 0 ? -1 : 1);
-			duration = speed / deceleration;
-			if (destination < lowerMargin) {
-				destination = wrapperSize ? lowerMargin - (wrapperSize / 2.5 * (speed / 8)) : lowerMargin;
-				distance = Math.abs(destination - current);
-				duration = distance / speed;
-			} else if (destination > 0) {
-				destination = wrapperSize ? wrapperSize / 2.5 * (speed / 8) : 0;
-				distance = Math.abs(current) + destination;
-				duration = distance / speed;
-			}
-
-			return {
-				destination: Math.round(destination),
-				duration: duration
-			};
-		},
-		_getTranslateStr: function(x, y) {
-			if (this.options.hardwareAccelerated) {
-				return 'translate3d(' + x + 'px,' + y + 'px,0px) ' + this.translateZ;
-			}
-			return 'translate(' + x + 'px,' + y + 'px) ';
-		},
-		//API
-		setStopped: function(stopped) {
-			// this.stopped = !!stopped;
-
-			// fixed ios双webview模式下拉刷新
-			if(stopped) {
-				this.disablePullupToRefresh();
-				this.disablePulldownToRefresh();
-			} else {
-				this.enablePullupToRefresh();
-				this.enablePulldownToRefresh();
-			}
-		},
-		setTranslate: function(x, y) {
-			this.x = x;
-			this.y = y;
-			this.scrollerStyle['webkitTransform'] = this._getTranslateStr(x, y);
-			if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果
-				var parallaxY = y * this.options.parallaxRatio;
-				var scale = 1 + parallaxY / ((this.parallaxHeight - parallaxY) / 2);
-				if (scale > 1) {
-					this.parallaxImgStyle['opacity'] = 1 - parallaxY / 100 * this.options.parallaxRatio;
-					this.parallaxStyle['webkitTransform'] = this._getTranslateStr(0, -parallaxY) + ' scale(' + scale + ',' + scale + ')';
-				} else {
-					this.parallaxImgStyle['opacity'] = 1;
-					this.parallaxStyle['webkitTransform'] = this._getTranslateStr(0, -1) + ' scale(1,1)';
-				}
-			}
-			if (this.indicators) {
-				for (var i = this.indicators.length; i--;) {
-					this.indicators[i].updatePosition();
-				}
-			}
-			this.lastX = this.x;
-			this.lastY = this.y;
-			$.trigger(this.scroller, 'scroll', this);
-		},
-		reLayout: function() {
-			this.wrapper.offsetHeight;
-
-			var paddingLeft = parseFloat($.getStyles(this.wrapper, 'padding-left')) || 0;
-			var paddingRight = parseFloat($.getStyles(this.wrapper, 'padding-right')) || 0;
-			var paddingTop = parseFloat($.getStyles(this.wrapper, 'padding-top')) || 0;
-			var paddingBottom = parseFloat($.getStyles(this.wrapper, 'padding-bottom')) || 0;
-
-			var clientWidth = this.wrapper.clientWidth;
-			var clientHeight = this.wrapper.clientHeight;
-
-			this.scrollerWidth = this.scroller.offsetWidth;
-			this.scrollerHeight = this.scroller.offsetHeight;
-
-			this.wrapperWidth = clientWidth - paddingLeft - paddingRight;
-			this.wrapperHeight = clientHeight - paddingTop - paddingBottom;
-
-			this.maxScrollX = Math.min(this.wrapperWidth - this.scrollerWidth, 0);
-			this.maxScrollY = Math.min(this.wrapperHeight - this.scrollerHeight, 0);
-			this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0;
-			this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0;
-			this._reLayout();
-		},
-		resetPosition: function(time) {
-			var x = this.x,
-				y = this.y;
-
-			time = time || 0;
-			if (!this.hasHorizontalScroll || this.x > 0) {
-				x = 0;
-			} else if (this.x < this.maxScrollX) {
-				x = this.maxScrollX;
-			}
-
-			if (!this.hasVerticalScroll || this.y > 0) {
-				y = 0;
-			} else if (this.y < this.maxScrollY) {
-				y = this.maxScrollY;
-			}
-
-			if (x == this.x && y == this.y) {
-				return false;
-			}
-			this.scrollTo(x, y, time, this.options.scrollEasing);
-
-			return true;
-		},
-		_reInit: function() {
-			var groups = this.wrapper.querySelectorAll('.' + CLASS_SCROLL);
-			for (var i = 0, len = groups.length; i < len; i++) {
-				if (groups[i].parentNode === this.wrapper) {
-					this.scroller = groups[i];
-					break;
-				}
-			}
-			this.scrollerStyle = this.scroller && this.scroller.style;
-		},
-		refresh: function() {
-			this._reInit();
-			this.reLayout();
-			$.trigger(this.scroller, 'refresh', this);
-			this.resetPosition();
-		},
-		scrollTo: function(x, y, time, easing) {
-			var easing = easing || ease.circular;
-			//			this.isInTransition = time > 0 && (this.lastX != x || this.lastY != y);
-			//暂不严格判断x,y,否则会导致部分版本上不正常触发轮播
-			this.isInTransition = time > 0;
-			if (this.isInTransition) {
-				this._clearRequestAnimationFrame();
-				this._transitionTimingFunction(easing.style);
-				this._transitionTime(time);
-				this.setTranslate(x, y);
-			} else {
-				this.setTranslate(x, y);
-			}
-
-		},
-		scrollToBottom: function(time, easing) {
-			time = time || this.options.scrollTime;
-			this.scrollTo(0, this.maxScrollY, time, easing);
-		},
-		gotoPage: function(index) {
-			this._gotoPage(index);
-		},
-		destroy: function() {
-			this._initEvent(true); //detach
-			delete $.data[this.wrapper.getAttribute('data-scroll')];
-			this.wrapper.setAttribute('data-scroll', '');
-		}
-	});
-	//Indicator
-	var Indicator = function(scroller, options) {
-		this.wrapper = typeof options.el == 'string' ? document.querySelector(options.el) : options.el;
-		this.wrapperStyle = this.wrapper.style;
-		this.indicator = this.wrapper.children[0];
-		this.indicatorStyle = this.indicator.style;
-		this.scroller = scroller;
-
-		this.options = $.extend({
-			listenX: true,
-			listenY: true,
-			fade: false,
-			speedRatioX: 0,
-			speedRatioY: 0
-		}, options);
-
-		this.sizeRatioX = 1;
-		this.sizeRatioY = 1;
-		this.maxPosX = 0;
-		this.maxPosY = 0;
-
-		if (this.options.fade) {
-			this.wrapperStyle['webkitTransform'] = this.scroller.translateZ;
-			this.wrapperStyle['webkitTransitionDuration'] = this.options.fixedBadAndorid && $.os.isBadAndroid ? '0.001s' : '0ms';
-			this.wrapperStyle.opacity = '0';
-		}
-	}
-	Indicator.prototype = {
-		handleEvent: function(e) {
-
-		},
-		transitionTime: function(time) {
-			time = time || 0;
-			this.indicatorStyle['webkitTransitionDuration'] = time + 'ms';
-			if (this.scroller.options.fixedBadAndorid && !time && $.os.isBadAndroid) {
-				this.indicatorStyle['webkitTransitionDuration'] = '0.001s';
-			}
-		},
-		transitionTimingFunction: function(easing) {
-			this.indicatorStyle['webkitTransitionTimingFunction'] = easing;
-		},
-		refresh: function() {
-			this.transitionTime();
-
-			if (this.options.listenX && !this.options.listenY) {
-				this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none';
-			} else if (this.options.listenY && !this.options.listenX) {
-				this.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none';
-			} else {
-				this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none';
-			}
-
-			this.wrapper.offsetHeight; // force refresh
-
-			if (this.options.listenX) {
-				this.wrapperWidth = this.wrapper.clientWidth;
-				this.indicatorWidth = Math.max(Math.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8);
-				this.indicatorStyle.width = this.indicatorWidth + 'px';
-
-				this.maxPosX = this.wrapperWidth - this.indicatorWidth;
-
-				this.minBoundaryX = 0;
-				this.maxBoundaryX = this.maxPosX;
-
-				this.sizeRatioX = this.options.speedRatioX || (this.scroller.maxScrollX && (this.maxPosX / this.scroller.maxScrollX));
-			}
-
-			if (this.options.listenY) {
-				this.wrapperHeight = this.wrapper.clientHeight;
-				this.indicatorHeight = Math.max(Math.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8);
-				this.indicatorStyle.height = this.indicatorHeight + 'px';
-
-				this.maxPosY = this.wrapperHeight - this.indicatorHeight;
-
-				this.minBoundaryY = 0;
-				this.maxBoundaryY = this.maxPosY;
-
-				this.sizeRatioY = this.options.speedRatioY || (this.scroller.maxScrollY && (this.maxPosY / this.scroller.maxScrollY));
-			}
-
-			this.updatePosition();
-		},
-
-		updatePosition: function() {
-			var x = this.options.listenX && Math.round(this.sizeRatioX * this.scroller.x) || 0,
-				y = this.options.listenY && Math.round(this.sizeRatioY * this.scroller.y) || 0;
-
-			if (x < this.minBoundaryX) {
-				this.width = Math.max(this.indicatorWidth + x, 8);
-				this.indicatorStyle.width = this.width + 'px';
-				x = this.minBoundaryX;
-			} else if (x > this.maxBoundaryX) {
-				this.width = Math.max(this.indicatorWidth - (x - this.maxPosX), 8);
-				this.indicatorStyle.width = this.width + 'px';
-				x = this.maxPosX + this.indicatorWidth - this.width;
-			} else if (this.width != this.indicatorWidth) {
-				this.width = this.indicatorWidth;
-				this.indicatorStyle.width = this.width + 'px';
-			}
-
-			if (y < this.minBoundaryY) {
-				this.height = Math.max(this.indicatorHeight + y * 3, 8);
-				this.indicatorStyle.height = this.height + 'px';
-				y = this.minBoundaryY;
-			} else if (y > this.maxBoundaryY) {
-				this.height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, 8);
-				this.indicatorStyle.height = this.height + 'px';
-				y = this.maxPosY + this.indicatorHeight - this.height;
-			} else if (this.height != this.indicatorHeight) {
-				this.height = this.indicatorHeight;
-				this.indicatorStyle.height = this.height + 'px';
-			}
-
-			this.x = x;
-			this.y = y;
-
-			this.indicatorStyle['webkitTransform'] = this.scroller._getTranslateStr(x, y);
-
-		},
-		fade: function(val, hold) {
-			if (hold && !this.visible) {
-				return;
-			}
-
-			clearTimeout(this.fadeTimeout);
-			this.fadeTimeout = null;
-
-			var time = val ? 250 : 500,
-				delay = val ? 0 : 300;
-
-			val = val ? '1' : '0';
-
-			this.wrapperStyle['webkitTransitionDuration'] = time + 'ms';
-
-			this.fadeTimeout = setTimeout((function(val) {
-				this.wrapperStyle.opacity = val;
-				this.visible = +val;
-			}).bind(this, val), delay);
-		}
-	};
-
-	$.Scroll = Scroll;
-
-	$.fn.scroll = function(options) {
-		var scrollApis = [];
-		this.each(function() {
-			var scrollApi = null;
-			var self = this;
-			var id = self.getAttribute('data-scroll');
-			if (!id) {
-				id = ++$.uuid;
-				var _options = $.extend({}, options);
-				if (self.classList.contains('mui-segmented-control')) {
-					_options = $.extend(_options, {
-						scrollY: false,
-						scrollX: true,
-						indicators: false,
-						snap: '.mui-control-item'
-					});
-				}
-				$.data[id] = scrollApi = new Scroll(self, _options);
-				self.setAttribute('data-scroll', id);
-			} else {
-				scrollApi = $.data[id];
-			}
-			scrollApis.push(scrollApi);
-		});
-		return scrollApis.length === 1 ? scrollApis[0] : scrollApis;
-	};
-})(mui, window, document);
-(function($, window, document, undefined) {
-
-    var CLASS_VISIBILITY = 'mui-visibility';
-    var CLASS_HIDDEN = 'mui-hidden';
-
-    var PullRefresh = $.Scroll.extend($.extend({
-        handleEvent: function(e) {
-            this._super(e);
-            if (e.type === 'scrollbottom') {
-                if (e.target === this.scroller) {
-                    this._scrollbottom();
-                }
-            }
-        },
-        _scrollbottom: function() {
-            if (!this.pulldown && !this.loading) {
-                this.pulldown = false;
-                this._initPullupRefresh();
-                this.pullupLoading();
-            }
-        },
-        _start: function(e) {
-            //仅下拉刷新在start阻止默认事件
-            if (e.touches && e.touches.length && e.touches[0].clientX > 30) {
-                e.target && !this._preventDefaultException(e.target, this.options.preventDefaultException) && e.preventDefault();
-            }
-            if (!this.loading) {
-                this.pulldown = this.pullPocket = this.pullCaption = this.pullLoading = false
-            }
-            this._super(e);
-        },
-        _drag: function(e) {
-            if (this.y >= 0 && this.disablePulldown && e.detail.direction === 'down') { //禁用下拉刷新
-                return;
-            }
-            this._super(e);
-            if (!this.pulldown && !this.loading && this.topPocket && e.detail.direction === 'down' && this.y >= 0) {
-                this._initPulldownRefresh();
-            }
-            if (this.pulldown) {
-                this._setCaption(this.y > this.options.down.height ? this.options.down.contentover : this.options.down.contentdown);
-            }
-        },
-
-        _reLayout: function() {
-            this.hasVerticalScroll = true;
-            this._super();
-        },
-        //API
-        resetPosition: function(time) {
-            if (this.pulldown && !this.disablePulldown) {
-                if (this.y >= this.options.down.height) {
-                    this.pulldownLoading(undefined, time || 0);
-                    return true;
-                } else {
-                    !this.loading && this.topPocket.classList.remove(CLASS_VISIBILITY);
-                }
-            }
-            return this._super(time);
-        },
-        pulldownLoading: function(y, time) {
-            typeof y === 'undefined' && (y = this.options.down.height); //默认高度
-            this.scrollTo(0, y, time, this.options.bounceEasing);
-            if (this.loading) {
-                return;
-            }
-            //			if (!this.pulldown) {
-            this._initPulldownRefresh();
-            //			}
-            this._setCaption(this.options.down.contentrefresh);
-            this.loading = true;
-            this.indicators.map(function(indicator) {
-                indicator.fade(0);
-            });
-            var callback = this.options.down.callback;
-            callback && callback.call(this);
-        },
-        endPulldownToRefresh: function() {
-            var self = this;
-            if (self.topPocket && self.loading && this.pulldown) {
-                self.scrollTo(0, 0, self.options.bounceTime, self.options.bounceEasing);
-                self.loading = false;
-                self._setCaption(self.options.down.contentdown, true);
-                setTimeout(function() {
-                    self.loading || self.topPocket.classList.remove(CLASS_VISIBILITY);
-                }, 350);
-            }
-        },
-        pullupLoading: function(callback, x, time) {
-            x = x || 0;
-            this.scrollTo(x, this.maxScrollY, time, this.options.bounceEasing);
-            if (this.loading) {
-                return;
-            }
-            this._initPullupRefresh();
-            this._setCaption(this.options.up.contentrefresh);
-            this.indicators.map(function(indicator) {
-                indicator.fade(0);
-            });
-            this.loading = true;
-            callback = callback || this.options.up.callback;
-            callback && callback.call(this);
-        },
-        endPullupToRefresh: function(finished) {
-            var self = this;
-            if (self.bottomPocket) { // && self.loading && !this.pulldown
-                self.loading = false;
-                if (finished) {
-                    this.finished = true;
-                    self._setCaption(self.options.up.contentnomore);
-                    //					self.bottomPocket.classList.remove(CLASS_VISIBILITY);
-                    //					self.bottomPocket.classList.add(CLASS_HIDDEN);
-                    self.wrapper.removeEventListener('scrollbottom', self);
-                } else {
-                    self._setCaption(self.options.up.contentdown);
-                    //					setTimeout(function() {
-                    self.loading || self.bottomPocket.classList.remove(CLASS_VISIBILITY);
-                    //					}, 300);
-                }
-            }
-        },
-        disablePullupToRefresh: function() {
-            this._initPullupRefresh();
-            this.bottomPocket.className = 'mui-pull-bottom-pocket' + ' ' + CLASS_HIDDEN;
-            this.wrapper.removeEventListener('scrollbottom', this);
-        },
-        disablePulldownToRefresh: function() {
-            this._initPulldownRefresh();
-            this.topPocket.className = 'mui-pull-top-pocket' + ' ' + CLASS_HIDDEN;
-            this.disablePulldown = true;
-        },
-        enablePulldownToRefresh: function() {
-            this._initPulldownRefresh();
-            this.topPocket.classList.remove(CLASS_HIDDEN);
-            this._setCaption(this.options.down.contentdown);
-            this.disablePulldown = false;
-        },
-        enablePullupToRefresh: function() {
-            this._initPullupRefresh();
-            this.bottomPocket.classList.remove(CLASS_HIDDEN);
-            this._setCaption(this.options.up.contentdown);
-            this.wrapper.addEventListener('scrollbottom', this);
-        },
-        refresh: function(isReset) {
-            if (isReset && this.finished) {
-                this.enablePullupToRefresh();
-                this.finished = false;
-            }
-            this._super();
-        },
-    }, $.PullRefresh));
-    $.fn.pullRefresh = function(options) {
-        if (this.length === 1) {
-            var self = this[0];
-            var pullRefreshApi = null;
-            var id = self.getAttribute('data-pullrefresh');
-            if (!id && typeof options === 'undefined') {
-                return false;
-            }
-            options = options || {};
-            if (!id) {
-                id = ++$.uuid;
-                $.data[id] = pullRefreshApi = new PullRefresh(self, options);
-                self.setAttribute('data-pullrefresh', id);
-            } else {
-                pullRefreshApi = $.data[id];
-            }
-            if (options.down && options.down.auto) { //如果设置了auto,则自动下拉一次
-                pullRefreshApi.pulldownLoading(options.down.autoY);
-            } else if (options.up && options.up.auto) { //如果设置了auto,则自动上拉一次
-                pullRefreshApi.pullupLoading();
-            }
-            //暂不提供这种调用方式吧			
-            //			if (typeof options === 'string') {
-            //				var methodValue = pullRefreshApi[options].apply(pullRefreshApi, $.slice.call(arguments, 1));
-            //				if (methodValue !== undefined) {
-            //					return methodValue;
-            //				}
-            //			}
-            return pullRefreshApi;
-        }
-    };
-})(mui, window, document);
-/**
- * snap 重构
- * @param {Object} $
- * @param {Object} window
- */
-(function($, window) {
-	var CLASS_SLIDER = 'mui-slider';
-	var CLASS_SLIDER_GROUP = 'mui-slider-group';
-	var CLASS_SLIDER_LOOP = 'mui-slider-loop';
-	var CLASS_SLIDER_INDICATOR = 'mui-slider-indicator';
-	var CLASS_ACTION_PREVIOUS = 'mui-action-previous';
-	var CLASS_ACTION_NEXT = 'mui-action-next';
-	var CLASS_SLIDER_ITEM = 'mui-slider-item';
-
-	var CLASS_ACTIVE = 'mui-active';
-
-	var SELECTOR_SLIDER_ITEM = '.' + CLASS_SLIDER_ITEM;
-	var SELECTOR_SLIDER_INDICATOR = '.' + CLASS_SLIDER_INDICATOR;
-	var SELECTOR_SLIDER_PROGRESS_BAR = '.mui-slider-progress-bar';
-
-	var Slider = $.Slider = $.Scroll.extend({
-		init: function(element, options) {
-			this._super(element, $.extend(true, {
-				fingers: 1,
-				interval: 0, //设置为0,则不定时轮播
-				scrollY: false,
-				scrollX: true,
-				indicators: false,
-				scrollTime: 1000,
-				startX: false,
-				slideTime: 0, //滑动动画时间
-				snap: SELECTOR_SLIDER_ITEM
-			}, options));
-			if (this.options.startX) {
-				//				$.trigger(this.wrapper, 'scrollend', this);
-			}
-		},
-		_init: function() {
-			this._reInit();
-			if (this.scroller) {
-				this.scrollerStyle = this.scroller.style;
-				this.progressBar = this.wrapper.querySelector(SELECTOR_SLIDER_PROGRESS_BAR);
-				if (this.progressBar) {
-					this.progressBarWidth = this.progressBar.offsetWidth;
-					this.progressBarStyle = this.progressBar.style;
-				}
-				//忘记这个代码是干什么的了?
-				//				this.x = this._getScroll();
-				//				if (this.options.startX === false) {
-				//					this.options.startX = this.x;
-				//				}
-				//根据active修正startX
-
-				this._super();
-				this._initTimer();
-			}
-		},
-		_triggerSlide: function() {
-			var self = this;
-			self.isInTransition = false;
-			var page = self.currentPage;
-			self.slideNumber = self._fixedSlideNumber();
-			if (self.loop) {
-				if (self.slideNumber === 0) {
-					self.setTranslate(self.pages[1][0].x, 0);
-				} else if (self.slideNumber === self.itemLength - 3) {
-					self.setTranslate(self.pages[self.itemLength - 2][0].x, 0);
-				}
-			}
-			if (self.lastSlideNumber != self.slideNumber) {
-				self.lastSlideNumber = self.slideNumber;
-				self.lastPage = self.currentPage;
-				$.trigger(self.wrapper, 'slide', {
-					slideNumber: self.slideNumber
-				});
-			}
-			self._initTimer();
-		},
-		_handleSlide: function(e) {
-			var self = this;
-			if (e.target !== self.wrapper) {
-				return;
-			}
-			var detail = e.detail;
-			detail.slideNumber = detail.slideNumber || 0;
-			var temps = self.scroller.querySelectorAll(SELECTOR_SLIDER_ITEM);
-			var items = [];
-			for (var i = 0, len = temps.length; i < len; i++) {
-				var item = temps[i];
-				if (item.parentNode === self.scroller) {
-					items.push(item);
-				}
-			}
-			var _slideNumber = detail.slideNumber;
-			if (self.loop) {
-				_slideNumber += 1;
-			}
-			if (!self.wrapper.classList.contains('mui-segmented-control')) {
-				for (var i = 0, len = items.length; i < len; i++) {
-					var item = items[i];
-					if (item.parentNode === self.scroller) {
-						if (i === _slideNumber) {
-							item.classList.add(CLASS_ACTIVE);
-						} else {
-							item.classList.remove(CLASS_ACTIVE);
-						}
-					}
-				}
-			}
-			var indicatorWrap = self.wrapper.querySelector('.mui-slider-indicator');
-			if (indicatorWrap) {
-				if (indicatorWrap.getAttribute('data-scroll')) { //scroll
-					$(indicatorWrap).scroll().gotoPage(detail.slideNumber);
-				}
-				var indicators = indicatorWrap.querySelectorAll('.mui-indicator');
-				if (indicators.length > 0) { //图片轮播
-					for (var i = 0, len = indicators.length; i < len; i++) {
-						indicators[i].classList[i === detail.slideNumber ? 'add' : 'remove'](CLASS_ACTIVE);
-					}
-				} else {
-					var number = indicatorWrap.querySelector('.mui-number span');
-					if (number) { //图文表格
-						number.innerText = (detail.slideNumber + 1);
-					} else { //segmented controls
-						var controlItems = indicatorWrap.querySelectorAll('.mui-control-item');
-						for (var i = 0, len = controlItems.length; i < len; i++) {
-							controlItems[i].classList[i === detail.slideNumber ? 'add' : 'remove'](CLASS_ACTIVE);
-						}
-					}
-				}
-			}
-			e.stopPropagation();
-		},
-		_handleTabShow: function(e) {
-			var self = this;
-			self.gotoItem((e.detail.tabNumber || 0), self.options.slideTime);
-		},
-		_handleIndicatorTap: function(event) {
-			var self = this;
-			var target = event.target;
-			if (target.classList.contains(CLASS_ACTION_PREVIOUS) || target.classList.contains(CLASS_ACTION_NEXT)) {
-				self[target.classList.contains(CLASS_ACTION_PREVIOUS) ? 'prevItem' : 'nextItem']();
-				event.stopPropagation();
-			}
-		},
-		_initEvent: function(detach) {
-			var self = this;
-			self._super(detach);
-			var action = detach ? 'removeEventListener' : 'addEventListener';
-			self.wrapper[action]('slide', this);
-			self.wrapper[action]($.eventName('shown', 'tab'), this);
-		},
-		handleEvent: function(e) {
-			this._super(e);
-			switch (e.type) {
-				case 'slide':
-					this._handleSlide(e);
-					break;
-				case $.eventName('shown', 'tab'):
-					if (~this.snaps.indexOf(e.target)) { //避免嵌套监听错误的tab show
-						this._handleTabShow(e);
-					}
-					break;
-			}
-		},
-		_scrollend: function(e) {
-			this._super(e);
-			this._triggerSlide(e);
-		},
-		_drag: function(e) {
-			this._super(e);
-			var direction = e.detail.direction;
-			if (direction === 'left' || direction === 'right') {
-				//拖拽期间取消定时
-				var slidershowTimer = this.wrapper.getAttribute('data-slidershowTimer');
-				slidershowTimer && window.clearTimeout(slidershowTimer);
-
-				e.stopPropagation();
-			}
-		},
-		_initTimer: function() {
-			var self = this;
-			var slider = self.wrapper;
-			var interval = self.options.interval;
-			var slidershowTimer = slider.getAttribute('data-slidershowTimer');
-			slidershowTimer && window.clearTimeout(slidershowTimer);
-			if (interval) {
-				slidershowTimer = window.setTimeout(function() {
-					if (!slider) {
-						return;
-					}
-					//仅slider显示状态进行自动轮播
-					if (!!(slider.offsetWidth || slider.offsetHeight)) {
-						self.nextItem(true);
-						//下一个
-					}
-					self._initTimer();
-				}, interval);
-				slider.setAttribute('data-slidershowTimer', slidershowTimer);
-			}
-		},
-
-		_fixedSlideNumber: function(page) {
-			page = page || this.currentPage;
-			var slideNumber = page.pageX;
-			if (this.loop) {
-				if (page.pageX === 0) {
-					slideNumber = this.itemLength - 3;
-				} else if (page.pageX === (this.itemLength - 1)) {
-					slideNumber = 0;
-				} else {
-					slideNumber = page.pageX - 1;
-				}
-			}
-			return slideNumber;
-		},
-		_reLayout: function() {
-			this.hasHorizontalScroll = true;
-			this.loop = this.scroller.classList.contains(CLASS_SLIDER_LOOP);
-			this._super();
-		},
-		_getScroll: function() {
-			var result = $.parseTranslateMatrix($.getStyles(this.scroller, 'webkitTransform'));
-			return result ? result.x : 0;
-		},
-		_transitionEnd: function(e) {
-			if (e.target !== this.scroller || !this.isInTransition) {
-				return;
-			}
-			this._transitionTime();
-			this.isInTransition = false;
-			$.trigger(this.wrapper, 'scrollend', this);
-		},
-		_flick: function(e) {
-			if (!this.moved) { //无moved
-				return;
-			}
-			var detail = e.detail;
-			var direction = detail.direction;
-			this._clearRequestAnimationFrame();
-			this.isInTransition = true;
-			//			if (direction === 'up' || direction === 'down') {
-			//				this.resetPosition(this.options.bounceTime);
-			//				return;
-			//			}
-			if (e.type === 'flick') {
-				if (detail.deltaTime < 200) { //flick,太容易触发,额外校验一下deltaTime
-					this.x = this._getPage((this.slideNumber + (direction === 'right' ? -1 : 1)), true).x;
-				}
-				this.resetPosition(this.options.bounceTime);
-			} else if (e.type === 'dragend' && !detail.flick) {
-				this.resetPosition(this.options.bounceTime);
-			}
-			e.stopPropagation();
-		},
-		_initSnap: function() {
-			this.scrollerWidth = this.itemLength * this.scrollerWidth;
-			this.maxScrollX = Math.min(this.wrapperWidth - this.scrollerWidth, 0);
-			this._super();
-			if (!this.currentPage.x) {
-				//当slider处于隐藏状态时,导致snap计算是错误的,临时先这么判断一下,后续要考虑解决所有scroll在隐藏状态下初始化属性不正确的问题
-				var currentPage = this.pages[this.loop ? 1 : 0];
-				currentPage = currentPage || this.pages[0];
-				if (!currentPage) {
-					return;
-				}
-				this.currentPage = currentPage[0];
-				this.slideNumber = 0;
-				this.lastSlideNumber = typeof this.lastSlideNumber === 'undefined' ? 0 : this.lastSlideNumber;
-			} else {
-				this.slideNumber = this._fixedSlideNumber();
-				this.lastSlideNumber = typeof this.lastSlideNumber === 'undefined' ? this.slideNumber : this.lastSlideNumber;
-			}
-			this.options.startX = this.currentPage.x || 0;
-		},
-		_getSnapX: function(offsetLeft) {
-			return Math.max(-offsetLeft, this.maxScrollX);
-		},
-		_getPage: function(slideNumber, isFlick) {
-			if (this.loop) {
-				if (slideNumber > (this.itemLength - (isFlick ? 2 : 3))) {
-					slideNumber = 1;
-					time = 0;
-				} else if (slideNumber < (isFlick ? -1 : 0)) {
-					slideNumber = this.itemLength - 2;
-					time = 0;
-				} else {
-					slideNumber += 1;
-				}
-			} else {
-				if (!isFlick) {
-					if (slideNumber > (this.itemLength - 1)) {
-						slideNumber = 0;
-						time = 0;
-					} else if (slideNumber < 0) {
-						slideNumber = this.itemLength - 1;
-						time = 0;
-					}
-				}
-				slideNumber = Math.min(Math.max(0, slideNumber), this.itemLength - 1);
-			}
-			return this.pages[slideNumber][0];
-		},
-		_gotoItem: function(slideNumber, time) {
-			this.currentPage = this._getPage(slideNumber, true); //此处传true。可保证程序切换时,动画与人手操作一致(第一张,最后一张的切换动画)
-			this.scrollTo(this.currentPage.x, 0, time, this.options.scrollEasing);
-			if (time === 0) {
-				$.trigger(this.wrapper, 'scrollend', this);
-			}
-		},
-		//API
-		setTranslate: function(x, y) {
-			this._super(x, y);
-			var progressBar = this.progressBar;
-			if (progressBar) {
-				this.progressBarStyle.webkitTransform = this._getTranslateStr((-x * (this.progressBarWidth / this.wrapperWidth)), 0);
-			}
-		},
-		resetPosition: function(time) {
-			time = time || 0;
-			if (this.x > 0) {
-				this.x = 0;
-			} else if (this.x < this.maxScrollX) {
-				this.x = this.maxScrollX;
-			}
-			this.currentPage = this._nearestSnap(this.x);
-			this.scrollTo(this.currentPage.x, 0, time, this.options.scrollEasing);
-			return true;
-		},
-		gotoItem: function(slideNumber, time) {
-			this._gotoItem(slideNumber, typeof time === 'undefined' ? this.options.scrollTime : time);
-		},
-		nextItem: function() {
-			this._gotoItem(this.slideNumber + 1, this.options.scrollTime);
-		},
-		prevItem: function() {
-			this._gotoItem(this.slideNumber - 1, this.options.scrollTime);
-		},
-		getSlideNumber: function() {
-			return this.slideNumber || 0;
-		},
-		_reInit: function() {
-			var groups = this.wrapper.querySelectorAll('.' + CLASS_SLIDER_GROUP);
-			for (var i = 0, len = groups.length; i < len; i++) {
-				if (groups[i].parentNode === this.wrapper) {
-					this.scroller = groups[i];
-					break;
-				}
-			}
-			this.scrollerStyle = this.scroller && this.scroller.style;
-			if (this.progressBar) {
-				this.progressBarWidth = this.progressBar.offsetWidth;
-				this.progressBarStyle = this.progressBar.style;
-			}
-		},
-		refresh: function(options) {
-			if (options) {
-				$.extend(this.options, options);
-				this._super();
-				this._initTimer();
-			} else {
-				this._super();
-			}
-		},
-		destroy: function() {
-			this._initEvent(true); //detach
-			delete $.data[this.wrapper.getAttribute('data-slider')];
-			this.wrapper.setAttribute('data-slider', '');
-		}
-	});
-	$.fn.slider = function(options) {
-		var slider = null;
-		this.each(function() {
-			var sliderElement = this;
-			if (!this.classList.contains(CLASS_SLIDER)) {
-				sliderElement = this.querySelector('.' + CLASS_SLIDER);
-			}
-			if (sliderElement && sliderElement.querySelector(SELECTOR_SLIDER_ITEM)) {
-				var id = sliderElement.getAttribute('data-slider');
-				if (!id) {
-					id = ++$.uuid;
-					$.data[id] = slider = new Slider(sliderElement, options);
-					sliderElement.setAttribute('data-slider', id);
-				} else {
-					slider = $.data[id];
-					if (slider && options) {
-						slider.refresh(options);
-					}
-				}
-			}
-		});
-		return slider;
-	};
-	$.ready(function() {
-		//		setTimeout(function() {
-		$('.mui-slider').slider();
-		$('.mui-scroll-wrapper.mui-slider-indicator.mui-segmented-control').scroll({
-			scrollY: false,
-			scrollX: true,
-			indicators: false,
-			snap: '.mui-control-item'
-		});
-		//		}, 500); //临时处理slider宽度计算不正确的问题(初步确认是scrollbar导致的)
-
-	});
-})(mui, window);
-/**
- * pullRefresh 5+
- * @param {type} $
- * @returns {undefined}
- */
-(function($, document) {
-    if (!($.os.plus)) { //仅在5+android支持多webview的使用
-        return;
-    }
-    $.plusReady(function() {
-        if (window.__NWin_Enable__ === false) { //不支持多webview,则不用5+下拉刷新
-            return;
-        }
-        var CLASS_PLUS_PULLREFRESH = 'mui-plus-pullrefresh';
-        var CLASS_VISIBILITY = 'mui-visibility';
-        var CLASS_HIDDEN = 'mui-hidden';
-        var CLASS_BLOCK = 'mui-block';
-
-        var CLASS_PULL_CAPTION = 'mui-pull-caption';
-        var CLASS_PULL_CAPTION_DOWN = 'mui-pull-caption-down';
-        var CLASS_PULL_CAPTION_REFRESH = 'mui-pull-caption-refresh';
-        var CLASS_PULL_CAPTION_NOMORE = 'mui-pull-caption-nomore';
-
-        var PlusPullRefresh = $.Class.extend({
-            init: function(element, options) {
-                this.element = element;
-                this.options = options;
-                this.wrapper = this.scroller = element;
-                this._init();
-                this._initPulldownRefreshEvent();
-            },
-            _init: function() {
-                var self = this;
-                //document.addEventListener('plusscrollbottom', this);
-                window.addEventListener('dragup', self);
-                document.addEventListener("plusscrollbottom", self);
-                self.scrollInterval = window.setInterval(function() {
-                    if (self.isScroll && !self.loading) {
-                        if (window.pageYOffset + window.innerHeight + 10 >= document.documentElement.scrollHeight) {
-                            self.isScroll = false; //放在这里是因为快速滚动的话,有可能检测时,还没到底,所以只要有滚动,没到底之前一直检测高度变化
-                            if (self.bottomPocket) {
-                                self.pullupLoading();
-                            }
-                        }
-                    }
-                }, 100);
-            },
-            _initPulldownRefreshEvent: function() {
-                var self = this;
-                $.plusReady(function() {
-                    if (self.options.down.style == "circle") {
-                        //单webview、原生转圈
-                        self.options.webview = plus.webview.currentWebview();
-                        self.options.webview.setPullToRefresh({
-                            support: true,
-                            color: self.options.down.color || '#2BD009',
-                            height: self.options.down.height || '50px',
-                            range: self.options.down.range || '100px',
-                            style: 'circle',
-                            offset: self.options.down.offset || '0px'
-                        }, function() {
-                            self.options.down.callback();
-                        });
-                    } else if (self.topPocket && self.options.webviewId) {
-                        var webview = plus.webview.getWebviewById(self.options.webviewId); //子窗口
-                        if (!webview) {
-                            return;
-                        }
-                        self.options.webview = webview;
-                        var downOptions = self.options.down;
-                        var height = downOptions.height;
-                        webview.addEventListener('close', function() {
-                            var attrWebviewId = self.options.webviewId && self.options.webviewId.replace(/\//g, "_"); //替换所有"/" 
-                            self.element.removeAttribute('data-pullrefresh-plus-' + attrWebviewId);
-                        });
-                        webview.addEventListener("dragBounce", function(e) {
-                            if (!self.pulldown) {
-                                self._initPulldownRefresh();
-                            } else {
-                                self.pullPocket.classList.add(CLASS_BLOCK);
-                            }
-                            switch (e.status) {
-                                case "beforeChangeOffset": //下拉可刷新状态
-                                    self._setCaption(downOptions.contentdown);
-                                    break;
-                                case "afterChangeOffset": //松开可刷新状态
-                                    self._setCaption(downOptions.contentover);
-                                    break;
-                                case "dragEndAfterChangeOffset": //正在刷新状态
-                                    //执行下拉刷新所在webview的回调函数
-                                    webview.evalJS("window.mui&&mui.options.pullRefresh.down.callback()");
-                                    self._setCaption(downOptions.contentrefresh);
-                                    break;
-                                default:
-                                    break;
-                            }
-                        }, false);
-
-                        webview.setBounce({
-                            position: {
-                                top: height * 2 + 'px'
-                            },
-                            changeoffset: {
-                                top: height + 'px'
-                            }
-                        });
-
-                    }
-                });
-            },
-            handleEvent: function(e) {
-                var self = this;
-                if (self.stopped) {
-                    return;
-                }
-                self.isScroll = false;
-                if (e.type === 'dragup' || e.type === 'plusscrollbottom') {
-                    self.isScroll = true;
-                    setTimeout(function() {
-                        self.isScroll = false;
-                    }, 1000);
-                }
-            }
-        }).extend($.extend({
-            setStopped: function(stopped) { //该方法是子页面调用的
-                this.stopped = !!stopped;
-                // TODO 此处需要设置当前webview的bounce为none,目前5+有BUG
-                if (this.stopped) {
-                    this.disablePullupToRefresh();
-                    this.disablePulldownToRefresh();
-                } else {
-                    this.enablePullupToRefresh();
-                    this.enablePulldownToRefresh();
-                }
-            },
-            beginPulldown: function() {
-                var self = this;
-                $.plusReady(function() {
-                    //这里延时的目的是为了保证下拉刷新组件初始化完成,后续应该做成有状态的
-                    setTimeout(function() {
-                        if (self.options.down.style == "circle") { //单webview下拉刷新
-                            plus.webview.currentWebview().beginPullToRefresh();
-                        } else { //双webview模式
-                            var webview = self.options.webview;
-                            if (webview) {
-                                webview.setBounce({
-                                    offset: {
-                                        top: self.options.down.height + "px"
-                                    }
-                                });
-                            }
-                        }
-                    }, 15);
-                }.bind(this));
-            },
-            pulldownLoading: function() { //该方法是子页面调用的,兼容老的历史API
-                this.beginPulldown();
-            },
-            _pulldownLoading: function() { //该方法是父页面调用的
-                var self = this;
-                $.plusReady(function() {
-                    var childWebview = plus.webview.getWebviewById(self.options.webviewId);
-                    childWebview && childWebview.setBounce({
-                        offset: {
-                            top: self.options.down.height + "px"
-                        }
-                    });
-                });
-            },
-            endPulldown: function() {
-                var _wv = plus.webview.currentWebview();
-                //双webview的下拉刷新,需要修改父窗口提示信息
-                if (_wv.parent() && this.options.down.style !== "circle") {
-                    _wv.parent().evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify({
-                        webviewId: _wv.id
-                    }) + "')._endPulldownToRefresh()");
-                } else {
-                    _wv.endPullToRefresh();
-                }
-            },
-            endPulldownToRefresh: function() { //该方法是子页面调用的,兼容老的历史API
-                this.endPulldown();
-            },
-            _endPulldownToRefresh: function() { //该方法是父页面调用的
-                var self = this;
-                if (self.topPocket && self.options.webview) {
-                    self.options.webview.endPullToRefresh(); //下拉刷新所在webview回弹
-                    self.loading = false;
-                    self._setCaption(self.options.down.contentdown, true);
-                    setTimeout(function() {
-                        self.loading || self.topPocket.classList.remove(CLASS_BLOCK);
-                    }, 350);
-                }
-            },
-            beginPullup: function(callback) { //开始上拉加载
-                var self = this;
-                if (self.isLoading) return;
-                self.isLoading = true;
-                if (self.pulldown !== false) {
-                    self._initPullupRefresh();
-                } else {
-                    this.pullPocket.classList.add(CLASS_BLOCK);
-                }
-                setTimeout(function() {
-                    self.pullLoading.classList.add(CLASS_VISIBILITY);
-                    self.pullLoading.classList.remove(CLASS_HIDDEN);
-                    self.pullCaption.innerHTML = ''; //修正5+里边第一次加载时,文字显示的bug(还会显示出来个“多”,猜测应该是渲染问题导致的)
-                    self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_REFRESH;
-                    self.pullCaption.innerHTML = self.options.up.contentrefresh;
-                    callback = callback || self.options.up.callback;
-                    callback && callback.call(self);
-                }, 300);
-            },
-            pullupLoading: function(callback) { //兼容老的API
-                this.beginPullup(callback);
-            },
-            endPullup: function(finished) { //上拉加载结束
-                var self = this;
-                if (self.pullLoading) {
-                    self.pullLoading.classList.remove(CLASS_VISIBILITY);
-                    self.pullLoading.classList.add(CLASS_HIDDEN);
-                    self.isLoading = false;
-                    if (finished) {
-                        self.finished = true;
-                        self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_NOMORE;
-                        self.pullCaption.innerHTML = self.options.up.contentnomore;
-                        //取消5+的plusscrollbottom事件
-                        document.removeEventListener('plusscrollbottom', self);
-                        window.removeEventListener('dragup', self);
-                    } else { //初始化时隐藏,后续不再隐藏
-                        self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN;
-                        self.pullCaption.innerHTML = self.options.up.contentdown;
-                    }
-                }
-            },
-            endPullupToRefresh: function(finished) { //上拉加载结束,兼容老的API
-                this.endPullup(finished);
-            },
-            disablePulldownToRefresh: function() {
-                var webview = plus.webview.currentWebview();
-                if (this.options.down.style && this.options.down.style == 'circle') { // 单webview模式禁止原生下拉刷新
-                    this.options.webview.setPullToRefresh({
-                        support: false,
-                        style: 'circle'
-                    });
-                } else { // 双webview模式禁止下拉刷新
-                    webview.setStyle({
-                        bounce: 'none'
-                    });
-                    webview.setBounce({
-                        position: {
-                            top: 'none'
-                        }
-                    });
-                }
-            },
-            enablePulldownToRefresh: function() {
-                var self = this,
-                    webview = plus.webview.currentWebview(),
-                    height = this.options.down.height;
-                // 单webview模式禁止原生下拉刷新
-                if (this.options.down.style && this.options.down.style == 'circle') {
-                    webview.setPullToRefresh({
-                        support: true,
-                        height: height || '50px',
-                        range: self.options.down.range || '100px',
-                        style: 'circle',
-                        offset: self.options.down.offset || '0px'
-                    });
-                } else { // 重新初始化双webview模式下拉刷新
-                    webview.setStyle({
-                        bounce: 'vertical'
-                    });
-                    webview.setBounce({
-                        position: {
-                            top: height * 2 + 'px'
-                        },
-                        changeoffset: {
-                            top: height + 'px'
-                        }
-                    });
-                }
-            },
-            disablePullupToRefresh: function() {
-                this._initPullupRefresh();
-                this.bottomPocket.className = 'mui-pull-bottom-pocket' + ' ' + CLASS_HIDDEN;
-                window.removeEventListener('dragup', this);
-            },
-            enablePullupToRefresh: function() {
-                this._initPullupRefresh();
-                this.bottomPocket.classList.remove(CLASS_HIDDEN);
-                this.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN;
-                this.pullCaption.innerHTML = this.options.up.contentdown;
-                document.addEventListener("plusscrollbottom", this);
-                window.addEventListener('dragup', this);
-            },
-            scrollTo: function(x, y, time) {
-                $.scrollTo(y, time);
-            },
-            scrollToBottom: function(time) {
-                $.scrollTo(document.documentElement.scrollHeight, time);
-            },
-            refresh: function(isReset) {
-                if (isReset && this.finished) {
-                    this.enablePullupToRefresh();
-                    this.finished = false;
-                }
-            }
-        }, $.PullRefresh));
-
-        //override h5 pullRefresh
-        $.fn.pullRefresh_native = function(options) {
-            var self;
-            if (this.length === 0) {
-                self = document.createElement('div');
-                self.className = 'mui-content';
-                document.body.appendChild(self);
-            } else {
-                self = this[0];
-            }
-            var args = options;
-            //一个父需要支持多个子下拉刷新
-            options = options || {}
-            if (typeof options === 'string') {
-                options = $.parseJSON(options);
-            };
-            !options.webviewId && (options.webviewId = (plus.webview.currentWebview().id || plus.webview.currentWebview().getURL()));
-            var pullRefreshApi = null;
-            var attrWebviewId = options.webviewId && options.webviewId.replace(/\//g, "_"); //替换所有"/"
-            var id = self.getAttribute('data-pullrefresh-plus-' + attrWebviewId);
-            if (!id && typeof args === 'undefined') {
-                return false;
-            }
-            if (!id) { //避免重复初始化5+ pullrefresh
-                id = ++$.uuid;
-                self.setAttribute('data-pullrefresh-plus-' + attrWebviewId, id);
-                document.body.classList.add(CLASS_PLUS_PULLREFRESH);
-                $.data[id] = pullRefreshApi = new PlusPullRefresh(self, options);
-            } else {
-                pullRefreshApi = $.data[id];
-            }
-            if (options.down && options.down.auto) { //如果设置了auto,则自动下拉一次
-                //pullRefreshApi._pulldownLoading(); //parent webview
-                pullRefreshApi.beginPulldown();
-            } else if (options.up && options.up.auto) { //如果设置了auto,则自动上拉一次
-                pullRefreshApi.beginPullup();
-            }
-            return pullRefreshApi;
-        };
-    });
-
-})(mui, document);
-/**
- * off-canvas
- * @param {type} $
- * @param {type} window
- * @param {type} document
- * @param {type} action
- * @returns {undefined}
- */
-(function($, window, document, name) {
-	var CLASS_OFF_CANVAS_LEFT = 'mui-off-canvas-left';
-	var CLASS_OFF_CANVAS_RIGHT = 'mui-off-canvas-right';
-	var CLASS_ACTION_BACKDROP = 'mui-off-canvas-backdrop';
-	var CLASS_OFF_CANVAS_WRAP = 'mui-off-canvas-wrap';
-
-	var CLASS_SLIDE_IN = 'mui-slide-in';
-	var CLASS_ACTIVE = 'mui-active';
-
-
-	var CLASS_TRANSITIONING = 'mui-transitioning';
-
-	var SELECTOR_INNER_WRAP = '.mui-inner-wrap';
-
-
-	var OffCanvas = $.Class.extend({
-		init: function(element, options) {
-			this.wrapper = this.element = element;
-			this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP);
-			this.classList = this.wrapper.classList;
-			if (this.scroller) {
-				this.options = $.extend(true, {
-					dragThresholdX: 10,
-					scale: 0.8,
-					opacity: 0.1,
-					preventDefaultException: {
-						tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/
-					},
-				}, options);
-				document.body.classList.add('mui-fullscreen'); //fullscreen
-				this.refresh();
-				this.initEvent();
-			}
-		},
-		_preventDefaultException: function(el, exceptions) {
-			for (var i in exceptions) {
-				if (exceptions[i].test(el[i])) {
-					return true;
-				}
-			}
-			return false;
-		},
-		refresh: function(offCanvas) {
-			//			offCanvas && !offCanvas.classList.contains(CLASS_ACTIVE) && this.classList.remove(CLASS_ACTIVE);
-			this.slideIn = this.classList.contains(CLASS_SLIDE_IN);
-			this.scalable = this.classList.contains('mui-scalable') && !this.slideIn;
-			this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP);
-			//			!offCanvas && this.scroller.classList.remove(CLASS_TRANSITIONING);
-			//			!offCanvas && this.scroller.setAttribute('style', '');
-			this.offCanvasLefts = this.wrapper.querySelectorAll('.' + CLASS_OFF_CANVAS_LEFT);
-			this.offCanvasRights = this.wrapper.querySelectorAll('.' + CLASS_OFF_CANVAS_RIGHT);
-			if (offCanvas) {
-				if (offCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT)) {
-					this.offCanvasLeft = offCanvas;
-				} else if (offCanvas.classList.contains(CLASS_OFF_CANVAS_RIGHT)) {
-					this.offCanvasRight = offCanvas;
-				}
-			} else {
-				this.offCanvasRight = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT);
-				this.offCanvasLeft = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT);
-			}
-			this.offCanvasRightWidth = this.offCanvasLeftWidth = 0;
-			this.offCanvasLeftSlideIn = this.offCanvasRightSlideIn = false;
-			if (this.offCanvasRight) {
-				this.offCanvasRightWidth = this.offCanvasRight.offsetWidth;
-				this.offCanvasRightSlideIn = this.slideIn && (this.offCanvasRight.parentNode === this.wrapper);
-				//				this.offCanvasRight.classList.remove(CLASS_TRANSITIONING);
-				//				this.offCanvasRight.classList.remove(CLASS_ACTIVE);
-				//				this.offCanvasRight.setAttribute('style', '');
-			}
-			if (this.offCanvasLeft) {
-				this.offCanvasLeftWidth = this.offCanvasLeft.offsetWidth;
-				this.offCanvasLeftSlideIn = this.slideIn && (this.offCanvasLeft.parentNode === this.wrapper);
-				//				this.offCanvasLeft.classList.remove(CLASS_TRANSITIONING);
-				//				this.offCanvasLeft.classList.remove(CLASS_ACTIVE);
-				//				this.offCanvasLeft.setAttribute('style', '');
-			}
-			this.backdrop = this.scroller.querySelector('.' + CLASS_ACTION_BACKDROP);
-
-			this.options.dragThresholdX = this.options.dragThresholdX || 10;
-
-			this.visible = false;
-			this.startX = null;
-			this.lastX = null;
-			this.offsetX = null;
-			this.lastTranslateX = null;
-		},
-		handleEvent: function(e) {
-			switch (e.type) {
-				case $.EVENT_START:
-					e.target && !this._preventDefaultException(e.target, this.options.preventDefaultException) && e.preventDefault();
-					break;
-				case 'webkitTransitionEnd': //有个bug需要处理,需要考虑假设没有触发webkitTransitionEnd的情况
-					if (e.target === this.scroller) {
-						this._dispatchEvent();
-					}
-					break;
-				case 'drag':
-					var detail = e.detail;
-					if (!this.startX) {
-						this.startX = detail.center.x;
-						this.lastX = this.startX;
-					} else {
-						this.lastX = detail.center.x;
-					}
-					if (!this.isDragging && Math.abs(this.lastX - this.startX) > this.options.dragThresholdX && (detail.direction === 'left' || (detail.direction === 'right'))) {
-						if (this.slideIn) {
-							this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP);
-							if (this.classList.contains(CLASS_ACTIVE)) {
-								if (this.offCanvasRight && this.offCanvasRight.classList.contains(CLASS_ACTIVE)) {
-									this.offCanvas = this.offCanvasRight;
-									this.offCanvasWidth = this.offCanvasRightWidth;
-								} else {
-									this.offCanvas = this.offCanvasLeft;
-									this.offCanvasWidth = this.offCanvasLeftWidth;
-								}
-							} else {
-								if (detail.direction === 'left' && this.offCanvasRight) {
-									this.offCanvas = this.offCanvasRight;
-									this.offCanvasWidth = this.offCanvasRightWidth;
-								} else if (detail.direction === 'right' && this.offCanvasLeft) {
-									this.offCanvas = this.offCanvasLeft;
-									this.offCanvasWidth = this.offCanvasLeftWidth;
-								} else {
-									this.scroller = null;
-								}
-							}
-						} else {
-							if (this.classList.contains(CLASS_ACTIVE)) {
-								if (detail.direction === 'left') {
-									this.offCanvas = this.offCanvasLeft;
-									this.offCanvasWidth = this.offCanvasLeftWidth;
-								} else {
-									this.offCanvas = this.offCanvasRight;
-									this.offCanvasWidth = this.offCanvasRightWidth;
-								}
-							} else {
-								if (detail.direction === 'right') {
-									this.offCanvas = this.offCanvasLeft;
-									this.offCanvasWidth = this.offCanvasLeftWidth;
-								} else {
-									this.offCanvas = this.offCanvasRight;
-									this.offCanvasWidth = this.offCanvasRightWidth;
-								}
-							}
-						}
-						if (this.offCanvas && this.scroller) {
-							this.startX = this.lastX;
-							this.isDragging = true;
-
-							$.gestures.session.lockDirection = true; //锁定方向
-							$.gestures.session.startDirection = detail.direction;
-
-							this.offCanvas.classList.remove(CLASS_TRANSITIONING);
-							this.scroller.classList.remove(CLASS_TRANSITIONING);
-							this.offsetX = this.getTranslateX();
-							this._initOffCanvasVisible();
-						}
-					}
-					if (this.isDragging) {
-						this.updateTranslate(this.offsetX + (this.lastX - this.startX));
-						detail.gesture.preventDefault();
-						e.stopPropagation();
-					}
-					break;
-				case 'dragend':
-					if (this.isDragging) {
-						var detail = e.detail;
-						var direction = detail.direction;
-						this.isDragging = false;
-						this.offCanvas.classList.add(CLASS_TRANSITIONING);
-						this.scroller.classList.add(CLASS_TRANSITIONING);
-						var ratio = 0;
-						var x = this.getTranslateX();
-						if (!this.slideIn) {
-							if (x >= 0) {
-								ratio = (this.offCanvasLeftWidth && (x / this.offCanvasLeftWidth)) || 0;
-							} else {
-								ratio = (this.offCanvasRightWidth && (x / this.offCanvasRightWidth)) || 0;
-							}
-							if (ratio === 0) {
-								this.openPercentage(0);
-								this._dispatchEvent(); //此处不触发webkitTransitionEnd,所以手动dispatch
-								return;
-							}
-							if (direction === 'right' && ratio >= 0 && (ratio >= 0.5 || detail.swipe)) { //右滑打开
-								this.openPercentage(100);
-							} else if (direction === 'right' && ratio < 0 && (ratio > -0.5 || detail.swipe)) { //右滑关闭
-								this.openPercentage(0);
-							} else if (direction === 'right' && ratio > 0 && ratio < 0.5) { //右滑还原关闭
-								this.openPercentage(0);
-							} else if (direction === 'right' && ratio < 0.5) { //右滑还原打开
-								this.openPercentage(-100);
-							} else if (direction === 'left' && ratio <= 0 && (ratio <= -0.5 || detail.swipe)) { //左滑打开
-								this.openPercentage(-100);
-							} else if (direction === 'left' && ratio > 0 && (ratio <= 0.5 || detail.swipe)) { //左滑关闭
-								this.openPercentage(0);
-							} else if (direction === 'left' && ratio < 0 && ratio >= -0.5) { //左滑还原关闭
-								this.openPercentage(0);
-							} else if (direction === 'left' && ratio > 0.5) { //左滑还原打开
-								this.openPercentage(100);
-							} else { //默认关闭
-								this.openPercentage(0);
-							}
-							if (ratio === 1 || ratio === -1) { //此处不触发webkitTransitionEnd,所以手动dispatch
-								this._dispatchEvent();
-							}
-						} else {
-							if (x >= 0) {
-								ratio = (this.offCanvasRightWidth && (x / this.offCanvasRightWidth)) || 0;
-							} else {
-								ratio = (this.offCanvasLeftWidth && (x / this.offCanvasLeftWidth)) || 0;
-							}
-							if (direction === 'right' && ratio <= 0 && (ratio >= -0.5 || detail.swipe)) { //右滑打开
-								this.openPercentage(100);
-							} else if (direction === 'right' && ratio > 0 && (ratio >= 0.5 || detail.swipe)) { //右滑关闭
-								this.openPercentage(0);
-							} else if (direction === 'right' && ratio <= -0.5) { //右滑还原关闭
-								this.openPercentage(0);
-							} else if (direction === 'right' && ratio > 0 && ratio <= 0.5) { //右滑还原打开
-								this.openPercentage(-100);
-							} else if (direction === 'left' && ratio >= 0 && (ratio <= 0.5 || detail.swipe)) { //左滑打开
-								this.openPercentage(-100);
-							} else if (direction === 'left' && ratio < 0 && (ratio <= -0.5 || detail.swipe)) { //左滑关闭
-								this.openPercentage(0);
-							} else if (direction === 'left' && ratio >= 0.5) { //左滑还原关闭
-								this.openPercentage(0);
-							} else if (direction === 'left' && ratio >= -0.5 && ratio < 0) { //左滑还原打开
-								this.openPercentage(100);
-							} else {
-								this.openPercentage(0);
-							}
-							if (ratio === 1 || ratio === -1 || ratio === 0) {
-								this._dispatchEvent();
-								return;
-							}
-
-						}
-					}
-					break;
-			}
-		},
-		_dispatchEvent: function() {
-			if (this.classList.contains(CLASS_ACTIVE)) {
-				$.trigger(this.wrapper, 'shown', this);
-			} else {
-				$.trigger(this.wrapper, 'hidden', this);
-			}
-		},
-		_initOffCanvasVisible: function() {
-			if (!this.visible) {
-				this.visible = true;
-				if (this.offCanvasLeft) {
-					this.offCanvasLeft.style.visibility = 'visible';
-				}
-				if (this.offCanvasRight) {
-					this.offCanvasRight.style.visibility = 'visible';
-				}
-			}
-		},
-		initEvent: function() {
-			var self = this;
-			if (self.backdrop) {
-				self.backdrop.addEventListener('tap', function(e) {
-					self.close();
-					e.detail.gesture.preventDefault();
-				});
-			}
-			if (this.classList.contains('mui-draggable')) {
-				this.wrapper.addEventListener($.EVENT_START, this); //临时处理
-				this.wrapper.addEventListener('drag', this);
-				this.wrapper.addEventListener('dragend', this);
-			}
-			this.wrapper.addEventListener('webkitTransitionEnd', this);
-		},
-		openPercentage: function(percentage) {
-			var p = percentage / 100;
-			if (!this.slideIn) {
-				if (this.offCanvasLeft && percentage >= 0) {
-					this.updateTranslate(this.offCanvasLeftWidth * p);
-					this.offCanvasLeft.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
-				} else if (this.offCanvasRight && percentage <= 0) {
-					this.updateTranslate(this.offCanvasRightWidth * p);
-					this.offCanvasRight.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
-				}
-				this.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
-			} else {
-				if (this.offCanvasLeft && percentage >= 0) {
-					p = p === 0 ? -1 : 0;
-					this.updateTranslate(this.offCanvasLeftWidth * p);
-					this.offCanvasLeft.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
-				} else if (this.offCanvasRight && percentage <= 0) {
-					p = p === 0 ? 1 : 0;
-					this.updateTranslate(this.offCanvasRightWidth * p);
-					this.offCanvasRight.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
-				}
-				this.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE);
-			}
-		},
-		updateTranslate: function(x) {
-			if (x !== this.lastTranslateX) {
-				if (!this.slideIn) {
-					if ((!this.offCanvasLeft && x > 0) || (!this.offCanvasRight && x < 0)) {
-						this.setTranslateX(0);
-						return;
-					}
-					if (this.leftShowing && x > this.offCanvasLeftWidth) {
-						this.setTranslateX(this.offCanvasLeftWidth);
-						return;
-					}
-					if (this.rightShowing && x < -this.offCanvasRightWidth) {
-						this.setTranslateX(-this.offCanvasRightWidth);
-						return;
-					}
-					this.setTranslateX(x);
-					if (x >= 0) {
-						this.leftShowing = true;
-						this.rightShowing = false;
-						if (x > 0) {
-							if (this.offCanvasLeft) {
-								$.each(this.offCanvasLefts, function(index, offCanvas) {
-									if (offCanvas === this.offCanvasLeft) {
-										this.offCanvasLeft.style.zIndex = 0;
-									} else {
-										offCanvas.style.zIndex = -1;
-									}
-								}.bind(this));
-							}
-							if (this.offCanvasRight) {
-								this.offCanvasRight.style.zIndex = -1;
-							}
-						}
-					} else {
-						this.rightShowing = true;
-						this.leftShowing = false;
-						if (this.offCanvasRight) {
-							$.each(this.offCanvasRights, function(index, offCanvas) {
-								if (offCanvas === this.offCanvasRight) {
-									offCanvas.style.zIndex = 0;
-								} else {
-									offCanvas.style.zIndex = -1;
-								}
-							}.bind(this));
-						}
-						if (this.offCanvasLeft) {
-							this.offCanvasLeft.style.zIndex = -1;
-						}
-					}
-				} else {
-					if (this.offCanvas.classList.contains(CLASS_OFF_CANVAS_RIGHT)) {
-						if (x < 0) {
-							this.setTranslateX(0);
-							return;
-						}
-						if (x > this.offCanvasRightWidth) {
-							this.setTranslateX(this.offCanvasRightWidth);
-							return;
-						}
-					} else {
-						if (x > 0) {
-							this.setTranslateX(0);
-							return;
-						}
-						if (x < -this.offCanvasLeftWidth) {
-							this.setTranslateX(-this.offCanvasLeftWidth);
-							return;
-						}
-					}
-					this.setTranslateX(x);
-				}
-				this.lastTranslateX = x;
-			}
-		},
-		setTranslateX: $.animationFrame(function(x) {
-			if (this.scroller) {
-				if (this.scalable && this.offCanvas.parentNode === this.wrapper) {
-					var percent = Math.abs(x) / this.offCanvasWidth;
-					var zoomOutScale = 1 - (1 - this.options.scale) * percent;
-					var zoomInScale = this.options.scale + (1 - this.options.scale) * percent;
-					var zoomOutOpacity = 1 - (1 - this.options.opacity) * percent;
-					var zoomInOpacity = this.options.opacity + (1 - this.options.opacity) * percent;
-					if (this.offCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT)) {
-						this.offCanvas.style.webkitTransformOrigin = '-100%';
-						this.scroller.style.webkitTransformOrigin = 'left';
-					} else {
-						this.offCanvas.style.webkitTransformOrigin = '200%';
-						this.scroller.style.webkitTransformOrigin = 'right';
-					}
-					this.offCanvas.style.opacity = zoomInOpacity;
-					this.offCanvas.style.webkitTransform = 'translate3d(0,0,0) scale(' + zoomInScale + ')';
-					this.scroller.style.webkitTransform = 'translate3d(' + x + 'px,0,0) scale(' + zoomOutScale + ')';
-				} else {
-					if (this.slideIn) {
-						this.offCanvas.style.webkitTransform = 'translate3d(' + x + 'px,0,0)';
-					} else {
-						this.scroller.style.webkitTransform = 'translate3d(' + x + 'px,0,0)';
-					}
-				}
-			}
-		}),
-		getTranslateX: function() {
-			if (this.offCanvas) {
-				var scroller = this.slideIn ? this.offCanvas : this.scroller;
-				var result = $.parseTranslateMatrix($.getStyles(scroller, 'webkitTransform'));
-				return (result && result.x) || 0;
-			}
-			return 0;
-		},
-		isShown: function(direction) {
-			var shown = false;
-			if (!this.slideIn) {
-				var x = this.getTranslateX();
-				if (direction === 'right') {
-					shown = this.classList.contains(CLASS_ACTIVE) && x < 0;
-				} else if (direction === 'left') {
-					shown = this.classList.contains(CLASS_ACTIVE) && x > 0;
-				} else {
-					shown = this.classList.contains(CLASS_ACTIVE) && x !== 0;
-				}
-			} else {
-				if (direction === 'left') {
-					shown = this.classList.contains(CLASS_ACTIVE) && this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE);
-				} else if (direction === 'right') {
-					shown = this.classList.contains(CLASS_ACTIVE) && this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE);
-				} else {
-					shown = this.classList.contains(CLASS_ACTIVE) && (this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE) || this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE));
-				}
-			}
-			return shown;
-		},
-		close: function() {
-			this._initOffCanvasVisible();
-			this.offCanvas = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE) || this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE);
-			this.offCanvasWidth = this.offCanvas.offsetWidth;
-			if (this.scroller) {
-				this.offCanvas.offsetHeight;
-				this.offCanvas.classList.add(CLASS_TRANSITIONING);
-				this.scroller.classList.add(CLASS_TRANSITIONING);
-				this.openPercentage(0);
-			}
-		},
-		show: function(direction) {
-			this._initOffCanvasVisible();
-			if (this.isShown(direction)) {
-				return false;
-			}
-			if (!direction) {
-				direction = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT) ? 'right' : 'left';
-			}
-			if (direction === 'right') {
-				this.offCanvas = this.offCanvasRight;
-				this.offCanvasWidth = this.offCanvasRightWidth;
-			} else {
-				this.offCanvas = this.offCanvasLeft;
-				this.offCanvasWidth = this.offCanvasLeftWidth;
-			}
-			if (this.scroller) {
-				this.offCanvas.offsetHeight;
-				this.offCanvas.classList.add(CLASS_TRANSITIONING);
-				this.scroller.classList.add(CLASS_TRANSITIONING);
-				this.openPercentage(direction === 'left' ? 100 : -100);
-			}
-			return true;
-		},
-		toggle: function(directionOrOffCanvas) {
-			var direction = directionOrOffCanvas;
-			if (directionOrOffCanvas && directionOrOffCanvas.classList) {
-				direction = directionOrOffCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT) ? 'left' : 'right';
-				this.refresh(directionOrOffCanvas);
-			}
-			if (!this.show(direction)) {
-				this.close();
-			}
-		}
-	});
-
-	//hash to offcanvas
-	var findOffCanvasContainer = function(target) {
-		parentNode = target.parentNode;
-		if (parentNode) {
-			if (parentNode.classList.contains(CLASS_OFF_CANVAS_WRAP)) {
-				return parentNode;
-			} else {
-				parentNode = parentNode.parentNode;
-				if (parentNode.classList.contains(CLASS_OFF_CANVAS_WRAP)) {
-					return parentNode;
-				}
-			}
-		}
-	};
-	var handle = function(event, target) {
-		if (target.tagName === 'A' && target.hash) {
-			var offcanvas = document.getElementById(target.hash.replace('#', ''));
-			if (offcanvas) {
-				var container = findOffCanvasContainer(offcanvas);
-				if (container) {
-					$.targets._container = container;
-					return offcanvas;
-				}
-			}
-		}
-		return false;
-	};
-
-	$.registerTarget({
-		name: name,
-		index: 60,
-		handle: handle,
-		target: false,
-		isReset: false,
-		isContinue: true
-	});
-
-	window.addEventListener('tap', function(e) {
-		if (!$.targets.offcanvas) {
-			return;
-		}
-		//TODO 此处类型的代码后续考虑统一优化(target机制),现在的实现费力不讨好
-		var target = e.target;
-		for (; target && target !== document; target = target.parentNode) {
-			if (target.tagName === 'A' && target.hash && target.hash === ('#' + $.targets.offcanvas.id)) {
-				e.detail && e.detail.gesture && e.detail.gesture.preventDefault(); //fixed hashchange
-				$($.targets._container).offCanvas().toggle($.targets.offcanvas);
-				$.targets.offcanvas = $.targets._container = null;
-				break;
-			}
-		}
-	});
-
-	$.fn.offCanvas = function(options) {
-		var offCanvasApis = [];
-		this.each(function() {
-			var offCanvasApi = null;
-			var self = this;
-			//hack old version
-			if (!self.classList.contains(CLASS_OFF_CANVAS_WRAP)) {
-				self = findOffCanvasContainer(self);
-			}
-			var id = self.getAttribute('data-offCanvas');
-			if (!id) {
-				id = ++$.uuid;
-				$.data[id] = offCanvasApi = new OffCanvas(self, options);
-				self.setAttribute('data-offCanvas', id);
-			} else {
-				offCanvasApi = $.data[id];
-			}
-			if (options === 'show' || options === 'close' || options === 'toggle') {
-				offCanvasApi.toggle();
-			}
-			offCanvasApis.push(offCanvasApi);
-		});
-		return offCanvasApis.length === 1 ? offCanvasApis[0] : offCanvasApis;
-	};
-	$.ready(function() {
-		$('.mui-off-canvas-wrap').offCanvas();
-	});
-})(mui, window, document, 'offcanvas');
-/**
- * actions
- * @param {type} $
- * @param {type} name
- * @returns {undefined}
- */
-(function($, name) {
-	var CLASS_ACTION = 'mui-action';
-
-	var handle = function(event, target) {
-		var className = target.className || '';
-		if (typeof className !== 'string') { //svg className(SVGAnimatedString)
-			className = '';
-		}
-		if (className && ~className.indexOf(CLASS_ACTION)) {
-			if (target.classList.contains('mui-action-back')) {
-				event.preventDefault();
-			}
-			return target;
-		}
-		return false;
-	};
-
-	$.registerTarget({
-		name: name,
-		index: 50,
-		handle: handle,
-		target: false,
-		isContinue: true
-	});
-
-})(mui, 'action');
-/**
- * Modals
- * @param {type} $
- * @param {type} window
- * @param {type} document
- * @param {type} name
- * @returns {undefined}
- */
-(function($, window, document, name) {
-	var CLASS_MODAL = 'mui-modal';
-
-	var handle = function(event, target) {
-		if (target.tagName === 'A' && target.hash) {
-			var modal = document.getElementById(target.hash.replace('#', ''));
-			if (modal && modal.classList.contains(CLASS_MODAL)) {
-				return modal;
-			}
-		}
-		return false;
-	};
-
-	$.registerTarget({
-		name: name,
-		index: 50,
-		handle: handle,
-		target: false,
-		isReset: false,
-		isContinue: true
-	});
-
-	window.addEventListener('tap', function(event) {
-		if ($.targets.modal) {
-			event.detail.gesture.preventDefault(); //fixed hashchange
-			$.targets.modal.classList.toggle('mui-active');
-		}
-	});
-})(mui, window, document, 'modal');
-/**
- * Popovers
- * @param {type} $
- * @param {type} window
- * @param {type} document
- * @param {type} name
- * @param {type} undefined
- * @returns {undefined}
- */
-(function($, window, document, name) {
-
-	var CLASS_POPOVER = 'mui-popover';
-	var CLASS_POPOVER_ARROW = 'mui-popover-arrow';
-	var CLASS_ACTION_POPOVER = 'mui-popover-action';
-	var CLASS_BACKDROP = 'mui-backdrop';
-	var CLASS_BAR_POPOVER = 'mui-bar-popover';
-	var CLASS_BAR_BACKDROP = 'mui-bar-backdrop';
-	var CLASS_ACTION_BACKDROP = 'mui-backdrop-action';
-	var CLASS_ACTIVE = 'mui-active';
-	var CLASS_BOTTOM = 'mui-bottom';
-
-
-
-	var handle = function(event, target) {
-		if (target.tagName === 'A' && target.hash) {
-			$.targets._popover = document.getElementById(target.hash.replace('#', ''));
-			if ($.targets._popover && $.targets._popover.classList.contains(CLASS_POPOVER)) {
-				return target;
-			} else {
-				$.targets._popover = null;
-			}
-		}
-		return false;
-	};
-
-	$.registerTarget({
-		name: name,
-		index: 60,
-		handle: handle,
-		target: false,
-		isReset: false,
-		isContinue: true
-	});
-
-	var onPopoverShown = function(e) {
-		this.removeEventListener('webkitTransitionEnd', onPopoverShown);
-		this.addEventListener($.EVENT_MOVE, $.preventDefault);
-		$.trigger(this, 'shown', this);
-	}
-	var onPopoverHidden = function(e) {
-		setStyle(this, 'none');
-		this.removeEventListener('webkitTransitionEnd', onPopoverHidden);
-		this.removeEventListener($.EVENT_MOVE, $.preventDefault);
-		$.trigger(this, 'hidden', this);
-	};
-
-	var backdrop = (function() {
-		var element = document.createElement('div');
-		element.classList.add(CLASS_BACKDROP);
-		element.addEventListener($.EVENT_MOVE, $.preventDefault);
-		element.addEventListener('tap', function(e) {
-			var popover = $.targets._popover;
-			if (popover) {
-				popover.addEventListener('webkitTransitionEnd', onPopoverHidden);
-				popover.classList.remove(CLASS_ACTIVE);
-				removeBackdrop(popover);
-			}
-		});
-
-		return element;
-	}());
-	var removeBackdropTimer;
-	var removeBackdrop = function(popover) {
-		backdrop.setAttribute('style', 'opacity:0');
-		$.targets.popover = $.targets._popover = null; //reset
-		removeBackdropTimer = $.later(function() {
-			if (!popover.classList.contains(CLASS_ACTIVE) && backdrop.parentNode && backdrop.parentNode === document.body) {
-				document.body.removeChild(backdrop);
-			}
-		}, 350);
-	};
-	window.addEventListener('tap', function(e) {
-		if (!$.targets.popover) {
-			return;
-		}
-		var toggle = false;
-		var target = e.target;
-		for (; target && target !== document; target = target.parentNode) {
-			if (target === $.targets.popover) {
-				toggle = true;
-			}
-		}
-		if (toggle) {
-			e.detail.gesture.preventDefault(); //fixed hashchange
-			togglePopover($.targets._popover, $.targets.popover);
-		}
-
-	});
-
-	var togglePopover = function(popover, anchor, state) {
-		if ((state === 'show' && popover.classList.contains(CLASS_ACTIVE)) || (state === 'hide' && !popover.classList.contains(CLASS_ACTIVE))) {
-			return;
-		}
-		removeBackdropTimer && removeBackdropTimer.cancel(); //取消remove的timer
-		//remove一遍,以免来回快速切换,导致webkitTransitionEnd不触发,无法remove
-		popover.removeEventListener('webkitTransitionEnd', onPopoverShown);
-		popover.removeEventListener('webkitTransitionEnd', onPopoverHidden);
-		backdrop.classList.remove(CLASS_BAR_BACKDROP);
-		backdrop.classList.remove(CLASS_ACTION_BACKDROP);
-		var _popover = document.querySelector('.mui-popover.mui-active');
-		if (_popover) {
-			//			_popover.setAttribute('style', '');
-			_popover.addEventListener('webkitTransitionEnd', onPopoverHidden);
-			_popover.classList.remove(CLASS_ACTIVE);
-			//			_popover.removeEventListener('webkitTransitionEnd', onPopoverHidden);
-			//同一个弹出则直接返回,解决同一个popover的toggle
-			if (popover === _popover) {
-				removeBackdrop(_popover);
-				return;
-			}
-		}
-		var isActionSheet = false;
-		if (popover.classList.contains(CLASS_BAR_POPOVER) || popover.classList.contains(CLASS_ACTION_POPOVER)) { //navBar
-			if (popover.classList.contains(CLASS_ACTION_POPOVER)) { //action sheet popover
-				isActionSheet = true;
-				backdrop.classList.add(CLASS_ACTION_BACKDROP);
-			} else { //bar popover
-				backdrop.classList.add(CLASS_BAR_BACKDROP);
-				//				if (anchor) {
-				//					if (anchor.parentNode) {
-				//						var offsetWidth = anchor.offsetWidth;
-				//						var offsetLeft = anchor.offsetLeft;
-				//						var innerWidth = window.innerWidth;
-				//						popover.style.left = (Math.min(Math.max(offsetLeft, defaultPadding), innerWidth - offsetWidth - defaultPadding)) + "px";
-				//					} else {
-				//						//TODO anchor is position:{left,top,bottom,right}
-				//					}
-				//				}
-			}
-		}
-		setStyle(popover, 'block'); //actionsheet transform
-		popover.offsetHeight;
-		popover.classList.add(CLASS_ACTIVE);
-		backdrop.setAttribute('style', '');
-		document.body.appendChild(backdrop);
-		calPosition(popover, anchor, isActionSheet); //position
-		backdrop.classList.add(CLASS_ACTIVE);
-		popover.addEventListener('webkitTransitionEnd', onPopoverShown);
-	};
-	var setStyle = function(popover, display, top, left) {
-		var style = popover.style;
-		if (typeof display !== 'undefined')
-			style.display = display;
-		if (typeof top !== 'undefined')
-			style.top = top + 'px';
-		if (typeof left !== 'undefined')
-			style.left = left + 'px';
-	};
-	var calPosition = function(popover, anchor, isActionSheet) {
-		if (!popover || !anchor) {
-			return;
-		}
-
-		if (isActionSheet) { //actionsheet
-			setStyle(popover, 'block')
-			return;
-		}
-
-		var wWidth = window.innerWidth;
-		var wHeight = window.innerHeight;
-
-		var pWidth = popover.offsetWidth;
-		var pHeight = popover.offsetHeight;
-
-		var aWidth = anchor.offsetWidth;
-		var aHeight = anchor.offsetHeight;
-		var offset = $.offset(anchor);
-
-		var arrow = popover.querySelector('.' + CLASS_POPOVER_ARROW);
-		if (!arrow) {
-			arrow = document.createElement('div');
-			arrow.className = CLASS_POPOVER_ARROW;
-			popover.appendChild(arrow);
-		}
-		var arrowSize = arrow && arrow.offsetWidth / 2 || 0;
-
-
-
-		var pTop = 0;
-		var pLeft = 0;
-		var diff = 0;
-		var arrowLeft = 0;
-		var defaultPadding = popover.classList.contains(CLASS_ACTION_POPOVER) ? 0 : 5;
-
-		var position = 'top';
-		if ((pHeight + arrowSize) < (offset.top - window.pageYOffset)) { //top
-			pTop = offset.top - pHeight - arrowSize;
-		} else if ((pHeight + arrowSize) < (wHeight - (offset.top - window.pageYOffset) - aHeight)) { //bottom
-			position = 'bottom';
-			pTop = offset.top + aHeight + arrowSize;
-		} else { //middle
-			position = 'middle';
-			pTop = Math.max((wHeight - pHeight) / 2 + window.pageYOffset, 0);
-			pLeft = Math.max((wWidth - pWidth) / 2 + window.pageXOffset, 0);
-		}
-		if (position === 'top' || position === 'bottom') {
-			pLeft = aWidth / 2 + offset.left - pWidth / 2;
-			diff = pLeft;
-			if (pLeft < defaultPadding) pLeft = defaultPadding;
-			if (pLeft + pWidth > wWidth) pLeft = wWidth - pWidth - defaultPadding;
-
-			if (arrow) {
-				if (position === 'top') {
-					arrow.classList.add(CLASS_BOTTOM);
-				} else {
-					arrow.classList.remove(CLASS_BOTTOM);
-				}
-				diff = diff - pLeft;
-				arrowLeft = (pWidth / 2 - arrowSize / 2 + diff);
-				arrowLeft = Math.max(Math.min(arrowLeft, pWidth - arrowSize * 2 - 6), 6);
-				arrow.setAttribute('style', 'left:' + arrowLeft + 'px');
-			}
-		} else if (position === 'middle') {
-			arrow.setAttribute('style', 'display:none');
-		}
-		setStyle(popover, 'block', pTop, pLeft);
-	};
-
-	$.createMask = function(callback) {
-		var element = document.createElement('div');
-		element.classList.add(CLASS_BACKDROP);
-		element.addEventListener($.EVENT_MOVE, $.preventDefault);
-		element.addEventListener('tap', function() {
-			mask.close();
-		});
-		var mask = [element];
-		mask._show = false;
-		mask.show = function() {
-			mask._show = true;
-			element.setAttribute('style', 'opacity:1');
-			document.body.appendChild(element);
-			return mask;
-		};
-		mask._remove = function() {
-			if (mask._show) {
-				mask._show = false;
-				element.setAttribute('style', 'opacity:0');
-				$.later(function() {
-					var body = document.body;
-					element.parentNode === body && body.removeChild(element);
-				}, 350);
-			}
-			return mask;
-		};
-		mask.close = function() {
-			if (callback) {
-				if (callback() !== false) {
-					mask._remove();
-				}
-			} else {
-				mask._remove();
-			}
-		};
-		return mask;
-	};
-	$.fn.popover = function() {
-		var args = arguments;
-		this.each(function() {
-			$.targets._popover = this;
-			if (args[0] === 'show' || args[0] === 'hide' || args[0] === 'toggle') {
-				togglePopover(this, args[1], args[0]);
-			}
-		});
-	};
-
-})(mui, window, document, 'popover');
-/**
- * segmented-controllers
- * @param {type} $
- * @param {type} window
- * @param {type} document
- * @param {type} undefined
- * @returns {undefined}
- */
-(function($, window, document, name, undefined) {
-
-    var CLASS_CONTROL_ITEM = 'mui-control-item';
-    var CLASS_SEGMENTED_CONTROL = 'mui-segmented-control';
-    var CLASS_SEGMENTED_CONTROL_VERTICAL = 'mui-segmented-control-vertical';
-    var CLASS_CONTROL_CONTENT = 'mui-control-content';
-    var CLASS_TAB_BAR = 'mui-bar-tab';
-    var CLASS_TAB_ITEM = 'mui-tab-item';
-    var CLASS_SLIDER_ITEM = 'mui-slider-item';
-
-   var handle = function(event, target) {
-        if (target.classList && (target.classList.contains(CLASS_CONTROL_ITEM) || target.classList.contains(CLASS_TAB_ITEM))) {
-            if (target.parentNode && target.parentNode.classList && target.parentNode.classList.contains(CLASS_SEGMENTED_CONTROL_VERTICAL)) {
-                //vertical 如果preventDefault会导致无法滚动
-            } else {
-
-                    event.preventDefault();      
-                    // if(target.tagName == 'A') {
-                    //     // fixed 底部选项卡href 无法跳转 && stop hash change
-                    //     var curr_href = location.hostname + location.pathname,
-                    //         target_href = target.hostname + target.pathname;
-                   
-                    //     if (curr_href == target_href && target.hash !== "") {
-                    //         event.preventDefault();
-                    //         return target;
-                    //     }else{
-                    //             return false
-                    //     }
-                    // }
-            }
-            //          if (target.hash) {
-            return target;
-            //          }
-        }
-        return false;
-    };
-
-    $.registerTarget({
-        name: name,
-        index: 80,
-        handle: handle,
-        target: false
-    });
-
-    window.addEventListener('tap', function(e) {
-
-        var targetTab = $.targets.tab;
-        if (!targetTab) {
-            return;
-        }
-        var activeTab;
-        var activeBodies;
-        var targetBody;
-        var className = 'mui-active';
-        var classSelector = '.' + className;
-        var segmentedControl = targetTab.parentNode;
-
-        for (; segmentedControl && segmentedControl !== document; segmentedControl = segmentedControl.parentNode) {
-            if (segmentedControl.classList.contains(CLASS_SEGMENTED_CONTROL)) {
-                activeTab = segmentedControl.querySelector(classSelector + '.' + CLASS_CONTROL_ITEM);
-                break;
-            } else if (segmentedControl.classList.contains(CLASS_TAB_BAR)) {
-                activeTab = segmentedControl.querySelector(classSelector + '.' + CLASS_TAB_ITEM);
-            }
-        }
-
-        if (activeTab) {
-            activeTab.classList.remove(className);
-        }
-
-        var isLastActive = targetTab === activeTab;
-        if (targetTab) {
-            targetTab.classList.add(className);
-        }
-
-        if (!targetTab.hash) {
-            return;
-        }
-        targetBody = document.getElementById(targetTab.hash.replace('#', ''));
-
-        if (!targetBody) {
-            return;
-        }
-        if (!targetBody.classList.contains(CLASS_CONTROL_CONTENT)) { //tab bar popover
-            targetTab.classList[isLastActive ? 'remove' : 'add'](className);
-            return;
-        }
-        if (isLastActive) { //same
-            return;
-        }
-        var parentNode = targetBody.parentNode;
-        activeBodies = parentNode.querySelectorAll('.' + CLASS_CONTROL_CONTENT + classSelector);
-        for (var i = 0; i < activeBodies.length; i++) {
-            var activeBody = activeBodies[i];
-            activeBody.parentNode === parentNode && activeBody.classList.remove(className);
-        }
-
-        targetBody.classList.add(className);
-
-        var contents = [];
-        var _contents = parentNode.querySelectorAll('.' + CLASS_CONTROL_CONTENT);
-        for (var i = 0; i < _contents.length; i++) { //查找直属子节点
-            _contents[i].parentNode === parentNode && (contents.push(_contents[i]));
-        }
-        $.trigger(targetBody, $.eventName('shown', name), {
-            tabNumber: Array.prototype.indexOf.call(contents, targetBody)
-        });
-        e.detail && e.detail.gesture.preventDefault(); //fixed hashchange
-    });
-
-})(mui, window, document, 'tab');
-/**
- * Toggles switch
- * @param {type} $
- * @param {type} window
- * @param {type} name
- * @returns {undefined}
- */
-(function($, window, name) {
-
-	var CLASS_SWITCH = 'mui-switch';
-	var CLASS_SWITCH_HANDLE = 'mui-switch-handle';
-	var CLASS_ACTIVE = 'mui-active';
-	var CLASS_DRAGGING = 'mui-dragging';
-
-	var CLASS_DISABLED = 'mui-disabled';
-
-	var SELECTOR_SWITCH_HANDLE = '.' + CLASS_SWITCH_HANDLE;
-
-	var handle = function(event, target) {
-		if (target.classList && target.classList.contains(CLASS_SWITCH)) {
-			return target;
-		}
-		return false;
-	};
-
-	$.registerTarget({
-		name: name,
-		index: 100,
-		handle: handle,
-		target: false
-	});
-
-
-	var Toggle = function(element) {
-		this.element = element;
-		this.classList = this.element.classList;
-		this.handle = this.element.querySelector(SELECTOR_SWITCH_HANDLE);
-		this.init();
-		this.initEvent();
-	};
-	Toggle.prototype.init = function() {
-		this.toggleWidth = this.element.offsetWidth;
-		this.handleWidth = this.handle.offsetWidth;
-		this.handleX = this.toggleWidth - this.handleWidth - 3;
-	};
-	Toggle.prototype.initEvent = function() {
-		this.element.addEventListener($.EVENT_START, this);
-		this.element.addEventListener('drag', this);
-		this.element.addEventListener('swiperight', this);
-		this.element.addEventListener($.EVENT_END, this);
-		this.element.addEventListener($.EVENT_CANCEL, this);
-
-	};
-	Toggle.prototype.handleEvent = function(e) {
-		if (this.classList.contains(CLASS_DISABLED)) {
-			return;
-		}
-		switch (e.type) {
-			case $.EVENT_START:
-				this.start(e);
-				break;
-			case 'drag':
-				this.drag(e);
-				break;
-			case 'swiperight':
-				this.swiperight();
-				break;
-			case $.EVENT_END:
-			case $.EVENT_CANCEL:
-				this.end(e);
-				break;
-		}
-	};
-	Toggle.prototype.start = function(e) {
-		this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '.2s';
-		this.classList.add(CLASS_DRAGGING);
-		if (this.toggleWidth === 0 || this.handleWidth === 0) { //当switch处于隐藏状态时,width为0,需要重新初始化
-			this.init();
-		}
-	};
-	Toggle.prototype.drag = function(e) {
-		var detail = e.detail;
-		if (!this.isDragging) {
-			if (detail.direction === 'left' || detail.direction === 'right') {
-				this.isDragging = true;
-				this.lastChanged = undefined;
-				this.initialState = this.classList.contains(CLASS_ACTIVE);
-			}
-		}
-		if (this.isDragging) {
-			this.setTranslateX(detail.deltaX);
-			e.stopPropagation();
-			detail.gesture.preventDefault();
-		}
-	};
-	Toggle.prototype.swiperight = function(e) {
-		if (this.isDragging) {
-			e.stopPropagation();
-		}
-	};
-	Toggle.prototype.end = function(e) {
-		this.classList.remove(CLASS_DRAGGING);
-		if (this.isDragging) {
-			this.isDragging = false;
-			e.stopPropagation();
-			$.trigger(this.element, 'toggle', {
-				isActive: this.classList.contains(CLASS_ACTIVE)
-			});
-		} else {
-			this.toggle();
-		}
-	};
-	Toggle.prototype.toggle = function(animate) {
-		var classList = this.classList;
-		if (animate === false) {
-			this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '0s';
-		} else {
-			this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '.2s';
-		}
-		if (classList.contains(CLASS_ACTIVE)) {
-			classList.remove(CLASS_ACTIVE);
-			this.handle.style.webkitTransform = 'translate(0,0)';
-		} else {
-			classList.add(CLASS_ACTIVE);
-			this.handle.style.webkitTransform = 'translate(' + this.handleX + 'px,0)';
-		}
-		$.trigger(this.element, 'toggle', {
-			isActive: this.classList.contains(CLASS_ACTIVE)
-		});
-	};
-	Toggle.prototype.setTranslateX = $.animationFrame(function(x) {
-		if (!this.isDragging) {
-			return;
-		}
-		var isChanged = false;
-		if ((this.initialState && -x > (this.handleX / 2)) || (!this.initialState && x > (this.handleX / 2))) {
-			isChanged = true;
-		}
-		if (this.lastChanged !== isChanged) {
-			if (isChanged) {
-				this.handle.style.webkitTransform = 'translate(' + (this.initialState ? 0 : this.handleX) + 'px,0)';
-				this.classList[this.initialState ? 'remove' : 'add'](CLASS_ACTIVE);
-			} else {
-				this.handle.style.webkitTransform = 'translate(' + (this.initialState ? this.handleX : 0) + 'px,0)';
-				this.classList[this.initialState ? 'add' : 'remove'](CLASS_ACTIVE);
-			}
-			this.lastChanged = isChanged;
-		}
-
-	});
-
-	$.fn['switch'] = function(options) {
-		var switchApis = [];
-		this.each(function() {
-			var switchApi = null;
-			var id = this.getAttribute('data-switch');
-			if (!id) {
-				id = ++$.uuid;
-				$.data[id] = new Toggle(this);
-				this.setAttribute('data-switch', id);
-			} else {
-				switchApi = $.data[id];
-			}
-			switchApis.push(switchApi);
-		});
-		return switchApis.length > 1 ? switchApis : switchApis[0];
-	};
-	$.ready(function() {
-		$('.' + CLASS_SWITCH)['switch']();
-	});
-})(mui, window, 'toggle');
-/**
- * Tableviews
- * @param {type} $
- * @param {type} window
- * @param {type} document
- * @returns {undefined}
- */
-(function($, window, document) {
-
-	var CLASS_ACTIVE = 'mui-active';
-	var CLASS_SELECTED = 'mui-selected';
-	var CLASS_GRID_VIEW = 'mui-grid-view';
-	var CLASS_RADIO_VIEW = 'mui-table-view-radio';
-	var CLASS_TABLE_VIEW_CELL = 'mui-table-view-cell';
-	var CLASS_COLLAPSE_CONTENT = 'mui-collapse-content';
-	var CLASS_DISABLED = 'mui-disabled';
-	var CLASS_TOGGLE = 'mui-switch';
-	var CLASS_BTN = 'mui-btn';
-
-	var CLASS_SLIDER_HANDLE = 'mui-slider-handle';
-	var CLASS_SLIDER_LEFT = 'mui-slider-left';
-	var CLASS_SLIDER_RIGHT = 'mui-slider-right';
-	var CLASS_TRANSITIONING = 'mui-transitioning';
-
-
-	var SELECTOR_SLIDER_HANDLE = '.' + CLASS_SLIDER_HANDLE;
-	var SELECTOR_SLIDER_LEFT = '.' + CLASS_SLIDER_LEFT;
-	var SELECTOR_SLIDER_RIGHT = '.' + CLASS_SLIDER_RIGHT;
-	var SELECTOR_SELECTED = '.' + CLASS_SELECTED;
-	var SELECTOR_BUTTON = '.' + CLASS_BTN;
-	var overFactor = 0.8;
-	var cell, a;
-
-	var isMoved = isOpened = openedActions = progress = false;
-	var sliderHandle = sliderActionLeft = sliderActionRight = buttonsLeft = buttonsRight = sliderDirection = sliderRequestAnimationFrame = false;
-	var timer = translateX = lastTranslateX = sliderActionLeftWidth = sliderActionRightWidth = 0;
-
-
-
-	var toggleActive = function(isActive) {
-		if (isActive) {
-			if (a) {
-				a.classList.add(CLASS_ACTIVE);
-			} else if (cell) {
-				cell.classList.add(CLASS_ACTIVE);
-			}
-		} else {
-			timer && timer.cancel();
-			if (a) {
-				a.classList.remove(CLASS_ACTIVE);
-			} else if (cell) {
-				cell.classList.remove(CLASS_ACTIVE);
-			}
-		}
-	};
-
-	var updateTranslate = function() {
-		if (translateX !== lastTranslateX) {
-			if (buttonsRight && buttonsRight.length > 0) {
-				progress = translateX / sliderActionRightWidth;
-				if (translateX < -sliderActionRightWidth) {
-					translateX = -sliderActionRightWidth - Math.pow(-translateX - sliderActionRightWidth, overFactor);
-				}
-				for (var i = 0, len = buttonsRight.length; i < len; i++) {
-					var buttonRight = buttonsRight[i];
-					if (typeof buttonRight._buttonOffset === 'undefined') {
-						buttonRight._buttonOffset = buttonRight.offsetLeft;
-					}
-					buttonOffset = buttonRight._buttonOffset;
-					setTranslate(buttonRight, (translateX - buttonOffset * (1 + Math.max(progress, -1))));
-				}
-			}
-			if (buttonsLeft && buttonsLeft.length > 0) {
-				progress = translateX / sliderActionLeftWidth;
-				if (translateX > sliderActionLeftWidth) {
-					translateX = sliderActionLeftWidth + Math.pow(translateX - sliderActionLeftWidth, overFactor);
-				}
-				for (var i = 0, len = buttonsLeft.length; i < len; i++) {
-					var buttonLeft = buttonsLeft[i];
-					if (typeof buttonLeft._buttonOffset === 'undefined') {
-						buttonLeft._buttonOffset = sliderActionLeftWidth - buttonLeft.offsetLeft - buttonLeft.offsetWidth;
-					}
-					buttonOffset = buttonLeft._buttonOffset;
-					if (buttonsLeft.length > 1) {
-						buttonLeft.style.zIndex = buttonsLeft.length - i;
-					}
-					setTranslate(buttonLeft, (translateX + buttonOffset * (1 - Math.min(progress, 1))));
-				}
-			}
-			setTranslate(sliderHandle, translateX);
-			lastTranslateX = translateX;
-		}
-		sliderRequestAnimationFrame = requestAnimationFrame(function() {
-			updateTranslate();
-		});
-	};
-	var setTranslate = function(element, x) {
-		if (element) {
-			element.style.webkitTransform = 'translate(' + x + 'px,0)';
-		}
-	};
-
-	window.addEventListener($.EVENT_START, function(event) {
-		if (cell) {
-			toggleActive(false);
-		}
-		cell = a = false;
-		isMoved = isOpened = openedActions = false;
-		var target = event.target;
-		var isDisabled = false;
-		for (; target && target !== document; target = target.parentNode) {
-			if (target.classList) {
-				var classList = target.classList;
-				if ((target.tagName === 'INPUT' && target.type !== 'radio' && target.type !== 'checkbox') || target.tagName === 'BUTTON' || classList.contains(CLASS_TOGGLE) || classList.contains(CLASS_BTN) || classList.contains(CLASS_DISABLED)) {
-					isDisabled = true;
-				}
-				if (classList.contains(CLASS_COLLAPSE_CONTENT)) { //collapse content
-					break;
-				}
-				if (classList.contains(CLASS_TABLE_VIEW_CELL)) {
-					cell = target;
-					//TODO swipe to delete close
-					var selected = cell.parentNode.querySelector(SELECTOR_SELECTED);
-					if (!cell.parentNode.classList.contains(CLASS_RADIO_VIEW) && selected && selected !== cell) {
-						$.swipeoutClose(selected);
-						cell = isDisabled = false;
-						return;
-					}
-					if (!cell.parentNode.classList.contains(CLASS_GRID_VIEW)) {
-						var link = cell.querySelector('a');
-						if (link && link.parentNode === cell) { //li>a
-							a = link;
-						}
-					}
-					var handle = cell.querySelector(SELECTOR_SLIDER_HANDLE);
-					if (handle) {
-						toggleEvents(cell);
-						event.stopPropagation();
-					}
-					if (!isDisabled) {
-						if (handle) {
-							if (timer) {
-								timer.cancel();
-							}
-							timer = $.later(function() {
-								toggleActive(true);
-							}, 100);
-						} else {
-							toggleActive(true);
-						}
-					}
-					break;
-				}
-			}
-		}
-	});
-	window.addEventListener($.EVENT_MOVE, function(event) {
-		toggleActive(false);
-	});
-
-	var handleEvent = {
-		handleEvent: function(event) {
-			switch (event.type) {
-				case 'drag':
-					this.drag(event);
-					break;
-				case 'dragend':
-					this.dragend(event);
-					break;
-				case 'flick':
-					this.flick(event);
-					break;
-				case 'swiperight':
-					this.swiperight(event);
-					break;
-				case 'swipeleft':
-					this.swipeleft(event);
-					break;
-			}
-		},
-		drag: function(event) {
-			if (!cell) {
-				return;
-			}
-			if (!isMoved) { //init
-				sliderHandle = sliderActionLeft = sliderActionRight = buttonsLeft = buttonsRight = sliderDirection = sliderRequestAnimationFrame = false;
-				sliderHandle = cell.querySelector(SELECTOR_SLIDER_HANDLE);
-				if (sliderHandle) {
-					sliderActionLeft = cell.querySelector(SELECTOR_SLIDER_LEFT);
-					sliderActionRight = cell.querySelector(SELECTOR_SLIDER_RIGHT);
-					if (sliderActionLeft) {
-						sliderActionLeftWidth = sliderActionLeft.offsetWidth;
-						buttonsLeft = sliderActionLeft.querySelectorAll(SELECTOR_BUTTON);
-					}
-					if (sliderActionRight) {
-						sliderActionRightWidth = sliderActionRight.offsetWidth;
-						buttonsRight = sliderActionRight.querySelectorAll(SELECTOR_BUTTON);
-					}
-					cell.classList.remove(CLASS_TRANSITIONING);
-					isOpened = cell.classList.contains(CLASS_SELECTED);
-					if (isOpened) {
-						openedActions = cell.querySelector(SELECTOR_SLIDER_LEFT + SELECTOR_SELECTED) ? 'left' : 'right';
-					}
-				}
-			}
-			var detail = event.detail;
-			var direction = detail.direction;
-			var angle = detail.angle;
-			if (direction === 'left' && (angle > 150 || angle < -150)) {
-				if (buttonsRight || (buttonsLeft && isOpened)) { //存在右侧按钮或存在左侧按钮且是已打开状态
-					isMoved = true;
-				}
-			} else if (direction === 'right' && (angle > -30 && angle < 30)) {
-				if (buttonsLeft || (buttonsRight && isOpened)) { //存在左侧按钮或存在右侧按钮且是已打开状态
-					isMoved = true;
-				}
-			}
-			if (isMoved) {
-				event.stopPropagation();
-				event.detail.gesture.preventDefault();
-				var translate = event.detail.deltaX;
-				if (isOpened) {
-					if (openedActions === 'right') {
-						translate = translate - sliderActionRightWidth;
-					} else {
-						translate = translate + sliderActionLeftWidth;
-					}
-				}
-				if ((translate > 0 && !buttonsLeft) || (translate < 0 && !buttonsRight)) {
-					if (!isOpened) {
-						return;
-					}
-					translate = 0;
-				}
-				if (translate < 0) {
-					sliderDirection = 'toLeft';
-				} else if (translate > 0) {
-					sliderDirection = 'toRight';
-				} else {
-					if (!sliderDirection) {
-						sliderDirection = 'toLeft';
-					}
-				}
-				if (!sliderRequestAnimationFrame) {
-					updateTranslate();
-				}
-				translateX = translate;
-			}
-		},
-		flick: function(event) {
-			if (isMoved) {
-				event.stopPropagation();
-			}
-		},
-		swipeleft: function(event) {
-			if (isMoved) {
-				event.stopPropagation();
-			}
-		},
-		swiperight: function(event) {
-			if (isMoved) {
-				event.stopPropagation();
-			}
-		},
-		dragend: function(event) {
-			if (!isMoved) {
-				return;
-			}
-			event.stopPropagation();
-			if (sliderRequestAnimationFrame) {
-				cancelAnimationFrame(sliderRequestAnimationFrame);
-				sliderRequestAnimationFrame = null;
-			}
-			var detail = event.detail;
-			isMoved = false;
-			var action = 'close';
-			var actionsWidth = sliderDirection === 'toLeft' ? sliderActionRightWidth : sliderActionLeftWidth;
-			var isToggle = detail.swipe || (Math.abs(translateX) > actionsWidth / 2);
-			if (isToggle) {
-				if (!isOpened) {
-					action = 'open';
-				} else if (detail.direction === 'left' && openedActions === 'right') {
-					action = 'open';
-				} else if (detail.direction === 'right' && openedActions === 'left') {
-					action = 'open';
-				}
-
-			}
-			cell.classList.add(CLASS_TRANSITIONING);
-			var buttons;
-			if (action === 'open') {
-				var newTranslate = sliderDirection === 'toLeft' ? -actionsWidth : actionsWidth;
-				setTranslate(sliderHandle, newTranslate);
-				buttons = sliderDirection === 'toLeft' ? buttonsRight : buttonsLeft;
-				if (typeof buttons !== 'undefined') {
-					var button = null;
-					for (var i = 0; i < buttons.length; i++) {
-						button = buttons[i];
-						setTranslate(button, newTranslate);
-					}
-					button.parentNode.classList.add(CLASS_SELECTED);
-					cell.classList.add(CLASS_SELECTED);
-					if (!isOpened) {
-						$.trigger(cell, sliderDirection === 'toLeft' ? 'slideleft' : 'slideright');
-					}
-				}
-			} else {
-				setTranslate(sliderHandle, 0);
-				sliderActionLeft && sliderActionLeft.classList.remove(CLASS_SELECTED);
-				sliderActionRight && sliderActionRight.classList.remove(CLASS_SELECTED);
-				cell.classList.remove(CLASS_SELECTED);
-			}
-			var buttonOffset;
-			if (buttonsLeft && buttonsLeft.length > 0 && buttonsLeft !== buttons) {
-				for (var i = 0, len = buttonsLeft.length; i < len; i++) {
-					var buttonLeft = buttonsLeft[i];
-					buttonOffset = buttonLeft._buttonOffset;
-					if (typeof buttonOffset === 'undefined') {
-						buttonLeft._buttonOffset = sliderActionLeftWidth - buttonLeft.offsetLeft - buttonLeft.offsetWidth;
-					}
-					setTranslate(buttonLeft, buttonOffset);
-				}
-			}
-			if (buttonsRight && buttonsRight.length > 0 && buttonsRight !== buttons) {
-				for (var i = 0, len = buttonsRight.length; i < len; i++) {
-					var buttonRight = buttonsRight[i];
-					buttonOffset = buttonRight._buttonOffset;
-					if (typeof buttonOffset === 'undefined') {
-						buttonRight._buttonOffset = buttonRight.offsetLeft;
-					}
-					setTranslate(buttonRight, -buttonOffset);
-				}
-			}
-		}
-	};
-
-	function toggleEvents(element, isRemove) {
-		var method = !!isRemove ? 'removeEventListener' : 'addEventListener';
-		element[method]('drag', handleEvent);
-		element[method]('dragend', handleEvent);
-		element[method]('swiperight', handleEvent);
-		element[method]('swipeleft', handleEvent);
-		element[method]('flick', handleEvent);
-	};
-	/**
-	 * 打开滑动菜单
-	 * @param {Object} el
-	 * @param {Object} direction
-	 */
-	$.swipeoutOpen = function(el, direction) {
-		if (!el) return;
-		var classList = el.classList;
-		if (classList.contains(CLASS_SELECTED)) return;
-		if (!direction) {
-			if (el.querySelector(SELECTOR_SLIDER_RIGHT)) {
-				direction = 'right';
-			} else {
-				direction = 'left';
-			}
-		}
-		var swipeoutAction = el.querySelector($.classSelector(".slider-" + direction));
-		if (!swipeoutAction) return;
-		swipeoutAction.classList.add(CLASS_SELECTED);
-		classList.add(CLASS_SELECTED);
-		classList.remove(CLASS_TRANSITIONING);
-		var buttons = swipeoutAction.querySelectorAll(SELECTOR_BUTTON);
-		var swipeoutWidth = swipeoutAction.offsetWidth;
-		var translate = (direction === 'right') ? -swipeoutWidth : swipeoutWidth;
-		var length = buttons.length;
-		var button;
-		for (var i = 0; i < length; i++) {
-			button = buttons[i];
-			if (direction === 'right') {
-				setTranslate(button, -button.offsetLeft);
-			} else {
-				setTranslate(button, (swipeoutWidth - button.offsetWidth - button.offsetLeft));
-			}
-		}
-		classList.add(CLASS_TRANSITIONING);
-		for (var i = 0; i < length; i++) {
-			setTranslate(buttons[i], translate);
-		}
-		setTranslate(el.querySelector(SELECTOR_SLIDER_HANDLE), translate);
-	};
-	/**
-	 * 关闭滑动菜单
-	 * @param {Object} el
-	 */
-	$.swipeoutClose = function(el) {
-		if (!el) return;
-		var classList = el.classList;
-		if (!classList.contains(CLASS_SELECTED)) return;
-		var direction = el.querySelector(SELECTOR_SLIDER_RIGHT + SELECTOR_SELECTED) ? 'right' : 'left';
-		var swipeoutAction = el.querySelector($.classSelector(".slider-" + direction));
-		if (!swipeoutAction) return;
-		swipeoutAction.classList.remove(CLASS_SELECTED);
-		classList.remove(CLASS_SELECTED);
-		classList.add(CLASS_TRANSITIONING);
-		var buttons = swipeoutAction.querySelectorAll(SELECTOR_BUTTON);
-		var swipeoutWidth = swipeoutAction.offsetWidth;
-		var length = buttons.length;
-		var button;
-		setTranslate(el.querySelector(SELECTOR_SLIDER_HANDLE), 0);
-		for (var i = 0; i < length; i++) {
-			button = buttons[i];
-			if (direction === 'right') {
-				setTranslate(button, (-button.offsetLeft));
-			} else {
-				setTranslate(button, (swipeoutWidth - button.offsetWidth - button.offsetLeft));
-			}
-		}
-	};
-
-	window.addEventListener($.EVENT_END, function(event) { //使用touchend来取消高亮,避免一次点击既不触发tap,doubletap,longtap的事件
-		if (!cell) {
-			return;
-		}
-		toggleActive(false);
-		sliderHandle && toggleEvents(cell, true);
-	});
-	window.addEventListener($.EVENT_CANCEL, function(event) { //使用touchcancel来取消高亮,避免一次点击既不触发tap,doubletap,longtap的事件
-		if (!cell) {
-			return;
-		}
-		toggleActive(false);
-		sliderHandle && toggleEvents(cell, true);
-	});
-	var radioOrCheckboxClick = function(event) {
-		var type = event.target && event.target.type || '';
-		if (type === 'radio' || type === 'checkbox') {
-			return;
-		}
-		var classList = cell.classList;
-		if (classList.contains('mui-radio')) {
-			var input = cell.querySelector('input[type=radio]');
-			if (input) {
-				//				input.click();
-				if (!input.disabled && !input.readOnly) {
-					input.checked = !input.checked;
-					$.trigger(input, 'change');
-				}
-			}
-		} else if (classList.contains('mui-checkbox')) {
-			var input = cell.querySelector('input[type=checkbox]');
-			if (input) {
-				//				input.click();
-				if (!input.disabled && !input.readOnly) {
-					input.checked = !input.checked;
-					$.trigger(input, 'change');
-				}
-			}
-		}
-	};
-	//fixed hashchange(android)
-	window.addEventListener($.EVENT_CLICK, function(e) {
-		if (cell && cell.classList.contains('mui-collapse')) {
-			e.preventDefault();
-		}
-	});
-	window.addEventListener('doubletap', function(event) {
-		if (cell) {
-			radioOrCheckboxClick(event);
-		}
-	});
-	var preventDefaultException = /^(INPUT|TEXTAREA|BUTTON|SELECT)$/;
-	window.addEventListener('tap', function(event) {
-		if (!cell) {
-			return;
-		}
-		var isExpand = false;
-		var classList = cell.classList;
-		var ul = cell.parentNode;
-		if (ul && ul.classList.contains(CLASS_RADIO_VIEW)) {
-			if (classList.contains(CLASS_SELECTED)) {
-				return;
-			}
-			var selected = ul.querySelector('li' + SELECTOR_SELECTED);
-			if (selected) {
-				selected.classList.remove(CLASS_SELECTED);
-			}
-			classList.add(CLASS_SELECTED);
-			$.trigger(cell, 'selected', {
-				el: cell
-			});
-			return;
-		}
-		if (classList.contains('mui-collapse') && !cell.parentNode.classList.contains('mui-unfold')) {
-			if (!preventDefaultException.test(event.target.tagName)) {
-				event.detail.gesture.preventDefault();
-			}
-
-			if (!classList.contains(CLASS_ACTIVE)) { //展开时,需要收缩其他同类
-				var collapse = cell.parentNode.querySelector('.mui-collapse.mui-active');
-				if (collapse) {
-					collapse.classList.remove(CLASS_ACTIVE);
-				}
-				isExpand = true;
-			}
-			classList.toggle(CLASS_ACTIVE);
-			if (isExpand) {
-				//触发展开事件
-				$.trigger(cell, 'expand');
-
-				//scroll
-				//暂不滚动
-				// var offsetTop = $.offset(cell).top;
-				// var scrollTop = document.body.scrollTop;
-				// var height = window.innerHeight;
-				// var offsetHeight = cell.offsetHeight;
-				// var cellHeight = (offsetTop - scrollTop + offsetHeight);
-				// if (offsetHeight > height) {
-				// 	$.scrollTo(offsetTop, 300);
-				// } else if (cellHeight > height) {
-				// 	$.scrollTo(cellHeight - height + scrollTop, 300);
-				// }
-			}
-		} else {
-			radioOrCheckboxClick(event);
-		}
-	});
-})(mui, window, document);
-(function($, window) {
-	/**
-	 * 警告消息框
-	 */
-	$.alert = function(message, title, btnValue, callback) {
-		if ($.os.plus) {
-			if (typeof message === 'undefined') {
-				return;
-			} else {
-				if (typeof title === 'function') {
-					callback = title;
-					title = null;
-					btnValue = '确定';
-				} else if (typeof btnValue === 'function') {
-					callback = btnValue;
-					btnValue = null;
-				}
-				$.plusReady(function() {
-					plus.nativeUI.alert(message, callback, title, btnValue);
-				});
-			}
-
-		} else {
-			//TODO H5版本
-			window.alert(message);
-		}
-	};
-
-})(mui, window);
-(function($, window) {
-	/**
-	 * 确认消息框
-	 */
-	$.confirm = function(message, title, btnArray, callback) {
-		if ($.os.plus) {
-			if (typeof message === 'undefined') {
-				return;
-			} else {
-				if (typeof title === 'function') {
-					callback = title;
-					title = null;
-					btnArray = null;
-				} else if (typeof btnArray === 'function') {
-					callback = btnArray;
-					btnArray = null;
-				}
-				$.plusReady(function() {
-					plus.nativeUI.confirm(message, callback, title, btnArray);
-				});
-			}
-
-		} else {
-			//H5版本,0为确认,1为取消
-			if (window.confirm(message)) {
-				callback({
-					index: 0
-				});
-			} else {
-				callback({
-					index: 1
-				});
-			}
-		}
-	};
-
-})(mui, window);
-(function($, window) {
-	/**
-	 * 输入对话框
-	 */
-	$.prompt = function(text, defaultText, title, btnArray, callback) {
-		if ($.os.plus) {
-			if (typeof message === 'undefined') {
-				return;
-			} else {
-
-				if (typeof defaultText === 'function') {
-					callback = defaultText;
-					defaultText = null;
-					title = null;
-					btnArray = null;
-				} else if (typeof title === 'function') {
-					callback = title;
-					title = null;
-					btnArray = null;
-				} else if (typeof btnArray === 'function') {
-					callback = btnArray;
-					btnArray = null;
-				}
-				$.plusReady(function() {
-					plus.nativeUI.prompt(text, callback, title, defaultText, btnArray);
-				});
-			}
-
-		} else {
-			//H5版本(确认index为0,取消index为1)
-			var result = window.prompt(text);
-			if (result) {
-				callback({
-					index: 0,
-					value: result
-				});
-			} else {
-				callback({
-					index: 1,
-					value: ''
-				});
-			}
-		}
-	};
-
-})(mui, window);
-(function($, window) {
-	var CLASS_ACTIVE = 'mui-active';
-	/**
-	 * 自动消失提示框
-	 */
-	$.toast = function(message,options) {
-		var durations = {
-		    'long': 3500,
-		    'short': 2000
-		};
-
-		//计算显示时间
-		 options = $.extend({
-	        duration: 'short'
-	    }, options || {});
-
-
-		if ($.os.plus && options.type !== 'div') {
-			//默认显示在底部;
-			$.plusReady(function() {
-				plus.nativeUI.toast(message, {
-					verticalAlign: 'bottom',
-					duration:options.duration
-				});
-			});
-		} else {
-			if (typeof options.duration === 'number') {
-		        duration = options.duration>0 ? options.duration:durations['short'];
-		    } else {
-		        duration = durations[options.duration];
-		    }
-		    if (!duration) {
-		        duration = durations['short'];
-		    }
-			var toast = document.createElement('div');
-			toast.classList.add('mui-toast-container');
-			toast.innerHTML = '<div class="' + 'mui-toast-message' + '">' + message + '</div>';
-			toast.addEventListener('webkitTransitionEnd', function() {
-				if (!toast.classList.contains(CLASS_ACTIVE)) {
-					toast.parentNode.removeChild(toast);
-					toast = null;
-				}
-			});
-			//点击则自动消失
-			toast.addEventListener('click', function() {
-		        toast.parentNode.removeChild(toast);
-		        toast = null;
-		    });
-			document.body.appendChild(toast);
-			toast.offsetHeight;
-			toast.classList.add(CLASS_ACTIVE);
-			setTimeout(function() {
-				toast && toast.classList.remove(CLASS_ACTIVE);
-			}, duration);
-			
-			return {
-		        isVisible: function() {return !!toast;}
-		    }
-		}   
-	};
-
-})(mui, window);
-/**
- * Popup(alert,confirm,prompt)  
- * @param {Object} $
- * @param {Object} window
- * @param {Object} document
- */
-(function($, window, document) {
-    var CLASS_POPUP = 'mui-popup';
-    var CLASS_POPUP_BACKDROP = 'mui-popup-backdrop';
-    var CLASS_POPUP_IN = 'mui-popup-in';
-    var CLASS_POPUP_OUT = 'mui-popup-out';
-    var CLASS_POPUP_INNER = 'mui-popup-inner';
-    var CLASS_POPUP_TITLE = 'mui-popup-title';
-    var CLASS_POPUP_TEXT = 'mui-popup-text';
-    var CLASS_POPUP_INPUT = 'mui-popup-input';
-    var CLASS_POPUP_BUTTONS = 'mui-popup-buttons';
-    var CLASS_POPUP_BUTTON = 'mui-popup-button';
-    var CLASS_POPUP_BUTTON_BOLD = 'mui-popup-button-bold';
-    var CLASS_POPUP_BACKDROP = 'mui-popup-backdrop';
-    var CLASS_ACTIVE = 'mui-active';
-
-    var popupStack = [];
-    var backdrop = (function() {
-        var element = document.createElement('div');
-        element.classList.add(CLASS_POPUP_BACKDROP);
-        element.addEventListener($.EVENT_MOVE, $.preventDefault);
-        element.addEventListener('webkitTransitionEnd', function() {
-            if (!this.classList.contains(CLASS_ACTIVE)) {
-                element.parentNode && element.parentNode.removeChild(element);
-            }
-        });
-        return element;
-    }());
-
-    var createInput = function(placeholder) {
-        return '<div class="' + CLASS_POPUP_INPUT + '"><input type="text" autofocus placeholder="' + (placeholder || '') + '"/></div>';
-    };
-    var createInner = function(message, title, extra) {
-        return '<div class="' + CLASS_POPUP_INNER + '"><div class="' + CLASS_POPUP_TITLE + '">' + title + '</div><div class="' + CLASS_POPUP_TEXT + '">' + message.replace(/\r\n/g, "<br/>").replace(/\n/g, "<br/>") + '</div>' + (extra || '') + '</div>';
-    };
-    var createButtons = function(btnArray) {
-        var length = btnArray.length;
-        var btns = [];
-        for (var i = 0; i < length; i++) {
-            btns.push('<span class="' + CLASS_POPUP_BUTTON + (i === length - 1 ? (' ' + CLASS_POPUP_BUTTON_BOLD) : '') + '">' + btnArray[i] + '</span>');
-        }
-        return '<div class="' + CLASS_POPUP_BUTTONS + '">' + btns.join('') + '</div>';
-    };
-
-    var createPopup = function(html, callback) {
-        var popupElement = document.createElement('div');
-        popupElement.className = CLASS_POPUP;
-        popupElement.innerHTML = html;
-        var removePopupElement = function() {
-            popupElement.parentNode && popupElement.parentNode.removeChild(popupElement);
-            popupElement = null;
-        };
-        popupElement.addEventListener($.EVENT_MOVE, $.preventDefault);
-        popupElement.addEventListener('webkitTransitionEnd', function(e) {
-            if (popupElement && e.target === popupElement && popupElement.classList.contains(CLASS_POPUP_OUT)) {
-                removePopupElement();
-            }
-        });
-        popupElement.style.display = 'block';
-        document.body.appendChild(popupElement);
-        popupElement.offsetHeight;
-        popupElement.classList.add(CLASS_POPUP_IN);
-
-        if (!backdrop.classList.contains(CLASS_ACTIVE)) {
-            backdrop.style.display = 'block';
-            document.body.appendChild(backdrop);
-            backdrop.offsetHeight;
-            backdrop.classList.add(CLASS_ACTIVE);
-        }
-        var btns = $.qsa('.' + CLASS_POPUP_BUTTON, popupElement);
-        var input = popupElement.querySelector('.' + CLASS_POPUP_INPUT + ' input');
-        var popup = {
-            element: popupElement,
-            close: function(index, animate) {
-                if (popupElement) {
-                    var result = callback && callback({
-                        index: index || 0,
-                        value: input && input.value || ''
-                    });
-                    if (result === false) { //返回false则不关闭当前popup
-                        return;
-                    }
-                    if (animate !== false) {
-                        popupElement.classList.remove(CLASS_POPUP_IN);
-                        popupElement.classList.add(CLASS_POPUP_OUT);
-                    } else {
-                        removePopupElement();
-                    }
-                    popupStack.pop();
-                    //如果还有其他popup,则不remove backdrop
-                    if (popupStack.length) {
-                        popupStack[popupStack.length - 1]['show'](animate);
-                    } else {
-                        backdrop.classList.remove(CLASS_ACTIVE);
-                    }
-                }
-            }
-        };
-        var handleEvent = function(e) {
-            popup.close(btns.indexOf(e.target));
-        };
-        $(popupElement).on('tap', '.' + CLASS_POPUP_BUTTON, handleEvent);
-        if (popupStack.length) {
-            popupStack[popupStack.length - 1]['hide']();
-        }
-        popupStack.push({
-            close: popup.close,
-            show: function(animate) {
-                popupElement.style.display = 'block';
-                popupElement.offsetHeight;
-                popupElement.classList.add(CLASS_POPUP_IN);
-            },
-            hide: function() {
-                popupElement.style.display = 'none';
-                popupElement.classList.remove(CLASS_POPUP_IN);
-            }
-        });
-        return popup;
-    };
-    var createAlert = function(message, title, btnValue, callback, type) {
-        if (typeof message === 'undefined') {
-            return;
-        } else {
-            if (typeof title === 'function') {
-                callback = title;
-                type = btnValue;
-                title = null;
-                btnValue = null;
-            } else if (typeof btnValue === 'function') {
-                type = callback;
-                callback = btnValue;
-                btnValue = null;
-            }
-        }
-        if (!$.os.plus || type === 'div') {
-            return createPopup(createInner(message, title || '提示') + createButtons([btnValue || '确定']), callback);
-        }
-        return plus.nativeUI.alert(message, callback, title || '提示', btnValue || '确定');
-    };
-    var createConfirm = function(message, title, btnArray, callback, type) {
-        if (typeof message === 'undefined') {
-            return;
-        } else {
-            if (typeof title === 'function') {
-                callback = title;
-                type = btnArray;
-                title = null;
-                btnArray = null;
-            } else if (typeof btnArray === 'function') {
-                type = callback;
-                callback = btnArray;
-                btnArray = null;
-            }
-        }
-        if (!$.os.plus || type === 'div') {
-            return createPopup(createInner(message, title || '提示') + createButtons(btnArray || ['取消', '确认']), callback);
-        }
-        return plus.nativeUI.confirm(message, callback, title, btnArray || ['取消', '确认']);
-    };
-    var createPrompt = function(message, placeholder, title, btnArray, callback, type) {
-        if (typeof message === 'undefined') {
-            return;
-        } else {
-            if (typeof placeholder === 'function') {
-                callback = placeholder;
-                type = title;
-                placeholder = null;
-                title = null;
-                btnArray = null;
-            } else if (typeof title === 'function') {
-                callback = title;
-                type = btnArray;
-                title = null;
-                btnArray = null;
-            } else if (typeof btnArray === 'function') {
-                type = callback;
-                callback = btnArray;
-                btnArray = null;
-            }
-        }
-        if (!$.os.plus || type === 'div') {
-            return createPopup(createInner(message, title || '提示', createInput(placeholder)) + createButtons(btnArray || ['取消', '确认']), callback);
-        }
-        return plus.nativeUI.prompt(message, callback, title || '提示', placeholder, btnArray || ['取消', '确认']);
-    };
-    var closePopup = function() {
-        if (popupStack.length) {
-            popupStack[popupStack.length - 1]['close']();
-            return true;
-        } else {
-            return false;
-        }
-    };
-    var closePopups = function() {
-        while (popupStack.length) {
-            popupStack[popupStack.length - 1]['close']();
-        }
-    };
-
-    $.closePopup = closePopup;
-    $.closePopups = closePopups;
-    $.alert = createAlert;
-    $.confirm = createConfirm;
-    $.prompt = createPrompt;
-})(mui, window, document);
-(function($, document) {
-	var CLASS_PROGRESSBAR = 'mui-progressbar';
-	var CLASS_PROGRESSBAR_IN = 'mui-progressbar-in';
-	var CLASS_PROGRESSBAR_OUT = 'mui-progressbar-out';
-	var CLASS_PROGRESSBAR_INFINITE = 'mui-progressbar-infinite';
-
-	var SELECTOR_PROGRESSBAR = '.mui-progressbar';
-
-	var _findProgressbar = function(container) {
-		container = $(container || 'body');
-		if (container.length === 0) return;
-		container = container[0];
-		if (container.classList.contains(CLASS_PROGRESSBAR)) {
-			return container;
-		}
-		var progressbars = container.querySelectorAll(SELECTOR_PROGRESSBAR);
-		if (progressbars) {
-			for (var i = 0, len = progressbars.length; i < len; i++) {
-				var progressbar = progressbars[i];
-				if (progressbar.parentNode === container) {
-					return progressbar;
-				}
-			}
-		}
-	};
-	/**
-	 * 创建并显示进度条 
-	 * @param {Object} container  可选,默认body,支持selector,DOM Node,mui wrapper
-	 * @param {Object} progress 可选,undefined表示循环,数字表示具体进度
-	 * @param {Object} color 可选,指定颜色样式(目前暂未提供实际样式,可暂时不暴露此参数)
-	 */
-	var showProgressbar = function(container, progress, color) {
-		if (typeof container === 'number') {
-			color = progress;
-			progress = container;
-			container = 'body';
-		}
-		container = $(container || 'body');
-		if (container.length === 0) return;
-		container = container[0];
-		var progressbar;
-		if (container.classList.contains(CLASS_PROGRESSBAR)) {
-			progressbar = container;
-		} else {
-			var progressbars = container.querySelectorAll(SELECTOR_PROGRESSBAR + ':not(.' + CLASS_PROGRESSBAR_OUT + ')');
-			if (progressbars) {
-				for (var i = 0, len = progressbars.length; i < len; i++) {
-					var _progressbar = progressbars[i];
-					if (_progressbar.parentNode === container) {
-						progressbar = _progressbar;
-						break;
-					}
-				}
-			}
-			if (!progressbar) {
-				progressbar = document.createElement('span');
-				progressbar.className = CLASS_PROGRESSBAR + ' ' + CLASS_PROGRESSBAR_IN + (typeof progress !== 'undefined' ? '' : (' ' + CLASS_PROGRESSBAR_INFINITE)) + (color ? (' ' + CLASS_PROGRESSBAR + '-' + color) : '');
-				if (typeof progress !== 'undefined') {
-					progressbar.innerHTML = '<span></span>';
-				}
-				container.appendChild(progressbar);
-			} else {
-				progressbar.classList.add(CLASS_PROGRESSBAR_IN);
-			}
-		}
-		if (progress) setProgressbar(container, progress);
-		return progressbar;
-	};
-	/**
-	 * 关闭进度条 
-	 * @param {Object} container 可选,默认body,支持selector,DOM Node,mui wrapper
-	 */
-	var hideProgressbar = function(container) {
-		var progressbar = _findProgressbar(container);
-		if (!progressbar) {
-			return;
-		}
-		var classList = progressbar.classList;
-		if (!classList.contains(CLASS_PROGRESSBAR_IN) || classList.contains(CLASS_PROGRESSBAR_OUT)) {
-			return;
-		}
-		classList.remove(CLASS_PROGRESSBAR_IN);
-		classList.add(CLASS_PROGRESSBAR_OUT);
-		progressbar.addEventListener('webkitAnimationEnd', function() {
-			progressbar.parentNode && progressbar.parentNode.removeChild(progressbar);
-			progressbar = null;
-		});
-		return;
-	};
-	/**
-	 * 设置指定进度条进度 
-	 * @param {Object} container  可选,默认body,支持selector,DOM Node,mui wrapper
-	 * @param {Object} progress 可选,默认0 取值范围[0-100]
-	 * @param {Object} speed 进度条动画时间
-	 */
-	var setProgressbar = function(container, progress, speed) {
-		if (typeof container === 'number') {
-			speed = progress;
-			progress = container;
-			container = false;
-		}
-		var progressbar = _findProgressbar(container);
-		if (!progressbar || progressbar.classList.contains(CLASS_PROGRESSBAR_INFINITE)) {
-			return;
-		}
-		if (progress) progress = Math.min(Math.max(progress, 0), 100);
-		progressbar.offsetHeight;
-		var span = progressbar.querySelector('span');
-		if (span) {
-			var style = span.style;
-			style.webkitTransform = 'translate3d(' + (-100 + progress) + '%,0,0)';
-			if (typeof speed !== 'undefined') {
-				style.webkitTransitionDuration = speed + 'ms';
-			} else {
-				style.webkitTransitionDuration = '';
-			}
-		}
-		return progressbar;
-	};
-	$.fn.progressbar = function(options) {
-		var progressbarApis = [];
-		options = options || {};
-		this.each(function() {
-			var self = this;
-			var progressbarApi = self.mui_plugin_progressbar;
-			if (!progressbarApi) {
-				self.mui_plugin_progressbar = progressbarApi = {
-					options: options,
-					setOptions: function(options) {
-						this.options = options;
-					},
-					show: function() {
-						return showProgressbar(self, this.options.progress, this.options.color);
-					},
-					setProgress: function(progress) {
-						return setProgressbar(self, progress);
-					},
-					hide: function() {
-						return hideProgressbar(self);
-					}
-				};
-			} else if (options) {
-				progressbarApi.setOptions(options);
-			}
-			progressbarApis.push(progressbarApi);
-		});
-		return progressbarApis.length === 1 ? progressbarApis[0] : progressbarApis;
-	};
-	//	$.setProgressbar = setProgressbar;
-	//	$.showProgressbar = showProgressbar;
-	//	$.hideProgressbar = hideProgressbar;
-})(mui, document);
-/**
- * Input(TODO resize)
- * @param {type} $
- * @param {type} window
- * @param {type} document
- * @returns {undefined}
- */
-(function($, window, document) {
-	var CLASS_ICON = 'mui-icon';
-	var CLASS_ICON_CLEAR = 'mui-icon-clear';
-	var CLASS_ICON_SPEECH = 'mui-icon-speech';
-	var CLASS_ICON_SEARCH = 'mui-icon-search';
-	var CLASS_ICON_PASSWORD = 'mui-icon-eye';
-	var CLASS_INPUT_ROW = 'mui-input-row';
-	var CLASS_PLACEHOLDER = 'mui-placeholder';
-	var CLASS_TOOLTIP = 'mui-tooltip';
-	var CLASS_HIDDEN = 'mui-hidden';
-	var CLASS_FOCUSIN = 'mui-focusin';
-	var SELECTOR_ICON_CLOSE = '.' + CLASS_ICON_CLEAR;
-	var SELECTOR_ICON_SPEECH = '.' + CLASS_ICON_SPEECH;
-	var SELECTOR_ICON_PASSWORD = '.' + CLASS_ICON_PASSWORD;
-	var SELECTOR_PLACEHOLDER = '.' + CLASS_PLACEHOLDER;
-	var SELECTOR_TOOLTIP = '.' + CLASS_TOOLTIP;
-
-	var findRow = function(target) {
-		for (; target && target !== document; target = target.parentNode) {
-			if (target.classList && target.classList.contains(CLASS_INPUT_ROW)) {
-				return target;
-			}
-		}
-		return null;
-	};
-	var Input = function(element, options) {
-		this.element = element;
-		this.options = options || {
-			actions: 'clear'
-		};
-		if (~this.options.actions.indexOf('slider')) { //slider
-			this.sliderActionClass = CLASS_TOOLTIP + ' ' + CLASS_HIDDEN;
-			this.sliderActionSelector = SELECTOR_TOOLTIP;
-		} else { //clear,speech,search
-			if (~this.options.actions.indexOf('clear')) {
-				this.clearActionClass = CLASS_ICON + ' ' + CLASS_ICON_CLEAR + ' ' + CLASS_HIDDEN;
-				this.clearActionSelector = SELECTOR_ICON_CLOSE;
-			}
-			if (~this.options.actions.indexOf('speech')) { //only for 5+
-				this.speechActionClass = CLASS_ICON + ' ' + CLASS_ICON_SPEECH;
-				this.speechActionSelector = SELECTOR_ICON_SPEECH;
-			}
-			if (~this.options.actions.indexOf('search')) {
-				this.searchActionClass = CLASS_PLACEHOLDER;
-				this.searchActionSelector = SELECTOR_PLACEHOLDER;
-			}
-			if (~this.options.actions.indexOf('password')) {
-				this.passwordActionClass = CLASS_ICON + ' ' + CLASS_ICON_PASSWORD;
-				this.passwordActionSelector = SELECTOR_ICON_PASSWORD;
-			}
-		}
-		this.init();
-	};
-	Input.prototype.init = function() {
-		this.initAction();
-		this.initElementEvent();
-	};
-	Input.prototype.initAction = function() {
-		var self = this;
-
-		var row = self.element.parentNode;
-		if (row) {
-			if (self.sliderActionClass) {
-				self.sliderAction = self.createAction(row, self.sliderActionClass, self.sliderActionSelector);
-			} else {
-				if (self.searchActionClass) {
-					self.searchAction = self.createAction(row, self.searchActionClass, self.searchActionSelector);
-					self.searchAction.addEventListener('tap', function(e) {
-						$.focus(self.element);
-						e.stopPropagation();
-					});
-				}
-				if (self.speechActionClass) {
-					self.speechAction = self.createAction(row, self.speechActionClass, self.speechActionSelector);
-					self.speechAction.addEventListener('click', $.stopPropagation);
-					self.speechAction.addEventListener('tap', function(event) {
-						self.speechActionClick(event);
-					});
-				}
-				if (self.clearActionClass) {
-					self.clearAction = self.createAction(row, self.clearActionClass, self.clearActionSelector);
-					self.clearAction.addEventListener('tap', function(event) {
-						self.clearActionClick(event);
-					});
-				}
-				if (self.passwordActionClass) {
-					self.passwordAction = self.createAction(row, self.passwordActionClass, self.passwordActionSelector);
-					self.passwordAction.addEventListener('tap', function(event) {
-						self.passwordActionClick(event);
-					});
-				}
-			}
-		}
-	};
-	Input.prototype.createAction = function(row, actionClass, actionSelector) {
-		var action = row.querySelector(actionSelector);
-		if (!action) {
-			var action = document.createElement('span');
-			action.className = actionClass;
-			if (actionClass === this.searchActionClass) {
-				action.innerHTML = '<span class="' + CLASS_ICON + ' ' + CLASS_ICON_SEARCH + '"></span><span>' + this.element.getAttribute('placeholder') + '</span>';
-				this.element.setAttribute('placeholder', '');
-				if (this.element.value.trim()) {
-					row.classList.add('mui-active');
-				}
-			}
-			row.insertBefore(action, this.element.nextSibling);
-		}
-		return action;
-	};
-	Input.prototype.initElementEvent = function() {
-		var element = this.element;
-
-		if (this.sliderActionClass) {
-			var tooltip = this.sliderAction;
-			var timer = null;
-			var showTip = function() { //每次重新计算是因为控件可能被隐藏,初始化时计算是不正确的
-				tooltip.classList.remove(CLASS_HIDDEN);
-				var offsetLeft = element.offsetLeft;
-				var width = element.offsetWidth - 28;
-				var tooltipWidth = tooltip.offsetWidth;
-				var distince = Math.abs(element.max - element.min);
-				var scaleWidth = (width / distince) * Math.abs(element.value - element.min);
-				tooltip.style.left = (14 + offsetLeft + scaleWidth - tooltipWidth / 2) + 'px';
-				tooltip.innerText = element.value;
-				if (timer) {
-					clearTimeout(timer);
-				}
-				timer = setTimeout(function() {
-					tooltip.classList.add(CLASS_HIDDEN);
-				}, 1000);
-			};
-			element.addEventListener('input', showTip);
-			element.addEventListener('tap', showTip);
-			element.addEventListener($.EVENT_MOVE, function(e) {
-				e.stopPropagation();
-			});
-		} else {
-			if (this.clearActionClass) {
-				var action = this.clearAction;
-				if (!action) {
-					return;
-				}
-				$.each(['keyup', 'change', 'input', 'focus', 'cut', 'paste'], function(index, type) {
-					(function(type) {
-						element.addEventListener(type, function() {
-							action.classList[element.value.trim() ? 'remove' : 'add'](CLASS_HIDDEN);
-						});
-					})(type);
-				});
-				element.addEventListener('blur', function() {
-					action.classList.add(CLASS_HIDDEN);
-				});
-			}
-			if (this.searchActionClass) {
-				element.addEventListener('focus', function() {
-					element.parentNode.classList.add('mui-active');
-				});
-				element.addEventListener('blur', function() {
-					if (!element.value.trim()) {
-						element.parentNode.classList.remove('mui-active');
-					}
-				});
-			}
-		}
-	};
-	Input.prototype.setPlaceholder = function(text) {
-		if (this.searchActionClass) {
-			var placeholder = this.element.parentNode.querySelector(SELECTOR_PLACEHOLDER);
-			placeholder && (placeholder.getElementsByTagName('span')[1].innerText = text);
-		} else {
-			this.element.setAttribute('placeholder', text);
-		}
-	};
-	Input.prototype.passwordActionClick = function(event) {
-		if (this.element.type === 'text') {
-			this.element.type = 'password';
-		} else {
-			this.element.type = 'text';
-		}
-		this.passwordAction.classList.toggle('mui-active');
-		event.preventDefault();
-	};
-	Input.prototype.clearActionClick = function(event) {
-		var self = this;
-		self.element.value = '';
-		$.focus(self.element);
-		self.clearAction.classList.add(CLASS_HIDDEN);
-		event.preventDefault();
-	};
-	Input.prototype.speechActionClick = function(event) {
-		if (window.plus) {
-			var self = this;
-			var oldValue = self.element.value;
-			self.element.value = '';
-			document.body.classList.add(CLASS_FOCUSIN);
-			plus.speech.startRecognize({
-				engine: 'iFly'
-			}, function(s) {
-				self.element.value += s;
-				$.focus(self.element);
-				plus.speech.stopRecognize();
-				$.trigger(self.element, 'recognized', {
-					value: self.element.value
-				});
-				if (oldValue !== self.element.value) {
-					$.trigger(self.element, 'change');
-					$.trigger(self.element, 'input');
-				}
-				// document.body.classList.remove(CLASS_FOCUSIN);
-			}, function(e) {
-				document.body.classList.remove(CLASS_FOCUSIN);
-			});
-		} else {
-			alert('only for 5+');
-		}
-		event.preventDefault();
-	};
-	$.fn.input = function(options) {
-		var inputApis = [];
-		this.each(function() {
-			var inputApi = null;
-			var actions = [];
-			var row = findRow(this.parentNode);
-			if (this.type === 'range' && row.classList.contains('mui-input-range')) {
-				actions.push('slider');
-			} else {
-				var classList = this.classList;
-				if (classList.contains('mui-input-clear')) {
-					actions.push('clear');
-				}
-				if (!($.os.android && $.os.stream) && classList.contains('mui-input-speech')) {
-					actions.push('speech');
-				}
-				if (classList.contains('mui-input-password')) {
-					actions.push('password');
-				}
-				if (this.type === 'search' && row.classList.contains('mui-search')) {
-					actions.push('search');
-				}
-			}
-			var id = this.getAttribute('data-input-' + actions[0]);
-			if (!id) {
-				id = ++$.uuid;
-				inputApi = $.data[id] = new Input(this, {
-					actions: actions.join(',')
-				});
-				for (var i = 0, len = actions.length; i < len; i++) {
-					this.setAttribute('data-input-' + actions[i], id);
-				}
-			} else {
-				inputApi = $.data[id];
-			}
-			inputApis.push(inputApi);
-		});
-		return inputApis.length === 1 ? inputApis[0] : inputApis;
-	};
-	$.ready(function() {
-		$('.mui-input-row input').input();
-	});
-})(mui, window, document);
-(function($, window) {
-    var CLASS_ACTIVE = 'mui-active';
-    var rgbaRegex = /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*(?:\.\d+)?)\)$/;
-    var getColor = function(colorStr) {
-        var matches = colorStr.match(rgbaRegex);
-        if (matches && matches.length === 5) {
-            return [
-                matches[1],
-                matches[2],
-                matches[3],
-                matches[4]
-            ];
-        }
-        return [];
-    };
-    var Transparent = function(element, options) {
-        this.element = element;
-        this.options = $.extend({
-            top: 0, //距离顶部高度(到达该高度即触发)
-            offset: 150, //滚动透明距离
-            duration: 16, //过渡时间
-            scrollby: window//监听滚动距离容器
-        }, options || {});
-
-        this.scrollByElem = this.options.scrollby || window;
-        if (!this.scrollByElem) {
-            throw new Error("监听滚动的元素不存在");
-        }
-        this.isNativeScroll = false;
-        if (this.scrollByElem === window) {
-            this.isNativeScroll = true;
-        } else if (!~this.scrollByElem.className.indexOf('mui-scroll-wrapper')) {
-            this.isNativeScroll = true;
-        }
-
-        this._style = this.element.style;
-        this._bgColor = this._style.backgroundColor;
-        var color = getColor(mui.getStyles(this.element, 'backgroundColor'));
-        if (color.length) {
-            this._R = color[0];
-            this._G = color[1];
-            this._B = color[2];
-            this._A = parseFloat(color[3]);
-            this.lastOpacity = this._A;
-            this._bufferFn = $.buffer(this.handleScroll, this.options.duration, this);
-            this.initEvent();
-        } else {
-            throw new Error("元素背景颜色必须为RGBA");
-        }
-    };
-
-    Transparent.prototype.initEvent = function() {
-        this.scrollByElem.addEventListener('scroll', this._bufferFn);
-        if (this.isNativeScroll) { //原生scroll
-            this.scrollByElem.addEventListener($.EVENT_MOVE, this._bufferFn);
-        }
-    }
-    Transparent.prototype.handleScroll = function(e) {
-        var y = window.scrollY;
-        if (!this.isNativeScroll && e && e.detail) {
-            y = -e.detail.y;
-        }
-        var opacity = (y - this.options.top) / this.options.offset + this._A;
-        opacity = Math.min(Math.max(this._A, opacity), 1);
-        this._style.backgroundColor = 'rgba(' + this._R + ',' + this._G + ',' + this._B + ',' + opacity + ')';
-        if (opacity > this._A) {
-            this.element.classList.add(CLASS_ACTIVE);
-        } else {
-            this.element.classList.remove(CLASS_ACTIVE);
-        }
-        if (this.lastOpacity !== opacity) {
-            $.trigger(this.element, 'alpha', {
-                alpha: opacity
-            });
-            this.lastOpacity = opacity;
-        }
-    };
-    Transparent.prototype.destory = function() {
-        this.scrollByElem.removeEventListener('scroll', this._bufferFn);
-        this.scrollByElem.removeEventListener($.EVENT_MOVE, this._bufferFn);
-        this.element.style.backgroundColor = this._bgColor;
-        this.element.mui_plugin_transparent = null;
-    };
-    $.fn.transparent = function(options) {
-        options = options || {};
-        var transparentApis = [];
-        this.each(function() {
-            var transparentApi = this.mui_plugin_transparent;
-            if (!transparentApi) {
-                var top = this.getAttribute('data-top');
-                var offset = this.getAttribute('data-offset');
-                var duration = this.getAttribute('data-duration');
-                var scrollby = this.getAttribute('data-scrollby');
-                if (top !== null && typeof options.top === 'undefined') {
-                    options.top = top;
-                }
-                if (offset !== null && typeof options.offset === 'undefined') {
-                    options.offset = offset;
-                }
-                if (duration !== null && typeof options.duration === 'undefined') {
-                    options.duration = duration;
-                }
-                if (scrollby !== null && typeof options.scrollby === 'undefined') {
-                    options.scrollby = document.querySelector(scrollby) || window;
-                }
-                transparentApi = this.mui_plugin_transparent = new Transparent(this, options);
-            }
-            transparentApis.push(transparentApi);
-        });
-        return transparentApis.length === 1 ? transparentApis[0] : transparentApis;
-    };
-    $.ready(function() {
-        $('.mui-bar-transparent').transparent();
-    });
-})(mui, window);
-/**
- * 数字输入框
- * varstion 1.0.1
- * by Houfeng
- * Houfeng@DCloud.io
- */
-
-(function($) {
-
-    var touchSupport = ('ontouchstart' in document);
-    var tapEventName = touchSupport ? 'tap' : 'click';
-    var changeEventName = 'change';
-    var holderClassName = 'mui-numbox';
-    var plusClassSelector = '.mui-btn-numbox-plus,.mui-numbox-btn-plus';
-    var minusClassSelector = '.mui-btn-numbox-minus,.mui-numbox-btn-minus';
-    var inputClassSelector = '.mui-input-numbox,.mui-numbox-input';
-
-    var Numbox = $.Numbox = $.Class.extend({
-        /**
-         * 构造函数
-         **/
-        init: function(holder, options) {
-            var self = this;
-            if (!holder) {
-                throw "构造 numbox 时缺少容器元素";
-            }
-            self.holder = holder;
-            options = options || {};
-            options.step = parseInt(options.step || 1);
-            self.options = options;
-            self.input = $.qsa(inputClassSelector, self.holder)[0];
-            self.plus = $.qsa(plusClassSelector, self.holder)[0];
-            self.minus = $.qsa(minusClassSelector, self.holder)[0];
-            self.checkValue();
-            self.initEvent();
-        },
-        /**
-         * 初始化事件绑定
-         **/
-        initEvent: function() {
-            var self = this;
-            self.plus.addEventListener(tapEventName, function(event) {
-                var val = parseInt(self.input.value) + self.options.step;
-                self.input.value = val.toString();
-                $.trigger(self.input, changeEventName, null);
-            });
-            self.minus.addEventListener(tapEventName, function(event) {
-                var val = parseInt(self.input.value) - self.options.step;
-                self.input.value = val.toString();
-                $.trigger(self.input, changeEventName, null);
-            });
-            self.input.addEventListener(changeEventName, function(event) {
-                self.checkValue();
-                var val = parseInt(self.input.value);
-                //触发顶层容器
-                $.trigger(self.holder, changeEventName, {
-                    value: val
-                });
-            });
-        },
-        /**
-         * 获取当前值
-         **/
-        getValue: function() {
-            var self = this;
-            return parseInt(self.input.value);
-        },
-        /**
-         * 验证当前值是法合法
-         **/
-        checkValue: function() {
-            var self = this;
-            var val = self.input.value;
-            if (val == null || val == '' || isNaN(val)) {
-                self.input.value = self.options.min || 0;
-                self.minus.disabled = self.options.min != null;
-            } else {
-                var val = parseInt(val);
-                if (self.options.max != null && !isNaN(self.options.max) && val >= parseInt(self.options.max)) {
-                    val = self.options.max;
-                    self.plus.disabled = true;
-                } else {
-                    self.plus.disabled = false;
-                }
-                if (self.options.min != null && !isNaN(self.options.min) && val <= parseInt(self.options.min)) {
-                    val = self.options.min;
-                    self.minus.disabled = true;
-                } else {
-                    self.minus.disabled = false;
-                }
-                self.input.value = val;
-            }
-        },
-        /**
-         * 更新选项
-         **/
-        setOption: function(name, value) {
-            var self = this;
-            self.options[name] = value;
-        },
-        /**
-         * 动态设置新值
-         **/
-        setValue: function(value) {
-            this.input.value = value;
-            this.checkValue();
-        }
-    });
-
-    $.fn.numbox = function(options) {
-        var instanceArray = [];
-        //遍历选择的元素
-        this.each(function(i, element) {
-            if (element.numbox) {
-                return;
-            }
-            if (options) {
-                element.numbox = new Numbox(element, options);
-            } else {
-                var optionsText = element.getAttribute('data-numbox-options');
-                var options = optionsText ? JSON.parse(optionsText) : {};
-                options.step = element.getAttribute('data-numbox-step') || options.step;
-                options.min = element.getAttribute('data-numbox-min') || options.min;
-                options.max = element.getAttribute('data-numbox-max') || options.max;
-                element.numbox = new Numbox(element, options);
-            }
-        });
-        return this[0] ? this[0].numbox : null;
-    }
-
-    //自动处理 class='mui-locker' 的 dom
-    $.ready(function() {
-        $('.' + holderClassName).numbox();
-    });
-
-}(mui));
-/**
- * Button
- * @param {type} $
- * @param {type} window
- * @param {type} document
- * @returns {undefined}
- */
-(function($, window, document) {
-    var CLASS_ICON = 'mui-icon';
-    var CLASS_DISABLED = 'mui-disabled';
-
-    var STATE_RESET = 'reset';
-    var STATE_LOADING = 'loading';
-
-    var defaultOptions = {
-        loadingText: 'Loading...', //文案
-        loadingIcon: 'mui-spinner' + ' ' + 'mui-spinner-white', //图标,可为空
-        loadingIconPosition: 'left' //图标所处位置,仅支持left|right
-    };
-
-    var Button = function(element, options) {
-        this.element = element;
-        this.options = $.extend({}, defaultOptions, options);
-        if (!this.options.loadingText) {
-            this.options.loadingText = defaultOptions.loadingText;
-        }
-        if (this.options.loadingIcon === null) {
-            this.options.loadingIcon = 'mui-spinner';
-            if ($.getStyles(this.element, 'color') === 'rgb(255, 255, 255)') {
-                this.options.loadingIcon += ' ' + 'mui-spinner-white';
-            }
-        }
-        this.isInput = this.element.tagName === 'INPUT';
-        this.resetHTML = this.isInput ? this.element.value : this.element.innerHTML;
-        this.state = '';
-    };
-    Button.prototype.loading = function() {
-        this.setState(STATE_LOADING);
-    };
-    Button.prototype.reset = function() {
-        this.setState(STATE_RESET);
-    };
-    Button.prototype.setState = function(state) {
-        if (this.state === state) {
-            return false;
-        }
-        this.state = state;
-        if (state === STATE_RESET) {
-            this.element.disabled = false;
-            this.element.classList.remove(CLASS_DISABLED);
-            this.setHtml(this.resetHTML);
-        } else if (state === STATE_LOADING) {
-            this.element.disabled = true;
-            this.element.classList.add(CLASS_DISABLED);
-            var html = this.isInput ? this.options.loadingText : ('<span>' + this.options.loadingText + '</span>');
-            if (this.options.loadingIcon && !this.isInput) {
-                if (this.options.loadingIconPosition === 'right') {
-                    html += '&nbsp;<span class="' + this.options.loadingIcon + '"></span>';
-                } else {
-                    html = '<span class="' + this.options.loadingIcon + '"></span>&nbsp;' + html;
-                }
-            }
-            this.setHtml(html);
-        }
-    };
-    Button.prototype.setHtml = function(html) {
-        if (this.isInput) {
-            this.element.value = html;
-        } else {
-            this.element.innerHTML = html;
-        }
-    }
-    $.fn.button = function(state) {
-        var buttonApis = [];
-        this.each(function() {
-            var buttonApi = this.mui_plugin_button;
-            if (!buttonApi) {
-                var loadingText = this.getAttribute('data-loading-text');
-                var loadingIcon = this.getAttribute('data-loading-icon');
-                var loadingIconPosition = this.getAttribute('data-loading-icon-position');
-                this.mui_plugin_button = buttonApi = new Button(this, {
-                    loadingText: loadingText,
-                    loadingIcon: loadingIcon,
-                    loadingIconPosition: loadingIconPosition
-                });
-            }
-            if (state === STATE_LOADING || state === STATE_RESET) {
-                buttonApi.setState(state);
-            }
-            buttonApis.push(buttonApi);
-        });
-        return buttonApis.length === 1 ? buttonApis[0] : buttonApis;
-    };
-})(mui, window, document);

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/hybrid/html/xuanfu/js/mui.min.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/manifest.json


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/background/indextopB.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/background/lunbo1.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/10@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/11111.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/234@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/2@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/324@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/3@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/4@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/534@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/5@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/6@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/7@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/8@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/9@3x.png


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/abc.jpg


BIN
msdYongHu/unpackage/cache/wgt/__UNI__F607D49/static/defimages/ccc.png


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels