8951 lines
		
	
	
		
			238 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			8951 lines
		
	
	
		
			238 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import { reactive as Ie, getCurrentInstance as Re, provide as dt, inject as kt, onUnmounted as l0, computed as N, ref as z, onDeactivated as qe, isRef as O1, watch as X, onMounted as je, nextTick as ue, onActivated as ft, unref as _t, isVNode as E1, defineComponent as Z, createVNode as v, onBeforeUnmount as Pt, watchEffect as nn, mergeProps as de, Transition as c0, Teleport as u0, withDirectives as We, vShow as Ge, Fragment as an, onBeforeUpdate as k1, Comment as P1, createTextVNode as I1 } from "vue";
 | 
						|
var s0 = typeof global == "object" && global && global.Object === Object && global, V1 = typeof self == "object" && self && self.Object === Object && self, pe = s0 || V1 || Function("return this")(), Ke = pe.Symbol, d0 = Object.prototype, p1 = d0.hasOwnProperty, B1 = d0.toString, tt = Ke ? Ke.toStringTag : void 0;
 | 
						|
function D1(e) {
 | 
						|
  var t = p1.call(e, tt), n = e[tt];
 | 
						|
  try {
 | 
						|
    e[tt] = void 0;
 | 
						|
    var a = !0;
 | 
						|
  } catch {
 | 
						|
  }
 | 
						|
  var r = B1.call(e);
 | 
						|
  return a && (t ? e[tt] = n : delete e[tt]), r;
 | 
						|
}
 | 
						|
var M1 = Object.prototype, A1 = M1.toString;
 | 
						|
function R1(e) {
 | 
						|
  return A1.call(e);
 | 
						|
}
 | 
						|
var j1 = "[object Null]", N1 = "[object Undefined]", Cn = Ke ? Ke.toStringTag : void 0;
 | 
						|
function Be(e) {
 | 
						|
  return e == null ? e === void 0 ? N1 : j1 : Cn && Cn in Object(e) ? D1(e) : R1(e);
 | 
						|
}
 | 
						|
function Ze(e) {
 | 
						|
  return e != null && typeof e == "object";
 | 
						|
}
 | 
						|
var z1 = "[object Symbol]";
 | 
						|
function on(e) {
 | 
						|
  return typeof e == "symbol" || Ze(e) && Be(e) == z1;
 | 
						|
}
 | 
						|
function F1(e, t) {
 | 
						|
  for (var n = -1, a = e == null ? 0 : e.length, r = Array(a); ++n < a; )
 | 
						|
    r[n] = t(e[n], n, e);
 | 
						|
  return r;
 | 
						|
}
 | 
						|
var De = Array.isArray, $n = Ke ? Ke.prototype : void 0, xn = $n ? $n.toString : void 0;
 | 
						|
function f0(e) {
 | 
						|
  if (typeof e == "string")
 | 
						|
    return e;
 | 
						|
  if (De(e))
 | 
						|
    return F1(e, f0) + "";
 | 
						|
  if (on(e))
 | 
						|
    return xn ? xn.call(e) : "";
 | 
						|
  var t = e + "";
 | 
						|
  return t == "0" && 1 / e == -1 / 0 ? "-0" : t;
 | 
						|
}
 | 
						|
function h0(e) {
 | 
						|
  var t = typeof e;
 | 
						|
  return e != null && (t == "object" || t == "function");
 | 
						|
}
 | 
						|
function L1(e) {
 | 
						|
  return e;
 | 
						|
}
 | 
						|
var H1 = "[object AsyncFunction]", Y1 = "[object Function]", W1 = "[object GeneratorFunction]", G1 = "[object Proxy]";
 | 
						|
function m0(e) {
 | 
						|
  if (!h0(e))
 | 
						|
    return !1;
 | 
						|
  var t = Be(e);
 | 
						|
  return t == Y1 || t == W1 || t == H1 || t == G1;
 | 
						|
}
 | 
						|
var jt = pe["__core-js_shared__"], _n = function() {
 | 
						|
  var e = /[^.]+$/.exec(jt && jt.keys && jt.keys.IE_PROTO || "");
 | 
						|
  return e ? "Symbol(src)_1." + e : "";
 | 
						|
}();
 | 
						|
function U1(e) {
 | 
						|
  return !!_n && _n in e;
 | 
						|
}
 | 
						|
var K1 = Function.prototype, X1 = K1.toString;
 | 
						|
function Ne(e) {
 | 
						|
  if (e != null) {
 | 
						|
    try {
 | 
						|
      return X1.call(e);
 | 
						|
    } catch {
 | 
						|
    }
 | 
						|
    try {
 | 
						|
      return e + "";
 | 
						|
    } catch {
 | 
						|
    }
 | 
						|
  }
 | 
						|
  return "";
 | 
						|
}
 | 
						|
var q1 = /[\\^$.*+?()[\]{}|]/g, Z1 = /^\[object .+?Constructor\]$/, J1 = Function.prototype, Q1 = Object.prototype, ea = J1.toString, ta = Q1.hasOwnProperty, na = RegExp(
 | 
						|
  "^" + ea.call(ta).replace(q1, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
 | 
						|
);
 | 
						|
function aa(e) {
 | 
						|
  if (!h0(e) || U1(e))
 | 
						|
    return !1;
 | 
						|
  var t = m0(e) ? na : Z1;
 | 
						|
  return t.test(Ne(e));
 | 
						|
}
 | 
						|
function oa(e, t) {
 | 
						|
  return e == null ? void 0 : e[t];
 | 
						|
}
 | 
						|
function Je(e, t) {
 | 
						|
  var n = oa(e, t);
 | 
						|
  return aa(n) ? n : void 0;
 | 
						|
}
 | 
						|
var Ut = Je(pe, "WeakMap");
 | 
						|
function ra(e, t) {
 | 
						|
  for (var n = -1, a = e == null ? 0 : e.length; ++n < a && t(e[n], n, e) !== !1; )
 | 
						|
    ;
 | 
						|
  return e;
 | 
						|
}
 | 
						|
var ia = 9007199254740991, la = /^(?:0|[1-9]\d*)$/;
 | 
						|
function v0(e, t) {
 | 
						|
  var n = typeof e;
 | 
						|
  return t = t ?? ia, !!t && (n == "number" || n != "symbol" && la.test(e)) && e > -1 && e % 1 == 0 && e < t;
 | 
						|
}
 | 
						|
function ca(e, t) {
 | 
						|
  return e === t || e !== e && t !== t;
 | 
						|
}
 | 
						|
var ua = 9007199254740991;
 | 
						|
function rn(e) {
 | 
						|
  return typeof e == "number" && e > -1 && e % 1 == 0 && e <= ua;
 | 
						|
}
 | 
						|
function ln(e) {
 | 
						|
  return e != null && rn(e.length) && !m0(e);
 | 
						|
}
 | 
						|
var sa = Object.prototype;
 | 
						|
function g0(e) {
 | 
						|
  var t = e && e.constructor, n = typeof t == "function" && t.prototype || sa;
 | 
						|
  return e === n;
 | 
						|
}
 | 
						|
function da(e, t) {
 | 
						|
  for (var n = -1, a = Array(e); ++n < e; )
 | 
						|
    a[n] = t(n);
 | 
						|
  return a;
 | 
						|
}
 | 
						|
var fa = "[object Arguments]";
 | 
						|
function On(e) {
 | 
						|
  return Ze(e) && Be(e) == fa;
 | 
						|
}
 | 
						|
var b0 = Object.prototype, ha = b0.hasOwnProperty, ma = b0.propertyIsEnumerable, cn = On(/* @__PURE__ */ function() {
 | 
						|
  return arguments;
 | 
						|
}()) ? On : function(e) {
 | 
						|
  return Ze(e) && ha.call(e, "callee") && !ma.call(e, "callee");
 | 
						|
};
 | 
						|
function va() {
 | 
						|
  return !1;
 | 
						|
}
 | 
						|
var y0 = typeof exports == "object" && exports && !exports.nodeType && exports, En = y0 && typeof module == "object" && module && !module.nodeType && module, ga = En && En.exports === y0, kn = ga ? pe.Buffer : void 0, ba = kn ? kn.isBuffer : void 0, S0 = ba || va, ya = "[object Arguments]", Sa = "[object Array]", wa = "[object Boolean]", Ta = "[object Date]", Ca = "[object Error]", $a = "[object Function]", xa = "[object Map]", _a = "[object Number]", Oa = "[object Object]", Ea = "[object RegExp]", ka = "[object Set]", Pa = "[object String]", Ia = "[object WeakMap]", Va = "[object ArrayBuffer]", pa = "[object DataView]", Ba = "[object Float32Array]", Da = "[object Float64Array]", Ma = "[object Int8Array]", Aa = "[object Int16Array]", Ra = "[object Int32Array]", ja = "[object Uint8Array]", Na = "[object Uint8ClampedArray]", za = "[object Uint16Array]", Fa = "[object Uint32Array]", oe = {};
 | 
						|
oe[Ba] = oe[Da] = oe[Ma] = oe[Aa] = oe[Ra] = oe[ja] = oe[Na] = oe[za] = oe[Fa] = !0;
 | 
						|
oe[ya] = oe[Sa] = oe[Va] = oe[wa] = oe[pa] = oe[Ta] = oe[Ca] = oe[$a] = oe[xa] = oe[_a] = oe[Oa] = oe[Ea] = oe[ka] = oe[Pa] = oe[Ia] = !1;
 | 
						|
function La(e) {
 | 
						|
  return Ze(e) && rn(e.length) && !!oe[Be(e)];
 | 
						|
}
 | 
						|
function Ha(e) {
 | 
						|
  return function(t) {
 | 
						|
    return e(t);
 | 
						|
  };
 | 
						|
}
 | 
						|
var w0 = typeof exports == "object" && exports && !exports.nodeType && exports, rt = w0 && typeof module == "object" && module && !module.nodeType && module, Ya = rt && rt.exports === w0, Nt = Ya && s0.process, Pn = function() {
 | 
						|
  try {
 | 
						|
    var e = rt && rt.require && rt.require("util").types;
 | 
						|
    return e || Nt && Nt.binding && Nt.binding("util");
 | 
						|
  } catch {
 | 
						|
  }
 | 
						|
}(), In = Pn && Pn.isTypedArray, T0 = In ? Ha(In) : La, Wa = Object.prototype, Ga = Wa.hasOwnProperty;
 | 
						|
function Ua(e, t) {
 | 
						|
  var n = De(e), a = !n && cn(e), r = !n && !a && S0(e), o = !n && !a && !r && T0(e), i = n || a || r || o, u = i ? da(e.length, String) : [], s = u.length;
 | 
						|
  for (var c in e)
 | 
						|
    Ga.call(e, c) && !(i && // Safari 9 has enumerable `arguments.length` in strict mode.
 | 
						|
    (c == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
 | 
						|
    r && (c == "offset" || c == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
 | 
						|
    o && (c == "buffer" || c == "byteLength" || c == "byteOffset") || // Skip index properties.
 | 
						|
    v0(c, s))) && u.push(c);
 | 
						|
  return u;
 | 
						|
}
 | 
						|
function Ka(e, t) {
 | 
						|
  return function(n) {
 | 
						|
    return e(t(n));
 | 
						|
  };
 | 
						|
}
 | 
						|
var Xa = Ka(Object.keys, Object), qa = Object.prototype, Za = qa.hasOwnProperty;
 | 
						|
function C0(e) {
 | 
						|
  if (!g0(e))
 | 
						|
    return Xa(e);
 | 
						|
  var t = [];
 | 
						|
  for (var n in Object(e))
 | 
						|
    Za.call(e, n) && n != "constructor" && t.push(n);
 | 
						|
  return t;
 | 
						|
}
 | 
						|
function Ja(e) {
 | 
						|
  return ln(e) ? Ua(e) : C0(e);
 | 
						|
}
 | 
						|
var Qa = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, e2 = /^\w*$/;
 | 
						|
function t2(e, t) {
 | 
						|
  if (De(e))
 | 
						|
    return !1;
 | 
						|
  var n = typeof e;
 | 
						|
  return n == "number" || n == "symbol" || n == "boolean" || e == null || on(e) ? !0 : e2.test(e) || !Qa.test(e) || t != null && e in Object(t);
 | 
						|
}
 | 
						|
var lt = Je(Object, "create");
 | 
						|
function n2() {
 | 
						|
  this.__data__ = lt ? lt(null) : {}, this.size = 0;
 | 
						|
}
 | 
						|
function a2(e) {
 | 
						|
  var t = this.has(e) && delete this.__data__[e];
 | 
						|
  return this.size -= t ? 1 : 0, t;
 | 
						|
}
 | 
						|
var o2 = "__lodash_hash_undefined__", r2 = Object.prototype, i2 = r2.hasOwnProperty;
 | 
						|
function l2(e) {
 | 
						|
  var t = this.__data__;
 | 
						|
  if (lt) {
 | 
						|
    var n = t[e];
 | 
						|
    return n === o2 ? void 0 : n;
 | 
						|
  }
 | 
						|
  return i2.call(t, e) ? t[e] : void 0;
 | 
						|
}
 | 
						|
var c2 = Object.prototype, u2 = c2.hasOwnProperty;
 | 
						|
function s2(e) {
 | 
						|
  var t = this.__data__;
 | 
						|
  return lt ? t[e] !== void 0 : u2.call(t, e);
 | 
						|
}
 | 
						|
var d2 = "__lodash_hash_undefined__";
 | 
						|
function f2(e, t) {
 | 
						|
  var n = this.__data__;
 | 
						|
  return this.size += this.has(e) ? 0 : 1, n[e] = lt && t === void 0 ? d2 : t, this;
 | 
						|
}
 | 
						|
function Ae(e) {
 | 
						|
  var t = -1, n = e == null ? 0 : e.length;
 | 
						|
  for (this.clear(); ++t < n; ) {
 | 
						|
    var a = e[t];
 | 
						|
    this.set(a[0], a[1]);
 | 
						|
  }
 | 
						|
}
 | 
						|
Ae.prototype.clear = n2;
 | 
						|
Ae.prototype.delete = a2;
 | 
						|
Ae.prototype.get = l2;
 | 
						|
Ae.prototype.has = s2;
 | 
						|
Ae.prototype.set = f2;
 | 
						|
function h2() {
 | 
						|
  this.__data__ = [], this.size = 0;
 | 
						|
}
 | 
						|
function It(e, t) {
 | 
						|
  for (var n = e.length; n--; )
 | 
						|
    if (ca(e[n][0], t))
 | 
						|
      return n;
 | 
						|
  return -1;
 | 
						|
}
 | 
						|
var m2 = Array.prototype, v2 = m2.splice;
 | 
						|
function g2(e) {
 | 
						|
  var t = this.__data__, n = It(t, e);
 | 
						|
  if (n < 0)
 | 
						|
    return !1;
 | 
						|
  var a = t.length - 1;
 | 
						|
  return n == a ? t.pop() : v2.call(t, n, 1), --this.size, !0;
 | 
						|
}
 | 
						|
function b2(e) {
 | 
						|
  var t = this.__data__, n = It(t, e);
 | 
						|
  return n < 0 ? void 0 : t[n][1];
 | 
						|
}
 | 
						|
function y2(e) {
 | 
						|
  return It(this.__data__, e) > -1;
 | 
						|
}
 | 
						|
function S2(e, t) {
 | 
						|
  var n = this.__data__, a = It(n, e);
 | 
						|
  return a < 0 ? (++this.size, n.push([e, t])) : n[a][1] = t, this;
 | 
						|
}
 | 
						|
function Qe(e) {
 | 
						|
  var t = -1, n = e == null ? 0 : e.length;
 | 
						|
  for (this.clear(); ++t < n; ) {
 | 
						|
    var a = e[t];
 | 
						|
    this.set(a[0], a[1]);
 | 
						|
  }
 | 
						|
}
 | 
						|
Qe.prototype.clear = h2;
 | 
						|
Qe.prototype.delete = g2;
 | 
						|
Qe.prototype.get = b2;
 | 
						|
Qe.prototype.has = y2;
 | 
						|
Qe.prototype.set = S2;
 | 
						|
var Ot = Je(pe, "Map");
 | 
						|
function w2() {
 | 
						|
  this.size = 0, this.__data__ = {
 | 
						|
    hash: new Ae(),
 | 
						|
    map: new (Ot || Qe)(),
 | 
						|
    string: new Ae()
 | 
						|
  };
 | 
						|
}
 | 
						|
function T2(e) {
 | 
						|
  var t = typeof e;
 | 
						|
  return t == "string" || t == "number" || t == "symbol" || t == "boolean" ? e !== "__proto__" : e === null;
 | 
						|
}
 | 
						|
function Vt(e, t) {
 | 
						|
  var n = e.__data__;
 | 
						|
  return T2(t) ? n[typeof t == "string" ? "string" : "hash"] : n.map;
 | 
						|
}
 | 
						|
function C2(e) {
 | 
						|
  var t = Vt(this, e).delete(e);
 | 
						|
  return this.size -= t ? 1 : 0, t;
 | 
						|
}
 | 
						|
function $2(e) {
 | 
						|
  return Vt(this, e).get(e);
 | 
						|
}
 | 
						|
function x2(e) {
 | 
						|
  return Vt(this, e).has(e);
 | 
						|
}
 | 
						|
function _2(e, t) {
 | 
						|
  var n = Vt(this, e), a = n.size;
 | 
						|
  return n.set(e, t), this.size += n.size == a ? 0 : 1, this;
 | 
						|
}
 | 
						|
function ze(e) {
 | 
						|
  var t = -1, n = e == null ? 0 : e.length;
 | 
						|
  for (this.clear(); ++t < n; ) {
 | 
						|
    var a = e[t];
 | 
						|
    this.set(a[0], a[1]);
 | 
						|
  }
 | 
						|
}
 | 
						|
ze.prototype.clear = w2;
 | 
						|
ze.prototype.delete = C2;
 | 
						|
ze.prototype.get = $2;
 | 
						|
ze.prototype.has = x2;
 | 
						|
ze.prototype.set = _2;
 | 
						|
var O2 = "Expected a function";
 | 
						|
function un(e, t) {
 | 
						|
  if (typeof e != "function" || t != null && typeof t != "function")
 | 
						|
    throw new TypeError(O2);
 | 
						|
  var n = function() {
 | 
						|
    var a = arguments, r = t ? t.apply(this, a) : a[0], o = n.cache;
 | 
						|
    if (o.has(r))
 | 
						|
      return o.get(r);
 | 
						|
    var i = e.apply(this, a);
 | 
						|
    return n.cache = o.set(r, i) || o, i;
 | 
						|
  };
 | 
						|
  return n.cache = new (un.Cache || ze)(), n;
 | 
						|
}
 | 
						|
un.Cache = ze;
 | 
						|
var E2 = 500;
 | 
						|
function k2(e) {
 | 
						|
  var t = un(e, function(a) {
 | 
						|
    return n.size === E2 && n.clear(), a;
 | 
						|
  }), n = t.cache;
 | 
						|
  return t;
 | 
						|
}
 | 
						|
var P2 = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, I2 = /\\(\\)?/g, V2 = k2(function(e) {
 | 
						|
  var t = [];
 | 
						|
  return e.charCodeAt(0) === 46 && t.push(""), e.replace(P2, function(n, a, r, o) {
 | 
						|
    t.push(r ? o.replace(I2, "$1") : a || n);
 | 
						|
  }), t;
 | 
						|
});
 | 
						|
function p2(e) {
 | 
						|
  return e == null ? "" : f0(e);
 | 
						|
}
 | 
						|
function B2(e, t) {
 | 
						|
  return De(e) ? e : t2(e, t) ? [e] : V2(p2(e));
 | 
						|
}
 | 
						|
function D2(e) {
 | 
						|
  if (typeof e == "string" || on(e))
 | 
						|
    return e;
 | 
						|
  var t = e + "";
 | 
						|
  return t == "0" && 1 / e == -1 / 0 ? "-0" : t;
 | 
						|
}
 | 
						|
var Kt = Je(pe, "DataView"), Xt = Je(pe, "Promise"), qt = Je(pe, "Set"), Vn = "[object Map]", M2 = "[object Object]", pn = "[object Promise]", Bn = "[object Set]", Dn = "[object WeakMap]", Mn = "[object DataView]", A2 = Ne(Kt), R2 = Ne(Ot), j2 = Ne(Xt), N2 = Ne(qt), z2 = Ne(Ut), Me = Be;
 | 
						|
(Kt && Me(new Kt(new ArrayBuffer(1))) != Mn || Ot && Me(new Ot()) != Vn || Xt && Me(Xt.resolve()) != pn || qt && Me(new qt()) != Bn || Ut && Me(new Ut()) != Dn) && (Me = function(e) {
 | 
						|
  var t = Be(e), n = t == M2 ? e.constructor : void 0, a = n ? Ne(n) : "";
 | 
						|
  if (a)
 | 
						|
    switch (a) {
 | 
						|
      case A2:
 | 
						|
        return Mn;
 | 
						|
      case R2:
 | 
						|
        return Vn;
 | 
						|
      case j2:
 | 
						|
        return pn;
 | 
						|
      case N2:
 | 
						|
        return Bn;
 | 
						|
      case z2:
 | 
						|
        return Dn;
 | 
						|
    }
 | 
						|
  return t;
 | 
						|
});
 | 
						|
function F2(e, t, n) {
 | 
						|
  t = B2(t, e);
 | 
						|
  for (var a = -1, r = t.length, o = !1; ++a < r; ) {
 | 
						|
    var i = D2(t[a]);
 | 
						|
    if (!(o = e != null && n(e, i)))
 | 
						|
      break;
 | 
						|
    e = e[i];
 | 
						|
  }
 | 
						|
  return o || ++a != r ? o : (r = e == null ? 0 : e.length, !!r && rn(r) && v0(i, r) && (De(e) || cn(e)));
 | 
						|
}
 | 
						|
function L2(e) {
 | 
						|
  return function(t, n, a) {
 | 
						|
    for (var r = -1, o = Object(t), i = a(t), u = i.length; u--; ) {
 | 
						|
      var s = i[++r];
 | 
						|
      if (n(o[s], s, o) === !1)
 | 
						|
        break;
 | 
						|
    }
 | 
						|
    return t;
 | 
						|
  };
 | 
						|
}
 | 
						|
var H2 = L2();
 | 
						|
function Y2(e, t) {
 | 
						|
  return e && H2(e, t, Ja);
 | 
						|
}
 | 
						|
function W2(e, t) {
 | 
						|
  return function(n, a) {
 | 
						|
    if (n == null)
 | 
						|
      return n;
 | 
						|
    if (!ln(n))
 | 
						|
      return e(n, a);
 | 
						|
    for (var r = n.length, o = -1, i = Object(n); ++o < r && a(i[o], o, i) !== !1; )
 | 
						|
      ;
 | 
						|
    return n;
 | 
						|
  };
 | 
						|
}
 | 
						|
var G2 = W2(Y2);
 | 
						|
function U2(e) {
 | 
						|
  return typeof e == "function" ? e : L1;
 | 
						|
}
 | 
						|
function bl(e, t) {
 | 
						|
  var n = De(e) ? ra : G2;
 | 
						|
  return n(e, U2(t));
 | 
						|
}
 | 
						|
var K2 = Object.prototype, X2 = K2.hasOwnProperty;
 | 
						|
function q2(e, t) {
 | 
						|
  return e != null && X2.call(e, t);
 | 
						|
}
 | 
						|
function yl(e, t) {
 | 
						|
  return e != null && F2(e, t, q2);
 | 
						|
}
 | 
						|
var Z2 = "[object String]";
 | 
						|
function Sl(e) {
 | 
						|
  return typeof e == "string" || !De(e) && Ze(e) && Be(e) == Z2;
 | 
						|
}
 | 
						|
var J2 = "[object Boolean]";
 | 
						|
function wl(e) {
 | 
						|
  return e === !0 || e === !1 || Ze(e) && Be(e) == J2;
 | 
						|
}
 | 
						|
var Q2 = "[object Map]", eo = "[object Set]", to = Object.prototype, no = to.hasOwnProperty;
 | 
						|
function Tl(e) {
 | 
						|
  if (e == null)
 | 
						|
    return !0;
 | 
						|
  if (ln(e) && (De(e) || typeof e == "string" || typeof e.splice == "function" || S0(e) || T0(e) || cn(e)))
 | 
						|
    return !e.length;
 | 
						|
  var t = Me(e);
 | 
						|
  if (t == Q2 || t == eo)
 | 
						|
    return !e.size;
 | 
						|
  if (g0(e))
 | 
						|
    return !C0(e).length;
 | 
						|
  for (var n in e)
 | 
						|
    if (no.call(e, n))
 | 
						|
      return !1;
 | 
						|
  return !0;
 | 
						|
}
 | 
						|
function ao() {
 | 
						|
}
 | 
						|
const ie = Object.assign, pt = typeof window < "u", Bt = (e) => e !== null && typeof e == "object", le = (e) => e != null, Et = (e) => typeof e == "function", $0 = (e) => Bt(e) && Et(e.then) && Et(e.catch), An = (e) => Object.prototype.toString.call(e) === "[object Date]" && !Number.isNaN(e.getTime()), x0 = (e) => typeof e == "number" || /^\d+(\.\d+)?$/.test(e), oo = () => pt ? /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase()) : !1;
 | 
						|
function Rn(e, t) {
 | 
						|
  const n = t.split(".");
 | 
						|
  let a = e;
 | 
						|
  return n.forEach((r) => {
 | 
						|
    var o;
 | 
						|
    a = Bt(a) && (o = a[r]) != null ? o : "";
 | 
						|
  }), a;
 | 
						|
}
 | 
						|
function be(e, t, n) {
 | 
						|
  return t.reduce(
 | 
						|
    (a, r) => (a[r] = e[r], a),
 | 
						|
    {}
 | 
						|
  );
 | 
						|
}
 | 
						|
const Te = (e, t) => JSON.stringify(e) === JSON.stringify(t), jn = (e) => Array.isArray(e) ? e : [e], ro = (e) => e.reduce((t, n) => t.concat(n), []), me = null, q = [Number, String], ee = {
 | 
						|
  type: Boolean,
 | 
						|
  default: !0
 | 
						|
}, Pe = (e) => ({
 | 
						|
  type: e,
 | 
						|
  required: !0
 | 
						|
}), Ve = () => ({
 | 
						|
  type: Array,
 | 
						|
  default: () => []
 | 
						|
}), io = (e) => ({
 | 
						|
  type: Number,
 | 
						|
  default: e
 | 
						|
}), ne = (e) => ({
 | 
						|
  type: q,
 | 
						|
  default: e
 | 
						|
}), ce = (e) => ({
 | 
						|
  type: String,
 | 
						|
  default: e
 | 
						|
});
 | 
						|
var et = typeof window < "u";
 | 
						|
function ct(e) {
 | 
						|
  return et ? requestAnimationFrame(e) : -1;
 | 
						|
}
 | 
						|
function _0(e) {
 | 
						|
  et && cancelAnimationFrame(e);
 | 
						|
}
 | 
						|
function ot(e) {
 | 
						|
  ct(() => ct(e));
 | 
						|
}
 | 
						|
var lo = (e) => e === window, Nn = (e, t) => ({
 | 
						|
  top: 0,
 | 
						|
  left: 0,
 | 
						|
  right: e,
 | 
						|
  bottom: t,
 | 
						|
  width: e,
 | 
						|
  height: t
 | 
						|
}), ye = (e) => {
 | 
						|
  const t = _t(e);
 | 
						|
  if (lo(t)) {
 | 
						|
    const n = t.innerWidth, a = t.innerHeight;
 | 
						|
    return Nn(n, a);
 | 
						|
  }
 | 
						|
  return t != null && t.getBoundingClientRect ? t.getBoundingClientRect() : Nn(0, 0);
 | 
						|
};
 | 
						|
function Fe(e) {
 | 
						|
  const t = kt(e, null);
 | 
						|
  if (t) {
 | 
						|
    const n = Re(), { link: a, unlink: r, internalChildren: o } = t;
 | 
						|
    a(n), l0(() => r(n));
 | 
						|
    const i = N(() => o.indexOf(n));
 | 
						|
    return {
 | 
						|
      parent: t,
 | 
						|
      index: i
 | 
						|
    };
 | 
						|
  }
 | 
						|
  return {
 | 
						|
    parent: null,
 | 
						|
    index: z(-1)
 | 
						|
  };
 | 
						|
}
 | 
						|
function co(e) {
 | 
						|
  const t = [], n = (a) => {
 | 
						|
    Array.isArray(a) && a.forEach((r) => {
 | 
						|
      var o;
 | 
						|
      E1(r) && (t.push(r), (o = r.component) != null && o.subTree && (t.push(r.component.subTree), n(r.component.subTree.children)), r.children && n(r.children));
 | 
						|
    });
 | 
						|
  };
 | 
						|
  return n(e), t;
 | 
						|
}
 | 
						|
var zn = (e, t) => {
 | 
						|
  const n = e.indexOf(t);
 | 
						|
  return n === -1 ? e.findIndex(
 | 
						|
    (a) => t.key !== void 0 && t.key !== null && a.type === t.type && a.key === t.key
 | 
						|
  ) : n;
 | 
						|
};
 | 
						|
function uo(e, t, n) {
 | 
						|
  const a = co(e.subTree.children);
 | 
						|
  n.sort(
 | 
						|
    (o, i) => zn(a, o.vnode) - zn(a, i.vnode)
 | 
						|
  );
 | 
						|
  const r = n.map((o) => o.proxy);
 | 
						|
  t.sort((o, i) => {
 | 
						|
    const u = r.indexOf(o), s = r.indexOf(i);
 | 
						|
    return u - s;
 | 
						|
  });
 | 
						|
}
 | 
						|
function Le(e) {
 | 
						|
  const t = Ie([]), n = Ie([]), a = Re();
 | 
						|
  return {
 | 
						|
    children: t,
 | 
						|
    linkChildren: (o) => {
 | 
						|
      dt(
 | 
						|
        e,
 | 
						|
        Object.assign(
 | 
						|
          {
 | 
						|
            link: (s) => {
 | 
						|
              s.proxy && (n.push(s), t.push(s.proxy), uo(a, t, n));
 | 
						|
            },
 | 
						|
            unlink: (s) => {
 | 
						|
              const c = n.indexOf(s);
 | 
						|
              t.splice(c, 1), n.splice(c, 1);
 | 
						|
            },
 | 
						|
            children: t,
 | 
						|
            internalChildren: n
 | 
						|
          },
 | 
						|
          o
 | 
						|
        )
 | 
						|
      );
 | 
						|
    }
 | 
						|
  };
 | 
						|
}
 | 
						|
function Dt(e) {
 | 
						|
  let t;
 | 
						|
  je(() => {
 | 
						|
    e(), ue(() => {
 | 
						|
      t = !0;
 | 
						|
    });
 | 
						|
  }), ft(() => {
 | 
						|
    t && e();
 | 
						|
  });
 | 
						|
}
 | 
						|
function Ce(e, t, n = {}) {
 | 
						|
  if (!et)
 | 
						|
    return;
 | 
						|
  const { target: a = window, passive: r = !1, capture: o = !1 } = n;
 | 
						|
  let i = !1, u;
 | 
						|
  const s = (g) => {
 | 
						|
    if (i)
 | 
						|
      return;
 | 
						|
    const d = _t(g);
 | 
						|
    d && !u && (d.addEventListener(e, t, {
 | 
						|
      capture: o,
 | 
						|
      passive: r
 | 
						|
    }), u = !0);
 | 
						|
  }, c = (g) => {
 | 
						|
    if (i)
 | 
						|
      return;
 | 
						|
    const d = _t(g);
 | 
						|
    d && u && (d.removeEventListener(e, t, o), u = !1);
 | 
						|
  };
 | 
						|
  l0(() => c(a)), qe(() => c(a)), Dt(() => s(a));
 | 
						|
  let f;
 | 
						|
  return O1(a) && (f = X(a, (g, d) => {
 | 
						|
    c(d), s(g);
 | 
						|
  })), () => {
 | 
						|
    f == null || f(), c(a), i = !0;
 | 
						|
  };
 | 
						|
}
 | 
						|
var vt, zt;
 | 
						|
function so() {
 | 
						|
  if (!vt && (vt = z(0), zt = z(0), et)) {
 | 
						|
    const e = () => {
 | 
						|
      vt.value = window.innerWidth, zt.value = window.innerHeight;
 | 
						|
    };
 | 
						|
    e(), window.addEventListener("resize", e, { passive: !0 }), window.addEventListener("orientationchange", e, { passive: !0 });
 | 
						|
  }
 | 
						|
  return { width: vt, height: zt };
 | 
						|
}
 | 
						|
var fo = /scroll|auto|overlay/i, O0 = et ? window : void 0;
 | 
						|
function ho(e) {
 | 
						|
  return e.tagName !== "HTML" && e.tagName !== "BODY" && e.nodeType === 1;
 | 
						|
}
 | 
						|
function E0(e, t = O0) {
 | 
						|
  let n = e;
 | 
						|
  for (; n && n !== t && ho(n); ) {
 | 
						|
    const { overflowY: a } = window.getComputedStyle(n);
 | 
						|
    if (fo.test(a))
 | 
						|
      return n;
 | 
						|
    n = n.parentNode;
 | 
						|
  }
 | 
						|
  return t;
 | 
						|
}
 | 
						|
function k0(e, t = O0) {
 | 
						|
  const n = z();
 | 
						|
  return je(() => {
 | 
						|
    e.value && (n.value = E0(e.value, t));
 | 
						|
  }), n;
 | 
						|
}
 | 
						|
var gt;
 | 
						|
function mo() {
 | 
						|
  if (!gt && (gt = z("visible"), et)) {
 | 
						|
    const e = () => {
 | 
						|
      gt.value = document.hidden ? "hidden" : "visible";
 | 
						|
    };
 | 
						|
    e(), window.addEventListener("visibilitychange", e);
 | 
						|
  }
 | 
						|
  return gt;
 | 
						|
}
 | 
						|
var P0 = Symbol("van-field");
 | 
						|
function He(e) {
 | 
						|
  const t = kt(P0, null);
 | 
						|
  t && !t.customValue.value && (t.customValue.value = e, X(e, () => {
 | 
						|
    t.resetValidation(), t.validateWithTrigger("onChange");
 | 
						|
  }));
 | 
						|
}
 | 
						|
function sn(e) {
 | 
						|
  const t = "scrollTop" in e ? e.scrollTop : e.pageYOffset;
 | 
						|
  return Math.max(t, 0);
 | 
						|
}
 | 
						|
function Zt(e, t) {
 | 
						|
  "scrollTop" in e ? e.scrollTop = t : e.scrollTo(e.scrollX, t);
 | 
						|
}
 | 
						|
function dn() {
 | 
						|
  return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
 | 
						|
}
 | 
						|
function fn(e) {
 | 
						|
  Zt(window, e), Zt(document.body, e);
 | 
						|
}
 | 
						|
function Fn(e, t) {
 | 
						|
  if (e === window)
 | 
						|
    return 0;
 | 
						|
  const n = t ? sn(t) : dn();
 | 
						|
  return ye(e).top + n;
 | 
						|
}
 | 
						|
const vo = oo();
 | 
						|
function I0() {
 | 
						|
  vo && fn(dn());
 | 
						|
}
 | 
						|
const V0 = (e) => e.stopPropagation();
 | 
						|
function he(e, t) {
 | 
						|
  (typeof e.cancelable != "boolean" || e.cancelable) && e.preventDefault(), t && V0(e);
 | 
						|
}
 | 
						|
function ut(e) {
 | 
						|
  const t = _t(e);
 | 
						|
  if (!t)
 | 
						|
    return !1;
 | 
						|
  const n = window.getComputedStyle(t), a = n.display === "none", r = t.offsetParent === null && n.position !== "fixed";
 | 
						|
  return a || r;
 | 
						|
}
 | 
						|
const { width: Mt, height: hn } = so();
 | 
						|
function re(e) {
 | 
						|
  if (le(e))
 | 
						|
    return x0(e) ? `${e}px` : String(e);
 | 
						|
}
 | 
						|
function mn(e) {
 | 
						|
  if (le(e)) {
 | 
						|
    if (Array.isArray(e))
 | 
						|
      return {
 | 
						|
        width: re(e[0]),
 | 
						|
        height: re(e[1])
 | 
						|
      };
 | 
						|
    const t = re(e);
 | 
						|
    return {
 | 
						|
      width: t,
 | 
						|
      height: t
 | 
						|
    };
 | 
						|
  }
 | 
						|
}
 | 
						|
function p0(e) {
 | 
						|
  const t = {};
 | 
						|
  return e !== void 0 && (t.zIndex = +e), t;
 | 
						|
}
 | 
						|
let Ft;
 | 
						|
function go() {
 | 
						|
  if (!Ft) {
 | 
						|
    const e = document.documentElement, t = e.style.fontSize || window.getComputedStyle(e).fontSize;
 | 
						|
    Ft = parseFloat(t);
 | 
						|
  }
 | 
						|
  return Ft;
 | 
						|
}
 | 
						|
function bo(e) {
 | 
						|
  return e = e.replace(/rem/g, ""), +e * go();
 | 
						|
}
 | 
						|
function yo(e) {
 | 
						|
  return e = e.replace(/vw/g, ""), +e * Mt.value / 100;
 | 
						|
}
 | 
						|
function So(e) {
 | 
						|
  return e = e.replace(/vh/g, ""), +e * hn.value / 100;
 | 
						|
}
 | 
						|
function vn(e) {
 | 
						|
  if (typeof e == "number")
 | 
						|
    return e;
 | 
						|
  if (pt) {
 | 
						|
    if (e.includes("rem"))
 | 
						|
      return bo(e);
 | 
						|
    if (e.includes("vw"))
 | 
						|
      return yo(e);
 | 
						|
    if (e.includes("vh"))
 | 
						|
      return So(e);
 | 
						|
  }
 | 
						|
  return parseFloat(e);
 | 
						|
}
 | 
						|
const wo = /-(\w)/g, B0 = (e) => e.replace(wo, (t, n) => n.toUpperCase()), To = (e) => e.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^-/, "");
 | 
						|
function D0(e, t = 2) {
 | 
						|
  let n = e + "";
 | 
						|
  for (; n.length < t; )
 | 
						|
    n = "0" + n;
 | 
						|
  return n;
 | 
						|
}
 | 
						|
const Ee = (e, t, n) => Math.min(Math.max(e, t), n);
 | 
						|
function Ln(e, t, n) {
 | 
						|
  const a = e.indexOf(t);
 | 
						|
  return a === -1 ? e : t === "-" && a !== 0 ? e.slice(0, a) : e.slice(0, a + 1) + e.slice(a).replace(n, "");
 | 
						|
}
 | 
						|
function Jt(e, t = !0, n = !0) {
 | 
						|
  t ? e = Ln(e, ".", /\./g) : e = e.split(".")[0], n ? e = Ln(e, "-", /-/g) : e = e.replace(/-/, "");
 | 
						|
  const a = t ? /[^-0-9.]/g : /[^-0-9]/g;
 | 
						|
  return e.replace(a, "");
 | 
						|
}
 | 
						|
function M0(e, t) {
 | 
						|
  return Math.round((e + t) * 1e10) / 1e10;
 | 
						|
}
 | 
						|
const { hasOwnProperty: Co } = Object.prototype;
 | 
						|
function $o(e, t, n) {
 | 
						|
  const a = t[n];
 | 
						|
  le(a) && (!Co.call(e, n) || !Bt(a) ? e[n] = a : e[n] = A0(Object(e[n]), a));
 | 
						|
}
 | 
						|
function A0(e, t) {
 | 
						|
  return Object.keys(t).forEach((n) => {
 | 
						|
    $o(e, t, n);
 | 
						|
  }), e;
 | 
						|
}
 | 
						|
var xo = {
 | 
						|
  name: "姓名",
 | 
						|
  tel: "电话",
 | 
						|
  save: "保存",
 | 
						|
  clear: "清空",
 | 
						|
  cancel: "取消",
 | 
						|
  confirm: "确认",
 | 
						|
  delete: "删除",
 | 
						|
  loading: "加载中...",
 | 
						|
  noCoupon: "暂无优惠券",
 | 
						|
  nameEmpty: "请填写姓名",
 | 
						|
  addContact: "添加联系人",
 | 
						|
  telInvalid: "请填写正确的电话",
 | 
						|
  vanCalendar: {
 | 
						|
    end: "结束",
 | 
						|
    start: "开始",
 | 
						|
    title: "日期选择",
 | 
						|
    weekdays: ["日", "一", "二", "三", "四", "五", "六"],
 | 
						|
    monthTitle: (e, t) => `${e}年${t}月`,
 | 
						|
    rangePrompt: (e) => `最多选择 ${e} 天`
 | 
						|
  },
 | 
						|
  vanCascader: {
 | 
						|
    select: "请选择"
 | 
						|
  },
 | 
						|
  vanPagination: {
 | 
						|
    prev: "上一页",
 | 
						|
    next: "下一页"
 | 
						|
  },
 | 
						|
  vanPullRefresh: {
 | 
						|
    pulling: "下拉即可刷新...",
 | 
						|
    loosing: "释放即可刷新..."
 | 
						|
  },
 | 
						|
  vanSubmitBar: {
 | 
						|
    label: "合计:"
 | 
						|
  },
 | 
						|
  vanCoupon: {
 | 
						|
    unlimited: "无门槛",
 | 
						|
    discount: (e) => `${e}折`,
 | 
						|
    condition: (e) => `满${e}元可用`
 | 
						|
  },
 | 
						|
  vanCouponCell: {
 | 
						|
    title: "优惠券",
 | 
						|
    count: (e) => `${e}张可用`
 | 
						|
  },
 | 
						|
  vanCouponList: {
 | 
						|
    exchange: "兑换",
 | 
						|
    close: "不使用",
 | 
						|
    enable: "可用",
 | 
						|
    disabled: "不可用",
 | 
						|
    placeholder: "输入优惠码"
 | 
						|
  },
 | 
						|
  vanAddressEdit: {
 | 
						|
    area: "地区",
 | 
						|
    areaEmpty: "请选择地区",
 | 
						|
    addressEmpty: "请填写详细地址",
 | 
						|
    addressDetail: "详细地址",
 | 
						|
    defaultAddress: "设为默认收货地址"
 | 
						|
  },
 | 
						|
  vanAddressList: {
 | 
						|
    add: "新增地址"
 | 
						|
  }
 | 
						|
};
 | 
						|
const Hn = z("zh-CN"), Yn = Ie({
 | 
						|
  "zh-CN": xo
 | 
						|
}), _o = {
 | 
						|
  messages() {
 | 
						|
    return Yn[Hn.value];
 | 
						|
  },
 | 
						|
  use(e, t) {
 | 
						|
    Hn.value = e, this.add({ [e]: t });
 | 
						|
  },
 | 
						|
  add(e = {}) {
 | 
						|
    A0(Yn, e);
 | 
						|
  }
 | 
						|
};
 | 
						|
var Oo = _o;
 | 
						|
function Eo(e) {
 | 
						|
  const t = B0(e) + ".";
 | 
						|
  return (n, ...a) => {
 | 
						|
    const r = Oo.messages(), o = Rn(r, t + n) || Rn(r, n);
 | 
						|
    return Et(o) ? o(...a) : o;
 | 
						|
  };
 | 
						|
}
 | 
						|
function Qt(e, t) {
 | 
						|
  return t ? typeof t == "string" ? ` ${e}--${t}` : Array.isArray(t) ? t.reduce(
 | 
						|
    (n, a) => n + Qt(e, a),
 | 
						|
    ""
 | 
						|
  ) : Object.keys(t).reduce(
 | 
						|
    (n, a) => n + (t[a] ? Qt(e, a) : ""),
 | 
						|
    ""
 | 
						|
  ) : "";
 | 
						|
}
 | 
						|
function ko(e) {
 | 
						|
  return (t, n) => (t && typeof t != "string" && (n = t, t = ""), t = t ? `${e}__${t}` : e, `${t}${Qt(t, n)}`);
 | 
						|
}
 | 
						|
function te(e) {
 | 
						|
  const t = `van-${e}`;
 | 
						|
  return [
 | 
						|
    t,
 | 
						|
    ko(t),
 | 
						|
    Eo(t)
 | 
						|
  ];
 | 
						|
}
 | 
						|
const R0 = "van-hairline", j0 = `${R0}--top-bottom`, Po = `${R0}-unset--top-bottom`, Xe = "van-haptics-feedback", N0 = Symbol("van-form"), Io = 500, Wn = 5;
 | 
						|
function gn(e, {
 | 
						|
  args: t = [],
 | 
						|
  done: n,
 | 
						|
  canceled: a,
 | 
						|
  error: r
 | 
						|
}) {
 | 
						|
  if (e) {
 | 
						|
    const o = e.apply(null, t);
 | 
						|
    $0(o) ? o.then((i) => {
 | 
						|
      i ? n() : a && a();
 | 
						|
    }).catch(r || ao) : o ? n() : a && a();
 | 
						|
  } else
 | 
						|
    n();
 | 
						|
}
 | 
						|
function ae(e) {
 | 
						|
  return e.install = (t) => {
 | 
						|
    const { name: n } = e;
 | 
						|
    n && (t.component(n, e), t.component(B0(`-${n}`), e));
 | 
						|
  }, e;
 | 
						|
}
 | 
						|
const z0 = Symbol();
 | 
						|
function F0(e) {
 | 
						|
  const t = kt(z0, null);
 | 
						|
  t && X(t, (n) => {
 | 
						|
    n && e();
 | 
						|
  });
 | 
						|
}
 | 
						|
function fe(e) {
 | 
						|
  const t = Re();
 | 
						|
  t && ie(t.proxy, e);
 | 
						|
}
 | 
						|
const L0 = {
 | 
						|
  to: [String, Object],
 | 
						|
  url: String,
 | 
						|
  replace: Boolean
 | 
						|
};
 | 
						|
function H0({
 | 
						|
  to: e,
 | 
						|
  url: t,
 | 
						|
  replace: n,
 | 
						|
  $router: a
 | 
						|
}) {
 | 
						|
  e && a ? a[n ? "replace" : "push"](e) : t && (n ? location.replace(t) : location.href = t);
 | 
						|
}
 | 
						|
function Vo() {
 | 
						|
  const e = Re().proxy;
 | 
						|
  return () => H0(e);
 | 
						|
}
 | 
						|
const [po, Gn] = te("badge"), Bo = {
 | 
						|
  dot: Boolean,
 | 
						|
  max: q,
 | 
						|
  tag: ce("div"),
 | 
						|
  color: String,
 | 
						|
  offset: Array,
 | 
						|
  content: q,
 | 
						|
  showZero: ee,
 | 
						|
  position: ce("top-right")
 | 
						|
};
 | 
						|
var Do = Z({
 | 
						|
  name: po,
 | 
						|
  props: Bo,
 | 
						|
  setup(e, {
 | 
						|
    slots: t
 | 
						|
  }) {
 | 
						|
    const n = () => {
 | 
						|
      if (t.content)
 | 
						|
        return !0;
 | 
						|
      const {
 | 
						|
        content: u,
 | 
						|
        showZero: s
 | 
						|
      } = e;
 | 
						|
      return le(u) && u !== "" && (s || u !== 0 && u !== "0");
 | 
						|
    }, a = () => {
 | 
						|
      const {
 | 
						|
        dot: u,
 | 
						|
        max: s,
 | 
						|
        content: c
 | 
						|
      } = e;
 | 
						|
      if (!u && n())
 | 
						|
        return t.content ? t.content() : le(s) && x0(c) && +c > +s ? `${s}+` : c;
 | 
						|
    }, r = (u) => u.startsWith("-") ? u.replace("-", "") : `-${u}`, o = N(() => {
 | 
						|
      const u = {
 | 
						|
        background: e.color
 | 
						|
      };
 | 
						|
      if (e.offset) {
 | 
						|
        const [s, c] = e.offset, {
 | 
						|
          position: f
 | 
						|
        } = e, [g, d] = f.split("-");
 | 
						|
        t.default ? (typeof c == "number" ? u[g] = re(g === "top" ? c : -c) : u[g] = g === "top" ? re(c) : r(c), typeof s == "number" ? u[d] = re(d === "left" ? s : -s) : u[d] = d === "left" ? re(s) : r(s)) : (u.marginTop = re(c), u.marginLeft = re(s));
 | 
						|
      }
 | 
						|
      return u;
 | 
						|
    }), i = () => {
 | 
						|
      if (n() || e.dot)
 | 
						|
        return v("div", {
 | 
						|
          class: Gn([e.position, {
 | 
						|
            dot: e.dot,
 | 
						|
            fixed: !!t.default
 | 
						|
          }]),
 | 
						|
          style: o.value
 | 
						|
        }, [a()]);
 | 
						|
    };
 | 
						|
    return () => {
 | 
						|
      if (t.default) {
 | 
						|
        const {
 | 
						|
          tag: u
 | 
						|
        } = e;
 | 
						|
        return v(u, {
 | 
						|
          class: Gn("wrapper")
 | 
						|
        }, {
 | 
						|
          default: () => [t.default(), i()]
 | 
						|
        });
 | 
						|
      }
 | 
						|
      return i();
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const Y0 = ae(Do);
 | 
						|
let W0 = 2e3;
 | 
						|
const Mo = () => ++W0, Ao = (e) => {
 | 
						|
  W0 = e;
 | 
						|
}, [G0, Ro] = te("config-provider"), U0 = Symbol(G0), jo = {
 | 
						|
  tag: ce("div"),
 | 
						|
  theme: ce("light"),
 | 
						|
  zIndex: Number,
 | 
						|
  themeVars: Object,
 | 
						|
  themeVarsDark: Object,
 | 
						|
  themeVarsLight: Object,
 | 
						|
  themeVarsScope: ce("local"),
 | 
						|
  iconPrefix: String
 | 
						|
};
 | 
						|
function No(e) {
 | 
						|
  return e.replace(/([a-zA-Z])(\d)/g, "$1-$2");
 | 
						|
}
 | 
						|
function zo(e) {
 | 
						|
  const t = {};
 | 
						|
  return Object.keys(e).forEach((n) => {
 | 
						|
    const a = No(To(n));
 | 
						|
    t[`--van-${a}`] = e[n];
 | 
						|
  }), t;
 | 
						|
}
 | 
						|
function bt(e = {}, t = {}) {
 | 
						|
  Object.keys(e).forEach((n) => {
 | 
						|
    e[n] !== t[n] && document.documentElement.style.setProperty(n, e[n]);
 | 
						|
  }), Object.keys(t).forEach((n) => {
 | 
						|
    e[n] || document.documentElement.style.removeProperty(n);
 | 
						|
  });
 | 
						|
}
 | 
						|
Z({
 | 
						|
  name: G0,
 | 
						|
  props: jo,
 | 
						|
  setup(e, {
 | 
						|
    slots: t
 | 
						|
  }) {
 | 
						|
    const n = N(() => zo(ie({}, e.themeVars, e.theme === "dark" ? e.themeVarsDark : e.themeVarsLight)));
 | 
						|
    if (pt) {
 | 
						|
      const a = () => {
 | 
						|
        document.documentElement.classList.add(`van-theme-${e.theme}`);
 | 
						|
      }, r = (o = e.theme) => {
 | 
						|
        document.documentElement.classList.remove(`van-theme-${o}`);
 | 
						|
      };
 | 
						|
      X(() => e.theme, (o, i) => {
 | 
						|
        i && r(i), a();
 | 
						|
      }, {
 | 
						|
        immediate: !0
 | 
						|
      }), ft(a), qe(r), Pt(r), X(n, (o, i) => {
 | 
						|
        e.themeVarsScope === "global" && bt(o, i);
 | 
						|
      }), X(() => e.themeVarsScope, (o, i) => {
 | 
						|
        i === "global" && bt({}, n.value), o === "global" && bt(n.value, {});
 | 
						|
      }), e.themeVarsScope === "global" && bt(n.value, {});
 | 
						|
    }
 | 
						|
    return dt(U0, e), nn(() => {
 | 
						|
      e.zIndex !== void 0 && Ao(e.zIndex);
 | 
						|
    }), () => v(e.tag, {
 | 
						|
      class: Ro(),
 | 
						|
      style: e.themeVarsScope === "local" ? n.value : void 0
 | 
						|
    }, {
 | 
						|
      default: () => {
 | 
						|
        var a;
 | 
						|
        return [(a = t.default) == null ? void 0 : a.call(t)];
 | 
						|
      }
 | 
						|
    });
 | 
						|
  }
 | 
						|
});
 | 
						|
const [Fo, Un] = te("icon"), Lo = (e) => e == null ? void 0 : e.includes("/"), Ho = {
 | 
						|
  dot: Boolean,
 | 
						|
  tag: ce("i"),
 | 
						|
  name: String,
 | 
						|
  size: q,
 | 
						|
  badge: q,
 | 
						|
  color: String,
 | 
						|
  badgeProps: Object,
 | 
						|
  classPrefix: String
 | 
						|
};
 | 
						|
var Yo = Z({
 | 
						|
  name: Fo,
 | 
						|
  props: Ho,
 | 
						|
  setup(e, {
 | 
						|
    slots: t
 | 
						|
  }) {
 | 
						|
    const n = kt(U0, null), a = N(() => e.classPrefix || (n == null ? void 0 : n.iconPrefix) || Un());
 | 
						|
    return () => {
 | 
						|
      const {
 | 
						|
        tag: r,
 | 
						|
        dot: o,
 | 
						|
        name: i,
 | 
						|
        size: u,
 | 
						|
        badge: s,
 | 
						|
        color: c
 | 
						|
      } = e, f = Lo(i);
 | 
						|
      return v(Y0, de({
 | 
						|
        dot: o,
 | 
						|
        tag: r,
 | 
						|
        class: [a.value, f ? "" : `${a.value}-${i}`],
 | 
						|
        style: {
 | 
						|
          color: c,
 | 
						|
          fontSize: re(u)
 | 
						|
        },
 | 
						|
        content: s
 | 
						|
      }, e.badgeProps), {
 | 
						|
        default: () => {
 | 
						|
          var g;
 | 
						|
          return [(g = t.default) == null ? void 0 : g.call(t), f && v("img", {
 | 
						|
            class: Un("image"),
 | 
						|
            src: i
 | 
						|
          }, null)];
 | 
						|
        }
 | 
						|
      });
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const Se = ae(Yo), [Wo, it] = te("loading"), Go = Array(12).fill(null).map((e, t) => v("i", {
 | 
						|
  class: it("line", String(t + 1))
 | 
						|
}, null)), Uo = v("svg", {
 | 
						|
  class: it("circular"),
 | 
						|
  viewBox: "25 25 50 50"
 | 
						|
}, [v("circle", {
 | 
						|
  cx: "50",
 | 
						|
  cy: "50",
 | 
						|
  r: "20",
 | 
						|
  fill: "none"
 | 
						|
}, null)]), Ko = {
 | 
						|
  size: q,
 | 
						|
  type: ce("circular"),
 | 
						|
  color: String,
 | 
						|
  vertical: Boolean,
 | 
						|
  textSize: q,
 | 
						|
  textColor: String
 | 
						|
};
 | 
						|
var Xo = Z({
 | 
						|
  name: Wo,
 | 
						|
  props: Ko,
 | 
						|
  setup(e, {
 | 
						|
    slots: t
 | 
						|
  }) {
 | 
						|
    const n = N(() => ie({
 | 
						|
      color: e.color
 | 
						|
    }, mn(e.size))), a = () => {
 | 
						|
      const o = e.type === "spinner" ? Go : Uo;
 | 
						|
      return v("span", {
 | 
						|
        class: it("spinner", e.type),
 | 
						|
        style: n.value
 | 
						|
      }, [t.icon ? t.icon() : o]);
 | 
						|
    }, r = () => {
 | 
						|
      var o;
 | 
						|
      if (t.default)
 | 
						|
        return v("span", {
 | 
						|
          class: it("text"),
 | 
						|
          style: {
 | 
						|
            fontSize: re(e.textSize),
 | 
						|
            color: (o = e.textColor) != null ? o : e.color
 | 
						|
          }
 | 
						|
        }, [t.default()]);
 | 
						|
    };
 | 
						|
    return () => {
 | 
						|
      const {
 | 
						|
        type: o,
 | 
						|
        vertical: i
 | 
						|
      } = e;
 | 
						|
      return v("div", {
 | 
						|
        class: it([o, {
 | 
						|
          vertical: i
 | 
						|
        }]),
 | 
						|
        "aria-live": "polite",
 | 
						|
        "aria-busy": !0
 | 
						|
      }, [a(), r()]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const K0 = ae(Xo), qo = {
 | 
						|
  // whether to show popup
 | 
						|
  show: Boolean,
 | 
						|
  // z-index
 | 
						|
  zIndex: q,
 | 
						|
  // whether to show overlay
 | 
						|
  overlay: ee,
 | 
						|
  // transition duration
 | 
						|
  duration: q,
 | 
						|
  // teleport
 | 
						|
  teleport: [String, Object],
 | 
						|
  // prevent body scroll
 | 
						|
  lockScroll: ee,
 | 
						|
  // whether to lazy render
 | 
						|
  lazyRender: ee,
 | 
						|
  // callback function before close
 | 
						|
  beforeClose: Function,
 | 
						|
  // overlay custom style
 | 
						|
  overlayStyle: Object,
 | 
						|
  // overlay custom class name
 | 
						|
  overlayClass: me,
 | 
						|
  // Initial rendering animation
 | 
						|
  transitionAppear: Boolean,
 | 
						|
  // whether to close popup when overlay is clicked
 | 
						|
  closeOnClickOverlay: ee
 | 
						|
};
 | 
						|
function Zo(e, t) {
 | 
						|
  return e > t ? "horizontal" : t > e ? "vertical" : "";
 | 
						|
}
 | 
						|
function ht() {
 | 
						|
  const e = z(0), t = z(0), n = z(0), a = z(0), r = z(0), o = z(0), i = z(""), u = z(!0), s = () => i.value === "vertical", c = () => i.value === "horizontal", f = () => {
 | 
						|
    n.value = 0, a.value = 0, r.value = 0, o.value = 0, i.value = "", u.value = !0;
 | 
						|
  };
 | 
						|
  return {
 | 
						|
    move: (T) => {
 | 
						|
      const x = T.touches[0];
 | 
						|
      n.value = (x.clientX < 0 ? 0 : x.clientX) - e.value, a.value = x.clientY - t.value, r.value = Math.abs(n.value), o.value = Math.abs(a.value);
 | 
						|
      const p = 10;
 | 
						|
      (!i.value || r.value < p && o.value < p) && (i.value = Zo(r.value, o.value)), u.value && (r.value > Wn || o.value > Wn) && (u.value = !1);
 | 
						|
    },
 | 
						|
    start: (T) => {
 | 
						|
      f(), e.value = T.touches[0].clientX, t.value = T.touches[0].clientY;
 | 
						|
    },
 | 
						|
    reset: f,
 | 
						|
    startX: e,
 | 
						|
    startY: t,
 | 
						|
    deltaX: n,
 | 
						|
    deltaY: a,
 | 
						|
    offsetX: r,
 | 
						|
    offsetY: o,
 | 
						|
    direction: i,
 | 
						|
    isVertical: s,
 | 
						|
    isHorizontal: c,
 | 
						|
    isTap: u
 | 
						|
  };
 | 
						|
}
 | 
						|
let nt = 0;
 | 
						|
const Kn = "van-overflow-hidden";
 | 
						|
function Jo(e, t) {
 | 
						|
  const n = ht(), a = "01", r = "10", o = (f) => {
 | 
						|
    n.move(f);
 | 
						|
    const g = n.deltaY.value > 0 ? r : a, d = E0(
 | 
						|
      f.target,
 | 
						|
      e.value
 | 
						|
    ), { scrollHeight: T, offsetHeight: x, scrollTop: p } = d;
 | 
						|
    let b = "11";
 | 
						|
    p === 0 ? b = x >= T ? "00" : "01" : p + x >= T && (b = "10"), b !== "11" && n.isVertical() && !(parseInt(b, 2) & parseInt(g, 2)) && he(f, !0);
 | 
						|
  }, i = () => {
 | 
						|
    document.addEventListener("touchstart", n.start), document.addEventListener("touchmove", o, { passive: !1 }), nt || document.body.classList.add(Kn), nt++;
 | 
						|
  }, u = () => {
 | 
						|
    nt && (document.removeEventListener("touchstart", n.start), document.removeEventListener("touchmove", o), nt--, nt || document.body.classList.remove(Kn));
 | 
						|
  }, s = () => t() && i(), c = () => t() && u();
 | 
						|
  Dt(s), qe(c), Pt(c), X(t, (f) => {
 | 
						|
    f ? i() : u();
 | 
						|
  });
 | 
						|
}
 | 
						|
function X0(e) {
 | 
						|
  const t = z(!1);
 | 
						|
  return X(
 | 
						|
    e,
 | 
						|
    (n) => {
 | 
						|
      n && (t.value = n);
 | 
						|
    },
 | 
						|
    { immediate: !0 }
 | 
						|
  ), (n) => () => t.value ? n() : null;
 | 
						|
}
 | 
						|
const en = () => {
 | 
						|
  var e;
 | 
						|
  const { scopeId: t } = ((e = Re()) == null ? void 0 : e.vnode) || {};
 | 
						|
  return t ? { [t]: "" } : null;
 | 
						|
}, [Qo, er] = te("overlay"), tr = {
 | 
						|
  show: Boolean,
 | 
						|
  zIndex: q,
 | 
						|
  duration: q,
 | 
						|
  className: me,
 | 
						|
  lockScroll: ee,
 | 
						|
  lazyRender: ee,
 | 
						|
  customStyle: Object,
 | 
						|
  teleport: [String, Object]
 | 
						|
};
 | 
						|
var nr = Z({
 | 
						|
  name: Qo,
 | 
						|
  props: tr,
 | 
						|
  setup(e, {
 | 
						|
    slots: t
 | 
						|
  }) {
 | 
						|
    const n = z(), a = X0(() => e.show || !e.lazyRender), r = (i) => {
 | 
						|
      e.lockScroll && he(i, !0);
 | 
						|
    }, o = a(() => {
 | 
						|
      var i;
 | 
						|
      const u = ie(p0(e.zIndex), e.customStyle);
 | 
						|
      return le(e.duration) && (u.animationDuration = `${e.duration}s`), We(v("div", {
 | 
						|
        ref: n,
 | 
						|
        style: u,
 | 
						|
        class: [er(), e.className]
 | 
						|
      }, [(i = t.default) == null ? void 0 : i.call(t)]), [[Ge, e.show]]);
 | 
						|
    });
 | 
						|
    return Ce("touchmove", r, {
 | 
						|
      target: n
 | 
						|
    }), () => {
 | 
						|
      const i = v(c0, {
 | 
						|
        name: "van-fade",
 | 
						|
        appear: !0
 | 
						|
      }, {
 | 
						|
        default: o
 | 
						|
      });
 | 
						|
      return e.teleport ? v(u0, {
 | 
						|
        to: e.teleport
 | 
						|
      }, {
 | 
						|
        default: () => [i]
 | 
						|
      }) : i;
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const ar = ae(nr), or = ie({}, qo, {
 | 
						|
  round: Boolean,
 | 
						|
  position: ce("center"),
 | 
						|
  closeIcon: ce("cross"),
 | 
						|
  closeable: Boolean,
 | 
						|
  transition: String,
 | 
						|
  iconPrefix: String,
 | 
						|
  closeOnPopstate: Boolean,
 | 
						|
  closeIconPosition: ce("top-right"),
 | 
						|
  destroyOnClose: Boolean,
 | 
						|
  safeAreaInsetTop: Boolean,
 | 
						|
  safeAreaInsetBottom: Boolean
 | 
						|
}), [rr, Xn] = te("popup");
 | 
						|
var ir = Z({
 | 
						|
  name: rr,
 | 
						|
  inheritAttrs: !1,
 | 
						|
  props: or,
 | 
						|
  emits: ["open", "close", "opened", "closed", "keydown", "update:show", "clickOverlay", "clickCloseIcon"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    attrs: n,
 | 
						|
    slots: a
 | 
						|
  }) {
 | 
						|
    let r, o;
 | 
						|
    const i = z(), u = z(), s = X0(() => e.show || !e.lazyRender), c = N(() => {
 | 
						|
      const w = {
 | 
						|
        zIndex: i.value
 | 
						|
      };
 | 
						|
      if (le(e.duration)) {
 | 
						|
        const M = e.position === "center" ? "animationDuration" : "transitionDuration";
 | 
						|
        w[M] = `${e.duration}s`;
 | 
						|
      }
 | 
						|
      return w;
 | 
						|
    }), f = () => {
 | 
						|
      r || (r = !0, i.value = e.zIndex !== void 0 ? +e.zIndex : Mo(), t("open"));
 | 
						|
    }, g = () => {
 | 
						|
      r && gn(e.beforeClose, {
 | 
						|
        done() {
 | 
						|
          r = !1, t("close"), t("update:show", !1);
 | 
						|
        }
 | 
						|
      });
 | 
						|
    }, d = (w) => {
 | 
						|
      t("clickOverlay", w), e.closeOnClickOverlay && g();
 | 
						|
    }, T = () => {
 | 
						|
      if (e.overlay)
 | 
						|
        return v(ar, de({
 | 
						|
          show: e.show,
 | 
						|
          class: e.overlayClass,
 | 
						|
          zIndex: i.value,
 | 
						|
          duration: e.duration,
 | 
						|
          customStyle: e.overlayStyle,
 | 
						|
          role: e.closeOnClickOverlay ? "button" : void 0,
 | 
						|
          tabindex: e.closeOnClickOverlay ? 0 : void 0
 | 
						|
        }, en(), {
 | 
						|
          onClick: d
 | 
						|
        }), {
 | 
						|
          default: a["overlay-content"]
 | 
						|
        });
 | 
						|
    }, x = (w) => {
 | 
						|
      t("clickCloseIcon", w), g();
 | 
						|
    }, p = () => {
 | 
						|
      if (e.closeable)
 | 
						|
        return v(Se, {
 | 
						|
          role: "button",
 | 
						|
          tabindex: 0,
 | 
						|
          name: e.closeIcon,
 | 
						|
          class: [Xn("close-icon", e.closeIconPosition), Xe],
 | 
						|
          classPrefix: e.iconPrefix,
 | 
						|
          onClick: x
 | 
						|
        }, null);
 | 
						|
    };
 | 
						|
    let b;
 | 
						|
    const R = () => {
 | 
						|
      b && clearTimeout(b), b = setTimeout(() => {
 | 
						|
        t("opened");
 | 
						|
      });
 | 
						|
    }, P = () => t("closed"), V = (w) => t("keydown", w), B = s(() => {
 | 
						|
      var w;
 | 
						|
      const {
 | 
						|
        destroyOnClose: M,
 | 
						|
        round: S,
 | 
						|
        position: A,
 | 
						|
        safeAreaInsetTop: _,
 | 
						|
        safeAreaInsetBottom: l,
 | 
						|
        show: y
 | 
						|
      } = e;
 | 
						|
      if (!(!y && M))
 | 
						|
        return We(v("div", de({
 | 
						|
          ref: u,
 | 
						|
          style: c.value,
 | 
						|
          role: "dialog",
 | 
						|
          tabindex: 0,
 | 
						|
          class: [Xn({
 | 
						|
            round: S,
 | 
						|
            [A]: A
 | 
						|
          }), {
 | 
						|
            "van-safe-area-top": _,
 | 
						|
            "van-safe-area-bottom": l
 | 
						|
          }],
 | 
						|
          onKeydown: V
 | 
						|
        }, n, en()), [(w = a.default) == null ? void 0 : w.call(a), p()]), [[Ge, y]]);
 | 
						|
    }), h = () => {
 | 
						|
      const {
 | 
						|
        position: w,
 | 
						|
        transition: M,
 | 
						|
        transitionAppear: S
 | 
						|
      } = e, A = w === "center" ? "van-fade" : `van-popup-slide-${w}`;
 | 
						|
      return v(c0, {
 | 
						|
        name: M || A,
 | 
						|
        appear: S,
 | 
						|
        onAfterEnter: R,
 | 
						|
        onAfterLeave: P
 | 
						|
      }, {
 | 
						|
        default: B
 | 
						|
      });
 | 
						|
    };
 | 
						|
    return X(() => e.show, (w) => {
 | 
						|
      w && !r && (f(), n.tabindex === 0 && ue(() => {
 | 
						|
        var M;
 | 
						|
        (M = u.value) == null || M.focus();
 | 
						|
      })), !w && r && (r = !1, t("close"));
 | 
						|
    }), fe({
 | 
						|
      popupRef: u
 | 
						|
    }), Jo(u, () => e.show && e.lockScroll), Ce("popstate", () => {
 | 
						|
      e.closeOnPopstate && (g(), o = !1);
 | 
						|
    }), je(() => {
 | 
						|
      e.show && f();
 | 
						|
    }), ft(() => {
 | 
						|
      o && (t("update:show", !0), o = !1);
 | 
						|
    }), qe(() => {
 | 
						|
      e.show && e.teleport && (g(), o = !0);
 | 
						|
    }), dt(z0, () => e.show), () => e.teleport ? v(u0, {
 | 
						|
      to: e.teleport
 | 
						|
    }, {
 | 
						|
      default: () => [T(), h()]
 | 
						|
    }) : v(an, null, [T(), h()]);
 | 
						|
  }
 | 
						|
});
 | 
						|
const Cl = ae(ir), [lr, Oe, qn] = te("picker"), q0 = (e) => e.find((t) => !t.disabled) || e[0];
 | 
						|
function cr(e, t) {
 | 
						|
  const n = e[0];
 | 
						|
  if (n) {
 | 
						|
    if (Array.isArray(n))
 | 
						|
      return "multiple";
 | 
						|
    if (t.children in n)
 | 
						|
      return "cascade";
 | 
						|
  }
 | 
						|
  return "default";
 | 
						|
}
 | 
						|
function $t(e, t) {
 | 
						|
  t = Ee(t, 0, e.length);
 | 
						|
  for (let n = t; n < e.length; n++)
 | 
						|
    if (!e[n].disabled) return n;
 | 
						|
  for (let n = t - 1; n >= 0; n--)
 | 
						|
    if (!e[n].disabled) return n;
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
const Zn = (e, t, n) => t !== void 0 && !!e.find((a) => a[n.value] === t);
 | 
						|
function tn(e, t, n) {
 | 
						|
  const a = e.findIndex((o) => o[n.value] === t), r = $t(e, a);
 | 
						|
  return e[r];
 | 
						|
}
 | 
						|
function ur(e, t, n) {
 | 
						|
  const a = [];
 | 
						|
  let r = {
 | 
						|
    [t.children]: e
 | 
						|
  }, o = 0;
 | 
						|
  for (; r && r[t.children]; ) {
 | 
						|
    const i = r[t.children], u = n.value[o];
 | 
						|
    if (r = le(u) ? tn(i, u, t) : void 0, !r && i.length) {
 | 
						|
      const s = q0(i)[t.value];
 | 
						|
      r = tn(i, s, t);
 | 
						|
    }
 | 
						|
    o++, a.push(i);
 | 
						|
  }
 | 
						|
  return a;
 | 
						|
}
 | 
						|
function sr(e) {
 | 
						|
  const { transform: t } = window.getComputedStyle(e), n = t.slice(7, t.length - 1).split(", ")[5];
 | 
						|
  return Number(n);
 | 
						|
}
 | 
						|
function dr(e) {
 | 
						|
  return ie(
 | 
						|
    {
 | 
						|
      text: "text",
 | 
						|
      value: "value",
 | 
						|
      children: "children"
 | 
						|
    },
 | 
						|
    e
 | 
						|
  );
 | 
						|
}
 | 
						|
const Jn = 200, Qn = 300, fr = 15, [Z0, Lt] = te("picker-column"), J0 = Symbol(Z0);
 | 
						|
var hr = Z({
 | 
						|
  name: Z0,
 | 
						|
  props: {
 | 
						|
    value: q,
 | 
						|
    fields: Pe(Object),
 | 
						|
    options: Ve(),
 | 
						|
    readonly: Boolean,
 | 
						|
    allowHtml: Boolean,
 | 
						|
    optionHeight: Pe(Number),
 | 
						|
    swipeDuration: Pe(q),
 | 
						|
    visibleOptionNum: Pe(q)
 | 
						|
  },
 | 
						|
  emits: ["change", "clickOption", "scrollInto"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    let a, r, o, i, u;
 | 
						|
    const s = z(), c = z(), f = z(0), g = z(0), d = ht(), T = () => e.options.length, x = () => e.optionHeight * (+e.visibleOptionNum - 1) / 2, p = (_) => {
 | 
						|
      let l = $t(e.options, _);
 | 
						|
      const y = -l * e.optionHeight, D = () => {
 | 
						|
        l > T() - 1 && (l = $t(e.options, _));
 | 
						|
        const O = e.options[l][e.fields.value];
 | 
						|
        O !== e.value && t("change", O);
 | 
						|
      };
 | 
						|
      a && y !== f.value ? u = D : D(), f.value = y;
 | 
						|
    }, b = () => e.readonly || !e.options.length, R = (_) => {
 | 
						|
      a || b() || (u = null, g.value = Jn, p(_), t("clickOption", e.options[_]));
 | 
						|
    }, P = (_) => Ee(Math.round(-_ / e.optionHeight), 0, T() - 1), V = N(() => P(f.value)), B = (_, l) => {
 | 
						|
      const y = Math.abs(_ / l);
 | 
						|
      _ = f.value + y / 3e-3 * (_ < 0 ? -1 : 1);
 | 
						|
      const D = P(_);
 | 
						|
      g.value = +e.swipeDuration, p(D);
 | 
						|
    }, h = () => {
 | 
						|
      a = !1, g.value = 0, u && (u(), u = null);
 | 
						|
    }, w = (_) => {
 | 
						|
      if (!b()) {
 | 
						|
        if (d.start(_), a) {
 | 
						|
          const l = sr(c.value);
 | 
						|
          f.value = Math.min(0, l - x());
 | 
						|
        }
 | 
						|
        g.value = 0, r = f.value, o = Date.now(), i = r, u = null;
 | 
						|
      }
 | 
						|
    }, M = (_) => {
 | 
						|
      if (b())
 | 
						|
        return;
 | 
						|
      d.move(_), d.isVertical() && (a = !0, he(_, !0));
 | 
						|
      const l = Ee(r + d.deltaY.value, -(T() * e.optionHeight), e.optionHeight), y = P(l);
 | 
						|
      y !== V.value && t("scrollInto", e.options[y]), f.value = l;
 | 
						|
      const D = Date.now();
 | 
						|
      D - o > Qn && (o = D, i = l);
 | 
						|
    }, S = () => {
 | 
						|
      if (b())
 | 
						|
        return;
 | 
						|
      const _ = f.value - i, l = Date.now() - o;
 | 
						|
      if (l < Qn && Math.abs(_) > fr) {
 | 
						|
        B(_, l);
 | 
						|
        return;
 | 
						|
      }
 | 
						|
      const D = P(f.value);
 | 
						|
      g.value = Jn, p(D), setTimeout(() => {
 | 
						|
        a = !1;
 | 
						|
      }, 0);
 | 
						|
    }, A = () => {
 | 
						|
      const _ = {
 | 
						|
        height: `${e.optionHeight}px`
 | 
						|
      };
 | 
						|
      return e.options.map((l, y) => {
 | 
						|
        const D = l[e.fields.text], {
 | 
						|
          disabled: O
 | 
						|
        } = l, C = l[e.fields.value], $ = {
 | 
						|
          role: "button",
 | 
						|
          style: _,
 | 
						|
          tabindex: O ? -1 : 0,
 | 
						|
          class: [Lt("item", {
 | 
						|
            disabled: O,
 | 
						|
            selected: C === e.value
 | 
						|
          }), l.className],
 | 
						|
          onClick: () => R(y)
 | 
						|
        }, j = {
 | 
						|
          class: "van-ellipsis",
 | 
						|
          [e.allowHtml ? "innerHTML" : "textContent"]: D
 | 
						|
        };
 | 
						|
        return v("li", $, [n.option ? n.option(l, y) : v("div", j, null)]);
 | 
						|
      });
 | 
						|
    };
 | 
						|
    return Fe(J0), fe({
 | 
						|
      stopMomentum: h
 | 
						|
    }), nn(() => {
 | 
						|
      const _ = a ? Math.floor(-f.value / e.optionHeight) : e.options.findIndex((D) => D[e.fields.value] === e.value), l = $t(e.options, _), y = -l * e.optionHeight;
 | 
						|
      a && l < _ && h(), f.value = y;
 | 
						|
    }), Ce("touchmove", M, {
 | 
						|
      target: s
 | 
						|
    }), () => v("div", {
 | 
						|
      ref: s,
 | 
						|
      class: Lt(),
 | 
						|
      onTouchstartPassive: w,
 | 
						|
      onTouchend: S,
 | 
						|
      onTouchcancel: S
 | 
						|
    }, [v("ul", {
 | 
						|
      ref: c,
 | 
						|
      style: {
 | 
						|
        transform: `translate3d(0, ${f.value + x()}px, 0)`,
 | 
						|
        transitionDuration: `${g.value}ms`,
 | 
						|
        transitionProperty: g.value ? "all" : "none"
 | 
						|
      },
 | 
						|
      class: Lt("wrapper"),
 | 
						|
      onTransitionend: h
 | 
						|
    }, [A()])]);
 | 
						|
  }
 | 
						|
});
 | 
						|
const [mr] = te("picker-toolbar"), At = {
 | 
						|
  title: String,
 | 
						|
  cancelButtonText: String,
 | 
						|
  confirmButtonText: String
 | 
						|
}, Q0 = ["cancel", "confirm", "title", "toolbar"], vr = Object.keys(At);
 | 
						|
var e1 = Z({
 | 
						|
  name: mr,
 | 
						|
  props: At,
 | 
						|
  emits: ["confirm", "cancel"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = () => {
 | 
						|
      if (n.title)
 | 
						|
        return n.title();
 | 
						|
      if (e.title)
 | 
						|
        return v("div", {
 | 
						|
          class: [Oe("title"), "van-ellipsis"]
 | 
						|
        }, [e.title]);
 | 
						|
    }, r = () => t("cancel"), o = () => t("confirm"), i = () => {
 | 
						|
      var s;
 | 
						|
      const c = (s = e.cancelButtonText) != null ? s : qn("cancel");
 | 
						|
      if (!(!n.cancel && !c))
 | 
						|
        return v("button", {
 | 
						|
          type: "button",
 | 
						|
          class: [Oe("cancel"), Xe],
 | 
						|
          onClick: r
 | 
						|
        }, [n.cancel ? n.cancel() : c]);
 | 
						|
    }, u = () => {
 | 
						|
      var s;
 | 
						|
      const c = (s = e.confirmButtonText) != null ? s : qn("confirm");
 | 
						|
      if (!(!n.confirm && !c))
 | 
						|
        return v("button", {
 | 
						|
          type: "button",
 | 
						|
          class: [Oe("confirm"), Xe],
 | 
						|
          onClick: o
 | 
						|
        }, [n.confirm ? n.confirm() : c]);
 | 
						|
    };
 | 
						|
    return () => v("div", {
 | 
						|
      class: Oe("toolbar")
 | 
						|
    }, [n.toolbar ? n.toolbar() : [i(), a(), u()]]);
 | 
						|
  }
 | 
						|
});
 | 
						|
const gr = (e, t) => {
 | 
						|
  const n = z(e());
 | 
						|
  return X(e, (a) => {
 | 
						|
    a !== n.value && (n.value = a);
 | 
						|
  }), X(n, (a) => {
 | 
						|
    a !== e() && t(a);
 | 
						|
  }), n;
 | 
						|
};
 | 
						|
/**
 | 
						|
* @vue/shared v3.5.13
 | 
						|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
 | 
						|
* @license MIT
 | 
						|
**/
 | 
						|
process.env.NODE_ENV !== "production" && Object.freeze({});
 | 
						|
process.env.NODE_ENV !== "production" && Object.freeze([]);
 | 
						|
const t1 = Array.isArray, st = (e) => typeof e == "string", n1 = (e) => e !== null && typeof e == "object", br = (e) => {
 | 
						|
  const t = /* @__PURE__ */ Object.create(null);
 | 
						|
  return (n) => t[n] || (t[n] = e(n));
 | 
						|
}, yr = /\B([A-Z])/g, Sr = br(
 | 
						|
  (e) => e.replace(yr, "-$1").toLowerCase()
 | 
						|
);
 | 
						|
function a1(e) {
 | 
						|
  if (t1(e)) {
 | 
						|
    const t = {};
 | 
						|
    for (let n = 0; n < e.length; n++) {
 | 
						|
      const a = e[n], r = st(a) ? $r(a) : a1(a);
 | 
						|
      if (r)
 | 
						|
        for (const o in r)
 | 
						|
          t[o] = r[o];
 | 
						|
    }
 | 
						|
    return t;
 | 
						|
  } else if (st(e) || n1(e))
 | 
						|
    return e;
 | 
						|
}
 | 
						|
const wr = /;(?![^(]*\))/g, Tr = /:([^]+)/, Cr = /\/\*[^]*?\*\//g;
 | 
						|
function $r(e) {
 | 
						|
  const t = {};
 | 
						|
  return e.replace(Cr, "").split(wr).forEach((n) => {
 | 
						|
    if (n) {
 | 
						|
      const a = n.split(Tr);
 | 
						|
      a.length > 1 && (t[a[0].trim()] = a[1].trim());
 | 
						|
    }
 | 
						|
  }), t;
 | 
						|
}
 | 
						|
function xr(e) {
 | 
						|
  if (!e) return "";
 | 
						|
  if (st(e)) return e;
 | 
						|
  let t = "";
 | 
						|
  for (const n in e) {
 | 
						|
    const a = e[n];
 | 
						|
    if (st(a) || typeof a == "number") {
 | 
						|
      const r = n.startsWith("--") ? n : Sr(n);
 | 
						|
      t += `${r}:${a};`;
 | 
						|
    }
 | 
						|
  }
 | 
						|
  return t;
 | 
						|
}
 | 
						|
function o1(e) {
 | 
						|
  let t = "";
 | 
						|
  if (st(e))
 | 
						|
    t = e;
 | 
						|
  else if (t1(e))
 | 
						|
    for (let n = 0; n < e.length; n++) {
 | 
						|
      const a = o1(e[n]);
 | 
						|
      a && (t += a + " ");
 | 
						|
    }
 | 
						|
  else if (n1(e))
 | 
						|
    for (const n in e)
 | 
						|
      e[n] && (t += n + " ");
 | 
						|
  return t.trim();
 | 
						|
}
 | 
						|
function _r(e, t, n) {
 | 
						|
  let a, r = 0;
 | 
						|
  const o = e.scrollLeft, i = n === 0 ? 1 : Math.round(n * 1e3 / 16);
 | 
						|
  let u = o;
 | 
						|
  function s() {
 | 
						|
    _0(a);
 | 
						|
  }
 | 
						|
  function c() {
 | 
						|
    u += (t - o) / i, e.scrollLeft = u, ++r < i && (a = ct(c));
 | 
						|
  }
 | 
						|
  return c(), s;
 | 
						|
}
 | 
						|
function Or(e, t, n, a) {
 | 
						|
  let r, o = sn(e);
 | 
						|
  const i = o < t, u = n === 0 ? 1 : Math.round(n * 1e3 / 16), s = (t - o) / u;
 | 
						|
  function c() {
 | 
						|
    _0(r);
 | 
						|
  }
 | 
						|
  function f() {
 | 
						|
    o += s, (i && o > t || !i && o < t) && (o = t), Zt(e, o), i && o < t || !i && o > t ? r = ct(f) : r = ct(a);
 | 
						|
  }
 | 
						|
  return f(), c;
 | 
						|
}
 | 
						|
let Er = 0;
 | 
						|
function bn() {
 | 
						|
  const e = Re(), { name: t = "unknown" } = (e == null ? void 0 : e.type) || {};
 | 
						|
  return process.env.NODE_ENV === "test" ? t : `${t}-${++Er}`;
 | 
						|
}
 | 
						|
function yn() {
 | 
						|
  const e = z([]), t = [];
 | 
						|
  return k1(() => {
 | 
						|
    e.value = [];
 | 
						|
  }), [e, (a) => (t[a] || (t[a] = (r) => {
 | 
						|
    e.value[a] = r;
 | 
						|
  }), t[a])];
 | 
						|
}
 | 
						|
function r1(e, t) {
 | 
						|
  if (!pt || !window.IntersectionObserver)
 | 
						|
    return;
 | 
						|
  const n = new IntersectionObserver(
 | 
						|
    (o) => {
 | 
						|
      t(o[0].intersectionRatio > 0);
 | 
						|
    },
 | 
						|
    { root: document.body }
 | 
						|
  ), a = () => {
 | 
						|
    e.value && n.observe(e.value);
 | 
						|
  }, r = () => {
 | 
						|
    e.value && n.unobserve(e.value);
 | 
						|
  };
 | 
						|
  qe(r), Pt(r), Dt(a);
 | 
						|
}
 | 
						|
const [kr, Pr] = te("sticky"), Ir = {
 | 
						|
  zIndex: q,
 | 
						|
  position: ce("top"),
 | 
						|
  container: Object,
 | 
						|
  offsetTop: ne(0),
 | 
						|
  offsetBottom: ne(0)
 | 
						|
};
 | 
						|
var Vr = Z({
 | 
						|
  name: kr,
 | 
						|
  props: Ir,
 | 
						|
  emits: ["scroll", "change"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = z(), r = k0(a), o = Ie({
 | 
						|
      fixed: !1,
 | 
						|
      width: 0,
 | 
						|
      // root width
 | 
						|
      height: 0,
 | 
						|
      // root height
 | 
						|
      transform: 0
 | 
						|
    }), i = z(!1), u = N(() => vn(e.position === "top" ? e.offsetTop : e.offsetBottom)), s = N(() => {
 | 
						|
      if (i.value)
 | 
						|
        return;
 | 
						|
      const {
 | 
						|
        fixed: d,
 | 
						|
        height: T,
 | 
						|
        width: x
 | 
						|
      } = o;
 | 
						|
      if (d)
 | 
						|
        return {
 | 
						|
          width: `${x}px`,
 | 
						|
          height: `${T}px`
 | 
						|
        };
 | 
						|
    }), c = N(() => {
 | 
						|
      if (!o.fixed || i.value)
 | 
						|
        return;
 | 
						|
      const d = ie(p0(e.zIndex), {
 | 
						|
        width: `${o.width}px`,
 | 
						|
        height: `${o.height}px`,
 | 
						|
        [e.position]: `${u.value}px`
 | 
						|
      });
 | 
						|
      return o.transform && (d.transform = `translate3d(0, ${o.transform}px, 0)`), d;
 | 
						|
    }), f = (d) => t("scroll", {
 | 
						|
      scrollTop: d,
 | 
						|
      isFixed: o.fixed
 | 
						|
    }), g = () => {
 | 
						|
      if (!a.value || ut(a))
 | 
						|
        return;
 | 
						|
      const {
 | 
						|
        container: d,
 | 
						|
        position: T
 | 
						|
      } = e, x = ye(a), p = sn(window);
 | 
						|
      if (o.width = x.width, o.height = x.height, T === "top")
 | 
						|
        if (d) {
 | 
						|
          const b = ye(d), R = b.bottom - u.value - o.height;
 | 
						|
          o.fixed = u.value > x.top && b.bottom > 0, o.transform = R < 0 ? R : 0;
 | 
						|
        } else
 | 
						|
          o.fixed = u.value > x.top;
 | 
						|
      else {
 | 
						|
        const {
 | 
						|
          clientHeight: b
 | 
						|
        } = document.documentElement;
 | 
						|
        if (d) {
 | 
						|
          const R = ye(d), P = b - R.top - u.value - o.height;
 | 
						|
          o.fixed = b - u.value < x.bottom && b > R.top, o.transform = P < 0 ? -P : 0;
 | 
						|
        } else
 | 
						|
          o.fixed = b - u.value < x.bottom;
 | 
						|
      }
 | 
						|
      f(p);
 | 
						|
    };
 | 
						|
    return X(() => o.fixed, (d) => t("change", d)), Ce("scroll", g, {
 | 
						|
      target: r,
 | 
						|
      passive: !0
 | 
						|
    }), r1(a, g), X([Mt, hn], () => {
 | 
						|
      !a.value || ut(a) || !o.fixed || (i.value = !0, ue(() => {
 | 
						|
        const d = ye(a);
 | 
						|
        o.width = d.width, o.height = d.height, i.value = !1;
 | 
						|
      }));
 | 
						|
    }), () => {
 | 
						|
      var d;
 | 
						|
      return v("div", {
 | 
						|
        ref: a,
 | 
						|
        style: s.value
 | 
						|
      }, [v("div", {
 | 
						|
        class: Pr({
 | 
						|
          fixed: o.fixed && !i.value
 | 
						|
        }),
 | 
						|
        style: c.value
 | 
						|
      }, [(d = n.default) == null ? void 0 : d.call(n)])]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const pr = ae(Vr), [i1, yt] = te("swipe"), Br = {
 | 
						|
  loop: ee,
 | 
						|
  width: q,
 | 
						|
  height: q,
 | 
						|
  vertical: Boolean,
 | 
						|
  autoplay: ne(0),
 | 
						|
  duration: ne(500),
 | 
						|
  touchable: ee,
 | 
						|
  lazyRender: Boolean,
 | 
						|
  initialSwipe: ne(0),
 | 
						|
  indicatorColor: String,
 | 
						|
  showIndicators: ee,
 | 
						|
  stopPropagation: ee
 | 
						|
}, l1 = Symbol(i1);
 | 
						|
var Dr = Z({
 | 
						|
  name: i1,
 | 
						|
  props: Br,
 | 
						|
  emits: ["change", "dragStart", "dragEnd"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = z(), r = z(), o = Ie({
 | 
						|
      rect: null,
 | 
						|
      width: 0,
 | 
						|
      height: 0,
 | 
						|
      offset: 0,
 | 
						|
      active: 0,
 | 
						|
      swiping: !1
 | 
						|
    });
 | 
						|
    let i = !1;
 | 
						|
    const u = ht(), {
 | 
						|
      children: s,
 | 
						|
      linkChildren: c
 | 
						|
    } = Le(l1), f = N(() => s.length), g = N(() => o[e.vertical ? "height" : "width"]), d = N(() => e.vertical ? u.deltaY.value : u.deltaX.value), T = N(() => o.rect ? (e.vertical ? o.rect.height : o.rect.width) - g.value * f.value : 0), x = N(() => g.value ? Math.ceil(Math.abs(T.value) / g.value) : f.value), p = N(() => f.value * g.value), b = N(() => (o.active + f.value) % f.value), R = N(() => {
 | 
						|
      const I = e.vertical ? "vertical" : "horizontal";
 | 
						|
      return u.direction.value === I;
 | 
						|
    }), P = N(() => {
 | 
						|
      const I = {
 | 
						|
        transitionDuration: `${o.swiping ? 0 : e.duration}ms`,
 | 
						|
        transform: `translate${e.vertical ? "Y" : "X"}(${+o.offset.toFixed(2)}px)`
 | 
						|
      };
 | 
						|
      if (g.value) {
 | 
						|
        const W = e.vertical ? "height" : "width", K = e.vertical ? "width" : "height";
 | 
						|
        I[W] = `${p.value}px`, I[K] = e[K] ? `${e[K]}px` : "";
 | 
						|
      }
 | 
						|
      return I;
 | 
						|
    }), V = (I) => {
 | 
						|
      const {
 | 
						|
        active: W
 | 
						|
      } = o;
 | 
						|
      return I ? e.loop ? Ee(W + I, -1, f.value) : Ee(W + I, 0, x.value) : W;
 | 
						|
    }, B = (I, W = 0) => {
 | 
						|
      let K = I * g.value;
 | 
						|
      e.loop || (K = Math.min(K, -T.value));
 | 
						|
      let J = W - K;
 | 
						|
      return e.loop || (J = Ee(J, T.value, 0)), J;
 | 
						|
    }, h = ({
 | 
						|
      pace: I = 0,
 | 
						|
      offset: W = 0,
 | 
						|
      emitChange: K
 | 
						|
    }) => {
 | 
						|
      if (f.value <= 1)
 | 
						|
        return;
 | 
						|
      const {
 | 
						|
        active: J
 | 
						|
      } = o, k = V(I), G = B(k, W);
 | 
						|
      if (e.loop) {
 | 
						|
        if (s[0] && G !== T.value) {
 | 
						|
          const m = G < T.value;
 | 
						|
          s[0].setOffset(m ? p.value : 0);
 | 
						|
        }
 | 
						|
        if (s[f.value - 1] && G !== 0) {
 | 
						|
          const m = G > 0;
 | 
						|
          s[f.value - 1].setOffset(m ? -p.value : 0);
 | 
						|
        }
 | 
						|
      }
 | 
						|
      o.active = k, o.offset = G, K && k !== J && t("change", b.value);
 | 
						|
    }, w = () => {
 | 
						|
      o.swiping = !0, o.active <= -1 ? h({
 | 
						|
        pace: f.value
 | 
						|
      }) : o.active >= f.value && h({
 | 
						|
        pace: -f.value
 | 
						|
      });
 | 
						|
    }, M = () => {
 | 
						|
      w(), u.reset(), ot(() => {
 | 
						|
        o.swiping = !1, h({
 | 
						|
          pace: -1,
 | 
						|
          emitChange: !0
 | 
						|
        });
 | 
						|
      });
 | 
						|
    }, S = () => {
 | 
						|
      w(), u.reset(), ot(() => {
 | 
						|
        o.swiping = !1, h({
 | 
						|
          pace: 1,
 | 
						|
          emitChange: !0
 | 
						|
        });
 | 
						|
      });
 | 
						|
    };
 | 
						|
    let A;
 | 
						|
    const _ = () => clearTimeout(A), l = () => {
 | 
						|
      _(), +e.autoplay > 0 && f.value > 1 && (A = setTimeout(() => {
 | 
						|
        S(), l();
 | 
						|
      }, +e.autoplay));
 | 
						|
    }, y = (I = +e.initialSwipe) => {
 | 
						|
      if (!a.value)
 | 
						|
        return;
 | 
						|
      const W = () => {
 | 
						|
        var K, J;
 | 
						|
        if (!ut(a)) {
 | 
						|
          const k = {
 | 
						|
            width: a.value.offsetWidth,
 | 
						|
            height: a.value.offsetHeight
 | 
						|
          };
 | 
						|
          o.rect = k, o.width = +((K = e.width) != null ? K : k.width), o.height = +((J = e.height) != null ? J : k.height);
 | 
						|
        }
 | 
						|
        f.value && (I = Math.min(f.value - 1, I), I === -1 && (I = f.value - 1)), o.active = I, o.swiping = !0, o.offset = B(I), s.forEach((k) => {
 | 
						|
          k.setOffset(0);
 | 
						|
        }), l();
 | 
						|
      };
 | 
						|
      ut(a) ? ue().then(W) : W();
 | 
						|
    }, D = () => y(o.active);
 | 
						|
    let O;
 | 
						|
    const C = (I) => {
 | 
						|
      !e.touchable || // avoid resetting position on multi-finger touch
 | 
						|
      I.touches.length > 1 || (u.start(I), i = !1, O = Date.now(), _(), w());
 | 
						|
    }, $ = (I) => {
 | 
						|
      e.touchable && o.swiping && (u.move(I), R.value && (!e.loop && (o.active === 0 && d.value > 0 || o.active === f.value - 1 && d.value < 0) || (he(I, e.stopPropagation), h({
 | 
						|
        offset: d.value
 | 
						|
      }), i || (t("dragStart", {
 | 
						|
        index: b.value
 | 
						|
      }), i = !0))));
 | 
						|
    }, j = () => {
 | 
						|
      if (!e.touchable || !o.swiping)
 | 
						|
        return;
 | 
						|
      const I = Date.now() - O, W = d.value / I;
 | 
						|
      if ((Math.abs(W) > 0.25 || Math.abs(d.value) > g.value / 2) && R.value) {
 | 
						|
        const J = e.vertical ? u.offsetY.value : u.offsetX.value;
 | 
						|
        let k = 0;
 | 
						|
        e.loop ? k = J > 0 ? d.value > 0 ? -1 : 1 : 0 : k = -Math[d.value > 0 ? "ceil" : "floor"](d.value / g.value), h({
 | 
						|
          pace: k,
 | 
						|
          emitChange: !0
 | 
						|
        });
 | 
						|
      } else d.value && h({
 | 
						|
        pace: 0
 | 
						|
      });
 | 
						|
      i = !1, o.swiping = !1, t("dragEnd", {
 | 
						|
        index: b.value
 | 
						|
      }), l();
 | 
						|
    }, E = (I, W = {}) => {
 | 
						|
      w(), u.reset(), ot(() => {
 | 
						|
        let K;
 | 
						|
        e.loop && I === f.value ? K = o.active === 0 ? 0 : I : K = I % f.value, W.immediate ? ot(() => {
 | 
						|
          o.swiping = !1;
 | 
						|
        }) : o.swiping = !1, h({
 | 
						|
          pace: K - o.active,
 | 
						|
          emitChange: !0
 | 
						|
        });
 | 
						|
      });
 | 
						|
    }, H = (I, W) => {
 | 
						|
      const K = W === b.value, J = K ? {
 | 
						|
        backgroundColor: e.indicatorColor
 | 
						|
      } : void 0;
 | 
						|
      return v("i", {
 | 
						|
        style: J,
 | 
						|
        class: yt("indicator", {
 | 
						|
          active: K
 | 
						|
        })
 | 
						|
      }, null);
 | 
						|
    }, Y = () => {
 | 
						|
      if (n.indicator)
 | 
						|
        return n.indicator({
 | 
						|
          active: b.value,
 | 
						|
          total: f.value
 | 
						|
        });
 | 
						|
      if (e.showIndicators && f.value > 1)
 | 
						|
        return v("div", {
 | 
						|
          class: yt("indicators", {
 | 
						|
            vertical: e.vertical
 | 
						|
          })
 | 
						|
        }, [Array(f.value).fill("").map(H)]);
 | 
						|
    };
 | 
						|
    return fe({
 | 
						|
      prev: M,
 | 
						|
      next: S,
 | 
						|
      state: o,
 | 
						|
      resize: D,
 | 
						|
      swipeTo: E
 | 
						|
    }), c({
 | 
						|
      size: g,
 | 
						|
      props: e,
 | 
						|
      count: f,
 | 
						|
      activeIndicator: b
 | 
						|
    }), X(() => e.initialSwipe, (I) => y(+I)), X(f, () => y(o.active)), X(() => e.autoplay, l), X([Mt, hn, () => e.width, () => e.height], D), X(mo(), (I) => {
 | 
						|
      I === "visible" ? l() : _();
 | 
						|
    }), je(y), ft(() => y(o.active)), F0(() => y(o.active)), qe(_), Pt(_), Ce("touchmove", $, {
 | 
						|
      target: r
 | 
						|
    }), () => {
 | 
						|
      var I;
 | 
						|
      return v("div", {
 | 
						|
        ref: a,
 | 
						|
        class: yt()
 | 
						|
      }, [v("div", {
 | 
						|
        ref: r,
 | 
						|
        style: P.value,
 | 
						|
        class: yt("track", {
 | 
						|
          vertical: e.vertical
 | 
						|
        }),
 | 
						|
        onTouchstartPassive: C,
 | 
						|
        onTouchend: j,
 | 
						|
        onTouchcancel: j
 | 
						|
      }, [(I = n.default) == null ? void 0 : I.call(n)]), Y()]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const Mr = ae(Dr), [Ar, e0] = te("tabs");
 | 
						|
var Rr = Z({
 | 
						|
  name: Ar,
 | 
						|
  props: {
 | 
						|
    count: Pe(Number),
 | 
						|
    inited: Boolean,
 | 
						|
    animated: Boolean,
 | 
						|
    duration: Pe(q),
 | 
						|
    swipeable: Boolean,
 | 
						|
    lazyRender: Boolean,
 | 
						|
    currentIndex: Pe(Number)
 | 
						|
  },
 | 
						|
  emits: ["change"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = z(), r = (u) => t("change", u), o = () => {
 | 
						|
      var u;
 | 
						|
      const s = (u = n.default) == null ? void 0 : u.call(n);
 | 
						|
      return e.animated || e.swipeable ? v(Mr, {
 | 
						|
        ref: a,
 | 
						|
        loop: !1,
 | 
						|
        class: e0("track"),
 | 
						|
        duration: +e.duration * 1e3,
 | 
						|
        touchable: e.swipeable,
 | 
						|
        lazyRender: e.lazyRender,
 | 
						|
        showIndicators: !1,
 | 
						|
        onChange: r
 | 
						|
      }, {
 | 
						|
        default: () => [s]
 | 
						|
      }) : s;
 | 
						|
    }, i = (u) => {
 | 
						|
      const s = a.value;
 | 
						|
      s && s.state.active !== u && s.swipeTo(u, {
 | 
						|
        immediate: !e.inited
 | 
						|
      });
 | 
						|
    };
 | 
						|
    return X(() => e.currentIndex, i), je(() => {
 | 
						|
      i(e.currentIndex);
 | 
						|
    }), fe({
 | 
						|
      swipeRef: a
 | 
						|
    }), () => v("div", {
 | 
						|
      class: e0("content", {
 | 
						|
        animated: e.animated || e.swipeable
 | 
						|
      })
 | 
						|
    }, [o()]);
 | 
						|
  }
 | 
						|
});
 | 
						|
const [c1, St] = te("tabs"), jr = {
 | 
						|
  type: ce("line"),
 | 
						|
  color: String,
 | 
						|
  border: Boolean,
 | 
						|
  sticky: Boolean,
 | 
						|
  shrink: Boolean,
 | 
						|
  active: ne(0),
 | 
						|
  duration: ne(0.3),
 | 
						|
  animated: Boolean,
 | 
						|
  ellipsis: ee,
 | 
						|
  swipeable: Boolean,
 | 
						|
  scrollspy: Boolean,
 | 
						|
  offsetTop: ne(0),
 | 
						|
  background: String,
 | 
						|
  lazyRender: ee,
 | 
						|
  showHeader: ee,
 | 
						|
  lineWidth: q,
 | 
						|
  lineHeight: q,
 | 
						|
  beforeChange: Function,
 | 
						|
  swipeThreshold: ne(5),
 | 
						|
  titleActiveColor: String,
 | 
						|
  titleInactiveColor: String
 | 
						|
}, u1 = Symbol(c1);
 | 
						|
var Nr = Z({
 | 
						|
  name: c1,
 | 
						|
  props: jr,
 | 
						|
  emits: ["change", "scroll", "rendered", "clickTab", "update:active"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    let a, r, o, i, u;
 | 
						|
    const s = z(), c = z(), f = z(), g = z(), d = bn(), T = k0(s), [x, p] = yn(), {
 | 
						|
      children: b,
 | 
						|
      linkChildren: R
 | 
						|
    } = Le(u1), P = Ie({
 | 
						|
      inited: !1,
 | 
						|
      position: "",
 | 
						|
      lineStyle: {},
 | 
						|
      currentIndex: -1
 | 
						|
    }), V = N(() => b.length > +e.swipeThreshold || !e.ellipsis || e.shrink), B = N(() => ({
 | 
						|
      borderColor: e.color,
 | 
						|
      background: e.background
 | 
						|
    })), h = (k, G) => {
 | 
						|
      var m;
 | 
						|
      return (m = k.name) != null ? m : G;
 | 
						|
    }, w = N(() => {
 | 
						|
      const k = b[P.currentIndex];
 | 
						|
      if (k)
 | 
						|
        return h(k, P.currentIndex);
 | 
						|
    }), M = N(() => vn(e.offsetTop)), S = N(() => e.sticky ? M.value + a : 0), A = (k) => {
 | 
						|
      const G = c.value, m = x.value;
 | 
						|
      if (!V.value || !G || !m || !m[P.currentIndex])
 | 
						|
        return;
 | 
						|
      const L = m[P.currentIndex].$el, F = L.offsetLeft - (G.offsetWidth - L.offsetWidth) / 2;
 | 
						|
      i && i(), i = _r(G, F, k ? 0 : +e.duration);
 | 
						|
    }, _ = () => {
 | 
						|
      const k = P.inited;
 | 
						|
      ue(() => {
 | 
						|
        const G = x.value;
 | 
						|
        if (!G || !G[P.currentIndex] || e.type !== "line" || ut(s.value))
 | 
						|
          return;
 | 
						|
        const m = G[P.currentIndex].$el, {
 | 
						|
          lineWidth: L,
 | 
						|
          lineHeight: F
 | 
						|
        } = e, U = m.offsetLeft + m.offsetWidth / 2, Q = {
 | 
						|
          width: re(L),
 | 
						|
          backgroundColor: e.color,
 | 
						|
          transform: `translateX(${U}px) translateX(-50%)`
 | 
						|
        };
 | 
						|
        if (k && (Q.transitionDuration = `${e.duration}s`), le(F)) {
 | 
						|
          const se = re(F);
 | 
						|
          Q.height = se, Q.borderRadius = se;
 | 
						|
        }
 | 
						|
        P.lineStyle = Q;
 | 
						|
      });
 | 
						|
    }, l = (k) => {
 | 
						|
      const G = k < P.currentIndex ? -1 : 1;
 | 
						|
      for (; k >= 0 && k < b.length; ) {
 | 
						|
        if (!b[k].disabled)
 | 
						|
          return k;
 | 
						|
        k += G;
 | 
						|
      }
 | 
						|
    }, y = (k, G) => {
 | 
						|
      const m = l(k);
 | 
						|
      if (!le(m))
 | 
						|
        return;
 | 
						|
      const L = b[m], F = h(L, m), U = P.currentIndex !== null;
 | 
						|
      P.currentIndex !== m && (P.currentIndex = m, G || A(), _()), F !== e.active && (t("update:active", F), U && t("change", F, L.title)), o && !e.scrollspy && fn(Math.ceil(Fn(s.value) - M.value));
 | 
						|
    }, D = (k, G) => {
 | 
						|
      const m = b.find((F, U) => h(F, U) === k), L = m ? b.indexOf(m) : 0;
 | 
						|
      y(L, G);
 | 
						|
    }, O = (k = !1) => {
 | 
						|
      if (e.scrollspy) {
 | 
						|
        const G = b[P.currentIndex].$el;
 | 
						|
        if (G && T.value) {
 | 
						|
          const m = Fn(G, T.value) - S.value;
 | 
						|
          r = !0, u && u(), u = Or(T.value, m, k ? 0 : +e.duration, () => {
 | 
						|
            r = !1;
 | 
						|
          });
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }, C = (k, G, m) => {
 | 
						|
      const {
 | 
						|
        title: L,
 | 
						|
        disabled: F
 | 
						|
      } = b[G], U = h(b[G], G);
 | 
						|
      F || (gn(e.beforeChange, {
 | 
						|
        args: [U],
 | 
						|
        done: () => {
 | 
						|
          y(G), O();
 | 
						|
        }
 | 
						|
      }), H0(k)), t("clickTab", {
 | 
						|
        name: U,
 | 
						|
        title: L,
 | 
						|
        event: m,
 | 
						|
        disabled: F
 | 
						|
      });
 | 
						|
    }, $ = (k) => {
 | 
						|
      o = k.isFixed, t("scroll", k);
 | 
						|
    }, j = (k) => {
 | 
						|
      ue(() => {
 | 
						|
        D(k), O(!0);
 | 
						|
      });
 | 
						|
    }, E = () => {
 | 
						|
      for (let k = 0; k < b.length; k++) {
 | 
						|
        const {
 | 
						|
          top: G
 | 
						|
        } = ye(b[k].$el);
 | 
						|
        if (G > S.value)
 | 
						|
          return k === 0 ? 0 : k - 1;
 | 
						|
      }
 | 
						|
      return b.length - 1;
 | 
						|
    }, H = () => {
 | 
						|
      if (e.scrollspy && !r) {
 | 
						|
        const k = E();
 | 
						|
        y(k);
 | 
						|
      }
 | 
						|
    }, Y = () => {
 | 
						|
      if (e.type === "line" && b.length)
 | 
						|
        return v("div", {
 | 
						|
          class: St("line"),
 | 
						|
          style: P.lineStyle
 | 
						|
        }, null);
 | 
						|
    }, I = () => {
 | 
						|
      var k, G, m;
 | 
						|
      const {
 | 
						|
        type: L,
 | 
						|
        border: F,
 | 
						|
        sticky: U
 | 
						|
      } = e, Q = [v("div", {
 | 
						|
        ref: U ? void 0 : f,
 | 
						|
        class: [St("wrap"), {
 | 
						|
          [j0]: L === "line" && F
 | 
						|
        }]
 | 
						|
      }, [v("div", {
 | 
						|
        ref: c,
 | 
						|
        role: "tablist",
 | 
						|
        class: St("nav", [L, {
 | 
						|
          shrink: e.shrink,
 | 
						|
          complete: V.value
 | 
						|
        }]),
 | 
						|
        style: B.value,
 | 
						|
        "aria-orientation": "horizontal"
 | 
						|
      }, [(k = n["nav-left"]) == null ? void 0 : k.call(n), b.map((se) => se.renderTitle(C)), Y(), (G = n["nav-right"]) == null ? void 0 : G.call(n)])]), (m = n["nav-bottom"]) == null ? void 0 : m.call(n)];
 | 
						|
      return U ? v("div", {
 | 
						|
        ref: f
 | 
						|
      }, [Q]) : Q;
 | 
						|
    }, W = () => {
 | 
						|
      _(), ue(() => {
 | 
						|
        var k, G;
 | 
						|
        A(!0), (G = (k = g.value) == null ? void 0 : k.swipeRef.value) == null || G.resize();
 | 
						|
      });
 | 
						|
    };
 | 
						|
    X(() => [e.color, e.duration, e.lineWidth, e.lineHeight], _), X(Mt, W), X(() => e.active, (k) => {
 | 
						|
      k !== w.value && D(k);
 | 
						|
    }), X(() => b.length, () => {
 | 
						|
      P.inited && (D(e.active), _(), ue(() => {
 | 
						|
        A(!0);
 | 
						|
      }));
 | 
						|
    });
 | 
						|
    const K = () => {
 | 
						|
      D(e.active, !0), ue(() => {
 | 
						|
        P.inited = !0, f.value && (a = ye(f.value).height), A(!0);
 | 
						|
      });
 | 
						|
    }, J = (k, G) => t("rendered", k, G);
 | 
						|
    return fe({
 | 
						|
      resize: W,
 | 
						|
      scrollTo: j
 | 
						|
    }), ft(_), F0(_), Dt(K), r1(s, _), Ce("scroll", H, {
 | 
						|
      target: T,
 | 
						|
      passive: !0
 | 
						|
    }), R({
 | 
						|
      id: d,
 | 
						|
      props: e,
 | 
						|
      setLine: _,
 | 
						|
      scrollable: V,
 | 
						|
      onRendered: J,
 | 
						|
      currentName: w,
 | 
						|
      setTitleRefs: p,
 | 
						|
      scrollIntoView: A
 | 
						|
    }), () => v("div", {
 | 
						|
      ref: s,
 | 
						|
      class: St([e.type])
 | 
						|
    }, [e.showHeader ? e.sticky ? v(pr, {
 | 
						|
      container: s.value,
 | 
						|
      offsetTop: M.value,
 | 
						|
      onScroll: $
 | 
						|
    }, {
 | 
						|
      default: () => [I()]
 | 
						|
    }) : I() : null, v(Rr, {
 | 
						|
      ref: g,
 | 
						|
      count: b.length,
 | 
						|
      inited: P.inited,
 | 
						|
      animated: e.animated,
 | 
						|
      duration: e.duration,
 | 
						|
      swipeable: e.swipeable,
 | 
						|
      lazyRender: e.lazyRender,
 | 
						|
      currentIndex: P.currentIndex,
 | 
						|
      onChange: y
 | 
						|
    }, {
 | 
						|
      default: () => {
 | 
						|
        var k;
 | 
						|
        return [(k = n.default) == null ? void 0 : k.call(n)];
 | 
						|
      }
 | 
						|
    })]);
 | 
						|
  }
 | 
						|
});
 | 
						|
const zr = Symbol(), [Fr, t0] = te("tab"), Lr = Z({
 | 
						|
  name: Fr,
 | 
						|
  props: {
 | 
						|
    id: String,
 | 
						|
    dot: Boolean,
 | 
						|
    type: String,
 | 
						|
    color: String,
 | 
						|
    title: String,
 | 
						|
    badge: q,
 | 
						|
    shrink: Boolean,
 | 
						|
    isActive: Boolean,
 | 
						|
    disabled: Boolean,
 | 
						|
    controls: String,
 | 
						|
    scrollable: Boolean,
 | 
						|
    activeColor: String,
 | 
						|
    inactiveColor: String,
 | 
						|
    showZeroBadge: ee
 | 
						|
  },
 | 
						|
  setup(e, {
 | 
						|
    slots: t
 | 
						|
  }) {
 | 
						|
    const n = N(() => {
 | 
						|
      const r = {}, {
 | 
						|
        type: o,
 | 
						|
        color: i,
 | 
						|
        disabled: u,
 | 
						|
        isActive: s,
 | 
						|
        activeColor: c,
 | 
						|
        inactiveColor: f
 | 
						|
      } = e;
 | 
						|
      i && o === "card" && (r.borderColor = i, u || (s ? r.backgroundColor = i : r.color = i));
 | 
						|
      const d = s ? c : f;
 | 
						|
      return d && (r.color = d), r;
 | 
						|
    }), a = () => {
 | 
						|
      const r = v("span", {
 | 
						|
        class: t0("text", {
 | 
						|
          ellipsis: !e.scrollable
 | 
						|
        })
 | 
						|
      }, [t.title ? t.title() : e.title]);
 | 
						|
      return e.dot || le(e.badge) && e.badge !== "" ? v(Y0, {
 | 
						|
        dot: e.dot,
 | 
						|
        content: e.badge,
 | 
						|
        showZero: e.showZeroBadge
 | 
						|
      }, {
 | 
						|
        default: () => [r]
 | 
						|
      }) : r;
 | 
						|
    };
 | 
						|
    return () => v("div", {
 | 
						|
      id: e.id,
 | 
						|
      role: "tab",
 | 
						|
      class: [t0([e.type, {
 | 
						|
        grow: e.scrollable && !e.shrink,
 | 
						|
        shrink: e.shrink,
 | 
						|
        active: e.isActive,
 | 
						|
        disabled: e.disabled
 | 
						|
      }])],
 | 
						|
      style: n.value,
 | 
						|
      tabindex: e.disabled ? void 0 : e.isActive ? 0 : -1,
 | 
						|
      "aria-selected": e.isActive,
 | 
						|
      "aria-disabled": e.disabled || void 0,
 | 
						|
      "aria-controls": e.controls,
 | 
						|
      "data-allow-mismatch": "attribute"
 | 
						|
    }, [a()]);
 | 
						|
  }
 | 
						|
}), [Hr, Yr] = te("swipe-item");
 | 
						|
var Wr = Z({
 | 
						|
  name: Hr,
 | 
						|
  setup(e, {
 | 
						|
    slots: t
 | 
						|
  }) {
 | 
						|
    let n;
 | 
						|
    const a = Ie({
 | 
						|
      offset: 0,
 | 
						|
      inited: !1,
 | 
						|
      mounted: !1
 | 
						|
    }), {
 | 
						|
      parent: r,
 | 
						|
      index: o
 | 
						|
    } = Fe(l1);
 | 
						|
    if (!r) {
 | 
						|
      process.env.NODE_ENV !== "production" && console.error("[Vant] <SwipeItem> must be a child component of <Swipe>.");
 | 
						|
      return;
 | 
						|
    }
 | 
						|
    const i = N(() => {
 | 
						|
      const c = {}, {
 | 
						|
        vertical: f
 | 
						|
      } = r.props;
 | 
						|
      return r.size.value && (c[f ? "height" : "width"] = `${r.size.value}px`), a.offset && (c.transform = `translate${f ? "Y" : "X"}(${a.offset}px)`), c;
 | 
						|
    }), u = N(() => {
 | 
						|
      const {
 | 
						|
        loop: c,
 | 
						|
        lazyRender: f
 | 
						|
      } = r.props;
 | 
						|
      if (!f || n)
 | 
						|
        return !0;
 | 
						|
      if (!a.mounted)
 | 
						|
        return !1;
 | 
						|
      const g = r.activeIndicator.value, d = r.count.value - 1, T = g === 0 && c ? d : g - 1, x = g === d && c ? 0 : g + 1;
 | 
						|
      return n = o.value === g || o.value === T || o.value === x, n;
 | 
						|
    }), s = (c) => {
 | 
						|
      a.offset = c;
 | 
						|
    };
 | 
						|
    return je(() => {
 | 
						|
      ue(() => {
 | 
						|
        a.mounted = !0;
 | 
						|
      });
 | 
						|
    }), fe({
 | 
						|
      setOffset: s
 | 
						|
    }), () => {
 | 
						|
      var c;
 | 
						|
      return v("div", {
 | 
						|
        class: Yr(),
 | 
						|
        style: i.value
 | 
						|
      }, [u.value ? (c = t.default) == null ? void 0 : c.call(t) : null]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const Gr = ae(Wr), [Ur, Ht] = te("tab"), Kr = ie({}, L0, {
 | 
						|
  dot: Boolean,
 | 
						|
  name: q,
 | 
						|
  badge: q,
 | 
						|
  title: String,
 | 
						|
  disabled: Boolean,
 | 
						|
  titleClass: me,
 | 
						|
  titleStyle: [String, Object],
 | 
						|
  showZeroBadge: ee
 | 
						|
});
 | 
						|
var Xr = Z({
 | 
						|
  name: Ur,
 | 
						|
  props: Kr,
 | 
						|
  setup(e, {
 | 
						|
    slots: t
 | 
						|
  }) {
 | 
						|
    const n = bn(), a = z(!1), r = Re(), {
 | 
						|
      parent: o,
 | 
						|
      index: i
 | 
						|
    } = Fe(u1);
 | 
						|
    if (!o) {
 | 
						|
      process.env.NODE_ENV !== "production" && console.error("[Vant] <Tab> must be a child component of <Tabs>.");
 | 
						|
      return;
 | 
						|
    }
 | 
						|
    const u = () => {
 | 
						|
      var x;
 | 
						|
      return (x = e.name) != null ? x : i.value;
 | 
						|
    }, s = () => {
 | 
						|
      a.value = !0, o.props.lazyRender && ue(() => {
 | 
						|
        o.onRendered(u(), e.title);
 | 
						|
      });
 | 
						|
    }, c = N(() => {
 | 
						|
      const x = u() === o.currentName.value;
 | 
						|
      return x && !a.value && s(), x;
 | 
						|
    }), f = z(""), g = z("");
 | 
						|
    nn(() => {
 | 
						|
      const {
 | 
						|
        titleClass: x,
 | 
						|
        titleStyle: p
 | 
						|
      } = e;
 | 
						|
      f.value = x ? o1(x) : "", g.value = p && typeof p != "string" ? xr(a1(p)) : p;
 | 
						|
    });
 | 
						|
    const d = (x) => v(Lr, de({
 | 
						|
      key: n,
 | 
						|
      id: `${o.id}-${i.value}`,
 | 
						|
      ref: o.setTitleRefs(i.value),
 | 
						|
      style: g.value,
 | 
						|
      class: f.value,
 | 
						|
      isActive: c.value,
 | 
						|
      controls: n,
 | 
						|
      scrollable: o.scrollable.value,
 | 
						|
      activeColor: o.props.titleActiveColor,
 | 
						|
      inactiveColor: o.props.titleInactiveColor,
 | 
						|
      onClick: (p) => x(r.proxy, i.value, p)
 | 
						|
    }, be(o.props, ["type", "color", "shrink"]), be(e, ["dot", "badge", "title", "disabled", "showZeroBadge"])), {
 | 
						|
      title: t.title
 | 
						|
    }), T = z(!c.value);
 | 
						|
    return X(c, (x) => {
 | 
						|
      x ? T.value = !1 : ot(() => {
 | 
						|
        T.value = !0;
 | 
						|
      });
 | 
						|
    }), X(() => e.title, () => {
 | 
						|
      o.setLine(), o.scrollIntoView();
 | 
						|
    }), dt(zr, c), fe({
 | 
						|
      id: n,
 | 
						|
      renderTitle: d
 | 
						|
    }), () => {
 | 
						|
      var x;
 | 
						|
      const p = `${o.id}-${i.value}`, {
 | 
						|
        animated: b,
 | 
						|
        swipeable: R,
 | 
						|
        scrollspy: P,
 | 
						|
        lazyRender: V
 | 
						|
      } = o.props;
 | 
						|
      if (!t.default && !b)
 | 
						|
        return;
 | 
						|
      const B = P || c.value;
 | 
						|
      if (b || R)
 | 
						|
        return v(Gr, {
 | 
						|
          id: n,
 | 
						|
          role: "tabpanel",
 | 
						|
          class: Ht("panel-wrapper", {
 | 
						|
            inactive: T.value
 | 
						|
          }),
 | 
						|
          tabindex: c.value ? 0 : -1,
 | 
						|
          "aria-hidden": !c.value,
 | 
						|
          "aria-labelledby": p,
 | 
						|
          "data-allow-mismatch": "attribute"
 | 
						|
        }, {
 | 
						|
          default: () => {
 | 
						|
            var M;
 | 
						|
            return [v("div", {
 | 
						|
              class: Ht("panel")
 | 
						|
            }, [(M = t.default) == null ? void 0 : M.call(t)])];
 | 
						|
          }
 | 
						|
        });
 | 
						|
      const w = a.value || P || !V ? (x = t.default) == null ? void 0 : x.call(t) : null;
 | 
						|
      return We(v("div", {
 | 
						|
        id: n,
 | 
						|
        role: "tabpanel",
 | 
						|
        class: Ht("panel"),
 | 
						|
        tabindex: B ? 0 : -1,
 | 
						|
        "aria-labelledby": p,
 | 
						|
        "data-allow-mismatch": "attribute"
 | 
						|
      }, [w]), [[Ge, B]]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const s1 = ae(Xr), d1 = ae(Nr), [f1, Yt] = te("picker-group"), h1 = Symbol(f1), qr = ie({
 | 
						|
  tabs: Ve(),
 | 
						|
  activeTab: ne(0),
 | 
						|
  nextStepText: String,
 | 
						|
  showToolbar: ee
 | 
						|
}, At);
 | 
						|
var Zr = Z({
 | 
						|
  name: f1,
 | 
						|
  props: qr,
 | 
						|
  emits: ["confirm", "cancel", "update:activeTab"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = gr(() => e.activeTab, (c) => t("update:activeTab", c)), {
 | 
						|
      children: r,
 | 
						|
      linkChildren: o
 | 
						|
    } = Le(h1);
 | 
						|
    o();
 | 
						|
    const i = () => +a.value < e.tabs.length - 1 && e.nextStepText, u = () => {
 | 
						|
      i() ? a.value = +a.value + 1 : t("confirm", r.map((c) => c.confirm()));
 | 
						|
    }, s = () => t("cancel");
 | 
						|
    return () => {
 | 
						|
      var c, f;
 | 
						|
      let g = (f = (c = n.default) == null ? void 0 : c.call(n)) == null ? void 0 : f.filter((T) => T.type !== P1).map((T) => T.type === an ? T.children : T);
 | 
						|
      g && (g = ro(g));
 | 
						|
      const d = i() ? e.nextStepText : e.confirmButtonText;
 | 
						|
      return v("div", {
 | 
						|
        class: Yt()
 | 
						|
      }, [e.showToolbar ? v(e1, {
 | 
						|
        title: e.title,
 | 
						|
        cancelButtonText: e.cancelButtonText,
 | 
						|
        confirmButtonText: d,
 | 
						|
        onConfirm: u,
 | 
						|
        onCancel: s
 | 
						|
      }, be(n, Q0)) : null, v(d1, {
 | 
						|
        active: a.value,
 | 
						|
        "onUpdate:active": (T) => a.value = T,
 | 
						|
        class: Yt("tabs"),
 | 
						|
        shrink: !0,
 | 
						|
        animated: !0,
 | 
						|
        lazyRender: !1
 | 
						|
      }, {
 | 
						|
        default: () => [e.tabs.map((T, x) => v(s1, {
 | 
						|
          title: T,
 | 
						|
          titleClass: Yt("tab-title")
 | 
						|
        }, {
 | 
						|
          default: () => [g == null ? void 0 : g[x]]
 | 
						|
        }))]
 | 
						|
      })]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const Rt = ie({
 | 
						|
  loading: Boolean,
 | 
						|
  readonly: Boolean,
 | 
						|
  allowHtml: Boolean,
 | 
						|
  optionHeight: ne(44),
 | 
						|
  showToolbar: ee,
 | 
						|
  swipeDuration: ne(1e3),
 | 
						|
  visibleOptionNum: ne(6)
 | 
						|
}, At), Jr = ie({}, Rt, {
 | 
						|
  columns: Ve(),
 | 
						|
  modelValue: Ve(),
 | 
						|
  toolbarPosition: ce("top"),
 | 
						|
  columnsFieldNames: Object
 | 
						|
});
 | 
						|
var Qr = Z({
 | 
						|
  name: lr,
 | 
						|
  props: Jr,
 | 
						|
  emits: ["confirm", "cancel", "change", "scrollInto", "clickOption", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = z(), r = z(e.modelValue.slice(0)), {
 | 
						|
      parent: o
 | 
						|
    } = Fe(h1), {
 | 
						|
      children: i,
 | 
						|
      linkChildren: u
 | 
						|
    } = Le(J0);
 | 
						|
    u();
 | 
						|
    const s = N(() => dr(e.columnsFieldNames)), c = N(() => vn(e.optionHeight)), f = N(() => cr(e.columns, s.value)), g = N(() => {
 | 
						|
      const {
 | 
						|
        columns: l
 | 
						|
      } = e;
 | 
						|
      switch (f.value) {
 | 
						|
        case "multiple":
 | 
						|
          return l;
 | 
						|
        case "cascade":
 | 
						|
          return ur(l, s.value, r);
 | 
						|
        default:
 | 
						|
          return [l];
 | 
						|
      }
 | 
						|
    }), d = N(() => g.value.some((l) => l.length)), T = N(() => g.value.map((l, y) => tn(l, r.value[y], s.value))), x = N(() => g.value.map((l, y) => l.findIndex((D) => D[s.value.value] === r.value[y]))), p = (l, y) => {
 | 
						|
      if (r.value[l] !== y) {
 | 
						|
        const D = r.value.slice(0);
 | 
						|
        D[l] = y, r.value = D;
 | 
						|
      }
 | 
						|
    }, b = () => ({
 | 
						|
      selectedValues: r.value.slice(0),
 | 
						|
      selectedOptions: T.value,
 | 
						|
      selectedIndexes: x.value
 | 
						|
    }), R = (l, y) => {
 | 
						|
      p(y, l), f.value === "cascade" && r.value.forEach((D, O) => {
 | 
						|
        const C = g.value[O];
 | 
						|
        Zn(C, D, s.value) || p(O, C.length ? C[0][s.value.value] : void 0);
 | 
						|
      }), ue(() => {
 | 
						|
        t("change", ie({
 | 
						|
          columnIndex: y
 | 
						|
        }, b()));
 | 
						|
      });
 | 
						|
    }, P = (l, y) => {
 | 
						|
      const D = {
 | 
						|
        columnIndex: y,
 | 
						|
        currentOption: l
 | 
						|
      };
 | 
						|
      t("clickOption", ie(b(), D)), t("scrollInto", D);
 | 
						|
    }, V = () => {
 | 
						|
      i.forEach((y) => y.stopMomentum());
 | 
						|
      const l = b();
 | 
						|
      return ue(() => {
 | 
						|
        t("confirm", l);
 | 
						|
      }), l;
 | 
						|
    }, B = () => t("cancel", b()), h = () => g.value.map((l, y) => v(hr, {
 | 
						|
      value: r.value[y],
 | 
						|
      fields: s.value,
 | 
						|
      options: l,
 | 
						|
      readonly: e.readonly,
 | 
						|
      allowHtml: e.allowHtml,
 | 
						|
      optionHeight: c.value,
 | 
						|
      swipeDuration: e.swipeDuration,
 | 
						|
      visibleOptionNum: e.visibleOptionNum,
 | 
						|
      onChange: (D) => R(D, y),
 | 
						|
      onClickOption: (D) => P(D, y),
 | 
						|
      onScrollInto: (D) => {
 | 
						|
        t("scrollInto", {
 | 
						|
          currentOption: D,
 | 
						|
          columnIndex: y
 | 
						|
        });
 | 
						|
      }
 | 
						|
    }, {
 | 
						|
      option: n.option
 | 
						|
    })), w = (l) => {
 | 
						|
      if (d.value) {
 | 
						|
        const y = {
 | 
						|
          height: `${c.value}px`
 | 
						|
        }, D = {
 | 
						|
          backgroundSize: `100% ${(l - c.value) / 2}px`
 | 
						|
        };
 | 
						|
        return [v("div", {
 | 
						|
          class: Oe("mask"),
 | 
						|
          style: D
 | 
						|
        }, null), v("div", {
 | 
						|
          class: [Po, Oe("frame")],
 | 
						|
          style: y
 | 
						|
        }, null)];
 | 
						|
      }
 | 
						|
    }, M = () => {
 | 
						|
      const l = c.value * +e.visibleOptionNum, y = {
 | 
						|
        height: `${l}px`
 | 
						|
      };
 | 
						|
      return !e.loading && !d.value && n.empty ? n.empty() : v("div", {
 | 
						|
        ref: a,
 | 
						|
        class: Oe("columns"),
 | 
						|
        style: y
 | 
						|
      }, [h(), w(l)]);
 | 
						|
    }, S = () => {
 | 
						|
      if (e.showToolbar && !o)
 | 
						|
        return v(e1, de(be(e, vr), {
 | 
						|
          onConfirm: V,
 | 
						|
          onCancel: B
 | 
						|
        }), be(n, Q0));
 | 
						|
    };
 | 
						|
    X(g, (l) => {
 | 
						|
      l.forEach((y, D) => {
 | 
						|
        y.length && !Zn(y, r.value[D], s.value) && p(D, q0(y)[s.value.value]);
 | 
						|
      });
 | 
						|
    }, {
 | 
						|
      immediate: !0
 | 
						|
    });
 | 
						|
    let A;
 | 
						|
    return X(() => e.modelValue, (l) => {
 | 
						|
      !Te(l, r.value) && !Te(l, A) && (r.value = l.slice(0), A = l.slice(0));
 | 
						|
    }, {
 | 
						|
      deep: !0
 | 
						|
    }), X(r, (l) => {
 | 
						|
      Te(l, e.modelValue) || (A = l.slice(0), t("update:modelValue", A));
 | 
						|
    }, {
 | 
						|
      immediate: !0
 | 
						|
    }), Ce("touchmove", he, {
 | 
						|
      target: a
 | 
						|
    }), fe({
 | 
						|
      confirm: V,
 | 
						|
      getSelectedOptions: () => T.value
 | 
						|
    }), () => {
 | 
						|
      var l, y;
 | 
						|
      return v("div", {
 | 
						|
        class: Oe()
 | 
						|
      }, [e.toolbarPosition === "top" ? S() : null, e.loading ? v(K0, {
 | 
						|
        class: Oe("loading")
 | 
						|
      }, null) : null, (l = n["columns-top"]) == null ? void 0 : l.call(n), M(), (y = n["columns-bottom"]) == null ? void 0 : y.call(n), e.toolbarPosition === "bottom" ? S() : null]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const xt = "000000", ei = [
 | 
						|
  "title",
 | 
						|
  "cancel",
 | 
						|
  "confirm",
 | 
						|
  "toolbar",
 | 
						|
  "columns-top",
 | 
						|
  "columns-bottom"
 | 
						|
], m1 = [
 | 
						|
  "title",
 | 
						|
  "loading",
 | 
						|
  "readonly",
 | 
						|
  "optionHeight",
 | 
						|
  "swipeDuration",
 | 
						|
  "visibleOptionNum",
 | 
						|
  "cancelButtonText",
 | 
						|
  "confirmButtonText"
 | 
						|
], ke = (e = "", t = xt, n = void 0) => ({
 | 
						|
  text: e,
 | 
						|
  value: t,
 | 
						|
  children: n
 | 
						|
});
 | 
						|
function ti({
 | 
						|
  areaList: e,
 | 
						|
  columnsNum: t,
 | 
						|
  columnsPlaceholder: n
 | 
						|
}) {
 | 
						|
  const {
 | 
						|
    city_list: a = {},
 | 
						|
    county_list: r = {},
 | 
						|
    province_list: o = {}
 | 
						|
  } = e, i = +t > 1, u = +t > 2, s = () => {
 | 
						|
    if (i)
 | 
						|
      return n.length > 1 ? [
 | 
						|
        ke(
 | 
						|
          n[1],
 | 
						|
          xt,
 | 
						|
          u ? [] : void 0
 | 
						|
        )
 | 
						|
      ] : [];
 | 
						|
  }, c = /* @__PURE__ */ new Map();
 | 
						|
  Object.keys(o).forEach((d) => {
 | 
						|
    c.set(
 | 
						|
      d.slice(0, 2),
 | 
						|
      ke(o[d], d, s())
 | 
						|
    );
 | 
						|
  });
 | 
						|
  const f = /* @__PURE__ */ new Map();
 | 
						|
  if (i) {
 | 
						|
    const d = () => {
 | 
						|
      if (u)
 | 
						|
        return n.length > 2 ? [ke(n[2])] : [];
 | 
						|
    };
 | 
						|
    Object.keys(a).forEach((T) => {
 | 
						|
      const x = ke(a[T], T, d());
 | 
						|
      f.set(T.slice(0, 4), x);
 | 
						|
      const p = c.get(T.slice(0, 2));
 | 
						|
      p && p.children.push(x);
 | 
						|
    });
 | 
						|
  }
 | 
						|
  u && Object.keys(r).forEach((d) => {
 | 
						|
    const T = f.get(d.slice(0, 4));
 | 
						|
    T && T.children.push(ke(r[d], d));
 | 
						|
  });
 | 
						|
  const g = Array.from(c.values());
 | 
						|
  if (n.length) {
 | 
						|
    const d = u ? [ke(n[2])] : void 0, T = i ? [ke(n[1], xt, d)] : void 0;
 | 
						|
    g.unshift(ke(n[0], xt, T));
 | 
						|
  }
 | 
						|
  return g;
 | 
						|
}
 | 
						|
const Sn = ae(Qr), [ni, ai] = te("area"), oi = ie({}, be(Rt, m1), {
 | 
						|
  modelValue: String,
 | 
						|
  columnsNum: ne(3),
 | 
						|
  columnsPlaceholder: Ve(),
 | 
						|
  areaList: {
 | 
						|
    type: Object,
 | 
						|
    default: () => ({})
 | 
						|
  }
 | 
						|
});
 | 
						|
var ri = Z({
 | 
						|
  name: ni,
 | 
						|
  props: oi,
 | 
						|
  emits: ["change", "confirm", "cancel", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = z([]), r = z(), o = N(() => ti(e)), i = (...c) => t("change", ...c), u = (...c) => t("cancel", ...c), s = (...c) => t("confirm", ...c);
 | 
						|
    return X(a, (c) => {
 | 
						|
      const f = c.length ? c[c.length - 1] : "";
 | 
						|
      f && f !== e.modelValue && t("update:modelValue", f);
 | 
						|
    }, {
 | 
						|
      deep: !0
 | 
						|
    }), X(() => e.modelValue, (c) => {
 | 
						|
      if (c) {
 | 
						|
        const f = a.value.length ? a.value[a.value.length - 1] : "";
 | 
						|
        c !== f && (a.value = [`${c.slice(0, 2)}0000`, `${c.slice(0, 4)}00`, c].slice(0, +e.columnsNum));
 | 
						|
      } else
 | 
						|
        a.value = [];
 | 
						|
    }, {
 | 
						|
      immediate: !0
 | 
						|
    }), fe({
 | 
						|
      confirm: () => {
 | 
						|
        var c;
 | 
						|
        return (c = r.value) == null ? void 0 : c.confirm();
 | 
						|
      },
 | 
						|
      getSelectedOptions: () => {
 | 
						|
        var c;
 | 
						|
        return ((c = r.value) == null ? void 0 : c.getSelectedOptions()) || [];
 | 
						|
      }
 | 
						|
    }), () => v(Sn, de({
 | 
						|
      ref: r,
 | 
						|
      modelValue: a.value,
 | 
						|
      "onUpdate:modelValue": (c) => a.value = c,
 | 
						|
      class: ai(),
 | 
						|
      columns: o.value,
 | 
						|
      onChange: i,
 | 
						|
      onCancel: u,
 | 
						|
      onConfirm: s
 | 
						|
    }, be(e, m1)), be(n, ei));
 | 
						|
  }
 | 
						|
});
 | 
						|
const $l = ae(ri), [ii, Ye] = te("cell"), v1 = {
 | 
						|
  tag: ce("div"),
 | 
						|
  icon: String,
 | 
						|
  size: String,
 | 
						|
  title: q,
 | 
						|
  value: q,
 | 
						|
  label: q,
 | 
						|
  center: Boolean,
 | 
						|
  isLink: Boolean,
 | 
						|
  border: ee,
 | 
						|
  iconPrefix: String,
 | 
						|
  valueClass: me,
 | 
						|
  labelClass: me,
 | 
						|
  titleClass: me,
 | 
						|
  titleStyle: null,
 | 
						|
  arrowDirection: String,
 | 
						|
  required: {
 | 
						|
    type: [Boolean, String],
 | 
						|
    default: null
 | 
						|
  },
 | 
						|
  clickable: {
 | 
						|
    type: Boolean,
 | 
						|
    default: null
 | 
						|
  }
 | 
						|
}, li = ie({}, v1, L0);
 | 
						|
var ci = Z({
 | 
						|
  name: ii,
 | 
						|
  props: li,
 | 
						|
  setup(e, {
 | 
						|
    slots: t
 | 
						|
  }) {
 | 
						|
    const n = Vo(), a = () => {
 | 
						|
      if (t.label || le(e.label))
 | 
						|
        return v("div", {
 | 
						|
          class: [Ye("label"), e.labelClass]
 | 
						|
        }, [t.label ? t.label() : e.label]);
 | 
						|
    }, r = () => {
 | 
						|
      var s;
 | 
						|
      if (t.title || le(e.title)) {
 | 
						|
        const c = (s = t.title) == null ? void 0 : s.call(t);
 | 
						|
        return Array.isArray(c) && c.length === 0 ? void 0 : v("div", {
 | 
						|
          class: [Ye("title"), e.titleClass],
 | 
						|
          style: e.titleStyle
 | 
						|
        }, [c || v("span", null, [e.title]), a()]);
 | 
						|
      }
 | 
						|
    }, o = () => {
 | 
						|
      const s = t.value || t.default;
 | 
						|
      if (s || le(e.value))
 | 
						|
        return v("div", {
 | 
						|
          class: [Ye("value"), e.valueClass]
 | 
						|
        }, [s ? s() : v("span", null, [e.value])]);
 | 
						|
    }, i = () => {
 | 
						|
      if (t.icon)
 | 
						|
        return t.icon();
 | 
						|
      if (e.icon)
 | 
						|
        return v(Se, {
 | 
						|
          name: e.icon,
 | 
						|
          class: Ye("left-icon"),
 | 
						|
          classPrefix: e.iconPrefix
 | 
						|
        }, null);
 | 
						|
    }, u = () => {
 | 
						|
      if (t["right-icon"])
 | 
						|
        return t["right-icon"]();
 | 
						|
      if (e.isLink) {
 | 
						|
        const s = e.arrowDirection && e.arrowDirection !== "right" ? `arrow-${e.arrowDirection}` : "arrow";
 | 
						|
        return v(Se, {
 | 
						|
          name: s,
 | 
						|
          class: Ye("right-icon")
 | 
						|
        }, null);
 | 
						|
      }
 | 
						|
    };
 | 
						|
    return () => {
 | 
						|
      var s;
 | 
						|
      const {
 | 
						|
        tag: c,
 | 
						|
        size: f,
 | 
						|
        center: g,
 | 
						|
        border: d,
 | 
						|
        isLink: T,
 | 
						|
        required: x
 | 
						|
      } = e, p = (s = e.clickable) != null ? s : T, b = {
 | 
						|
        center: g,
 | 
						|
        required: !!x,
 | 
						|
        clickable: p,
 | 
						|
        borderless: !d
 | 
						|
      };
 | 
						|
      return f && (b[f] = !!f), v(c, {
 | 
						|
        class: Ye(b),
 | 
						|
        role: p ? "button" : void 0,
 | 
						|
        tabindex: p ? 0 : void 0,
 | 
						|
        onClick: n
 | 
						|
      }, {
 | 
						|
        default: () => {
 | 
						|
          var R;
 | 
						|
          return [i(), r(), o(), u(), (R = t.extra) == null ? void 0 : R.call(t)];
 | 
						|
        }
 | 
						|
      });
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const ui = ae(ci), [si, di] = te("form"), fi = {
 | 
						|
  colon: Boolean,
 | 
						|
  disabled: Boolean,
 | 
						|
  readonly: Boolean,
 | 
						|
  required: [Boolean, String],
 | 
						|
  showError: Boolean,
 | 
						|
  labelWidth: q,
 | 
						|
  labelAlign: String,
 | 
						|
  inputAlign: String,
 | 
						|
  scrollToError: Boolean,
 | 
						|
  scrollToErrorPosition: String,
 | 
						|
  validateFirst: Boolean,
 | 
						|
  submitOnEnter: ee,
 | 
						|
  showErrorMessage: ee,
 | 
						|
  errorMessageAlign: String,
 | 
						|
  validateTrigger: {
 | 
						|
    type: [String, Array],
 | 
						|
    default: "onBlur"
 | 
						|
  }
 | 
						|
};
 | 
						|
var hi = Z({
 | 
						|
  name: si,
 | 
						|
  props: fi,
 | 
						|
  emits: ["submit", "failed"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const {
 | 
						|
      children: a,
 | 
						|
      linkChildren: r
 | 
						|
    } = Le(N0), o = (b) => b ? a.filter((R) => b.includes(R.name)) : a, i = (b) => new Promise((R, P) => {
 | 
						|
      const V = [];
 | 
						|
      o(b).reduce((h, w) => h.then(() => {
 | 
						|
        if (!V.length)
 | 
						|
          return w.validate().then((M) => {
 | 
						|
            M && V.push(M);
 | 
						|
          });
 | 
						|
      }), Promise.resolve()).then(() => {
 | 
						|
        V.length ? P(V) : R();
 | 
						|
      });
 | 
						|
    }), u = (b) => new Promise((R, P) => {
 | 
						|
      const V = o(b);
 | 
						|
      Promise.all(V.map((B) => B.validate())).then((B) => {
 | 
						|
        B = B.filter(Boolean), B.length ? P(B) : R();
 | 
						|
      });
 | 
						|
    }), s = (b) => {
 | 
						|
      const R = a.find((P) => P.name === b);
 | 
						|
      return R ? new Promise((P, V) => {
 | 
						|
        R.validate().then((B) => {
 | 
						|
          B ? V(B) : P();
 | 
						|
        });
 | 
						|
      }) : Promise.reject();
 | 
						|
    }, c = (b) => typeof b == "string" ? s(b) : e.validateFirst ? i(b) : u(b), f = (b) => {
 | 
						|
      typeof b == "string" && (b = [b]), o(b).forEach((P) => {
 | 
						|
        P.resetValidation();
 | 
						|
      });
 | 
						|
    }, g = () => a.reduce((b, R) => (b[R.name] = R.getValidationStatus(), b), {}), d = (b, R) => {
 | 
						|
      a.some((P) => P.name === b ? (P.$el.scrollIntoView(R), !0) : !1);
 | 
						|
    }, T = () => a.reduce((b, R) => (R.name !== void 0 && (b[R.name] = R.formValue.value), b), {}), x = () => {
 | 
						|
      const b = T();
 | 
						|
      c().then(() => t("submit", b)).catch((R) => {
 | 
						|
        t("failed", {
 | 
						|
          values: b,
 | 
						|
          errors: R
 | 
						|
        });
 | 
						|
        const {
 | 
						|
          scrollToError: P,
 | 
						|
          scrollToErrorPosition: V
 | 
						|
        } = e;
 | 
						|
        P && R[0].name && d(R[0].name, V ? {
 | 
						|
          block: V
 | 
						|
        } : void 0);
 | 
						|
      });
 | 
						|
    }, p = (b) => {
 | 
						|
      he(b), x();
 | 
						|
    };
 | 
						|
    return r({
 | 
						|
      props: e
 | 
						|
    }), fe({
 | 
						|
      submit: x,
 | 
						|
      validate: c,
 | 
						|
      getValues: T,
 | 
						|
      scrollToField: d,
 | 
						|
      resetValidation: f,
 | 
						|
      getValidationStatus: g
 | 
						|
    }), () => {
 | 
						|
      var b;
 | 
						|
      return v("form", {
 | 
						|
        class: di(),
 | 
						|
        onSubmit: p
 | 
						|
      }, [(b = n.default) == null ? void 0 : b.call(n)]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const xl = ae(hi);
 | 
						|
function g1(e) {
 | 
						|
  return Array.isArray(e) ? !e.length : e === 0 ? !1 : !e;
 | 
						|
}
 | 
						|
function mi(e, t) {
 | 
						|
  if (g1(e)) {
 | 
						|
    if (t.required)
 | 
						|
      return !1;
 | 
						|
    if (t.validateEmpty === !1)
 | 
						|
      return !0;
 | 
						|
  }
 | 
						|
  return !(t.pattern && !t.pattern.test(String(e)));
 | 
						|
}
 | 
						|
function vi(e, t) {
 | 
						|
  return new Promise((n) => {
 | 
						|
    const a = t.validator(e, t);
 | 
						|
    if ($0(a)) {
 | 
						|
      a.then(n);
 | 
						|
      return;
 | 
						|
    }
 | 
						|
    n(a);
 | 
						|
  });
 | 
						|
}
 | 
						|
function n0(e, t) {
 | 
						|
  const { message: n } = t;
 | 
						|
  return Et(n) ? n(e, t) : n || "";
 | 
						|
}
 | 
						|
function gi({ target: e }) {
 | 
						|
  e.composing = !0;
 | 
						|
}
 | 
						|
function a0({ target: e }) {
 | 
						|
  e.composing && (e.composing = !1, e.dispatchEvent(new Event("input")));
 | 
						|
}
 | 
						|
function bi(e, t) {
 | 
						|
  const n = dn();
 | 
						|
  e.style.height = "auto";
 | 
						|
  let a = e.scrollHeight;
 | 
						|
  if (Bt(t)) {
 | 
						|
    const { maxHeight: r, minHeight: o } = t;
 | 
						|
    r !== void 0 && (a = Math.min(a, r)), o !== void 0 && (a = Math.max(a, o));
 | 
						|
  }
 | 
						|
  a && (e.style.height = `${a}px`, fn(n));
 | 
						|
}
 | 
						|
function yi(e, t) {
 | 
						|
  return e === "number" && (e = "text", t ?? (t = "decimal")), e === "digit" && (e = "tel", t ?? (t = "numeric")), { type: e, inputmode: t };
 | 
						|
}
 | 
						|
function xe(e) {
 | 
						|
  return [...e].length;
 | 
						|
}
 | 
						|
function Wt(e, t) {
 | 
						|
  return [...e].slice(0, t).join("");
 | 
						|
}
 | 
						|
const [Si, ge] = te("field"), wi = {
 | 
						|
  id: String,
 | 
						|
  name: String,
 | 
						|
  leftIcon: String,
 | 
						|
  rightIcon: String,
 | 
						|
  autofocus: Boolean,
 | 
						|
  clearable: Boolean,
 | 
						|
  maxlength: q,
 | 
						|
  max: Number,
 | 
						|
  min: Number,
 | 
						|
  formatter: Function,
 | 
						|
  clearIcon: ce("clear"),
 | 
						|
  modelValue: ne(""),
 | 
						|
  inputAlign: String,
 | 
						|
  placeholder: String,
 | 
						|
  autocomplete: String,
 | 
						|
  autocapitalize: String,
 | 
						|
  autocorrect: String,
 | 
						|
  errorMessage: String,
 | 
						|
  enterkeyhint: String,
 | 
						|
  clearTrigger: ce("focus"),
 | 
						|
  formatTrigger: ce("onChange"),
 | 
						|
  spellcheck: {
 | 
						|
    type: Boolean,
 | 
						|
    default: null
 | 
						|
  },
 | 
						|
  error: {
 | 
						|
    type: Boolean,
 | 
						|
    default: null
 | 
						|
  },
 | 
						|
  disabled: {
 | 
						|
    type: Boolean,
 | 
						|
    default: null
 | 
						|
  },
 | 
						|
  readonly: {
 | 
						|
    type: Boolean,
 | 
						|
    default: null
 | 
						|
  },
 | 
						|
  inputmode: String
 | 
						|
}, Ti = ie({}, v1, wi, {
 | 
						|
  rows: q,
 | 
						|
  type: ce("text"),
 | 
						|
  rules: Array,
 | 
						|
  autosize: [Boolean, Object],
 | 
						|
  labelWidth: q,
 | 
						|
  labelClass: me,
 | 
						|
  labelAlign: String,
 | 
						|
  showWordLimit: Boolean,
 | 
						|
  errorMessageAlign: String,
 | 
						|
  colon: {
 | 
						|
    type: Boolean,
 | 
						|
    default: null
 | 
						|
  }
 | 
						|
});
 | 
						|
var Ci = Z({
 | 
						|
  name: Si,
 | 
						|
  props: Ti,
 | 
						|
  emits: ["blur", "focus", "clear", "keypress", "clickInput", "endValidate", "startValidate", "clickLeftIcon", "clickRightIcon", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = bn(), r = Ie({
 | 
						|
      status: "unvalidated",
 | 
						|
      focused: !1,
 | 
						|
      validateMessage: ""
 | 
						|
    }), o = z(), i = z(), u = z(), {
 | 
						|
      parent: s
 | 
						|
    } = Fe(N0), c = () => {
 | 
						|
      var m;
 | 
						|
      return String((m = e.modelValue) != null ? m : "");
 | 
						|
    }, f = (m) => {
 | 
						|
      if (le(e[m]))
 | 
						|
        return e[m];
 | 
						|
      if (s && le(s.props[m]))
 | 
						|
        return s.props[m];
 | 
						|
    }, g = N(() => {
 | 
						|
      const m = f("readonly");
 | 
						|
      if (e.clearable && !m) {
 | 
						|
        const L = c() !== "", F = e.clearTrigger === "always" || e.clearTrigger === "focus" && r.focused;
 | 
						|
        return L && F;
 | 
						|
      }
 | 
						|
      return !1;
 | 
						|
    }), d = N(() => u.value && n.input ? u.value() : e.modelValue), T = N(() => {
 | 
						|
      var m;
 | 
						|
      const L = f("required");
 | 
						|
      return L === "auto" ? (m = e.rules) == null ? void 0 : m.some((F) => F.required) : L;
 | 
						|
    }), x = (m) => m.reduce((L, F) => L.then(() => {
 | 
						|
      if (r.status === "failed")
 | 
						|
        return;
 | 
						|
      let {
 | 
						|
        value: U
 | 
						|
      } = d;
 | 
						|
      if (F.formatter && (U = F.formatter(U, F)), !mi(U, F)) {
 | 
						|
        r.status = "failed", r.validateMessage = n0(U, F);
 | 
						|
        return;
 | 
						|
      }
 | 
						|
      if (F.validator)
 | 
						|
        return g1(U) && F.validateEmpty === !1 ? void 0 : vi(U, F).then((Q) => {
 | 
						|
          Q && typeof Q == "string" ? (r.status = "failed", r.validateMessage = Q) : Q === !1 && (r.status = "failed", r.validateMessage = n0(U, F));
 | 
						|
        });
 | 
						|
    }), Promise.resolve()), p = () => {
 | 
						|
      r.status = "unvalidated", r.validateMessage = "";
 | 
						|
    }, b = () => t("endValidate", {
 | 
						|
      status: r.status,
 | 
						|
      message: r.validateMessage
 | 
						|
    }), R = (m = e.rules) => new Promise((L) => {
 | 
						|
      p(), m ? (t("startValidate"), x(m).then(() => {
 | 
						|
        r.status === "failed" ? (L({
 | 
						|
          name: e.name,
 | 
						|
          message: r.validateMessage
 | 
						|
        }), b()) : (r.status = "passed", L(), b());
 | 
						|
      })) : L();
 | 
						|
    }), P = (m) => {
 | 
						|
      if (s && e.rules) {
 | 
						|
        const {
 | 
						|
          validateTrigger: L
 | 
						|
        } = s.props, F = jn(L).includes(m), U = e.rules.filter((Q) => Q.trigger ? jn(Q.trigger).includes(m) : F);
 | 
						|
        U.length && R(U);
 | 
						|
      }
 | 
						|
    }, V = (m) => {
 | 
						|
      var L;
 | 
						|
      const {
 | 
						|
        maxlength: F
 | 
						|
      } = e;
 | 
						|
      if (le(F) && xe(m) > +F) {
 | 
						|
        const U = c();
 | 
						|
        if (U && xe(U) === +F)
 | 
						|
          return U;
 | 
						|
        const Q = (L = o.value) == null ? void 0 : L.selectionEnd;
 | 
						|
        if (r.focused && Q) {
 | 
						|
          const se = [...m], ve = se.length - +F;
 | 
						|
          return se.splice(Q - ve, ve), se.join("");
 | 
						|
        }
 | 
						|
        return Wt(m, +F);
 | 
						|
      }
 | 
						|
      return m;
 | 
						|
    }, B = (m, L = "onChange") => {
 | 
						|
      var F, U;
 | 
						|
      const Q = m;
 | 
						|
      m = V(m);
 | 
						|
      const se = xe(Q) - xe(m);
 | 
						|
      if (e.type === "number" || e.type === "digit") {
 | 
						|
        const we = e.type === "number";
 | 
						|
        m = Jt(m, we, we), L === "onBlur" && m !== "" && (e.min !== void 0 || e.max !== void 0) && (m = Ee(+m, (F = e.min) != null ? F : -1 / 0, (U = e.max) != null ? U : 1 / 0).toString());
 | 
						|
      }
 | 
						|
      let ve = 0;
 | 
						|
      if (e.formatter && L === e.formatTrigger) {
 | 
						|
        const {
 | 
						|
          formatter: we,
 | 
						|
          maxlength: $e
 | 
						|
        } = e;
 | 
						|
        if (m = we(m), le($e) && xe(m) > +$e && (m = Wt(m, +$e)), o.value && r.focused) {
 | 
						|
          const {
 | 
						|
            selectionEnd: mt
 | 
						|
          } = o.value, Tn = Wt(Q, mt);
 | 
						|
          ve = xe(we(Tn)) - xe(Tn);
 | 
						|
        }
 | 
						|
      }
 | 
						|
      if (o.value && o.value.value !== m)
 | 
						|
        if (r.focused) {
 | 
						|
          let {
 | 
						|
            selectionStart: we,
 | 
						|
            selectionEnd: $e
 | 
						|
          } = o.value;
 | 
						|
          if (o.value.value = m, le(we) && le($e)) {
 | 
						|
            const mt = xe(m);
 | 
						|
            se ? (we -= se, $e -= se) : ve && (we += ve, $e += ve), o.value.setSelectionRange(Math.min(we, mt), Math.min($e, mt));
 | 
						|
          }
 | 
						|
        } else
 | 
						|
          o.value.value = m;
 | 
						|
      m !== e.modelValue && t("update:modelValue", m);
 | 
						|
    }, h = (m) => {
 | 
						|
      m.target.composing || B(m.target.value);
 | 
						|
    }, w = () => {
 | 
						|
      var m;
 | 
						|
      return (m = o.value) == null ? void 0 : m.blur();
 | 
						|
    }, M = () => {
 | 
						|
      var m;
 | 
						|
      return (m = o.value) == null ? void 0 : m.focus();
 | 
						|
    }, S = () => {
 | 
						|
      const m = o.value;
 | 
						|
      e.type === "textarea" && e.autosize && m && bi(m, e.autosize);
 | 
						|
    }, A = (m) => {
 | 
						|
      r.focused = !0, t("focus", m), ue(S), f("readonly") && w();
 | 
						|
    }, _ = (m) => {
 | 
						|
      r.focused = !1, B(c(), "onBlur"), t("blur", m), !f("readonly") && (P("onBlur"), ue(S), I0());
 | 
						|
    }, l = (m) => t("clickInput", m), y = (m) => t("clickLeftIcon", m), D = (m) => t("clickRightIcon", m), O = (m) => {
 | 
						|
      he(m), t("update:modelValue", ""), t("clear", m);
 | 
						|
    }, C = N(() => {
 | 
						|
      if (typeof e.error == "boolean")
 | 
						|
        return e.error;
 | 
						|
      if (s && s.props.showError && r.status === "failed")
 | 
						|
        return !0;
 | 
						|
    }), $ = N(() => {
 | 
						|
      const m = f("labelWidth"), L = f("labelAlign");
 | 
						|
      if (m && L !== "top")
 | 
						|
        return {
 | 
						|
          width: re(m)
 | 
						|
        };
 | 
						|
    }), j = (m) => {
 | 
						|
      m.keyCode === 13 && (!(s && s.props.submitOnEnter) && e.type !== "textarea" && he(m), e.type === "search" && w()), t("keypress", m);
 | 
						|
    }, E = () => e.id || `${a}-input`, H = () => r.status, Y = () => {
 | 
						|
      const m = ge("control", [f("inputAlign"), {
 | 
						|
        error: C.value,
 | 
						|
        custom: !!n.input,
 | 
						|
        "min-height": e.type === "textarea" && !e.autosize
 | 
						|
      }]);
 | 
						|
      if (n.input)
 | 
						|
        return v("div", {
 | 
						|
          class: m,
 | 
						|
          onClick: l
 | 
						|
        }, [n.input()]);
 | 
						|
      const L = {
 | 
						|
        id: E(),
 | 
						|
        ref: o,
 | 
						|
        name: e.name,
 | 
						|
        rows: e.rows !== void 0 ? +e.rows : void 0,
 | 
						|
        class: m,
 | 
						|
        disabled: f("disabled"),
 | 
						|
        readonly: f("readonly"),
 | 
						|
        autofocus: e.autofocus,
 | 
						|
        placeholder: e.placeholder,
 | 
						|
        autocomplete: e.autocomplete,
 | 
						|
        autocapitalize: e.autocapitalize,
 | 
						|
        autocorrect: e.autocorrect,
 | 
						|
        enterkeyhint: e.enterkeyhint,
 | 
						|
        spellcheck: e.spellcheck,
 | 
						|
        "aria-labelledby": e.label ? `${a}-label` : void 0,
 | 
						|
        "data-allow-mismatch": "attribute",
 | 
						|
        onBlur: _,
 | 
						|
        onFocus: A,
 | 
						|
        onInput: h,
 | 
						|
        onClick: l,
 | 
						|
        onChange: a0,
 | 
						|
        onKeypress: j,
 | 
						|
        onCompositionend: a0,
 | 
						|
        onCompositionstart: gi
 | 
						|
      };
 | 
						|
      return e.type === "textarea" ? v("textarea", de(L, {
 | 
						|
        inputmode: e.inputmode
 | 
						|
      }), null) : v("input", de(yi(e.type, e.inputmode), L), null);
 | 
						|
    }, I = () => {
 | 
						|
      const m = n["left-icon"];
 | 
						|
      if (e.leftIcon || m)
 | 
						|
        return v("div", {
 | 
						|
          class: ge("left-icon"),
 | 
						|
          onClick: y
 | 
						|
        }, [m ? m() : v(Se, {
 | 
						|
          name: e.leftIcon,
 | 
						|
          classPrefix: e.iconPrefix
 | 
						|
        }, null)]);
 | 
						|
    }, W = () => {
 | 
						|
      const m = n["right-icon"];
 | 
						|
      if (e.rightIcon || m)
 | 
						|
        return v("div", {
 | 
						|
          class: ge("right-icon"),
 | 
						|
          onClick: D
 | 
						|
        }, [m ? m() : v(Se, {
 | 
						|
          name: e.rightIcon,
 | 
						|
          classPrefix: e.iconPrefix
 | 
						|
        }, null)]);
 | 
						|
    }, K = () => {
 | 
						|
      if (e.showWordLimit && e.maxlength) {
 | 
						|
        const m = xe(c());
 | 
						|
        return v("div", {
 | 
						|
          class: ge("word-limit")
 | 
						|
        }, [v("span", {
 | 
						|
          class: ge("word-num")
 | 
						|
        }, [m]), I1("/"), e.maxlength]);
 | 
						|
      }
 | 
						|
    }, J = () => {
 | 
						|
      if (s && s.props.showErrorMessage === !1)
 | 
						|
        return;
 | 
						|
      const m = e.errorMessage || r.validateMessage;
 | 
						|
      if (m) {
 | 
						|
        const L = n["error-message"], F = f("errorMessageAlign");
 | 
						|
        return v("div", {
 | 
						|
          class: ge("error-message", F)
 | 
						|
        }, [L ? L({
 | 
						|
          message: m
 | 
						|
        }) : m]);
 | 
						|
      }
 | 
						|
    }, k = () => {
 | 
						|
      const m = f("labelWidth"), L = f("labelAlign"), F = f("colon") ? ":" : "";
 | 
						|
      if (n.label)
 | 
						|
        return [n.label(), F];
 | 
						|
      if (e.label)
 | 
						|
        return v("label", {
 | 
						|
          id: `${a}-label`,
 | 
						|
          for: n.input ? void 0 : E(),
 | 
						|
          "data-allow-mismatch": "attribute",
 | 
						|
          onClick: (U) => {
 | 
						|
            he(U), M();
 | 
						|
          },
 | 
						|
          style: L === "top" && m ? {
 | 
						|
            width: re(m)
 | 
						|
          } : void 0
 | 
						|
        }, [e.label + F]);
 | 
						|
    }, G = () => [v("div", {
 | 
						|
      class: ge("body")
 | 
						|
    }, [Y(), g.value && v(Se, {
 | 
						|
      ref: i,
 | 
						|
      name: e.clearIcon,
 | 
						|
      class: ge("clear")
 | 
						|
    }, null), W(), n.button && v("div", {
 | 
						|
      class: ge("button")
 | 
						|
    }, [n.button()])]), K(), J()];
 | 
						|
    return fe({
 | 
						|
      blur: w,
 | 
						|
      focus: M,
 | 
						|
      validate: R,
 | 
						|
      formValue: d,
 | 
						|
      resetValidation: p,
 | 
						|
      getValidationStatus: H
 | 
						|
    }), dt(P0, {
 | 
						|
      customValue: u,
 | 
						|
      resetValidation: p,
 | 
						|
      validateWithTrigger: P
 | 
						|
    }), X(() => e.modelValue, () => {
 | 
						|
      B(c()), p(), P("onChange"), ue(S);
 | 
						|
    }), je(() => {
 | 
						|
      B(c(), e.formatTrigger), ue(S);
 | 
						|
    }), Ce("touchstart", O, {
 | 
						|
      target: N(() => {
 | 
						|
        var m;
 | 
						|
        return (m = i.value) == null ? void 0 : m.$el;
 | 
						|
      })
 | 
						|
    }), () => {
 | 
						|
      const m = f("disabled"), L = f("labelAlign"), F = I(), U = () => {
 | 
						|
        const Q = k();
 | 
						|
        return L === "top" ? [F, Q].filter(Boolean) : Q || [];
 | 
						|
      };
 | 
						|
      return v(ui, {
 | 
						|
        size: e.size,
 | 
						|
        class: ge({
 | 
						|
          error: C.value,
 | 
						|
          disabled: m,
 | 
						|
          [`label-${L}`]: L
 | 
						|
        }),
 | 
						|
        center: e.center,
 | 
						|
        border: e.border,
 | 
						|
        isLink: e.isLink,
 | 
						|
        clickable: e.clickable,
 | 
						|
        titleStyle: $.value,
 | 
						|
        valueClass: ge("value"),
 | 
						|
        titleClass: [ge("label", [L, {
 | 
						|
          required: T.value
 | 
						|
        }]), e.labelClass],
 | 
						|
        arrowDirection: e.arrowDirection
 | 
						|
      }, {
 | 
						|
        icon: F && L !== "top" ? () => F : null,
 | 
						|
        title: U,
 | 
						|
        value: G,
 | 
						|
        extra: n.extra
 | 
						|
      });
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const _l = ae(Ci), [$i, Gt] = te("switch"), xi = {
 | 
						|
  size: q,
 | 
						|
  loading: Boolean,
 | 
						|
  disabled: Boolean,
 | 
						|
  modelValue: me,
 | 
						|
  activeColor: String,
 | 
						|
  inactiveColor: String,
 | 
						|
  activeValue: {
 | 
						|
    type: me,
 | 
						|
    default: !0
 | 
						|
  },
 | 
						|
  inactiveValue: {
 | 
						|
    type: me,
 | 
						|
    default: !1
 | 
						|
  }
 | 
						|
};
 | 
						|
var _i = Z({
 | 
						|
  name: $i,
 | 
						|
  props: xi,
 | 
						|
  emits: ["change", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = () => e.modelValue === e.activeValue, r = () => {
 | 
						|
      if (!e.disabled && !e.loading) {
 | 
						|
        const i = a() ? e.inactiveValue : e.activeValue;
 | 
						|
        t("update:modelValue", i), t("change", i);
 | 
						|
      }
 | 
						|
    }, o = () => {
 | 
						|
      if (e.loading) {
 | 
						|
        const i = a() ? e.activeColor : e.inactiveColor;
 | 
						|
        return v(K0, {
 | 
						|
          class: Gt("loading"),
 | 
						|
          color: i
 | 
						|
        }, null);
 | 
						|
      }
 | 
						|
      if (n.node)
 | 
						|
        return n.node();
 | 
						|
    };
 | 
						|
    return He(() => e.modelValue), () => {
 | 
						|
      var i;
 | 
						|
      const {
 | 
						|
        size: u,
 | 
						|
        loading: s,
 | 
						|
        disabled: c,
 | 
						|
        activeColor: f,
 | 
						|
        inactiveColor: g
 | 
						|
      } = e, d = a(), T = {
 | 
						|
        fontSize: re(u),
 | 
						|
        backgroundColor: d ? f : g
 | 
						|
      };
 | 
						|
      return v("div", {
 | 
						|
        role: "switch",
 | 
						|
        class: Gt({
 | 
						|
          on: d,
 | 
						|
          loading: s,
 | 
						|
          disabled: c
 | 
						|
        }),
 | 
						|
        style: T,
 | 
						|
        tabindex: c ? void 0 : 0,
 | 
						|
        "aria-checked": d,
 | 
						|
        onClick: r
 | 
						|
      }, [v("div", {
 | 
						|
        class: Gt("node")
 | 
						|
      }, [o()]), (i = n.background) == null ? void 0 : i.call(n)]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const Ol = ae(_i), [b1, Oi] = te("radio-group"), Ei = {
 | 
						|
  shape: String,
 | 
						|
  disabled: Boolean,
 | 
						|
  iconSize: q,
 | 
						|
  direction: String,
 | 
						|
  modelValue: me,
 | 
						|
  checkedColor: String
 | 
						|
}, y1 = Symbol(b1);
 | 
						|
var ki = Z({
 | 
						|
  name: b1,
 | 
						|
  props: Ei,
 | 
						|
  emits: ["change", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const {
 | 
						|
      linkChildren: a
 | 
						|
    } = Le(y1), r = (o) => t("update:modelValue", o);
 | 
						|
    return X(() => e.modelValue, (o) => t("change", o)), a({
 | 
						|
      props: e,
 | 
						|
      updateValue: r
 | 
						|
    }), He(() => e.modelValue), () => {
 | 
						|
      var o;
 | 
						|
      return v("div", {
 | 
						|
        class: Oi([e.direction]),
 | 
						|
        role: "radiogroup"
 | 
						|
      }, [(o = n.default) == null ? void 0 : o.call(n)]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const El = ae(ki), [S1, Pi] = te("checkbox-group"), Ii = {
 | 
						|
  max: q,
 | 
						|
  shape: ce("round"),
 | 
						|
  disabled: Boolean,
 | 
						|
  iconSize: q,
 | 
						|
  direction: String,
 | 
						|
  modelValue: Ve(),
 | 
						|
  checkedColor: String
 | 
						|
}, w1 = Symbol(S1);
 | 
						|
var Vi = Z({
 | 
						|
  name: S1,
 | 
						|
  props: Ii,
 | 
						|
  emits: ["change", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const {
 | 
						|
      children: a,
 | 
						|
      linkChildren: r
 | 
						|
    } = Le(w1), o = (u) => t("update:modelValue", u), i = (u = {}) => {
 | 
						|
      typeof u == "boolean" && (u = {
 | 
						|
        checked: u
 | 
						|
      });
 | 
						|
      const {
 | 
						|
        checked: s,
 | 
						|
        skipDisabled: c
 | 
						|
      } = u, g = a.filter((d) => d.props.bindGroup ? d.props.disabled && c ? d.checked.value : s ?? !d.checked.value : !1).map((d) => d.name);
 | 
						|
      o(g);
 | 
						|
    };
 | 
						|
    return X(() => e.modelValue, (u) => t("change", u)), fe({
 | 
						|
      toggleAll: i
 | 
						|
    }), He(() => e.modelValue), r({
 | 
						|
      props: e,
 | 
						|
      updateValue: o
 | 
						|
    }), () => {
 | 
						|
      var u;
 | 
						|
      return v("div", {
 | 
						|
        class: Pi([e.direction])
 | 
						|
      }, [(u = n.default) == null ? void 0 : u.call(n)]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const kl = ae(Vi), wn = {
 | 
						|
  name: me,
 | 
						|
  disabled: Boolean,
 | 
						|
  iconSize: q,
 | 
						|
  modelValue: me,
 | 
						|
  checkedColor: String,
 | 
						|
  labelPosition: String,
 | 
						|
  labelDisabled: Boolean
 | 
						|
};
 | 
						|
var T1 = Z({
 | 
						|
  props: ie({}, wn, {
 | 
						|
    bem: Pe(Function),
 | 
						|
    role: String,
 | 
						|
    shape: String,
 | 
						|
    parent: Object,
 | 
						|
    checked: Boolean,
 | 
						|
    bindGroup: ee,
 | 
						|
    indeterminate: {
 | 
						|
      type: Boolean,
 | 
						|
      default: null
 | 
						|
    }
 | 
						|
  }),
 | 
						|
  emits: ["click", "toggle"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = z(), r = (d) => {
 | 
						|
      if (e.parent && e.bindGroup)
 | 
						|
        return e.parent.props[d];
 | 
						|
    }, o = N(() => {
 | 
						|
      if (e.parent && e.bindGroup) {
 | 
						|
        const d = r("disabled") || e.disabled;
 | 
						|
        if (e.role === "checkbox") {
 | 
						|
          const T = r("modelValue").length, x = r("max"), p = x && T >= +x;
 | 
						|
          return d || p && !e.checked;
 | 
						|
        }
 | 
						|
        return d;
 | 
						|
      }
 | 
						|
      return e.disabled;
 | 
						|
    }), i = N(() => r("direction")), u = N(() => {
 | 
						|
      const d = e.checkedColor || r("checkedColor");
 | 
						|
      if (d && e.checked && !o.value)
 | 
						|
        return {
 | 
						|
          borderColor: d,
 | 
						|
          backgroundColor: d
 | 
						|
        };
 | 
						|
    }), s = N(() => e.shape || r("shape") || "round"), c = (d) => {
 | 
						|
      const {
 | 
						|
        target: T
 | 
						|
      } = d, x = a.value, p = x === T || (x == null ? void 0 : x.contains(T));
 | 
						|
      !o.value && (p || !e.labelDisabled) && t("toggle"), t("click", d);
 | 
						|
    }, f = () => {
 | 
						|
      var d, T;
 | 
						|
      const {
 | 
						|
        bem: x,
 | 
						|
        checked: p,
 | 
						|
        indeterminate: b
 | 
						|
      } = e, R = e.iconSize || r("iconSize");
 | 
						|
      return v("div", {
 | 
						|
        ref: a,
 | 
						|
        class: x("icon", [s.value, {
 | 
						|
          disabled: o.value,
 | 
						|
          checked: p,
 | 
						|
          indeterminate: b
 | 
						|
        }]),
 | 
						|
        style: s.value !== "dot" ? {
 | 
						|
          fontSize: re(R)
 | 
						|
        } : {
 | 
						|
          width: re(R),
 | 
						|
          height: re(R),
 | 
						|
          borderColor: (d = u.value) == null ? void 0 : d.borderColor
 | 
						|
        }
 | 
						|
      }, [n.icon ? n.icon({
 | 
						|
        checked: p,
 | 
						|
        disabled: o.value
 | 
						|
      }) : s.value !== "dot" ? v(Se, {
 | 
						|
        name: b ? "minus" : "success",
 | 
						|
        style: u.value
 | 
						|
      }, null) : v("div", {
 | 
						|
        class: x("icon--dot__icon"),
 | 
						|
        style: {
 | 
						|
          backgroundColor: (T = u.value) == null ? void 0 : T.backgroundColor
 | 
						|
        }
 | 
						|
      }, null)]);
 | 
						|
    }, g = () => {
 | 
						|
      const {
 | 
						|
        checked: d
 | 
						|
      } = e;
 | 
						|
      if (n.default)
 | 
						|
        return v("span", {
 | 
						|
          class: e.bem("label", [e.labelPosition, {
 | 
						|
            disabled: o.value
 | 
						|
          }])
 | 
						|
        }, [n.default({
 | 
						|
          checked: d,
 | 
						|
          disabled: o.value
 | 
						|
        })]);
 | 
						|
    };
 | 
						|
    return () => {
 | 
						|
      const d = e.labelPosition === "left" ? [g(), f()] : [f(), g()];
 | 
						|
      return v("div", {
 | 
						|
        role: e.role,
 | 
						|
        class: e.bem([{
 | 
						|
          disabled: o.value,
 | 
						|
          "label-disabled": e.labelDisabled
 | 
						|
        }, i.value]),
 | 
						|
        tabindex: o.value ? void 0 : 0,
 | 
						|
        "aria-checked": e.checked,
 | 
						|
        onClick: c
 | 
						|
      }, [d]);
 | 
						|
    };
 | 
						|
  }
 | 
						|
});
 | 
						|
const pi = ie({}, wn, {
 | 
						|
  shape: String
 | 
						|
}), [Bi, Di] = te("radio");
 | 
						|
var Mi = Z({
 | 
						|
  name: Bi,
 | 
						|
  props: pi,
 | 
						|
  emits: ["update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const {
 | 
						|
      parent: a
 | 
						|
    } = Fe(y1), r = () => (a ? a.props.modelValue : e.modelValue) === e.name, o = () => {
 | 
						|
      a ? a.updateValue(e.name) : t("update:modelValue", e.name);
 | 
						|
    };
 | 
						|
    return () => v(T1, de({
 | 
						|
      bem: Di,
 | 
						|
      role: "radio",
 | 
						|
      parent: a,
 | 
						|
      checked: r(),
 | 
						|
      onToggle: o
 | 
						|
    }, e), be(n, ["default", "icon"]));
 | 
						|
  }
 | 
						|
});
 | 
						|
const Pl = ae(Mi), [Ai, Ri] = te("checkbox"), ji = ie({}, wn, {
 | 
						|
  shape: String,
 | 
						|
  bindGroup: ee,
 | 
						|
  indeterminate: {
 | 
						|
    type: Boolean,
 | 
						|
    default: null
 | 
						|
  }
 | 
						|
});
 | 
						|
var Ni = Z({
 | 
						|
  name: Ai,
 | 
						|
  props: ji,
 | 
						|
  emits: ["change", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const {
 | 
						|
      parent: a
 | 
						|
    } = Fe(w1), r = (u) => {
 | 
						|
      const {
 | 
						|
        name: s
 | 
						|
      } = e, {
 | 
						|
        max: c,
 | 
						|
        modelValue: f
 | 
						|
      } = a.props, g = f.slice();
 | 
						|
      if (u)
 | 
						|
        !(c && g.length >= +c) && !g.includes(s) && (g.push(s), e.bindGroup && a.updateValue(g));
 | 
						|
      else {
 | 
						|
        const d = g.indexOf(s);
 | 
						|
        d !== -1 && (g.splice(d, 1), e.bindGroup && a.updateValue(g));
 | 
						|
      }
 | 
						|
    }, o = N(() => a && e.bindGroup ? a.props.modelValue.indexOf(e.name) !== -1 : !!e.modelValue), i = (u = !o.value) => {
 | 
						|
      a && e.bindGroup ? r(u) : t("update:modelValue", u), e.indeterminate !== null && t("change", u);
 | 
						|
    };
 | 
						|
    return X(() => e.modelValue, (u) => {
 | 
						|
      e.indeterminate === null && t("change", u);
 | 
						|
    }), fe({
 | 
						|
      toggle: i,
 | 
						|
      props: e,
 | 
						|
      checked: o
 | 
						|
    }), He(() => e.modelValue), () => v(T1, de({
 | 
						|
      bem: Ri,
 | 
						|
      role: "checkbox",
 | 
						|
      parent: a,
 | 
						|
      checked: o.value,
 | 
						|
      onToggle: i
 | 
						|
    }, e), be(n, ["default", "icon"]));
 | 
						|
  }
 | 
						|
});
 | 
						|
const Il = ae(Ni), C1 = ie({}, Rt, {
 | 
						|
  modelValue: Ve(),
 | 
						|
  filter: Function,
 | 
						|
  formatter: {
 | 
						|
    type: Function,
 | 
						|
    default: (e, t) => t
 | 
						|
  }
 | 
						|
}), $1 = Object.keys(Rt);
 | 
						|
function zi(e, t) {
 | 
						|
  if (e < 0)
 | 
						|
    return [];
 | 
						|
  const n = Array(e);
 | 
						|
  let a = -1;
 | 
						|
  for (; ++a < e; )
 | 
						|
    n[a] = t(a);
 | 
						|
  return n;
 | 
						|
}
 | 
						|
const Fi = (e, t) => 32 - new Date(e, t - 1, 32).getDate(), Ue = (e, t, n, a, r, o) => {
 | 
						|
  const i = zi(t - e + 1, (u) => {
 | 
						|
    const s = D0(e + u);
 | 
						|
    return a(n, {
 | 
						|
      text: s,
 | 
						|
      value: s
 | 
						|
    });
 | 
						|
  });
 | 
						|
  return r ? r(n, i, o) : i;
 | 
						|
}, x1 = (e, t) => e.map((n, a) => {
 | 
						|
  const r = t[a];
 | 
						|
  if (r.length) {
 | 
						|
    const o = +r[0].value, i = +r[r.length - 1].value;
 | 
						|
    return D0(Ee(+n, o, i));
 | 
						|
  }
 | 
						|
  return n;
 | 
						|
}), [Li, _e, Hi] = te("cascader"), Yi = {
 | 
						|
  title: String,
 | 
						|
  options: Ve(),
 | 
						|
  closeable: ee,
 | 
						|
  swipeable: ee,
 | 
						|
  closeIcon: ce("cross"),
 | 
						|
  showHeader: ee,
 | 
						|
  modelValue: q,
 | 
						|
  fieldNames: Object,
 | 
						|
  placeholder: String,
 | 
						|
  activeColor: String
 | 
						|
};
 | 
						|
var Wi = Z({
 | 
						|
  name: Li,
 | 
						|
  props: Yi,
 | 
						|
  emits: ["close", "change", "finish", "clickTab", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    slots: t,
 | 
						|
    emit: n
 | 
						|
  }) {
 | 
						|
    const a = z([]), r = z(0), [o, i] = yn(), {
 | 
						|
      text: u,
 | 
						|
      value: s,
 | 
						|
      children: c
 | 
						|
    } = ie({
 | 
						|
      text: "text",
 | 
						|
      value: "value",
 | 
						|
      children: "children"
 | 
						|
    }, e.fieldNames), f = (h, w) => {
 | 
						|
      for (const M of h) {
 | 
						|
        if (M[s] === w)
 | 
						|
          return [M];
 | 
						|
        if (M[c]) {
 | 
						|
          const S = f(M[c], w);
 | 
						|
          if (S)
 | 
						|
            return [M, ...S];
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }, g = () => {
 | 
						|
      const {
 | 
						|
        options: h,
 | 
						|
        modelValue: w
 | 
						|
      } = e;
 | 
						|
      if (w !== void 0) {
 | 
						|
        const M = f(h, w);
 | 
						|
        if (M) {
 | 
						|
          let S = h;
 | 
						|
          a.value = M.map((A) => {
 | 
						|
            const _ = {
 | 
						|
              options: S,
 | 
						|
              selected: A
 | 
						|
            }, l = S.find((y) => y[s] === A[s]);
 | 
						|
            return l && (S = l[c]), _;
 | 
						|
          }), S && a.value.push({
 | 
						|
            options: S,
 | 
						|
            selected: null
 | 
						|
          }), ue(() => {
 | 
						|
            r.value = a.value.length - 1;
 | 
						|
          });
 | 
						|
          return;
 | 
						|
        }
 | 
						|
      }
 | 
						|
      a.value = [{
 | 
						|
        options: h,
 | 
						|
        selected: null
 | 
						|
      }];
 | 
						|
    }, d = (h, w) => {
 | 
						|
      if (h.disabled)
 | 
						|
        return;
 | 
						|
      if (a.value[w].selected = h, a.value.length > w + 1 && (a.value = a.value.slice(0, w + 1)), h[c]) {
 | 
						|
        const A = {
 | 
						|
          options: h[c],
 | 
						|
          selected: null
 | 
						|
        };
 | 
						|
        a.value[w + 1] ? a.value[w + 1] = A : a.value.push(A), ue(() => {
 | 
						|
          r.value++;
 | 
						|
        });
 | 
						|
      }
 | 
						|
      const M = a.value.map((A) => A.selected).filter(Boolean);
 | 
						|
      n("update:modelValue", h[s]);
 | 
						|
      const S = {
 | 
						|
        value: h[s],
 | 
						|
        tabIndex: w,
 | 
						|
        selectedOptions: M
 | 
						|
      };
 | 
						|
      n("change", S), h[c] || n("finish", S);
 | 
						|
    }, T = () => n("close"), x = ({
 | 
						|
      name: h,
 | 
						|
      title: w
 | 
						|
    }) => n("clickTab", h, w), p = () => e.showHeader ? v("div", {
 | 
						|
      class: _e("header")
 | 
						|
    }, [v("h2", {
 | 
						|
      class: _e("title")
 | 
						|
    }, [t.title ? t.title() : e.title]), e.closeable ? v(Se, {
 | 
						|
      name: e.closeIcon,
 | 
						|
      class: [_e("close-icon"), Xe],
 | 
						|
      onClick: T
 | 
						|
    }, null) : null]) : null, b = (h, w, M) => {
 | 
						|
      const {
 | 
						|
        disabled: S
 | 
						|
      } = h, A = !!(w && h[s] === w[s]), _ = h.color || (A ? e.activeColor : void 0), l = t.option ? t.option({
 | 
						|
        option: h,
 | 
						|
        selected: A
 | 
						|
      }) : v("span", null, [h[u]]);
 | 
						|
      return v("li", {
 | 
						|
        ref: A ? i(M) : void 0,
 | 
						|
        role: "menuitemradio",
 | 
						|
        class: [_e("option", {
 | 
						|
          selected: A,
 | 
						|
          disabled: S
 | 
						|
        }), h.className],
 | 
						|
        style: {
 | 
						|
          color: _
 | 
						|
        },
 | 
						|
        tabindex: S ? void 0 : A ? 0 : -1,
 | 
						|
        "aria-checked": A,
 | 
						|
        "aria-disabled": S || void 0,
 | 
						|
        onClick: () => d(h, M)
 | 
						|
      }, [l, A ? v(Se, {
 | 
						|
        name: "success",
 | 
						|
        class: _e("selected-icon")
 | 
						|
      }, null) : null]);
 | 
						|
    }, R = (h, w, M) => v("ul", {
 | 
						|
      role: "menu",
 | 
						|
      class: _e("options")
 | 
						|
    }, [h.map((S) => b(S, w, M))]), P = (h, w) => {
 | 
						|
      const {
 | 
						|
        options: M,
 | 
						|
        selected: S
 | 
						|
      } = h, A = e.placeholder || Hi("select"), _ = S ? S[u] : A;
 | 
						|
      return v(s1, {
 | 
						|
        title: _,
 | 
						|
        titleClass: _e("tab", {
 | 
						|
          unselected: !S
 | 
						|
        })
 | 
						|
      }, {
 | 
						|
        default: () => {
 | 
						|
          var l, y;
 | 
						|
          return [(l = t["options-top"]) == null ? void 0 : l.call(t, {
 | 
						|
            tabIndex: w
 | 
						|
          }), R(M, S, w), (y = t["options-bottom"]) == null ? void 0 : y.call(t, {
 | 
						|
            tabIndex: w
 | 
						|
          })];
 | 
						|
        }
 | 
						|
      });
 | 
						|
    }, V = () => v(d1, {
 | 
						|
      active: r.value,
 | 
						|
      "onUpdate:active": (h) => r.value = h,
 | 
						|
      shrink: !0,
 | 
						|
      animated: !0,
 | 
						|
      class: _e("tabs"),
 | 
						|
      color: e.activeColor,
 | 
						|
      swipeable: e.swipeable,
 | 
						|
      onClickTab: x
 | 
						|
    }, {
 | 
						|
      default: () => [a.value.map(P)]
 | 
						|
    }), B = (h) => {
 | 
						|
      const w = h.parentElement;
 | 
						|
      w && (w.scrollTop = h.offsetTop - (w.offsetHeight - h.offsetHeight) / 2);
 | 
						|
    };
 | 
						|
    return g(), X(r, (h) => {
 | 
						|
      const w = o.value[h];
 | 
						|
      w && B(w);
 | 
						|
    }), X(() => e.options, g, {
 | 
						|
      deep: !0
 | 
						|
    }), X(() => e.modelValue, (h) => {
 | 
						|
      h !== void 0 && a.value.map((M) => {
 | 
						|
        var S;
 | 
						|
        return (S = M.selected) == null ? void 0 : S[s];
 | 
						|
      }).includes(h) || g();
 | 
						|
    }), () => v("div", {
 | 
						|
      class: _e()
 | 
						|
    }, [p(), V()]);
 | 
						|
  }
 | 
						|
});
 | 
						|
const Vl = ae(Wi), [Gi, o0] = te("cell-group"), Ui = {
 | 
						|
  title: String,
 | 
						|
  inset: Boolean,
 | 
						|
  border: ee
 | 
						|
};
 | 
						|
var Ki = Z({
 | 
						|
  name: Gi,
 | 
						|
  inheritAttrs: !1,
 | 
						|
  props: Ui,
 | 
						|
  setup(e, {
 | 
						|
    slots: t,
 | 
						|
    attrs: n
 | 
						|
  }) {
 | 
						|
    const a = () => {
 | 
						|
      var o;
 | 
						|
      return v("div", de({
 | 
						|
        class: [o0({
 | 
						|
          inset: e.inset
 | 
						|
        }), {
 | 
						|
          [j0]: e.border && !e.inset
 | 
						|
        }]
 | 
						|
      }, n, en()), [(o = t.default) == null ? void 0 : o.call(t)]);
 | 
						|
    }, r = () => v("div", {
 | 
						|
      class: o0("title", {
 | 
						|
        inset: e.inset
 | 
						|
      })
 | 
						|
    }, [t.title ? t.title() : e.title]);
 | 
						|
    return () => e.title || t.title ? v(an, null, [r(), a()]) : a();
 | 
						|
  }
 | 
						|
});
 | 
						|
const pl = ae(Ki), r0 = (/* @__PURE__ */ new Date()).getFullYear(), [Xi] = te("date-picker"), qi = ie({}, C1, {
 | 
						|
  columnsType: {
 | 
						|
    type: Array,
 | 
						|
    default: () => ["year", "month", "day"]
 | 
						|
  },
 | 
						|
  minDate: {
 | 
						|
    type: Date,
 | 
						|
    default: () => new Date(r0 - 10, 0, 1),
 | 
						|
    validator: An
 | 
						|
  },
 | 
						|
  maxDate: {
 | 
						|
    type: Date,
 | 
						|
    default: () => new Date(r0 + 10, 11, 31),
 | 
						|
    validator: An
 | 
						|
  }
 | 
						|
});
 | 
						|
var Zi = Z({
 | 
						|
  name: Xi,
 | 
						|
  props: qi,
 | 
						|
  emits: ["confirm", "cancel", "change", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = z(e.modelValue), r = z(!1), o = z(), i = N(() => r.value ? e.modelValue : a.value), u = (h) => h === e.minDate.getFullYear(), s = (h) => h === e.maxDate.getFullYear(), c = (h) => h === e.minDate.getMonth() + 1, f = (h) => h === e.maxDate.getMonth() + 1, g = (h) => {
 | 
						|
      const {
 | 
						|
        minDate: w,
 | 
						|
        columnsType: M
 | 
						|
      } = e, S = M.indexOf(h), A = i.value[S];
 | 
						|
      if (A)
 | 
						|
        return +A;
 | 
						|
      switch (h) {
 | 
						|
        case "year":
 | 
						|
          return w.getFullYear();
 | 
						|
        case "month":
 | 
						|
          return w.getMonth() + 1;
 | 
						|
        case "day":
 | 
						|
          return w.getDate();
 | 
						|
      }
 | 
						|
    }, d = () => {
 | 
						|
      const h = e.minDate.getFullYear(), w = e.maxDate.getFullYear();
 | 
						|
      return Ue(h, w, "year", e.formatter, e.filter, i.value);
 | 
						|
    }, T = () => {
 | 
						|
      const h = g("year"), w = u(h) ? e.minDate.getMonth() + 1 : 1, M = s(h) ? e.maxDate.getMonth() + 1 : 12;
 | 
						|
      return Ue(w, M, "month", e.formatter, e.filter, i.value);
 | 
						|
    }, x = () => {
 | 
						|
      const h = g("year"), w = g("month"), M = u(h) && c(w) ? e.minDate.getDate() : 1, S = s(h) && f(w) ? e.maxDate.getDate() : Fi(h, w);
 | 
						|
      return Ue(M, S, "day", e.formatter, e.filter, i.value);
 | 
						|
    }, p = () => {
 | 
						|
      var h;
 | 
						|
      return (h = o.value) == null ? void 0 : h.confirm();
 | 
						|
    }, b = () => a.value, R = N(() => e.columnsType.map((h) => {
 | 
						|
      switch (h) {
 | 
						|
        case "year":
 | 
						|
          return d();
 | 
						|
        case "month":
 | 
						|
          return T();
 | 
						|
        case "day":
 | 
						|
          return x();
 | 
						|
        default:
 | 
						|
          if (process.env.NODE_ENV !== "production")
 | 
						|
            throw new Error(`[Vant] DatePicker: unsupported columns type: ${h}`);
 | 
						|
          return [];
 | 
						|
      }
 | 
						|
    }));
 | 
						|
    X(a, (h) => {
 | 
						|
      Te(h, e.modelValue) || t("update:modelValue", h);
 | 
						|
    }), X(() => e.modelValue, (h, w) => {
 | 
						|
      r.value = Te(w, a.value), h = x1(h, R.value), Te(h, a.value) || (a.value = h), r.value = !1;
 | 
						|
    }, {
 | 
						|
      immediate: !0
 | 
						|
    });
 | 
						|
    const P = (...h) => t("change", ...h), V = (...h) => t("cancel", ...h), B = (...h) => t("confirm", ...h);
 | 
						|
    return fe({
 | 
						|
      confirm: p,
 | 
						|
      getSelectedDate: b
 | 
						|
    }), () => v(Sn, de({
 | 
						|
      ref: o,
 | 
						|
      modelValue: a.value,
 | 
						|
      "onUpdate:modelValue": (h) => a.value = h,
 | 
						|
      columns: R.value,
 | 
						|
      onChange: P,
 | 
						|
      onCancel: V,
 | 
						|
      onConfirm: B
 | 
						|
    }, be(e, $1)), n);
 | 
						|
  }
 | 
						|
});
 | 
						|
const Bl = ae(Zi), Dl = ae(Zr), [Ji, wt] = te("rate");
 | 
						|
function Qi(e, t, n, a) {
 | 
						|
  return e >= t ? {
 | 
						|
    status: "full",
 | 
						|
    value: 1
 | 
						|
  } : e + 0.5 >= t && n && !a ? {
 | 
						|
    status: "half",
 | 
						|
    value: 0.5
 | 
						|
  } : e + 1 >= t && n && a ? {
 | 
						|
    status: "half",
 | 
						|
    value: Math.round((e - t + 1) * 1e10) / 1e10
 | 
						|
  } : {
 | 
						|
    status: "void",
 | 
						|
    value: 0
 | 
						|
  };
 | 
						|
}
 | 
						|
const el = {
 | 
						|
  size: q,
 | 
						|
  icon: ce("star"),
 | 
						|
  color: String,
 | 
						|
  count: ne(5),
 | 
						|
  gutter: q,
 | 
						|
  clearable: Boolean,
 | 
						|
  readonly: Boolean,
 | 
						|
  disabled: Boolean,
 | 
						|
  voidIcon: ce("star-o"),
 | 
						|
  allowHalf: Boolean,
 | 
						|
  voidColor: String,
 | 
						|
  touchable: ee,
 | 
						|
  iconPrefix: String,
 | 
						|
  modelValue: io(0),
 | 
						|
  disabledColor: String
 | 
						|
};
 | 
						|
var tl = Z({
 | 
						|
  name: Ji,
 | 
						|
  props: el,
 | 
						|
  emits: ["change", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t
 | 
						|
  }) {
 | 
						|
    const n = ht(), [a, r] = yn(), o = z(), i = N(() => e.readonly || e.disabled), u = N(() => i.value || !e.touchable), s = N(() => Array(+e.count).fill("").map((V, B) => Qi(e.modelValue, B + 1, e.allowHalf, e.readonly)));
 | 
						|
    let c, f, g = Number.MAX_SAFE_INTEGER, d = Number.MIN_SAFE_INTEGER;
 | 
						|
    const T = () => {
 | 
						|
      f = ye(o);
 | 
						|
      const V = a.value.map(ye);
 | 
						|
      c = [], V.forEach((B, h) => {
 | 
						|
        g = Math.min(B.top, g), d = Math.max(B.top, d), e.allowHalf ? c.push({
 | 
						|
          score: h + 0.5,
 | 
						|
          left: B.left,
 | 
						|
          top: B.top,
 | 
						|
          height: B.height
 | 
						|
        }, {
 | 
						|
          score: h + 1,
 | 
						|
          left: B.left + B.width / 2,
 | 
						|
          top: B.top,
 | 
						|
          height: B.height
 | 
						|
        }) : c.push({
 | 
						|
          score: h + 1,
 | 
						|
          left: B.left,
 | 
						|
          top: B.top,
 | 
						|
          height: B.height
 | 
						|
        });
 | 
						|
      });
 | 
						|
    }, x = (V, B) => {
 | 
						|
      for (let h = c.length - 1; h > 0; h--)
 | 
						|
        if (B >= f.top && B <= f.bottom) {
 | 
						|
          if (V > c[h].left && B >= c[h].top && B <= c[h].top + c[h].height)
 | 
						|
            return c[h].score;
 | 
						|
        } else {
 | 
						|
          const w = B < f.top ? g : d;
 | 
						|
          if (V > c[h].left && c[h].top === w)
 | 
						|
            return c[h].score;
 | 
						|
        }
 | 
						|
      return e.allowHalf ? 0.5 : 1;
 | 
						|
    }, p = (V) => {
 | 
						|
      i.value || V === e.modelValue || (t("update:modelValue", V), t("change", V));
 | 
						|
    }, b = (V) => {
 | 
						|
      u.value || (n.start(V), T());
 | 
						|
    }, R = (V) => {
 | 
						|
      if (!u.value && (n.move(V), n.isHorizontal() && !n.isTap.value)) {
 | 
						|
        const {
 | 
						|
          clientX: B,
 | 
						|
          clientY: h
 | 
						|
        } = V.touches[0];
 | 
						|
        he(V), p(x(B, h));
 | 
						|
      }
 | 
						|
    }, P = (V, B) => {
 | 
						|
      const {
 | 
						|
        icon: h,
 | 
						|
        size: w,
 | 
						|
        color: M,
 | 
						|
        count: S,
 | 
						|
        gutter: A,
 | 
						|
        voidIcon: _,
 | 
						|
        disabled: l,
 | 
						|
        voidColor: y,
 | 
						|
        allowHalf: D,
 | 
						|
        iconPrefix: O,
 | 
						|
        disabledColor: C
 | 
						|
      } = e, $ = B + 1, j = V.status === "full", E = V.status === "void", H = D && V.value > 0 && V.value < 1;
 | 
						|
      let Y;
 | 
						|
      A && $ !== +S && (Y = {
 | 
						|
        paddingRight: re(A)
 | 
						|
      });
 | 
						|
      const I = (W) => {
 | 
						|
        T();
 | 
						|
        let K = D ? x(W.clientX, W.clientY) : $;
 | 
						|
        e.clearable && n.isTap.value && K === e.modelValue && (K = 0), p(K);
 | 
						|
      };
 | 
						|
      return v("div", {
 | 
						|
        key: B,
 | 
						|
        ref: r(B),
 | 
						|
        role: "radio",
 | 
						|
        style: Y,
 | 
						|
        class: wt("item"),
 | 
						|
        tabindex: l ? void 0 : 0,
 | 
						|
        "aria-setsize": S,
 | 
						|
        "aria-posinset": $,
 | 
						|
        "aria-checked": !E,
 | 
						|
        onClick: I
 | 
						|
      }, [v(Se, {
 | 
						|
        size: w,
 | 
						|
        name: j ? h : _,
 | 
						|
        class: wt("icon", {
 | 
						|
          disabled: l,
 | 
						|
          full: j
 | 
						|
        }),
 | 
						|
        color: l ? C : j ? M : y,
 | 
						|
        classPrefix: O
 | 
						|
      }, null), H && v(Se, {
 | 
						|
        size: w,
 | 
						|
        style: {
 | 
						|
          width: V.value + "em"
 | 
						|
        },
 | 
						|
        name: E ? _ : h,
 | 
						|
        class: wt("icon", ["half", {
 | 
						|
          disabled: l,
 | 
						|
          full: !E
 | 
						|
        }]),
 | 
						|
        color: l ? C : E ? y : M,
 | 
						|
        classPrefix: O
 | 
						|
      }, null)]);
 | 
						|
    };
 | 
						|
    return He(() => e.modelValue), Ce("touchmove", R, {
 | 
						|
      target: o
 | 
						|
    }), () => v("div", {
 | 
						|
      ref: o,
 | 
						|
      role: "radiogroup",
 | 
						|
      class: wt({
 | 
						|
        readonly: e.readonly,
 | 
						|
        disabled: e.disabled
 | 
						|
      }),
 | 
						|
      tabindex: e.disabled ? void 0 : 0,
 | 
						|
      "aria-disabled": e.disabled,
 | 
						|
      "aria-readonly": e.readonly,
 | 
						|
      onTouchstartPassive: b
 | 
						|
    }, [s.value.map(P)]);
 | 
						|
  }
 | 
						|
});
 | 
						|
const Ml = ae(tl), [nl, at] = te("slider"), al = {
 | 
						|
  min: ne(0),
 | 
						|
  max: ne(100),
 | 
						|
  step: ne(1),
 | 
						|
  range: Boolean,
 | 
						|
  reverse: Boolean,
 | 
						|
  disabled: Boolean,
 | 
						|
  readonly: Boolean,
 | 
						|
  vertical: Boolean,
 | 
						|
  barHeight: q,
 | 
						|
  buttonSize: q,
 | 
						|
  activeColor: String,
 | 
						|
  inactiveColor: String,
 | 
						|
  modelValue: {
 | 
						|
    type: [Number, Array],
 | 
						|
    default: 0
 | 
						|
  }
 | 
						|
};
 | 
						|
var ol = Z({
 | 
						|
  name: nl,
 | 
						|
  props: al,
 | 
						|
  emits: ["change", "dragEnd", "dragStart", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    let a, r, o;
 | 
						|
    const i = z(), u = [z(), z()], s = z(), c = ht(), f = N(() => Number(e.max) - Number(e.min)), g = N(() => {
 | 
						|
      const l = e.vertical ? "width" : "height";
 | 
						|
      return {
 | 
						|
        background: e.inactiveColor,
 | 
						|
        [l]: re(e.barHeight)
 | 
						|
      };
 | 
						|
    }), d = (l) => e.range && Array.isArray(l), T = () => {
 | 
						|
      const {
 | 
						|
        modelValue: l,
 | 
						|
        min: y
 | 
						|
      } = e;
 | 
						|
      return d(l) ? `${(l[1] - l[0]) * 100 / f.value}%` : `${(l - Number(y)) * 100 / f.value}%`;
 | 
						|
    }, x = () => {
 | 
						|
      const {
 | 
						|
        modelValue: l,
 | 
						|
        min: y
 | 
						|
      } = e;
 | 
						|
      return d(l) ? `${(l[0] - Number(y)) * 100 / f.value}%` : "0%";
 | 
						|
    }, p = N(() => {
 | 
						|
      const y = {
 | 
						|
        [e.vertical ? "height" : "width"]: T(),
 | 
						|
        background: e.activeColor
 | 
						|
      };
 | 
						|
      s.value && (y.transition = "none");
 | 
						|
      const D = () => e.vertical ? e.reverse ? "bottom" : "top" : e.reverse ? "right" : "left";
 | 
						|
      return y[D()] = x(), y;
 | 
						|
    }), b = (l) => {
 | 
						|
      const y = +e.min, D = +e.max, O = +e.step;
 | 
						|
      l = Ee(l, y, D);
 | 
						|
      const C = Math.round((l - y) / O) * O;
 | 
						|
      return M0(y, C);
 | 
						|
    }, R = () => {
 | 
						|
      const l = e.modelValue;
 | 
						|
      d(l) ? o = l.map(b) : o = b(l);
 | 
						|
    }, P = (l) => {
 | 
						|
      var y, D;
 | 
						|
      const O = (y = l[0]) != null ? y : Number(e.min), C = (D = l[1]) != null ? D : Number(e.max);
 | 
						|
      return O > C ? [C, O] : [O, C];
 | 
						|
    }, V = (l, y) => {
 | 
						|
      d(l) ? l = P(l).map(b) : l = b(l), Te(l, e.modelValue) || t("update:modelValue", l), y && !Te(l, o) && t("change", l);
 | 
						|
    }, B = (l) => {
 | 
						|
      if (l.stopPropagation(), e.disabled || e.readonly)
 | 
						|
        return;
 | 
						|
      R();
 | 
						|
      const {
 | 
						|
        min: y,
 | 
						|
        reverse: D,
 | 
						|
        vertical: O,
 | 
						|
        modelValue: C
 | 
						|
      } = e, $ = ye(i), j = () => O ? D ? $.bottom - l.clientY : l.clientY - $.top : D ? $.right - l.clientX : l.clientX - $.left, E = O ? $.height : $.width, H = Number(y) + j() / E * f.value;
 | 
						|
      if (d(C)) {
 | 
						|
        const [Y, I] = C, W = (Y + I) / 2;
 | 
						|
        H <= W ? V([H, I], !0) : V([Y, H], !0);
 | 
						|
      } else
 | 
						|
        V(H, !0);
 | 
						|
    }, h = (l) => {
 | 
						|
      e.disabled || e.readonly || (c.start(l), r = e.modelValue, R(), s.value = "start");
 | 
						|
    }, w = (l) => {
 | 
						|
      if (e.disabled || e.readonly)
 | 
						|
        return;
 | 
						|
      s.value === "start" && t("dragStart", l), he(l, !0), c.move(l), s.value = "dragging";
 | 
						|
      const y = ye(i), D = e.vertical ? c.deltaY.value : c.deltaX.value, O = e.vertical ? y.height : y.width;
 | 
						|
      let C = D / O * f.value;
 | 
						|
      if (e.reverse && (C = -C), d(o)) {
 | 
						|
        const $ = e.reverse ? 1 - a : a;
 | 
						|
        r[$] = o[$] + C;
 | 
						|
      } else
 | 
						|
        r = o + C;
 | 
						|
      V(r);
 | 
						|
    }, M = (l) => {
 | 
						|
      e.disabled || e.readonly || (s.value === "dragging" && (V(r, !0), t("dragEnd", l)), s.value = "");
 | 
						|
    }, S = (l) => typeof l == "number" ? at("button-wrapper", ["left", "right"][l]) : at("button-wrapper", e.reverse ? "left" : "right"), A = (l, y) => {
 | 
						|
      const D = s.value === "dragging";
 | 
						|
      if (typeof y == "number") {
 | 
						|
        const O = n[y === 0 ? "left-button" : "right-button"];
 | 
						|
        let C;
 | 
						|
        if (D && Array.isArray(r) && (C = r[0] > r[1] ? a ^ 1 : a), O)
 | 
						|
          return O({
 | 
						|
            value: l,
 | 
						|
            dragging: D,
 | 
						|
            dragIndex: C
 | 
						|
          });
 | 
						|
      }
 | 
						|
      return n.button ? n.button({
 | 
						|
        value: l,
 | 
						|
        dragging: D
 | 
						|
      }) : v("div", {
 | 
						|
        class: at("button"),
 | 
						|
        style: mn(e.buttonSize)
 | 
						|
      }, null);
 | 
						|
    }, _ = (l) => {
 | 
						|
      const y = typeof l == "number" ? e.modelValue[l] : e.modelValue;
 | 
						|
      return v("div", {
 | 
						|
        ref: u[l ?? 0],
 | 
						|
        role: "slider",
 | 
						|
        class: S(l),
 | 
						|
        tabindex: e.disabled ? void 0 : 0,
 | 
						|
        "aria-valuemin": e.min,
 | 
						|
        "aria-valuenow": y,
 | 
						|
        "aria-valuemax": e.max,
 | 
						|
        "aria-disabled": e.disabled || void 0,
 | 
						|
        "aria-readonly": e.readonly || void 0,
 | 
						|
        "aria-orientation": e.vertical ? "vertical" : "horizontal",
 | 
						|
        onTouchstartPassive: (D) => {
 | 
						|
          typeof l == "number" && (a = l), h(D);
 | 
						|
        },
 | 
						|
        onTouchend: M,
 | 
						|
        onTouchcancel: M,
 | 
						|
        onClick: V0
 | 
						|
      }, [A(y, l)]);
 | 
						|
    };
 | 
						|
    return V(e.modelValue), He(() => e.modelValue), u.forEach((l) => {
 | 
						|
      Ce("touchmove", w, {
 | 
						|
        target: l
 | 
						|
      });
 | 
						|
    }), () => v("div", {
 | 
						|
      ref: i,
 | 
						|
      style: g.value,
 | 
						|
      class: at({
 | 
						|
        vertical: e.vertical,
 | 
						|
        disabled: e.disabled
 | 
						|
      }),
 | 
						|
      onClick: B
 | 
						|
    }, [v("div", {
 | 
						|
      class: at("bar"),
 | 
						|
      style: p.value
 | 
						|
    }, [e.range ? [_(0), _(1)] : _()])]);
 | 
						|
  }
 | 
						|
});
 | 
						|
const Al = ae(ol), [rl, Tt] = te("stepper"), il = 200, Ct = (e, t) => String(e) === String(t), ll = {
 | 
						|
  min: ne(1),
 | 
						|
  max: ne(1 / 0),
 | 
						|
  name: ne(""),
 | 
						|
  step: ne(1),
 | 
						|
  theme: String,
 | 
						|
  integer: Boolean,
 | 
						|
  disabled: Boolean,
 | 
						|
  showPlus: ee,
 | 
						|
  showMinus: ee,
 | 
						|
  showInput: ee,
 | 
						|
  longPress: ee,
 | 
						|
  autoFixed: ee,
 | 
						|
  allowEmpty: Boolean,
 | 
						|
  modelValue: q,
 | 
						|
  inputWidth: q,
 | 
						|
  buttonSize: q,
 | 
						|
  placeholder: String,
 | 
						|
  disablePlus: Boolean,
 | 
						|
  disableMinus: Boolean,
 | 
						|
  disableInput: Boolean,
 | 
						|
  beforeChange: Function,
 | 
						|
  defaultValue: ne(1),
 | 
						|
  decimalLength: q
 | 
						|
};
 | 
						|
var cl = Z({
 | 
						|
  name: rl,
 | 
						|
  props: ll,
 | 
						|
  emits: ["plus", "blur", "minus", "focus", "change", "overlimit", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t
 | 
						|
  }) {
 | 
						|
    const n = (S, A = !0) => {
 | 
						|
      const {
 | 
						|
        min: _,
 | 
						|
        max: l,
 | 
						|
        allowEmpty: y,
 | 
						|
        decimalLength: D
 | 
						|
      } = e;
 | 
						|
      return y && S === "" || (S = Jt(String(S), !e.integer), S = S === "" ? 0 : +S, S = Number.isNaN(S) ? +_ : S, S = A ? Math.max(Math.min(+l, S), +_) : S, le(D) && (S = S.toFixed(+D))), S;
 | 
						|
    }, a = () => {
 | 
						|
      var S;
 | 
						|
      const A = (S = e.modelValue) != null ? S : e.defaultValue, _ = n(A);
 | 
						|
      return Ct(_, e.modelValue) || t("update:modelValue", _), _;
 | 
						|
    };
 | 
						|
    let r;
 | 
						|
    const o = z(), i = z(a()), u = N(() => e.disabled || e.disableMinus || +i.value <= +e.min), s = N(() => e.disabled || e.disablePlus || +i.value >= +e.max), c = N(() => ({
 | 
						|
      width: re(e.inputWidth),
 | 
						|
      height: re(e.buttonSize)
 | 
						|
    })), f = N(() => mn(e.buttonSize)), g = () => {
 | 
						|
      const S = n(i.value);
 | 
						|
      Ct(S, i.value) || (i.value = S);
 | 
						|
    }, d = (S) => {
 | 
						|
      e.beforeChange ? gn(e.beforeChange, {
 | 
						|
        args: [S],
 | 
						|
        done() {
 | 
						|
          i.value = S;
 | 
						|
        }
 | 
						|
      }) : i.value = S;
 | 
						|
    }, T = () => {
 | 
						|
      if (r === "plus" && s.value || r === "minus" && u.value) {
 | 
						|
        t("overlimit", r);
 | 
						|
        return;
 | 
						|
      }
 | 
						|
      const S = r === "minus" ? -e.step : +e.step, A = n(M0(+i.value, S));
 | 
						|
      d(A), t(r);
 | 
						|
    }, x = (S) => {
 | 
						|
      const A = S.target, {
 | 
						|
        value: _
 | 
						|
      } = A, {
 | 
						|
        decimalLength: l
 | 
						|
      } = e;
 | 
						|
      let y = Jt(String(_), !e.integer);
 | 
						|
      if (le(l) && y.includes(".")) {
 | 
						|
        const O = y.split(".");
 | 
						|
        y = `${O[0]}.${O[1].slice(0, +l)}`;
 | 
						|
      }
 | 
						|
      e.beforeChange ? A.value = String(i.value) : Ct(_, y) || (A.value = y);
 | 
						|
      const D = y === String(+y);
 | 
						|
      d(D ? +y : y);
 | 
						|
    }, p = (S) => {
 | 
						|
      var A;
 | 
						|
      e.disableInput ? (A = o.value) == null || A.blur() : t("focus", S);
 | 
						|
    }, b = (S) => {
 | 
						|
      const A = S.target, _ = n(A.value, e.autoFixed);
 | 
						|
      A.value = String(_), i.value = _, ue(() => {
 | 
						|
        t("blur", S), I0();
 | 
						|
      });
 | 
						|
    };
 | 
						|
    let R, P;
 | 
						|
    const V = () => {
 | 
						|
      P = setTimeout(() => {
 | 
						|
        T(), V();
 | 
						|
      }, il);
 | 
						|
    }, B = () => {
 | 
						|
      e.longPress && (R = !1, clearTimeout(P), P = setTimeout(() => {
 | 
						|
        R = !0, T(), V();
 | 
						|
      }, Io));
 | 
						|
    }, h = (S) => {
 | 
						|
      e.longPress && (clearTimeout(P), R && he(S));
 | 
						|
    }, w = (S) => {
 | 
						|
      e.disableInput && he(S);
 | 
						|
    }, M = (S) => ({
 | 
						|
      onClick: (A) => {
 | 
						|
        he(A), r = S, T();
 | 
						|
      },
 | 
						|
      onTouchstartPassive: () => {
 | 
						|
        r = S, B();
 | 
						|
      },
 | 
						|
      onTouchend: h,
 | 
						|
      onTouchcancel: h
 | 
						|
    });
 | 
						|
    return X(() => [e.max, e.min, e.integer, e.decimalLength], g), X(() => e.modelValue, (S) => {
 | 
						|
      Ct(S, i.value) || (i.value = n(S));
 | 
						|
    }), X(i, (S) => {
 | 
						|
      t("update:modelValue", S), t("change", S, {
 | 
						|
        name: e.name
 | 
						|
      });
 | 
						|
    }), He(() => e.modelValue), () => v("div", {
 | 
						|
      role: "group",
 | 
						|
      class: Tt([e.theme])
 | 
						|
    }, [We(v("button", de({
 | 
						|
      type: "button",
 | 
						|
      style: f.value,
 | 
						|
      class: [Tt("minus", {
 | 
						|
        disabled: u.value
 | 
						|
      }), {
 | 
						|
        [Xe]: !u.value
 | 
						|
      }],
 | 
						|
      "aria-disabled": u.value || void 0
 | 
						|
    }, M("minus")), null), [[Ge, e.showMinus]]), We(v("input", {
 | 
						|
      ref: o,
 | 
						|
      type: e.integer ? "tel" : "text",
 | 
						|
      role: "spinbutton",
 | 
						|
      class: Tt("input"),
 | 
						|
      value: i.value,
 | 
						|
      style: c.value,
 | 
						|
      disabled: e.disabled,
 | 
						|
      readonly: e.disableInput,
 | 
						|
      inputmode: e.integer ? "numeric" : "decimal",
 | 
						|
      placeholder: e.placeholder,
 | 
						|
      autocomplete: "off",
 | 
						|
      "aria-valuemax": e.max,
 | 
						|
      "aria-valuemin": e.min,
 | 
						|
      "aria-valuenow": i.value,
 | 
						|
      onBlur: b,
 | 
						|
      onInput: x,
 | 
						|
      onFocus: p,
 | 
						|
      onMousedown: w
 | 
						|
    }, null), [[Ge, e.showInput]]), We(v("button", de({
 | 
						|
      type: "button",
 | 
						|
      style: f.value,
 | 
						|
      class: [Tt("plus", {
 | 
						|
        disabled: s.value
 | 
						|
      }), {
 | 
						|
        [Xe]: !s.value
 | 
						|
      }],
 | 
						|
      "aria-disabled": s.value || void 0
 | 
						|
    }, M("plus")), null), [[Ge, e.showPlus]])]);
 | 
						|
  }
 | 
						|
});
 | 
						|
const Rl = ae(cl), [ul] = te("time-picker"), i0 = (e) => /^([01]\d|2[0-3]):([0-5]\d):([0-5]\d)$/.test(e), sl = ["hour", "minute", "second"], dl = ie({}, C1, {
 | 
						|
  minHour: ne(0),
 | 
						|
  maxHour: ne(23),
 | 
						|
  minMinute: ne(0),
 | 
						|
  maxMinute: ne(59),
 | 
						|
  minSecond: ne(0),
 | 
						|
  maxSecond: ne(59),
 | 
						|
  minTime: {
 | 
						|
    type: String,
 | 
						|
    validator: i0
 | 
						|
  },
 | 
						|
  maxTime: {
 | 
						|
    type: String,
 | 
						|
    validator: i0
 | 
						|
  },
 | 
						|
  columnsType: {
 | 
						|
    type: Array,
 | 
						|
    default: () => ["hour", "minute"]
 | 
						|
  }
 | 
						|
});
 | 
						|
var fl = Z({
 | 
						|
  name: ul,
 | 
						|
  props: dl,
 | 
						|
  emits: ["confirm", "cancel", "change", "update:modelValue"],
 | 
						|
  setup(e, {
 | 
						|
    emit: t,
 | 
						|
    slots: n
 | 
						|
  }) {
 | 
						|
    const a = z(e.modelValue), r = z(), o = (d) => {
 | 
						|
      const T = d.split(":");
 | 
						|
      return sl.map((x, p) => e.columnsType.includes(x) ? T[p] : "00");
 | 
						|
    }, i = () => {
 | 
						|
      var d;
 | 
						|
      return (d = r.value) == null ? void 0 : d.confirm();
 | 
						|
    }, u = () => a.value, s = N(() => {
 | 
						|
      let {
 | 
						|
        minHour: d,
 | 
						|
        maxHour: T,
 | 
						|
        minMinute: x,
 | 
						|
        maxMinute: p,
 | 
						|
        minSecond: b,
 | 
						|
        maxSecond: R
 | 
						|
      } = e;
 | 
						|
      if (e.minTime || e.maxTime) {
 | 
						|
        const P = {
 | 
						|
          hour: 0,
 | 
						|
          minute: 0,
 | 
						|
          second: 0
 | 
						|
        };
 | 
						|
        e.columnsType.forEach((h, w) => {
 | 
						|
          var M;
 | 
						|
          P[h] = (M = a.value[w]) != null ? M : 0;
 | 
						|
        });
 | 
						|
        const {
 | 
						|
          hour: V,
 | 
						|
          minute: B
 | 
						|
        } = P;
 | 
						|
        if (e.minTime) {
 | 
						|
          const [h, w, M] = o(e.minTime);
 | 
						|
          d = h, x = +V <= +d ? w : "00", b = +V <= +d && +B <= +x ? M : "00";
 | 
						|
        }
 | 
						|
        if (e.maxTime) {
 | 
						|
          const [h, w, M] = o(e.maxTime);
 | 
						|
          T = h, p = +V >= +T ? w : "59", R = +V >= +T && +B >= +p ? M : "59";
 | 
						|
        }
 | 
						|
      }
 | 
						|
      return e.columnsType.map((P) => {
 | 
						|
        const {
 | 
						|
          filter: V,
 | 
						|
          formatter: B
 | 
						|
        } = e;
 | 
						|
        switch (P) {
 | 
						|
          case "hour":
 | 
						|
            return Ue(+d, +T, P, B, V, a.value);
 | 
						|
          case "minute":
 | 
						|
            return Ue(+x, +p, P, B, V, a.value);
 | 
						|
          case "second":
 | 
						|
            return Ue(+b, +R, P, B, V, a.value);
 | 
						|
          default:
 | 
						|
            if (process.env.NODE_ENV !== "production")
 | 
						|
              throw new Error(`[Vant] DatePicker: unsupported columns type: ${P}`);
 | 
						|
            return [];
 | 
						|
        }
 | 
						|
      });
 | 
						|
    });
 | 
						|
    X(a, (d) => {
 | 
						|
      Te(d, e.modelValue) || t("update:modelValue", d);
 | 
						|
    }), X(() => e.modelValue, (d) => {
 | 
						|
      d = x1(d, s.value), Te(d, a.value) || (a.value = d);
 | 
						|
    }, {
 | 
						|
      immediate: !0
 | 
						|
    });
 | 
						|
    const c = (...d) => t("change", ...d), f = (...d) => t("cancel", ...d), g = (...d) => t("confirm", ...d);
 | 
						|
    return fe({
 | 
						|
      confirm: i,
 | 
						|
      getSelectedTime: u
 | 
						|
    }), () => v(Sn, de({
 | 
						|
      ref: r,
 | 
						|
      modelValue: a.value,
 | 
						|
      "onUpdate:modelValue": (d) => a.value = d,
 | 
						|
      columns: s.value,
 | 
						|
      onChange: c,
 | 
						|
      onCancel: f,
 | 
						|
      onConfirm: g
 | 
						|
    }, be(e, $1)), n);
 | 
						|
  }
 | 
						|
});
 | 
						|
const jl = ae(fl);
 | 
						|
var hl = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
 | 
						|
function ml(e) {
 | 
						|
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
 | 
						|
}
 | 
						|
var _1 = { exports: {} };
 | 
						|
(function(e, t) {
 | 
						|
  (function(n, a) {
 | 
						|
    e.exports = a();
 | 
						|
  })(hl, function() {
 | 
						|
    var n = 1e3, a = 6e4, r = 36e5, o = "millisecond", i = "second", u = "minute", s = "hour", c = "day", f = "week", g = "month", d = "quarter", T = "year", x = "date", p = "Invalid Date", b = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, R = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, P = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(O) {
 | 
						|
      var C = ["th", "st", "nd", "rd"], $ = O % 100;
 | 
						|
      return "[" + O + (C[($ - 20) % 10] || C[$] || C[0]) + "]";
 | 
						|
    } }, V = function(O, C, $) {
 | 
						|
      var j = String(O);
 | 
						|
      return !j || j.length >= C ? O : "" + Array(C + 1 - j.length).join($) + O;
 | 
						|
    }, B = { s: V, z: function(O) {
 | 
						|
      var C = -O.utcOffset(), $ = Math.abs(C), j = Math.floor($ / 60), E = $ % 60;
 | 
						|
      return (C <= 0 ? "+" : "-") + V(j, 2, "0") + ":" + V(E, 2, "0");
 | 
						|
    }, m: function O(C, $) {
 | 
						|
      if (C.date() < $.date()) return -O($, C);
 | 
						|
      var j = 12 * ($.year() - C.year()) + ($.month() - C.month()), E = C.clone().add(j, g), H = $ - E < 0, Y = C.clone().add(j + (H ? -1 : 1), g);
 | 
						|
      return +(-(j + ($ - E) / (H ? E - Y : Y - E)) || 0);
 | 
						|
    }, a: function(O) {
 | 
						|
      return O < 0 ? Math.ceil(O) || 0 : Math.floor(O);
 | 
						|
    }, p: function(O) {
 | 
						|
      return { M: g, y: T, w: f, d: c, D: x, h: s, m: u, s: i, ms: o, Q: d }[O] || String(O || "").toLowerCase().replace(/s$/, "");
 | 
						|
    }, u: function(O) {
 | 
						|
      return O === void 0;
 | 
						|
    } }, h = "en", w = {};
 | 
						|
    w[h] = P;
 | 
						|
    var M = "$isDayjsObject", S = function(O) {
 | 
						|
      return O instanceof y || !(!O || !O[M]);
 | 
						|
    }, A = function O(C, $, j) {
 | 
						|
      var E;
 | 
						|
      if (!C) return h;
 | 
						|
      if (typeof C == "string") {
 | 
						|
        var H = C.toLowerCase();
 | 
						|
        w[H] && (E = H), $ && (w[H] = $, E = H);
 | 
						|
        var Y = C.split("-");
 | 
						|
        if (!E && Y.length > 1) return O(Y[0]);
 | 
						|
      } else {
 | 
						|
        var I = C.name;
 | 
						|
        w[I] = C, E = I;
 | 
						|
      }
 | 
						|
      return !j && E && (h = E), E || !j && h;
 | 
						|
    }, _ = function(O, C) {
 | 
						|
      if (S(O)) return O.clone();
 | 
						|
      var $ = typeof C == "object" ? C : {};
 | 
						|
      return $.date = O, $.args = arguments, new y($);
 | 
						|
    }, l = B;
 | 
						|
    l.l = A, l.i = S, l.w = function(O, C) {
 | 
						|
      return _(O, { locale: C.$L, utc: C.$u, x: C.$x, $offset: C.$offset });
 | 
						|
    };
 | 
						|
    var y = function() {
 | 
						|
      function O($) {
 | 
						|
        this.$L = A($.locale, null, !0), this.parse($), this.$x = this.$x || $.x || {}, this[M] = !0;
 | 
						|
      }
 | 
						|
      var C = O.prototype;
 | 
						|
      return C.parse = function($) {
 | 
						|
        this.$d = function(j) {
 | 
						|
          var E = j.date, H = j.utc;
 | 
						|
          if (E === null) return /* @__PURE__ */ new Date(NaN);
 | 
						|
          if (l.u(E)) return /* @__PURE__ */ new Date();
 | 
						|
          if (E instanceof Date) return new Date(E);
 | 
						|
          if (typeof E == "string" && !/Z$/i.test(E)) {
 | 
						|
            var Y = E.match(b);
 | 
						|
            if (Y) {
 | 
						|
              var I = Y[2] - 1 || 0, W = (Y[7] || "0").substring(0, 3);
 | 
						|
              return H ? new Date(Date.UTC(Y[1], I, Y[3] || 1, Y[4] || 0, Y[5] || 0, Y[6] || 0, W)) : new Date(Y[1], I, Y[3] || 1, Y[4] || 0, Y[5] || 0, Y[6] || 0, W);
 | 
						|
            }
 | 
						|
          }
 | 
						|
          return new Date(E);
 | 
						|
        }($), this.init();
 | 
						|
      }, C.init = function() {
 | 
						|
        var $ = this.$d;
 | 
						|
        this.$y = $.getFullYear(), this.$M = $.getMonth(), this.$D = $.getDate(), this.$W = $.getDay(), this.$H = $.getHours(), this.$m = $.getMinutes(), this.$s = $.getSeconds(), this.$ms = $.getMilliseconds();
 | 
						|
      }, C.$utils = function() {
 | 
						|
        return l;
 | 
						|
      }, C.isValid = function() {
 | 
						|
        return this.$d.toString() !== p;
 | 
						|
      }, C.isSame = function($, j) {
 | 
						|
        var E = _($);
 | 
						|
        return this.startOf(j) <= E && E <= this.endOf(j);
 | 
						|
      }, C.isAfter = function($, j) {
 | 
						|
        return _($) < this.startOf(j);
 | 
						|
      }, C.isBefore = function($, j) {
 | 
						|
        return this.endOf(j) < _($);
 | 
						|
      }, C.$g = function($, j, E) {
 | 
						|
        return l.u($) ? this[j] : this.set(E, $);
 | 
						|
      }, C.unix = function() {
 | 
						|
        return Math.floor(this.valueOf() / 1e3);
 | 
						|
      }, C.valueOf = function() {
 | 
						|
        return this.$d.getTime();
 | 
						|
      }, C.startOf = function($, j) {
 | 
						|
        var E = this, H = !!l.u(j) || j, Y = l.p($), I = function(F, U) {
 | 
						|
          var Q = l.w(E.$u ? Date.UTC(E.$y, U, F) : new Date(E.$y, U, F), E);
 | 
						|
          return H ? Q : Q.endOf(c);
 | 
						|
        }, W = function(F, U) {
 | 
						|
          return l.w(E.toDate()[F].apply(E.toDate("s"), (H ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(U)), E);
 | 
						|
        }, K = this.$W, J = this.$M, k = this.$D, G = "set" + (this.$u ? "UTC" : "");
 | 
						|
        switch (Y) {
 | 
						|
          case T:
 | 
						|
            return H ? I(1, 0) : I(31, 11);
 | 
						|
          case g:
 | 
						|
            return H ? I(1, J) : I(0, J + 1);
 | 
						|
          case f:
 | 
						|
            var m = this.$locale().weekStart || 0, L = (K < m ? K + 7 : K) - m;
 | 
						|
            return I(H ? k - L : k + (6 - L), J);
 | 
						|
          case c:
 | 
						|
          case x:
 | 
						|
            return W(G + "Hours", 0);
 | 
						|
          case s:
 | 
						|
            return W(G + "Minutes", 1);
 | 
						|
          case u:
 | 
						|
            return W(G + "Seconds", 2);
 | 
						|
          case i:
 | 
						|
            return W(G + "Milliseconds", 3);
 | 
						|
          default:
 | 
						|
            return this.clone();
 | 
						|
        }
 | 
						|
      }, C.endOf = function($) {
 | 
						|
        return this.startOf($, !1);
 | 
						|
      }, C.$set = function($, j) {
 | 
						|
        var E, H = l.p($), Y = "set" + (this.$u ? "UTC" : ""), I = (E = {}, E[c] = Y + "Date", E[x] = Y + "Date", E[g] = Y + "Month", E[T] = Y + "FullYear", E[s] = Y + "Hours", E[u] = Y + "Minutes", E[i] = Y + "Seconds", E[o] = Y + "Milliseconds", E)[H], W = H === c ? this.$D + (j - this.$W) : j;
 | 
						|
        if (H === g || H === T) {
 | 
						|
          var K = this.clone().set(x, 1);
 | 
						|
          K.$d[I](W), K.init(), this.$d = K.set(x, Math.min(this.$D, K.daysInMonth())).$d;
 | 
						|
        } else I && this.$d[I](W);
 | 
						|
        return this.init(), this;
 | 
						|
      }, C.set = function($, j) {
 | 
						|
        return this.clone().$set($, j);
 | 
						|
      }, C.get = function($) {
 | 
						|
        return this[l.p($)]();
 | 
						|
      }, C.add = function($, j) {
 | 
						|
        var E, H = this;
 | 
						|
        $ = Number($);
 | 
						|
        var Y = l.p(j), I = function(J) {
 | 
						|
          var k = _(H);
 | 
						|
          return l.w(k.date(k.date() + Math.round(J * $)), H);
 | 
						|
        };
 | 
						|
        if (Y === g) return this.set(g, this.$M + $);
 | 
						|
        if (Y === T) return this.set(T, this.$y + $);
 | 
						|
        if (Y === c) return I(1);
 | 
						|
        if (Y === f) return I(7);
 | 
						|
        var W = (E = {}, E[u] = a, E[s] = r, E[i] = n, E)[Y] || 1, K = this.$d.getTime() + $ * W;
 | 
						|
        return l.w(K, this);
 | 
						|
      }, C.subtract = function($, j) {
 | 
						|
        return this.add(-1 * $, j);
 | 
						|
      }, C.format = function($) {
 | 
						|
        var j = this, E = this.$locale();
 | 
						|
        if (!this.isValid()) return E.invalidDate || p;
 | 
						|
        var H = $ || "YYYY-MM-DDTHH:mm:ssZ", Y = l.z(this), I = this.$H, W = this.$m, K = this.$M, J = E.weekdays, k = E.months, G = E.meridiem, m = function(U, Q, se, ve) {
 | 
						|
          return U && (U[Q] || U(j, H)) || se[Q].slice(0, ve);
 | 
						|
        }, L = function(U) {
 | 
						|
          return l.s(I % 12 || 12, U, "0");
 | 
						|
        }, F = G || function(U, Q, se) {
 | 
						|
          var ve = U < 12 ? "AM" : "PM";
 | 
						|
          return se ? ve.toLowerCase() : ve;
 | 
						|
        };
 | 
						|
        return H.replace(R, function(U, Q) {
 | 
						|
          return Q || function(se) {
 | 
						|
            switch (se) {
 | 
						|
              case "YY":
 | 
						|
                return String(j.$y).slice(-2);
 | 
						|
              case "YYYY":
 | 
						|
                return l.s(j.$y, 4, "0");
 | 
						|
              case "M":
 | 
						|
                return K + 1;
 | 
						|
              case "MM":
 | 
						|
                return l.s(K + 1, 2, "0");
 | 
						|
              case "MMM":
 | 
						|
                return m(E.monthsShort, K, k, 3);
 | 
						|
              case "MMMM":
 | 
						|
                return m(k, K);
 | 
						|
              case "D":
 | 
						|
                return j.$D;
 | 
						|
              case "DD":
 | 
						|
                return l.s(j.$D, 2, "0");
 | 
						|
              case "d":
 | 
						|
                return String(j.$W);
 | 
						|
              case "dd":
 | 
						|
                return m(E.weekdaysMin, j.$W, J, 2);
 | 
						|
              case "ddd":
 | 
						|
                return m(E.weekdaysShort, j.$W, J, 3);
 | 
						|
              case "dddd":
 | 
						|
                return J[j.$W];
 | 
						|
              case "H":
 | 
						|
                return String(I);
 | 
						|
              case "HH":
 | 
						|
                return l.s(I, 2, "0");
 | 
						|
              case "h":
 | 
						|
                return L(1);
 | 
						|
              case "hh":
 | 
						|
                return L(2);
 | 
						|
              case "a":
 | 
						|
                return F(I, W, !0);
 | 
						|
              case "A":
 | 
						|
                return F(I, W, !1);
 | 
						|
              case "m":
 | 
						|
                return String(W);
 | 
						|
              case "mm":
 | 
						|
                return l.s(W, 2, "0");
 | 
						|
              case "s":
 | 
						|
                return String(j.$s);
 | 
						|
              case "ss":
 | 
						|
                return l.s(j.$s, 2, "0");
 | 
						|
              case "SSS":
 | 
						|
                return l.s(j.$ms, 3, "0");
 | 
						|
              case "Z":
 | 
						|
                return Y;
 | 
						|
            }
 | 
						|
            return null;
 | 
						|
          }(U) || Y.replace(":", "");
 | 
						|
        });
 | 
						|
      }, C.utcOffset = function() {
 | 
						|
        return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
 | 
						|
      }, C.diff = function($, j, E) {
 | 
						|
        var H, Y = this, I = l.p(j), W = _($), K = (W.utcOffset() - this.utcOffset()) * a, J = this - W, k = function() {
 | 
						|
          return l.m(Y, W);
 | 
						|
        };
 | 
						|
        switch (I) {
 | 
						|
          case T:
 | 
						|
            H = k() / 12;
 | 
						|
            break;
 | 
						|
          case g:
 | 
						|
            H = k();
 | 
						|
            break;
 | 
						|
          case d:
 | 
						|
            H = k() / 3;
 | 
						|
            break;
 | 
						|
          case f:
 | 
						|
            H = (J - K) / 6048e5;
 | 
						|
            break;
 | 
						|
          case c:
 | 
						|
            H = (J - K) / 864e5;
 | 
						|
            break;
 | 
						|
          case s:
 | 
						|
            H = J / r;
 | 
						|
            break;
 | 
						|
          case u:
 | 
						|
            H = J / a;
 | 
						|
            break;
 | 
						|
          case i:
 | 
						|
            H = J / n;
 | 
						|
            break;
 | 
						|
          default:
 | 
						|
            H = J;
 | 
						|
        }
 | 
						|
        return E ? H : l.a(H);
 | 
						|
      }, C.daysInMonth = function() {
 | 
						|
        return this.endOf(g).$D;
 | 
						|
      }, C.$locale = function() {
 | 
						|
        return w[this.$L];
 | 
						|
      }, C.locale = function($, j) {
 | 
						|
        if (!$) return this.$L;
 | 
						|
        var E = this.clone(), H = A($, j, !0);
 | 
						|
        return H && (E.$L = H), E;
 | 
						|
      }, C.clone = function() {
 | 
						|
        return l.w(this.$d, this);
 | 
						|
      }, C.toDate = function() {
 | 
						|
        return new Date(this.valueOf());
 | 
						|
      }, C.toJSON = function() {
 | 
						|
        return this.isValid() ? this.toISOString() : null;
 | 
						|
      }, C.toISOString = function() {
 | 
						|
        return this.$d.toISOString();
 | 
						|
      }, C.toString = function() {
 | 
						|
        return this.$d.toUTCString();
 | 
						|
      }, O;
 | 
						|
    }(), D = y.prototype;
 | 
						|
    return _.prototype = D, [["$ms", o], ["$s", i], ["$m", u], ["$H", s], ["$W", c], ["$M", g], ["$y", T], ["$D", x]].forEach(function(O) {
 | 
						|
      D[O[1]] = function(C) {
 | 
						|
        return this.$g(C, O[0], O[1]);
 | 
						|
      };
 | 
						|
    }), _.extend = function(O, C) {
 | 
						|
      return O.$i || (O(C, y, _), O.$i = !0), _;
 | 
						|
    }, _.locale = A, _.isDayjs = S, _.unix = function(O) {
 | 
						|
      return _(1e3 * O);
 | 
						|
    }, _.en = w[h], _.Ls = w, _.p = {}, _;
 | 
						|
  });
 | 
						|
})(_1);
 | 
						|
var vl = _1.exports;
 | 
						|
const Nl = /* @__PURE__ */ ml(vl);
 | 
						|
var zl = {
 | 
						|
  province_list: {
 | 
						|
    11e4: "北京市",
 | 
						|
    12e4: "天津市",
 | 
						|
    13e4: "河北省",
 | 
						|
    14e4: "山西省",
 | 
						|
    15e4: "内蒙古自治区",
 | 
						|
    21e4: "辽宁省",
 | 
						|
    22e4: "吉林省",
 | 
						|
    23e4: "黑龙江省",
 | 
						|
    31e4: "上海市",
 | 
						|
    32e4: "江苏省",
 | 
						|
    33e4: "浙江省",
 | 
						|
    34e4: "安徽省",
 | 
						|
    35e4: "福建省",
 | 
						|
    36e4: "江西省",
 | 
						|
    37e4: "山东省",
 | 
						|
    41e4: "河南省",
 | 
						|
    42e4: "湖北省",
 | 
						|
    43e4: "湖南省",
 | 
						|
    44e4: "广东省",
 | 
						|
    45e4: "广西壮族自治区",
 | 
						|
    46e4: "海南省",
 | 
						|
    5e5: "重庆市",
 | 
						|
    51e4: "四川省",
 | 
						|
    52e4: "贵州省",
 | 
						|
    53e4: "云南省",
 | 
						|
    54e4: "西藏自治区",
 | 
						|
    61e4: "陕西省",
 | 
						|
    62e4: "甘肃省",
 | 
						|
    63e4: "青海省",
 | 
						|
    64e4: "宁夏回族自治区",
 | 
						|
    65e4: "新疆维吾尔自治区",
 | 
						|
    71e4: "台湾省",
 | 
						|
    81e4: "香港特别行政区",
 | 
						|
    82e4: "澳门特别行政区"
 | 
						|
  },
 | 
						|
  city_list: {
 | 
						|
    110100: "北京市",
 | 
						|
    120100: "天津市",
 | 
						|
    130100: "石家庄市",
 | 
						|
    130200: "唐山市",
 | 
						|
    130300: "秦皇岛市",
 | 
						|
    130400: "邯郸市",
 | 
						|
    130500: "邢台市",
 | 
						|
    130600: "保定市",
 | 
						|
    130700: "张家口市",
 | 
						|
    130800: "承德市",
 | 
						|
    130900: "沧州市",
 | 
						|
    131e3: "廊坊市",
 | 
						|
    131100: "衡水市",
 | 
						|
    140100: "太原市",
 | 
						|
    140200: "大同市",
 | 
						|
    140300: "阳泉市",
 | 
						|
    140400: "长治市",
 | 
						|
    140500: "晋城市",
 | 
						|
    140600: "朔州市",
 | 
						|
    140700: "晋中市",
 | 
						|
    140800: "运城市",
 | 
						|
    140900: "忻州市",
 | 
						|
    141e3: "临汾市",
 | 
						|
    141100: "吕梁市",
 | 
						|
    150100: "呼和浩特市",
 | 
						|
    150200: "包头市",
 | 
						|
    150300: "乌海市",
 | 
						|
    150400: "赤峰市",
 | 
						|
    150500: "通辽市",
 | 
						|
    150600: "鄂尔多斯市",
 | 
						|
    150700: "呼伦贝尔市",
 | 
						|
    150800: "巴彦淖尔市",
 | 
						|
    150900: "乌兰察布市",
 | 
						|
    152200: "兴安盟",
 | 
						|
    152500: "锡林郭勒盟",
 | 
						|
    152900: "阿拉善盟",
 | 
						|
    210100: "沈阳市",
 | 
						|
    210200: "大连市",
 | 
						|
    210300: "鞍山市",
 | 
						|
    210400: "抚顺市",
 | 
						|
    210500: "本溪市",
 | 
						|
    210600: "丹东市",
 | 
						|
    210700: "锦州市",
 | 
						|
    210800: "营口市",
 | 
						|
    210900: "阜新市",
 | 
						|
    211e3: "辽阳市",
 | 
						|
    211100: "盘锦市",
 | 
						|
    211200: "铁岭市",
 | 
						|
    211300: "朝阳市",
 | 
						|
    211400: "葫芦岛市",
 | 
						|
    220100: "长春市",
 | 
						|
    220200: "吉林市",
 | 
						|
    220300: "四平市",
 | 
						|
    220400: "辽源市",
 | 
						|
    220500: "通化市",
 | 
						|
    220600: "白山市",
 | 
						|
    220700: "松原市",
 | 
						|
    220800: "白城市",
 | 
						|
    222400: "延边朝鲜族自治州",
 | 
						|
    230100: "哈尔滨市",
 | 
						|
    230200: "齐齐哈尔市",
 | 
						|
    230300: "鸡西市",
 | 
						|
    230400: "鹤岗市",
 | 
						|
    230500: "双鸭山市",
 | 
						|
    230600: "大庆市",
 | 
						|
    230700: "伊春市",
 | 
						|
    230800: "佳木斯市",
 | 
						|
    230900: "七台河市",
 | 
						|
    231e3: "牡丹江市",
 | 
						|
    231100: "黑河市",
 | 
						|
    231200: "绥化市",
 | 
						|
    232700: "大兴安岭地区",
 | 
						|
    310100: "上海市",
 | 
						|
    320100: "南京市",
 | 
						|
    320200: "无锡市",
 | 
						|
    320300: "徐州市",
 | 
						|
    320400: "常州市",
 | 
						|
    320500: "苏州市",
 | 
						|
    320600: "南通市",
 | 
						|
    320700: "连云港市",
 | 
						|
    320800: "淮安市",
 | 
						|
    320900: "盐城市",
 | 
						|
    321e3: "扬州市",
 | 
						|
    321100: "镇江市",
 | 
						|
    321200: "泰州市",
 | 
						|
    321300: "宿迁市",
 | 
						|
    330100: "杭州市",
 | 
						|
    330200: "宁波市",
 | 
						|
    330300: "温州市",
 | 
						|
    330400: "嘉兴市",
 | 
						|
    330500: "湖州市",
 | 
						|
    330600: "绍兴市",
 | 
						|
    330700: "金华市",
 | 
						|
    330800: "衢州市",
 | 
						|
    330900: "舟山市",
 | 
						|
    331e3: "台州市",
 | 
						|
    331100: "丽水市",
 | 
						|
    340100: "合肥市",
 | 
						|
    340200: "芜湖市",
 | 
						|
    340300: "蚌埠市",
 | 
						|
    340400: "淮南市",
 | 
						|
    340500: "马鞍山市",
 | 
						|
    340600: "淮北市",
 | 
						|
    340700: "铜陵市",
 | 
						|
    340800: "安庆市",
 | 
						|
    341e3: "黄山市",
 | 
						|
    341100: "滁州市",
 | 
						|
    341200: "阜阳市",
 | 
						|
    341300: "宿州市",
 | 
						|
    341500: "六安市",
 | 
						|
    341600: "亳州市",
 | 
						|
    341700: "池州市",
 | 
						|
    341800: "宣城市",
 | 
						|
    350100: "福州市",
 | 
						|
    350200: "厦门市",
 | 
						|
    350300: "莆田市",
 | 
						|
    350400: "三明市",
 | 
						|
    350500: "泉州市",
 | 
						|
    350600: "漳州市",
 | 
						|
    350700: "南平市",
 | 
						|
    350800: "龙岩市",
 | 
						|
    350900: "宁德市",
 | 
						|
    360100: "南昌市",
 | 
						|
    360200: "景德镇市",
 | 
						|
    360300: "萍乡市",
 | 
						|
    360400: "九江市",
 | 
						|
    360500: "新余市",
 | 
						|
    360600: "鹰潭市",
 | 
						|
    360700: "赣州市",
 | 
						|
    360800: "吉安市",
 | 
						|
    360900: "宜春市",
 | 
						|
    361e3: "抚州市",
 | 
						|
    361100: "上饶市",
 | 
						|
    370100: "济南市",
 | 
						|
    370200: "青岛市",
 | 
						|
    370300: "淄博市",
 | 
						|
    370400: "枣庄市",
 | 
						|
    370500: "东营市",
 | 
						|
    370600: "烟台市",
 | 
						|
    370700: "潍坊市",
 | 
						|
    370800: "济宁市",
 | 
						|
    370900: "泰安市",
 | 
						|
    371e3: "威海市",
 | 
						|
    371100: "日照市",
 | 
						|
    371300: "临沂市",
 | 
						|
    371400: "德州市",
 | 
						|
    371500: "聊城市",
 | 
						|
    371600: "滨州市",
 | 
						|
    371700: "菏泽市",
 | 
						|
    410100: "郑州市",
 | 
						|
    410200: "开封市",
 | 
						|
    410300: "洛阳市",
 | 
						|
    410400: "平顶山市",
 | 
						|
    410500: "安阳市",
 | 
						|
    410600: "鹤壁市",
 | 
						|
    410700: "新乡市",
 | 
						|
    410800: "焦作市",
 | 
						|
    410900: "濮阳市",
 | 
						|
    411e3: "许昌市",
 | 
						|
    411100: "漯河市",
 | 
						|
    411200: "三门峡市",
 | 
						|
    411300: "南阳市",
 | 
						|
    411400: "商丘市",
 | 
						|
    411500: "信阳市",
 | 
						|
    411600: "周口市",
 | 
						|
    411700: "驻马店市",
 | 
						|
    419e3: "省直辖县",
 | 
						|
    420100: "武汉市",
 | 
						|
    420200: "黄石市",
 | 
						|
    420300: "十堰市",
 | 
						|
    420500: "宜昌市",
 | 
						|
    420600: "襄阳市",
 | 
						|
    420700: "鄂州市",
 | 
						|
    420800: "荆门市",
 | 
						|
    420900: "孝感市",
 | 
						|
    421e3: "荆州市",
 | 
						|
    421100: "黄冈市",
 | 
						|
    421200: "咸宁市",
 | 
						|
    421300: "随州市",
 | 
						|
    422800: "恩施土家族苗族自治州",
 | 
						|
    429e3: "省直辖县",
 | 
						|
    430100: "长沙市",
 | 
						|
    430200: "株洲市",
 | 
						|
    430300: "湘潭市",
 | 
						|
    430400: "衡阳市",
 | 
						|
    430500: "邵阳市",
 | 
						|
    430600: "岳阳市",
 | 
						|
    430700: "常德市",
 | 
						|
    430800: "张家界市",
 | 
						|
    430900: "益阳市",
 | 
						|
    431e3: "郴州市",
 | 
						|
    431100: "永州市",
 | 
						|
    431200: "怀化市",
 | 
						|
    431300: "娄底市",
 | 
						|
    433100: "湘西土家族苗族自治州",
 | 
						|
    440100: "广州市",
 | 
						|
    440200: "韶关市",
 | 
						|
    440300: "深圳市",
 | 
						|
    440400: "珠海市",
 | 
						|
    440500: "汕头市",
 | 
						|
    440600: "佛山市",
 | 
						|
    440700: "江门市",
 | 
						|
    440800: "湛江市",
 | 
						|
    440900: "茂名市",
 | 
						|
    441200: "肇庆市",
 | 
						|
    441300: "惠州市",
 | 
						|
    441400: "梅州市",
 | 
						|
    441500: "汕尾市",
 | 
						|
    441600: "河源市",
 | 
						|
    441700: "阳江市",
 | 
						|
    441800: "清远市",
 | 
						|
    441900: "东莞市",
 | 
						|
    442e3: "中山市",
 | 
						|
    445100: "潮州市",
 | 
						|
    445200: "揭阳市",
 | 
						|
    445300: "云浮市",
 | 
						|
    450100: "南宁市",
 | 
						|
    450200: "柳州市",
 | 
						|
    450300: "桂林市",
 | 
						|
    450400: "梧州市",
 | 
						|
    450500: "北海市",
 | 
						|
    450600: "防城港市",
 | 
						|
    450700: "钦州市",
 | 
						|
    450800: "贵港市",
 | 
						|
    450900: "玉林市",
 | 
						|
    451e3: "百色市",
 | 
						|
    451100: "贺州市",
 | 
						|
    451200: "河池市",
 | 
						|
    451300: "来宾市",
 | 
						|
    451400: "崇左市",
 | 
						|
    460100: "海口市",
 | 
						|
    460200: "三亚市",
 | 
						|
    460300: "三沙市",
 | 
						|
    460400: "儋州市",
 | 
						|
    469e3: "省直辖县",
 | 
						|
    500100: "重庆市",
 | 
						|
    500200: "县",
 | 
						|
    510100: "成都市",
 | 
						|
    510300: "自贡市",
 | 
						|
    510400: "攀枝花市",
 | 
						|
    510500: "泸州市",
 | 
						|
    510600: "德阳市",
 | 
						|
    510700: "绵阳市",
 | 
						|
    510800: "广元市",
 | 
						|
    510900: "遂宁市",
 | 
						|
    511e3: "内江市",
 | 
						|
    511100: "乐山市",
 | 
						|
    511300: "南充市",
 | 
						|
    511400: "眉山市",
 | 
						|
    511500: "宜宾市",
 | 
						|
    511600: "广安市",
 | 
						|
    511700: "达州市",
 | 
						|
    511800: "雅安市",
 | 
						|
    511900: "巴中市",
 | 
						|
    512e3: "资阳市",
 | 
						|
    513200: "阿坝藏族羌族自治州",
 | 
						|
    513300: "甘孜藏族自治州",
 | 
						|
    513400: "凉山彝族自治州",
 | 
						|
    520100: "贵阳市",
 | 
						|
    520200: "六盘水市",
 | 
						|
    520300: "遵义市",
 | 
						|
    520400: "安顺市",
 | 
						|
    520500: "毕节市",
 | 
						|
    520600: "铜仁市",
 | 
						|
    522300: "黔西南布依族苗族自治州",
 | 
						|
    522600: "黔东南苗族侗族自治州",
 | 
						|
    522700: "黔南布依族苗族自治州",
 | 
						|
    530100: "昆明市",
 | 
						|
    530300: "曲靖市",
 | 
						|
    530400: "玉溪市",
 | 
						|
    530500: "保山市",
 | 
						|
    530600: "昭通市",
 | 
						|
    530700: "丽江市",
 | 
						|
    530800: "普洱市",
 | 
						|
    530900: "临沧市",
 | 
						|
    532300: "楚雄彝族自治州",
 | 
						|
    532500: "红河哈尼族彝族自治州",
 | 
						|
    532600: "文山壮族苗族自治州",
 | 
						|
    532800: "西双版纳傣族自治州",
 | 
						|
    532900: "大理白族自治州",
 | 
						|
    533100: "德宏傣族景颇族自治州",
 | 
						|
    533300: "怒江傈僳族自治州",
 | 
						|
    533400: "迪庆藏族自治州",
 | 
						|
    540100: "拉萨市",
 | 
						|
    540200: "日喀则市",
 | 
						|
    540300: "昌都市",
 | 
						|
    540400: "林芝市",
 | 
						|
    540500: "山南市",
 | 
						|
    540600: "那曲市",
 | 
						|
    542500: "阿里地区",
 | 
						|
    610100: "西安市",
 | 
						|
    610200: "铜川市",
 | 
						|
    610300: "宝鸡市",
 | 
						|
    610400: "咸阳市",
 | 
						|
    610500: "渭南市",
 | 
						|
    610600: "延安市",
 | 
						|
    610700: "汉中市",
 | 
						|
    610800: "榆林市",
 | 
						|
    610900: "安康市",
 | 
						|
    611e3: "商洛市",
 | 
						|
    620100: "兰州市",
 | 
						|
    620200: "嘉峪关市",
 | 
						|
    620300: "金昌市",
 | 
						|
    620400: "白银市",
 | 
						|
    620500: "天水市",
 | 
						|
    620600: "武威市",
 | 
						|
    620700: "张掖市",
 | 
						|
    620800: "平凉市",
 | 
						|
    620900: "酒泉市",
 | 
						|
    621e3: "庆阳市",
 | 
						|
    621100: "定西市",
 | 
						|
    621200: "陇南市",
 | 
						|
    622900: "临夏回族自治州",
 | 
						|
    623e3: "甘南藏族自治州",
 | 
						|
    630100: "西宁市",
 | 
						|
    630200: "海东市",
 | 
						|
    632200: "海北藏族自治州",
 | 
						|
    632300: "黄南藏族自治州",
 | 
						|
    632500: "海南藏族自治州",
 | 
						|
    632600: "果洛藏族自治州",
 | 
						|
    632700: "玉树藏族自治州",
 | 
						|
    632800: "海西蒙古族藏族自治州",
 | 
						|
    640100: "银川市",
 | 
						|
    640200: "石嘴山市",
 | 
						|
    640300: "吴忠市",
 | 
						|
    640400: "固原市",
 | 
						|
    640500: "中卫市",
 | 
						|
    650100: "乌鲁木齐市",
 | 
						|
    650200: "克拉玛依市",
 | 
						|
    650400: "吐鲁番市",
 | 
						|
    650500: "哈密市",
 | 
						|
    652300: "昌吉回族自治州",
 | 
						|
    652700: "博尔塔拉蒙古自治州",
 | 
						|
    652800: "巴音郭楞蒙古自治州",
 | 
						|
    652900: "阿克苏地区",
 | 
						|
    653e3: "克孜勒苏柯尔克孜自治州",
 | 
						|
    653100: "喀什地区",
 | 
						|
    653200: "和田地区",
 | 
						|
    654e3: "伊犁哈萨克自治州",
 | 
						|
    654200: "塔城地区",
 | 
						|
    654300: "阿勒泰地区",
 | 
						|
    659e3: "自治区直辖县级行政区划",
 | 
						|
    710100: "台北市",
 | 
						|
    710200: "高雄市",
 | 
						|
    710300: "台南市",
 | 
						|
    710400: "台中市",
 | 
						|
    710500: "金门县",
 | 
						|
    710600: "南投县",
 | 
						|
    710700: "基隆市",
 | 
						|
    710800: "新竹市",
 | 
						|
    710900: "嘉义市",
 | 
						|
    711100: "新北市",
 | 
						|
    711200: "宜兰县",
 | 
						|
    711300: "新竹县",
 | 
						|
    711400: "桃园市",
 | 
						|
    711500: "苗栗县",
 | 
						|
    711700: "彰化县",
 | 
						|
    711900: "嘉义县",
 | 
						|
    712100: "云林县",
 | 
						|
    712400: "屏东县",
 | 
						|
    712500: "台东县",
 | 
						|
    712600: "花莲县",
 | 
						|
    712700: "澎湖县",
 | 
						|
    712800: "连江县",
 | 
						|
    810100: "香港岛",
 | 
						|
    810200: "九龙",
 | 
						|
    810300: "新界",
 | 
						|
    820100: "澳门半岛",
 | 
						|
    820200: "离岛"
 | 
						|
  },
 | 
						|
  county_list: {
 | 
						|
    110101: "东城区",
 | 
						|
    110102: "西城区",
 | 
						|
    110105: "朝阳区",
 | 
						|
    110106: "丰台区",
 | 
						|
    110107: "石景山区",
 | 
						|
    110108: "海淀区",
 | 
						|
    110109: "门头沟区",
 | 
						|
    110111: "房山区",
 | 
						|
    110112: "通州区",
 | 
						|
    110113: "顺义区",
 | 
						|
    110114: "昌平区",
 | 
						|
    110115: "大兴区",
 | 
						|
    110116: "怀柔区",
 | 
						|
    110117: "平谷区",
 | 
						|
    110118: "密云区",
 | 
						|
    110119: "延庆区",
 | 
						|
    120101: "和平区",
 | 
						|
    120102: "河东区",
 | 
						|
    120103: "河西区",
 | 
						|
    120104: "南开区",
 | 
						|
    120105: "河北区",
 | 
						|
    120106: "红桥区",
 | 
						|
    120110: "东丽区",
 | 
						|
    120111: "西青区",
 | 
						|
    120112: "津南区",
 | 
						|
    120113: "北辰区",
 | 
						|
    120114: "武清区",
 | 
						|
    120115: "宝坻区",
 | 
						|
    120116: "滨海新区",
 | 
						|
    120117: "宁河区",
 | 
						|
    120118: "静海区",
 | 
						|
    120119: "蓟州区",
 | 
						|
    130102: "长安区",
 | 
						|
    130104: "桥西区",
 | 
						|
    130105: "新华区",
 | 
						|
    130107: "井陉矿区",
 | 
						|
    130108: "裕华区",
 | 
						|
    130109: "藁城区",
 | 
						|
    130110: "鹿泉区",
 | 
						|
    130111: "栾城区",
 | 
						|
    130121: "井陉县",
 | 
						|
    130123: "正定县",
 | 
						|
    130125: "行唐县",
 | 
						|
    130126: "灵寿县",
 | 
						|
    130127: "高邑县",
 | 
						|
    130128: "深泽县",
 | 
						|
    130129: "赞皇县",
 | 
						|
    130130: "无极县",
 | 
						|
    130131: "平山县",
 | 
						|
    130132: "元氏县",
 | 
						|
    130133: "赵县",
 | 
						|
    130171: "石家庄高新技术产业开发区",
 | 
						|
    130172: "石家庄循环化工园区",
 | 
						|
    130181: "辛集市",
 | 
						|
    130183: "晋州市",
 | 
						|
    130184: "新乐市",
 | 
						|
    130202: "路南区",
 | 
						|
    130203: "路北区",
 | 
						|
    130204: "古冶区",
 | 
						|
    130205: "开平区",
 | 
						|
    130207: "丰南区",
 | 
						|
    130208: "丰润区",
 | 
						|
    130209: "曹妃甸区",
 | 
						|
    130224: "滦南县",
 | 
						|
    130225: "乐亭县",
 | 
						|
    130227: "迁西县",
 | 
						|
    130229: "玉田县",
 | 
						|
    130273: "唐山高新技术产业开发区",
 | 
						|
    130274: "河北唐山海港经济开发区",
 | 
						|
    130281: "遵化市",
 | 
						|
    130283: "迁安市",
 | 
						|
    130284: "滦州市",
 | 
						|
    130302: "海港区",
 | 
						|
    130303: "山海关区",
 | 
						|
    130304: "北戴河区",
 | 
						|
    130306: "抚宁区",
 | 
						|
    130321: "青龙满族自治县",
 | 
						|
    130322: "昌黎县",
 | 
						|
    130324: "卢龙县",
 | 
						|
    130371: "秦皇岛市经济技术开发区",
 | 
						|
    130372: "北戴河新区",
 | 
						|
    130390: "经济技术开发区",
 | 
						|
    130402: "邯山区",
 | 
						|
    130403: "丛台区",
 | 
						|
    130404: "复兴区",
 | 
						|
    130406: "峰峰矿区",
 | 
						|
    130407: "肥乡区",
 | 
						|
    130408: "永年区",
 | 
						|
    130423: "临漳县",
 | 
						|
    130424: "成安县",
 | 
						|
    130425: "大名县",
 | 
						|
    130426: "涉县",
 | 
						|
    130427: "磁县",
 | 
						|
    130430: "邱县",
 | 
						|
    130431: "鸡泽县",
 | 
						|
    130432: "广平县",
 | 
						|
    130433: "馆陶县",
 | 
						|
    130434: "魏县",
 | 
						|
    130435: "曲周县",
 | 
						|
    130471: "邯郸经济技术开发区",
 | 
						|
    130473: "邯郸冀南新区",
 | 
						|
    130481: "武安市",
 | 
						|
    130502: "襄都区",
 | 
						|
    130503: "信都区",
 | 
						|
    130505: "任泽区",
 | 
						|
    130506: "南和区",
 | 
						|
    130522: "临城县",
 | 
						|
    130523: "内丘县",
 | 
						|
    130524: "柏乡县",
 | 
						|
    130525: "隆尧县",
 | 
						|
    130528: "宁晋县",
 | 
						|
    130529: "巨鹿县",
 | 
						|
    130530: "新河县",
 | 
						|
    130531: "广宗县",
 | 
						|
    130532: "平乡县",
 | 
						|
    130533: "威县",
 | 
						|
    130534: "清河县",
 | 
						|
    130535: "临西县",
 | 
						|
    130571: "河北邢台经济开发区",
 | 
						|
    130581: "南宫市",
 | 
						|
    130582: "沙河市",
 | 
						|
    130602: "竞秀区",
 | 
						|
    130606: "莲池区",
 | 
						|
    130607: "满城区",
 | 
						|
    130608: "清苑区",
 | 
						|
    130609: "徐水区",
 | 
						|
    130623: "涞水县",
 | 
						|
    130624: "阜平县",
 | 
						|
    130626: "定兴县",
 | 
						|
    130627: "唐县",
 | 
						|
    130628: "高阳县",
 | 
						|
    130629: "容城县",
 | 
						|
    130630: "涞源县",
 | 
						|
    130631: "望都县",
 | 
						|
    130632: "安新县",
 | 
						|
    130633: "易县",
 | 
						|
    130634: "曲阳县",
 | 
						|
    130635: "蠡县",
 | 
						|
    130636: "顺平县",
 | 
						|
    130637: "博野县",
 | 
						|
    130638: "雄县",
 | 
						|
    130671: "保定高新技术产业开发区",
 | 
						|
    130672: "保定白沟新城",
 | 
						|
    130681: "涿州市",
 | 
						|
    130682: "定州市",
 | 
						|
    130683: "安国市",
 | 
						|
    130684: "高碑店市",
 | 
						|
    130702: "桥东区",
 | 
						|
    130703: "桥西区",
 | 
						|
    130705: "宣化区",
 | 
						|
    130706: "下花园区",
 | 
						|
    130708: "万全区",
 | 
						|
    130709: "崇礼区",
 | 
						|
    130722: "张北县",
 | 
						|
    130723: "康保县",
 | 
						|
    130724: "沽源县",
 | 
						|
    130725: "尚义县",
 | 
						|
    130726: "蔚县",
 | 
						|
    130727: "阳原县",
 | 
						|
    130728: "怀安县",
 | 
						|
    130730: "怀来县",
 | 
						|
    130731: "涿鹿县",
 | 
						|
    130732: "赤城县",
 | 
						|
    130772: "张家口市察北管理区",
 | 
						|
    130802: "双桥区",
 | 
						|
    130803: "双滦区",
 | 
						|
    130804: "鹰手营子矿区",
 | 
						|
    130821: "承德县",
 | 
						|
    130822: "兴隆县",
 | 
						|
    130824: "滦平县",
 | 
						|
    130825: "隆化县",
 | 
						|
    130826: "丰宁满族自治县",
 | 
						|
    130827: "宽城满族自治县",
 | 
						|
    130828: "围场满族蒙古族自治县",
 | 
						|
    130871: "承德高新技术产业开发区",
 | 
						|
    130881: "平泉市",
 | 
						|
    130902: "新华区",
 | 
						|
    130903: "运河区",
 | 
						|
    130921: "沧县",
 | 
						|
    130922: "青县",
 | 
						|
    130923: "东光县",
 | 
						|
    130924: "海兴县",
 | 
						|
    130925: "盐山县",
 | 
						|
    130926: "肃宁县",
 | 
						|
    130927: "南皮县",
 | 
						|
    130928: "吴桥县",
 | 
						|
    130929: "献县",
 | 
						|
    130930: "孟村回族自治县",
 | 
						|
    130971: "河北沧州经济开发区",
 | 
						|
    130972: "沧州高新技术产业开发区",
 | 
						|
    130973: "沧州渤海新区",
 | 
						|
    130981: "泊头市",
 | 
						|
    130982: "任丘市",
 | 
						|
    130983: "黄骅市",
 | 
						|
    130984: "河间市",
 | 
						|
    131002: "安次区",
 | 
						|
    131003: "广阳区",
 | 
						|
    131022: "固安县",
 | 
						|
    131023: "永清县",
 | 
						|
    131024: "香河县",
 | 
						|
    131025: "大城县",
 | 
						|
    131026: "文安县",
 | 
						|
    131028: "大厂回族自治县",
 | 
						|
    131071: "廊坊经济技术开发区",
 | 
						|
    131081: "霸州市",
 | 
						|
    131082: "三河市",
 | 
						|
    131090: "开发区",
 | 
						|
    131102: "桃城区",
 | 
						|
    131103: "冀州区",
 | 
						|
    131121: "枣强县",
 | 
						|
    131122: "武邑县",
 | 
						|
    131123: "武强县",
 | 
						|
    131124: "饶阳县",
 | 
						|
    131125: "安平县",
 | 
						|
    131126: "故城县",
 | 
						|
    131127: "景县",
 | 
						|
    131128: "阜城县",
 | 
						|
    131171: "河北衡水经济开发区",
 | 
						|
    131172: "衡水滨湖新区",
 | 
						|
    131182: "深州市",
 | 
						|
    140105: "小店区",
 | 
						|
    140106: "迎泽区",
 | 
						|
    140107: "杏花岭区",
 | 
						|
    140108: "尖草坪区",
 | 
						|
    140109: "万柏林区",
 | 
						|
    140110: "晋源区",
 | 
						|
    140121: "清徐县",
 | 
						|
    140122: "阳曲县",
 | 
						|
    140123: "娄烦县",
 | 
						|
    140181: "古交市",
 | 
						|
    140212: "新荣区",
 | 
						|
    140213: "平城区",
 | 
						|
    140214: "云冈区",
 | 
						|
    140215: "云州区",
 | 
						|
    140221: "阳高县",
 | 
						|
    140222: "天镇县",
 | 
						|
    140223: "广灵县",
 | 
						|
    140224: "灵丘县",
 | 
						|
    140225: "浑源县",
 | 
						|
    140226: "左云县",
 | 
						|
    140271: "山西大同经济开发区",
 | 
						|
    140302: "城区",
 | 
						|
    140303: "矿区",
 | 
						|
    140311: "郊区",
 | 
						|
    140321: "平定县",
 | 
						|
    140322: "盂县",
 | 
						|
    140403: "潞州区",
 | 
						|
    140404: "上党区",
 | 
						|
    140405: "屯留区",
 | 
						|
    140406: "潞城区",
 | 
						|
    140423: "襄垣县",
 | 
						|
    140425: "平顺县",
 | 
						|
    140426: "黎城县",
 | 
						|
    140427: "壶关县",
 | 
						|
    140428: "长子县",
 | 
						|
    140429: "武乡县",
 | 
						|
    140430: "沁县",
 | 
						|
    140431: "沁源县",
 | 
						|
    140471: "山西长治高新技术产业园区",
 | 
						|
    140502: "城区",
 | 
						|
    140521: "沁水县",
 | 
						|
    140522: "阳城县",
 | 
						|
    140524: "陵川县",
 | 
						|
    140525: "泽州县",
 | 
						|
    140581: "高平市",
 | 
						|
    140602: "朔城区",
 | 
						|
    140603: "平鲁区",
 | 
						|
    140621: "山阴县",
 | 
						|
    140622: "应县",
 | 
						|
    140623: "右玉县",
 | 
						|
    140671: "山西朔州经济开发区",
 | 
						|
    140681: "怀仁市",
 | 
						|
    140702: "榆次区",
 | 
						|
    140703: "太谷区",
 | 
						|
    140721: "榆社县",
 | 
						|
    140722: "左权县",
 | 
						|
    140723: "和顺县",
 | 
						|
    140724: "昔阳县",
 | 
						|
    140725: "寿阳县",
 | 
						|
    140727: "祁县",
 | 
						|
    140728: "平遥县",
 | 
						|
    140729: "灵石县",
 | 
						|
    140781: "介休市",
 | 
						|
    140802: "盐湖区",
 | 
						|
    140821: "临猗县",
 | 
						|
    140822: "万荣县",
 | 
						|
    140823: "闻喜县",
 | 
						|
    140824: "稷山县",
 | 
						|
    140825: "新绛县",
 | 
						|
    140826: "绛县",
 | 
						|
    140827: "垣曲县",
 | 
						|
    140828: "夏县",
 | 
						|
    140829: "平陆县",
 | 
						|
    140830: "芮城县",
 | 
						|
    140881: "永济市",
 | 
						|
    140882: "河津市",
 | 
						|
    140902: "忻府区",
 | 
						|
    140921: "定襄县",
 | 
						|
    140922: "五台县",
 | 
						|
    140923: "代县",
 | 
						|
    140924: "繁峙县",
 | 
						|
    140925: "宁武县",
 | 
						|
    140926: "静乐县",
 | 
						|
    140927: "神池县",
 | 
						|
    140928: "五寨县",
 | 
						|
    140929: "岢岚县",
 | 
						|
    140930: "河曲县",
 | 
						|
    140931: "保德县",
 | 
						|
    140932: "偏关县",
 | 
						|
    140971: "五台山风景名胜区",
 | 
						|
    140981: "原平市",
 | 
						|
    141002: "尧都区",
 | 
						|
    141021: "曲沃县",
 | 
						|
    141022: "翼城县",
 | 
						|
    141023: "襄汾县",
 | 
						|
    141024: "洪洞县",
 | 
						|
    141025: "古县",
 | 
						|
    141026: "安泽县",
 | 
						|
    141027: "浮山县",
 | 
						|
    141028: "吉县",
 | 
						|
    141029: "乡宁县",
 | 
						|
    141030: "大宁县",
 | 
						|
    141031: "隰县",
 | 
						|
    141032: "永和县",
 | 
						|
    141033: "蒲县",
 | 
						|
    141034: "汾西县",
 | 
						|
    141081: "侯马市",
 | 
						|
    141082: "霍州市",
 | 
						|
    141102: "离石区",
 | 
						|
    141121: "文水县",
 | 
						|
    141122: "交城县",
 | 
						|
    141123: "兴县",
 | 
						|
    141124: "临县",
 | 
						|
    141125: "柳林县",
 | 
						|
    141126: "石楼县",
 | 
						|
    141127: "岚县",
 | 
						|
    141128: "方山县",
 | 
						|
    141129: "中阳县",
 | 
						|
    141130: "交口县",
 | 
						|
    141181: "孝义市",
 | 
						|
    141182: "汾阳市",
 | 
						|
    150102: "新城区",
 | 
						|
    150103: "回民区",
 | 
						|
    150104: "玉泉区",
 | 
						|
    150105: "赛罕区",
 | 
						|
    150121: "土默特左旗",
 | 
						|
    150122: "托克托县",
 | 
						|
    150123: "和林格尔县",
 | 
						|
    150124: "清水河县",
 | 
						|
    150125: "武川县",
 | 
						|
    150172: "呼和浩特经济技术开发区",
 | 
						|
    150202: "东河区",
 | 
						|
    150203: "昆都仑区",
 | 
						|
    150204: "青山区",
 | 
						|
    150205: "石拐区",
 | 
						|
    150206: "白云鄂博矿区",
 | 
						|
    150207: "九原区",
 | 
						|
    150221: "土默特右旗",
 | 
						|
    150222: "固阳县",
 | 
						|
    150223: "达尔罕茂明安联合旗",
 | 
						|
    150271: "包头稀土高新技术产业开发区",
 | 
						|
    150302: "海勃湾区",
 | 
						|
    150303: "海南区",
 | 
						|
    150304: "乌达区",
 | 
						|
    150402: "红山区",
 | 
						|
    150403: "元宝山区",
 | 
						|
    150404: "松山区",
 | 
						|
    150421: "阿鲁科尔沁旗",
 | 
						|
    150422: "巴林左旗",
 | 
						|
    150423: "巴林右旗",
 | 
						|
    150424: "林西县",
 | 
						|
    150425: "克什克腾旗",
 | 
						|
    150426: "翁牛特旗",
 | 
						|
    150428: "喀喇沁旗",
 | 
						|
    150429: "宁城县",
 | 
						|
    150430: "敖汉旗",
 | 
						|
    150502: "科尔沁区",
 | 
						|
    150521: "科尔沁左翼中旗",
 | 
						|
    150522: "科尔沁左翼后旗",
 | 
						|
    150523: "开鲁县",
 | 
						|
    150524: "库伦旗",
 | 
						|
    150525: "奈曼旗",
 | 
						|
    150526: "扎鲁特旗",
 | 
						|
    150571: "通辽经济技术开发区",
 | 
						|
    150581: "霍林郭勒市",
 | 
						|
    150602: "东胜区",
 | 
						|
    150603: "康巴什区",
 | 
						|
    150621: "达拉特旗",
 | 
						|
    150622: "准格尔旗",
 | 
						|
    150623: "鄂托克前旗",
 | 
						|
    150624: "鄂托克旗",
 | 
						|
    150625: "杭锦旗",
 | 
						|
    150626: "乌审旗",
 | 
						|
    150627: "伊金霍洛旗",
 | 
						|
    150702: "海拉尔区",
 | 
						|
    150703: "扎赉诺尔区",
 | 
						|
    150721: "阿荣旗",
 | 
						|
    150722: "莫力达瓦达斡尔族自治旗",
 | 
						|
    150723: "鄂伦春自治旗",
 | 
						|
    150724: "鄂温克族自治旗",
 | 
						|
    150725: "陈巴尔虎旗",
 | 
						|
    150726: "新巴尔虎左旗",
 | 
						|
    150727: "新巴尔虎右旗",
 | 
						|
    150781: "满洲里市",
 | 
						|
    150782: "牙克石市",
 | 
						|
    150783: "扎兰屯市",
 | 
						|
    150784: "额尔古纳市",
 | 
						|
    150785: "根河市",
 | 
						|
    150802: "临河区",
 | 
						|
    150821: "五原县",
 | 
						|
    150822: "磴口县",
 | 
						|
    150823: "乌拉特前旗",
 | 
						|
    150824: "乌拉特中旗",
 | 
						|
    150825: "乌拉特后旗",
 | 
						|
    150826: "杭锦后旗",
 | 
						|
    150902: "集宁区",
 | 
						|
    150921: "卓资县",
 | 
						|
    150922: "化德县",
 | 
						|
    150923: "商都县",
 | 
						|
    150924: "兴和县",
 | 
						|
    150925: "凉城县",
 | 
						|
    150926: "察哈尔右翼前旗",
 | 
						|
    150927: "察哈尔右翼中旗",
 | 
						|
    150928: "察哈尔右翼后旗",
 | 
						|
    150929: "四子王旗",
 | 
						|
    150981: "丰镇市",
 | 
						|
    152201: "乌兰浩特市",
 | 
						|
    152202: "阿尔山市",
 | 
						|
    152221: "科尔沁右翼前旗",
 | 
						|
    152222: "科尔沁右翼中旗",
 | 
						|
    152223: "扎赉特旗",
 | 
						|
    152224: "突泉县",
 | 
						|
    152501: "二连浩特市",
 | 
						|
    152502: "锡林浩特市",
 | 
						|
    152522: "阿巴嘎旗",
 | 
						|
    152523: "苏尼特左旗",
 | 
						|
    152524: "苏尼特右旗",
 | 
						|
    152525: "东乌珠穆沁旗",
 | 
						|
    152526: "西乌珠穆沁旗",
 | 
						|
    152527: "太仆寺旗",
 | 
						|
    152528: "镶黄旗",
 | 
						|
    152529: "正镶白旗",
 | 
						|
    152530: "正蓝旗",
 | 
						|
    152531: "多伦县",
 | 
						|
    152571: "乌拉盖管委会",
 | 
						|
    152921: "阿拉善左旗",
 | 
						|
    152922: "阿拉善右旗",
 | 
						|
    152923: "额济纳旗",
 | 
						|
    152971: "内蒙古阿拉善经济开发区",
 | 
						|
    210102: "和平区",
 | 
						|
    210103: "沈河区",
 | 
						|
    210104: "大东区",
 | 
						|
    210105: "皇姑区",
 | 
						|
    210106: "铁西区",
 | 
						|
    210111: "苏家屯区",
 | 
						|
    210112: "浑南区",
 | 
						|
    210113: "沈北新区",
 | 
						|
    210114: "于洪区",
 | 
						|
    210115: "辽中区",
 | 
						|
    210123: "康平县",
 | 
						|
    210124: "法库县",
 | 
						|
    210181: "新民市",
 | 
						|
    210190: "经济技术开发区",
 | 
						|
    210202: "中山区",
 | 
						|
    210203: "西岗区",
 | 
						|
    210204: "沙河口区",
 | 
						|
    210211: "甘井子区",
 | 
						|
    210212: "旅顺口区",
 | 
						|
    210213: "金州区",
 | 
						|
    210214: "普兰店区",
 | 
						|
    210224: "长海县",
 | 
						|
    210281: "瓦房店市",
 | 
						|
    210283: "庄河市",
 | 
						|
    210302: "铁东区",
 | 
						|
    210303: "铁西区",
 | 
						|
    210304: "立山区",
 | 
						|
    210311: "千山区",
 | 
						|
    210321: "台安县",
 | 
						|
    210323: "岫岩满族自治县",
 | 
						|
    210381: "海城市",
 | 
						|
    210390: "高新区",
 | 
						|
    210402: "新抚区",
 | 
						|
    210403: "东洲区",
 | 
						|
    210404: "望花区",
 | 
						|
    210411: "顺城区",
 | 
						|
    210421: "抚顺县",
 | 
						|
    210422: "新宾满族自治县",
 | 
						|
    210423: "清原满族自治县",
 | 
						|
    210502: "平山区",
 | 
						|
    210503: "溪湖区",
 | 
						|
    210504: "明山区",
 | 
						|
    210505: "南芬区",
 | 
						|
    210521: "本溪满族自治县",
 | 
						|
    210522: "桓仁满族自治县",
 | 
						|
    210602: "元宝区",
 | 
						|
    210603: "振兴区",
 | 
						|
    210604: "振安区",
 | 
						|
    210624: "宽甸满族自治县",
 | 
						|
    210681: "东港市",
 | 
						|
    210682: "凤城市",
 | 
						|
    210702: "古塔区",
 | 
						|
    210703: "凌河区",
 | 
						|
    210711: "太和区",
 | 
						|
    210726: "黑山县",
 | 
						|
    210727: "义县",
 | 
						|
    210781: "凌海市",
 | 
						|
    210782: "北镇市",
 | 
						|
    210793: "经济技术开发区",
 | 
						|
    210802: "站前区",
 | 
						|
    210803: "西市区",
 | 
						|
    210804: "鲅鱼圈区",
 | 
						|
    210811: "老边区",
 | 
						|
    210881: "盖州市",
 | 
						|
    210882: "大石桥市",
 | 
						|
    210902: "海州区",
 | 
						|
    210903: "新邱区",
 | 
						|
    210904: "太平区",
 | 
						|
    210905: "清河门区",
 | 
						|
    210911: "细河区",
 | 
						|
    210921: "阜新蒙古族自治县",
 | 
						|
    210922: "彰武县",
 | 
						|
    211002: "白塔区",
 | 
						|
    211003: "文圣区",
 | 
						|
    211004: "宏伟区",
 | 
						|
    211005: "弓长岭区",
 | 
						|
    211011: "太子河区",
 | 
						|
    211021: "辽阳县",
 | 
						|
    211081: "灯塔市",
 | 
						|
    211102: "双台子区",
 | 
						|
    211103: "兴隆台区",
 | 
						|
    211104: "大洼区",
 | 
						|
    211122: "盘山县",
 | 
						|
    211202: "银州区",
 | 
						|
    211204: "清河区",
 | 
						|
    211221: "铁岭县",
 | 
						|
    211223: "西丰县",
 | 
						|
    211224: "昌图县",
 | 
						|
    211281: "调兵山市",
 | 
						|
    211282: "开原市",
 | 
						|
    211302: "双塔区",
 | 
						|
    211303: "龙城区",
 | 
						|
    211321: "朝阳县",
 | 
						|
    211322: "建平县",
 | 
						|
    211324: "喀喇沁左翼蒙古族自治县",
 | 
						|
    211381: "北票市",
 | 
						|
    211382: "凌源市",
 | 
						|
    211402: "连山区",
 | 
						|
    211403: "龙港区",
 | 
						|
    211404: "南票区",
 | 
						|
    211421: "绥中县",
 | 
						|
    211422: "建昌县",
 | 
						|
    211481: "兴城市",
 | 
						|
    220102: "南关区",
 | 
						|
    220103: "宽城区",
 | 
						|
    220104: "朝阳区",
 | 
						|
    220105: "二道区",
 | 
						|
    220106: "绿园区",
 | 
						|
    220112: "双阳区",
 | 
						|
    220113: "九台区",
 | 
						|
    220122: "农安县",
 | 
						|
    220171: "长春经济技术开发区",
 | 
						|
    220172: "长春净月高新技术产业开发区",
 | 
						|
    220173: "长春高新技术产业开发区",
 | 
						|
    220174: "长春汽车经济技术开发区",
 | 
						|
    220182: "榆树市",
 | 
						|
    220183: "德惠市",
 | 
						|
    220184: "公主岭市",
 | 
						|
    220192: "经济技术开发区",
 | 
						|
    220202: "昌邑区",
 | 
						|
    220203: "龙潭区",
 | 
						|
    220204: "船营区",
 | 
						|
    220211: "丰满区",
 | 
						|
    220221: "永吉县",
 | 
						|
    220271: "吉林经济开发区",
 | 
						|
    220272: "吉林高新技术产业开发区",
 | 
						|
    220281: "蛟河市",
 | 
						|
    220282: "桦甸市",
 | 
						|
    220283: "舒兰市",
 | 
						|
    220284: "磐石市",
 | 
						|
    220302: "铁西区",
 | 
						|
    220303: "铁东区",
 | 
						|
    220322: "梨树县",
 | 
						|
    220323: "伊通满族自治县",
 | 
						|
    220382: "双辽市",
 | 
						|
    220402: "龙山区",
 | 
						|
    220403: "西安区",
 | 
						|
    220421: "东丰县",
 | 
						|
    220422: "东辽县",
 | 
						|
    220502: "东昌区",
 | 
						|
    220503: "二道江区",
 | 
						|
    220521: "通化县",
 | 
						|
    220523: "辉南县",
 | 
						|
    220524: "柳河县",
 | 
						|
    220581: "梅河口市",
 | 
						|
    220582: "集安市",
 | 
						|
    220602: "浑江区",
 | 
						|
    220605: "江源区",
 | 
						|
    220621: "抚松县",
 | 
						|
    220622: "靖宇县",
 | 
						|
    220623: "长白朝鲜族自治县",
 | 
						|
    220681: "临江市",
 | 
						|
    220702: "宁江区",
 | 
						|
    220721: "前郭尔罗斯蒙古族自治县",
 | 
						|
    220722: "长岭县",
 | 
						|
    220723: "乾安县",
 | 
						|
    220771: "吉林松原经济开发区",
 | 
						|
    220781: "扶余市",
 | 
						|
    220802: "洮北区",
 | 
						|
    220821: "镇赉县",
 | 
						|
    220822: "通榆县",
 | 
						|
    220871: "吉林白城经济开发区",
 | 
						|
    220881: "洮南市",
 | 
						|
    220882: "大安市",
 | 
						|
    222401: "延吉市",
 | 
						|
    222402: "图们市",
 | 
						|
    222403: "敦化市",
 | 
						|
    222404: "珲春市",
 | 
						|
    222405: "龙井市",
 | 
						|
    222406: "和龙市",
 | 
						|
    222424: "汪清县",
 | 
						|
    222426: "安图县",
 | 
						|
    230102: "道里区",
 | 
						|
    230103: "南岗区",
 | 
						|
    230104: "道外区",
 | 
						|
    230108: "平房区",
 | 
						|
    230109: "松北区",
 | 
						|
    230110: "香坊区",
 | 
						|
    230111: "呼兰区",
 | 
						|
    230112: "阿城区",
 | 
						|
    230113: "双城区",
 | 
						|
    230123: "依兰县",
 | 
						|
    230124: "方正县",
 | 
						|
    230125: "宾县",
 | 
						|
    230126: "巴彦县",
 | 
						|
    230127: "木兰县",
 | 
						|
    230128: "通河县",
 | 
						|
    230129: "延寿县",
 | 
						|
    230183: "尚志市",
 | 
						|
    230184: "五常市",
 | 
						|
    230202: "龙沙区",
 | 
						|
    230203: "建华区",
 | 
						|
    230204: "铁锋区",
 | 
						|
    230205: "昂昂溪区",
 | 
						|
    230206: "富拉尔基区",
 | 
						|
    230207: "碾子山区",
 | 
						|
    230208: "梅里斯达斡尔族区",
 | 
						|
    230221: "龙江县",
 | 
						|
    230223: "依安县",
 | 
						|
    230224: "泰来县",
 | 
						|
    230225: "甘南县",
 | 
						|
    230227: "富裕县",
 | 
						|
    230229: "克山县",
 | 
						|
    230230: "克东县",
 | 
						|
    230231: "拜泉县",
 | 
						|
    230281: "讷河市",
 | 
						|
    230302: "鸡冠区",
 | 
						|
    230303: "恒山区",
 | 
						|
    230304: "滴道区",
 | 
						|
    230305: "梨树区",
 | 
						|
    230306: "城子河区",
 | 
						|
    230307: "麻山区",
 | 
						|
    230321: "鸡东县",
 | 
						|
    230381: "虎林市",
 | 
						|
    230382: "密山市",
 | 
						|
    230402: "向阳区",
 | 
						|
    230403: "工农区",
 | 
						|
    230404: "南山区",
 | 
						|
    230405: "兴安区",
 | 
						|
    230406: "东山区",
 | 
						|
    230407: "兴山区",
 | 
						|
    230421: "萝北县",
 | 
						|
    230422: "绥滨县",
 | 
						|
    230502: "尖山区",
 | 
						|
    230503: "岭东区",
 | 
						|
    230505: "四方台区",
 | 
						|
    230506: "宝山区",
 | 
						|
    230521: "集贤县",
 | 
						|
    230522: "友谊县",
 | 
						|
    230523: "宝清县",
 | 
						|
    230524: "饶河县",
 | 
						|
    230602: "萨尔图区",
 | 
						|
    230603: "龙凤区",
 | 
						|
    230604: "让胡路区",
 | 
						|
    230605: "红岗区",
 | 
						|
    230606: "大同区",
 | 
						|
    230621: "肇州县",
 | 
						|
    230622: "肇源县",
 | 
						|
    230623: "林甸县",
 | 
						|
    230624: "杜尔伯特蒙古族自治县",
 | 
						|
    230671: "大庆高新技术产业开发区",
 | 
						|
    230717: "伊美区",
 | 
						|
    230718: "乌翠区",
 | 
						|
    230719: "友好区",
 | 
						|
    230722: "嘉荫县",
 | 
						|
    230723: "汤旺县",
 | 
						|
    230724: "丰林县",
 | 
						|
    230725: "大箐山县",
 | 
						|
    230726: "南岔县",
 | 
						|
    230751: "金林区",
 | 
						|
    230781: "铁力市",
 | 
						|
    230803: "向阳区",
 | 
						|
    230804: "前进区",
 | 
						|
    230805: "东风区",
 | 
						|
    230811: "郊区",
 | 
						|
    230822: "桦南县",
 | 
						|
    230826: "桦川县",
 | 
						|
    230828: "汤原县",
 | 
						|
    230881: "同江市",
 | 
						|
    230882: "富锦市",
 | 
						|
    230883: "抚远市",
 | 
						|
    230902: "新兴区",
 | 
						|
    230903: "桃山区",
 | 
						|
    230904: "茄子河区",
 | 
						|
    230921: "勃利县",
 | 
						|
    231002: "东安区",
 | 
						|
    231003: "阳明区",
 | 
						|
    231004: "爱民区",
 | 
						|
    231005: "西安区",
 | 
						|
    231025: "林口县",
 | 
						|
    231081: "绥芬河市",
 | 
						|
    231083: "海林市",
 | 
						|
    231084: "宁安市",
 | 
						|
    231085: "穆棱市",
 | 
						|
    231086: "东宁市",
 | 
						|
    231102: "爱辉区",
 | 
						|
    231123: "逊克县",
 | 
						|
    231124: "孙吴县",
 | 
						|
    231181: "北安市",
 | 
						|
    231182: "五大连池市",
 | 
						|
    231183: "嫩江市",
 | 
						|
    231202: "北林区",
 | 
						|
    231221: "望奎县",
 | 
						|
    231222: "兰西县",
 | 
						|
    231223: "青冈县",
 | 
						|
    231224: "庆安县",
 | 
						|
    231225: "明水县",
 | 
						|
    231226: "绥棱县",
 | 
						|
    231281: "安达市",
 | 
						|
    231282: "肇东市",
 | 
						|
    231283: "海伦市",
 | 
						|
    232701: "漠河市",
 | 
						|
    232721: "呼玛县",
 | 
						|
    232722: "塔河县",
 | 
						|
    232761: "加格达奇区",
 | 
						|
    232762: "松岭区",
 | 
						|
    232763: "新林区",
 | 
						|
    232764: "呼中区",
 | 
						|
    310101: "黄浦区",
 | 
						|
    310104: "徐汇区",
 | 
						|
    310105: "长宁区",
 | 
						|
    310106: "静安区",
 | 
						|
    310107: "普陀区",
 | 
						|
    310109: "虹口区",
 | 
						|
    310110: "杨浦区",
 | 
						|
    310112: "闵行区",
 | 
						|
    310113: "宝山区",
 | 
						|
    310114: "嘉定区",
 | 
						|
    310115: "浦东新区",
 | 
						|
    310116: "金山区",
 | 
						|
    310117: "松江区",
 | 
						|
    310118: "青浦区",
 | 
						|
    310120: "奉贤区",
 | 
						|
    310151: "崇明区",
 | 
						|
    320102: "玄武区",
 | 
						|
    320104: "秦淮区",
 | 
						|
    320105: "建邺区",
 | 
						|
    320106: "鼓楼区",
 | 
						|
    320111: "浦口区",
 | 
						|
    320112: "江北新区",
 | 
						|
    320113: "栖霞区",
 | 
						|
    320114: "雨花台区",
 | 
						|
    320115: "江宁区",
 | 
						|
    320116: "六合区",
 | 
						|
    320117: "溧水区",
 | 
						|
    320118: "高淳区",
 | 
						|
    320205: "锡山区",
 | 
						|
    320206: "惠山区",
 | 
						|
    320211: "滨湖区",
 | 
						|
    320213: "梁溪区",
 | 
						|
    320214: "新吴区",
 | 
						|
    320281: "江阴市",
 | 
						|
    320282: "宜兴市",
 | 
						|
    320302: "鼓楼区",
 | 
						|
    320303: "云龙区",
 | 
						|
    320305: "贾汪区",
 | 
						|
    320311: "泉山区",
 | 
						|
    320312: "铜山区",
 | 
						|
    320321: "丰县",
 | 
						|
    320322: "沛县",
 | 
						|
    320324: "睢宁县",
 | 
						|
    320371: "徐州经济技术开发区",
 | 
						|
    320381: "新沂市",
 | 
						|
    320382: "邳州市",
 | 
						|
    320391: "工业园区",
 | 
						|
    320402: "天宁区",
 | 
						|
    320404: "钟楼区",
 | 
						|
    320411: "新北区",
 | 
						|
    320412: "武进区",
 | 
						|
    320413: "金坛区",
 | 
						|
    320481: "溧阳市",
 | 
						|
    320505: "虎丘区",
 | 
						|
    320506: "吴中区",
 | 
						|
    320507: "相城区",
 | 
						|
    320508: "姑苏区",
 | 
						|
    320509: "吴江区",
 | 
						|
    320571: "苏州工业园区",
 | 
						|
    320581: "常熟市",
 | 
						|
    320582: "张家港市",
 | 
						|
    320583: "昆山市",
 | 
						|
    320585: "太仓市",
 | 
						|
    320590: "工业园区",
 | 
						|
    320591: "高新区",
 | 
						|
    320611: "港闸区",
 | 
						|
    320612: "通州区",
 | 
						|
    320613: "崇川区",
 | 
						|
    320614: "海门区",
 | 
						|
    320623: "如东县",
 | 
						|
    320681: "启东市",
 | 
						|
    320682: "如皋市",
 | 
						|
    320685: "海安市",
 | 
						|
    320691: "高新区",
 | 
						|
    320703: "连云区",
 | 
						|
    320706: "海州区",
 | 
						|
    320707: "赣榆区",
 | 
						|
    320722: "东海县",
 | 
						|
    320723: "灌云县",
 | 
						|
    320724: "灌南县",
 | 
						|
    320771: "连云港经济技术开发区",
 | 
						|
    320803: "淮安区",
 | 
						|
    320804: "淮阴区",
 | 
						|
    320812: "清江浦区",
 | 
						|
    320813: "洪泽区",
 | 
						|
    320826: "涟水县",
 | 
						|
    320830: "盱眙县",
 | 
						|
    320831: "金湖县",
 | 
						|
    320871: "淮安经济技术开发区",
 | 
						|
    320890: "经济开发区",
 | 
						|
    320902: "亭湖区",
 | 
						|
    320903: "盐都区",
 | 
						|
    320904: "大丰区",
 | 
						|
    320921: "响水县",
 | 
						|
    320922: "滨海县",
 | 
						|
    320923: "阜宁县",
 | 
						|
    320924: "射阳县",
 | 
						|
    320925: "建湖县",
 | 
						|
    320971: "盐城经济技术开发区",
 | 
						|
    320981: "东台市",
 | 
						|
    321002: "广陵区",
 | 
						|
    321003: "邗江区",
 | 
						|
    321012: "江都区",
 | 
						|
    321023: "宝应县",
 | 
						|
    321071: "扬州经济技术开发区",
 | 
						|
    321081: "仪征市",
 | 
						|
    321084: "高邮市",
 | 
						|
    321090: "经济开发区",
 | 
						|
    321102: "京口区",
 | 
						|
    321111: "润州区",
 | 
						|
    321112: "丹徒区",
 | 
						|
    321150: "镇江新区",
 | 
						|
    321181: "丹阳市",
 | 
						|
    321182: "扬中市",
 | 
						|
    321183: "句容市",
 | 
						|
    321202: "海陵区",
 | 
						|
    321203: "高港区",
 | 
						|
    321204: "姜堰区",
 | 
						|
    321271: "泰州医药高新技术产业开发区",
 | 
						|
    321281: "兴化市",
 | 
						|
    321282: "靖江市",
 | 
						|
    321283: "泰兴市",
 | 
						|
    321302: "宿城区",
 | 
						|
    321311: "宿豫区",
 | 
						|
    321322: "沭阳县",
 | 
						|
    321323: "泗阳县",
 | 
						|
    321324: "泗洪县",
 | 
						|
    321371: "宿迁经济技术开发区",
 | 
						|
    330102: "上城区",
 | 
						|
    330105: "拱墅区",
 | 
						|
    330106: "西湖区",
 | 
						|
    330108: "滨江区",
 | 
						|
    330109: "萧山区",
 | 
						|
    330110: "余杭区",
 | 
						|
    330111: "富阳区",
 | 
						|
    330112: "临安区",
 | 
						|
    330113: "临平区",
 | 
						|
    330114: "钱塘区",
 | 
						|
    330122: "桐庐县",
 | 
						|
    330127: "淳安县",
 | 
						|
    330182: "建德市",
 | 
						|
    330203: "海曙区",
 | 
						|
    330205: "江北区",
 | 
						|
    330206: "北仑区",
 | 
						|
    330211: "镇海区",
 | 
						|
    330212: "鄞州区",
 | 
						|
    330213: "奉化区",
 | 
						|
    330225: "象山县",
 | 
						|
    330226: "宁海县",
 | 
						|
    330281: "余姚市",
 | 
						|
    330282: "慈溪市",
 | 
						|
    330302: "鹿城区",
 | 
						|
    330303: "龙湾区",
 | 
						|
    330304: "瓯海区",
 | 
						|
    330305: "洞头区",
 | 
						|
    330324: "永嘉县",
 | 
						|
    330326: "平阳县",
 | 
						|
    330327: "苍南县",
 | 
						|
    330328: "文成县",
 | 
						|
    330329: "泰顺县",
 | 
						|
    330381: "瑞安市",
 | 
						|
    330382: "乐清市",
 | 
						|
    330383: "龙港市",
 | 
						|
    330402: "南湖区",
 | 
						|
    330411: "秀洲区",
 | 
						|
    330421: "嘉善县",
 | 
						|
    330424: "海盐县",
 | 
						|
    330481: "海宁市",
 | 
						|
    330482: "平湖市",
 | 
						|
    330483: "桐乡市",
 | 
						|
    330502: "吴兴区",
 | 
						|
    330503: "南浔区",
 | 
						|
    330521: "德清县",
 | 
						|
    330522: "长兴县",
 | 
						|
    330523: "安吉县",
 | 
						|
    330602: "越城区",
 | 
						|
    330603: "柯桥区",
 | 
						|
    330604: "上虞区",
 | 
						|
    330624: "新昌县",
 | 
						|
    330681: "诸暨市",
 | 
						|
    330683: "嵊州市",
 | 
						|
    330702: "婺城区",
 | 
						|
    330703: "金东区",
 | 
						|
    330723: "武义县",
 | 
						|
    330726: "浦江县",
 | 
						|
    330727: "磐安县",
 | 
						|
    330781: "兰溪市",
 | 
						|
    330782: "义乌市",
 | 
						|
    330783: "东阳市",
 | 
						|
    330784: "永康市",
 | 
						|
    330802: "柯城区",
 | 
						|
    330803: "衢江区",
 | 
						|
    330822: "常山县",
 | 
						|
    330824: "开化县",
 | 
						|
    330825: "龙游县",
 | 
						|
    330881: "江山市",
 | 
						|
    330902: "定海区",
 | 
						|
    330903: "普陀区",
 | 
						|
    330921: "岱山县",
 | 
						|
    330922: "嵊泗县",
 | 
						|
    331002: "椒江区",
 | 
						|
    331003: "黄岩区",
 | 
						|
    331004: "路桥区",
 | 
						|
    331022: "三门县",
 | 
						|
    331023: "天台县",
 | 
						|
    331024: "仙居县",
 | 
						|
    331081: "温岭市",
 | 
						|
    331082: "临海市",
 | 
						|
    331083: "玉环市",
 | 
						|
    331102: "莲都区",
 | 
						|
    331121: "青田县",
 | 
						|
    331122: "缙云县",
 | 
						|
    331123: "遂昌县",
 | 
						|
    331124: "松阳县",
 | 
						|
    331125: "云和县",
 | 
						|
    331126: "庆元县",
 | 
						|
    331127: "景宁畲族自治县",
 | 
						|
    331181: "龙泉市",
 | 
						|
    340102: "瑶海区",
 | 
						|
    340103: "庐阳区",
 | 
						|
    340104: "蜀山区",
 | 
						|
    340111: "包河区",
 | 
						|
    340121: "长丰县",
 | 
						|
    340122: "肥东县",
 | 
						|
    340123: "肥西县",
 | 
						|
    340124: "庐江县",
 | 
						|
    340171: "合肥高新技术产业开发区",
 | 
						|
    340172: "合肥经济技术开发区",
 | 
						|
    340173: "合肥新站高新技术产业开发区",
 | 
						|
    340181: "巢湖市",
 | 
						|
    340190: "高新技术开发区",
 | 
						|
    340191: "经济技术开发区",
 | 
						|
    340202: "镜湖区",
 | 
						|
    340207: "鸠江区",
 | 
						|
    340209: "弋江区",
 | 
						|
    340210: "湾沚区",
 | 
						|
    340212: "繁昌区",
 | 
						|
    340223: "南陵县",
 | 
						|
    340281: "无为市",
 | 
						|
    340302: "龙子湖区",
 | 
						|
    340303: "蚌山区",
 | 
						|
    340304: "禹会区",
 | 
						|
    340311: "淮上区",
 | 
						|
    340321: "怀远县",
 | 
						|
    340322: "五河县",
 | 
						|
    340323: "固镇县",
 | 
						|
    340371: "蚌埠市高新技术开发区",
 | 
						|
    340372: "蚌埠市经济开发区",
 | 
						|
    340402: "大通区",
 | 
						|
    340403: "田家庵区",
 | 
						|
    340404: "谢家集区",
 | 
						|
    340405: "八公山区",
 | 
						|
    340406: "潘集区",
 | 
						|
    340421: "凤台县",
 | 
						|
    340422: "寿县",
 | 
						|
    340503: "花山区",
 | 
						|
    340504: "雨山区",
 | 
						|
    340506: "博望区",
 | 
						|
    340521: "当涂县",
 | 
						|
    340522: "含山县",
 | 
						|
    340523: "和县",
 | 
						|
    340602: "杜集区",
 | 
						|
    340603: "相山区",
 | 
						|
    340604: "烈山区",
 | 
						|
    340621: "濉溪县",
 | 
						|
    340705: "铜官区",
 | 
						|
    340706: "义安区",
 | 
						|
    340711: "郊区",
 | 
						|
    340722: "枞阳县",
 | 
						|
    340802: "迎江区",
 | 
						|
    340803: "大观区",
 | 
						|
    340811: "宜秀区",
 | 
						|
    340822: "怀宁县",
 | 
						|
    340825: "太湖县",
 | 
						|
    340826: "宿松县",
 | 
						|
    340827: "望江县",
 | 
						|
    340828: "岳西县",
 | 
						|
    340881: "桐城市",
 | 
						|
    340882: "潜山市",
 | 
						|
    341002: "屯溪区",
 | 
						|
    341003: "黄山区",
 | 
						|
    341004: "徽州区",
 | 
						|
    341021: "歙县",
 | 
						|
    341022: "休宁县",
 | 
						|
    341023: "黟县",
 | 
						|
    341024: "祁门县",
 | 
						|
    341102: "琅琊区",
 | 
						|
    341103: "南谯区",
 | 
						|
    341122: "来安县",
 | 
						|
    341124: "全椒县",
 | 
						|
    341125: "定远县",
 | 
						|
    341126: "凤阳县",
 | 
						|
    341181: "天长市",
 | 
						|
    341182: "明光市",
 | 
						|
    341202: "颍州区",
 | 
						|
    341203: "颍东区",
 | 
						|
    341204: "颍泉区",
 | 
						|
    341221: "临泉县",
 | 
						|
    341222: "太和县",
 | 
						|
    341225: "阜南县",
 | 
						|
    341226: "颍上县",
 | 
						|
    341271: "阜阳合肥现代产业园区",
 | 
						|
    341282: "界首市",
 | 
						|
    341302: "埇桥区",
 | 
						|
    341321: "砀山县",
 | 
						|
    341322: "萧县",
 | 
						|
    341323: "灵璧县",
 | 
						|
    341324: "泗县",
 | 
						|
    341371: "宿州马鞍山现代产业园区",
 | 
						|
    341372: "宿州经济技术开发区",
 | 
						|
    341390: "经济开发区",
 | 
						|
    341502: "金安区",
 | 
						|
    341503: "裕安区",
 | 
						|
    341504: "叶集区",
 | 
						|
    341522: "霍邱县",
 | 
						|
    341523: "舒城县",
 | 
						|
    341524: "金寨县",
 | 
						|
    341525: "霍山县",
 | 
						|
    341602: "谯城区",
 | 
						|
    341621: "涡阳县",
 | 
						|
    341622: "蒙城县",
 | 
						|
    341623: "利辛县",
 | 
						|
    341702: "贵池区",
 | 
						|
    341721: "东至县",
 | 
						|
    341722: "石台县",
 | 
						|
    341723: "青阳县",
 | 
						|
    341802: "宣州区",
 | 
						|
    341821: "郎溪县",
 | 
						|
    341823: "泾县",
 | 
						|
    341824: "绩溪县",
 | 
						|
    341825: "旌德县",
 | 
						|
    341871: "宣城市经济开发区",
 | 
						|
    341881: "宁国市",
 | 
						|
    341882: "广德市",
 | 
						|
    350102: "鼓楼区",
 | 
						|
    350103: "台江区",
 | 
						|
    350104: "仓山区",
 | 
						|
    350105: "马尾区",
 | 
						|
    350111: "晋安区",
 | 
						|
    350112: "长乐区",
 | 
						|
    350121: "闽侯县",
 | 
						|
    350122: "连江县",
 | 
						|
    350123: "罗源县",
 | 
						|
    350124: "闽清县",
 | 
						|
    350125: "永泰县",
 | 
						|
    350128: "平潭县",
 | 
						|
    350181: "福清市",
 | 
						|
    350203: "思明区",
 | 
						|
    350205: "海沧区",
 | 
						|
    350206: "湖里区",
 | 
						|
    350211: "集美区",
 | 
						|
    350212: "同安区",
 | 
						|
    350213: "翔安区",
 | 
						|
    350302: "城厢区",
 | 
						|
    350303: "涵江区",
 | 
						|
    350304: "荔城区",
 | 
						|
    350305: "秀屿区",
 | 
						|
    350322: "仙游县",
 | 
						|
    350402: "梅列区",
 | 
						|
    350404: "三元区",
 | 
						|
    350405: "沙县区",
 | 
						|
    350421: "明溪县",
 | 
						|
    350423: "清流县",
 | 
						|
    350424: "宁化县",
 | 
						|
    350425: "大田县",
 | 
						|
    350426: "尤溪县",
 | 
						|
    350428: "将乐县",
 | 
						|
    350429: "泰宁县",
 | 
						|
    350430: "建宁县",
 | 
						|
    350481: "永安市",
 | 
						|
    350502: "鲤城区",
 | 
						|
    350503: "丰泽区",
 | 
						|
    350504: "洛江区",
 | 
						|
    350505: "泉港区",
 | 
						|
    350521: "惠安县",
 | 
						|
    350524: "安溪县",
 | 
						|
    350525: "永春县",
 | 
						|
    350526: "德化县",
 | 
						|
    350527: "金门县",
 | 
						|
    350581: "石狮市",
 | 
						|
    350582: "晋江市",
 | 
						|
    350583: "南安市",
 | 
						|
    350602: "芗城区",
 | 
						|
    350603: "龙文区",
 | 
						|
    350604: "龙海区",
 | 
						|
    350605: "长泰区",
 | 
						|
    350622: "云霄县",
 | 
						|
    350623: "漳浦县",
 | 
						|
    350624: "诏安县",
 | 
						|
    350626: "东山县",
 | 
						|
    350627: "南靖县",
 | 
						|
    350628: "平和县",
 | 
						|
    350629: "华安县",
 | 
						|
    350702: "延平区",
 | 
						|
    350703: "建阳区",
 | 
						|
    350721: "顺昌县",
 | 
						|
    350722: "浦城县",
 | 
						|
    350723: "光泽县",
 | 
						|
    350724: "松溪县",
 | 
						|
    350725: "政和县",
 | 
						|
    350781: "邵武市",
 | 
						|
    350782: "武夷山市",
 | 
						|
    350783: "建瓯市",
 | 
						|
    350802: "新罗区",
 | 
						|
    350803: "永定区",
 | 
						|
    350821: "长汀县",
 | 
						|
    350823: "上杭县",
 | 
						|
    350824: "武平县",
 | 
						|
    350825: "连城县",
 | 
						|
    350881: "漳平市",
 | 
						|
    350902: "蕉城区",
 | 
						|
    350921: "霞浦县",
 | 
						|
    350922: "古田县",
 | 
						|
    350923: "屏南县",
 | 
						|
    350924: "寿宁县",
 | 
						|
    350925: "周宁县",
 | 
						|
    350926: "柘荣县",
 | 
						|
    350981: "福安市",
 | 
						|
    350982: "福鼎市",
 | 
						|
    360102: "东湖区",
 | 
						|
    360103: "西湖区",
 | 
						|
    360104: "青云谱区",
 | 
						|
    360111: "青山湖区",
 | 
						|
    360112: "新建区",
 | 
						|
    360113: "红谷滩区",
 | 
						|
    360121: "南昌县",
 | 
						|
    360123: "安义县",
 | 
						|
    360124: "进贤县",
 | 
						|
    360190: "经济技术开发区",
 | 
						|
    360192: "高新区",
 | 
						|
    360202: "昌江区",
 | 
						|
    360203: "珠山区",
 | 
						|
    360222: "浮梁县",
 | 
						|
    360281: "乐平市",
 | 
						|
    360302: "安源区",
 | 
						|
    360313: "湘东区",
 | 
						|
    360321: "莲花县",
 | 
						|
    360322: "上栗县",
 | 
						|
    360323: "芦溪县",
 | 
						|
    360402: "濂溪区",
 | 
						|
    360403: "浔阳区",
 | 
						|
    360404: "柴桑区",
 | 
						|
    360423: "武宁县",
 | 
						|
    360424: "修水县",
 | 
						|
    360425: "永修县",
 | 
						|
    360426: "德安县",
 | 
						|
    360428: "都昌县",
 | 
						|
    360429: "湖口县",
 | 
						|
    360430: "彭泽县",
 | 
						|
    360481: "瑞昌市",
 | 
						|
    360482: "共青城市",
 | 
						|
    360483: "庐山市",
 | 
						|
    360490: "经济技术开发区",
 | 
						|
    360502: "渝水区",
 | 
						|
    360521: "分宜县",
 | 
						|
    360602: "月湖区",
 | 
						|
    360603: "余江区",
 | 
						|
    360681: "贵溪市",
 | 
						|
    360702: "章贡区",
 | 
						|
    360703: "南康区",
 | 
						|
    360704: "赣县区",
 | 
						|
    360722: "信丰县",
 | 
						|
    360723: "大余县",
 | 
						|
    360724: "上犹县",
 | 
						|
    360725: "崇义县",
 | 
						|
    360726: "安远县",
 | 
						|
    360728: "定南县",
 | 
						|
    360729: "全南县",
 | 
						|
    360730: "宁都县",
 | 
						|
    360731: "于都县",
 | 
						|
    360732: "兴国县",
 | 
						|
    360733: "会昌县",
 | 
						|
    360734: "寻乌县",
 | 
						|
    360735: "石城县",
 | 
						|
    360781: "瑞金市",
 | 
						|
    360783: "龙南市",
 | 
						|
    360802: "吉州区",
 | 
						|
    360803: "青原区",
 | 
						|
    360821: "吉安县",
 | 
						|
    360822: "吉水县",
 | 
						|
    360823: "峡江县",
 | 
						|
    360824: "新干县",
 | 
						|
    360825: "永丰县",
 | 
						|
    360826: "泰和县",
 | 
						|
    360827: "遂川县",
 | 
						|
    360828: "万安县",
 | 
						|
    360829: "安福县",
 | 
						|
    360830: "永新县",
 | 
						|
    360881: "井冈山市",
 | 
						|
    360902: "袁州区",
 | 
						|
    360921: "奉新县",
 | 
						|
    360922: "万载县",
 | 
						|
    360923: "上高县",
 | 
						|
    360924: "宜丰县",
 | 
						|
    360925: "靖安县",
 | 
						|
    360926: "铜鼓县",
 | 
						|
    360981: "丰城市",
 | 
						|
    360982: "樟树市",
 | 
						|
    360983: "高安市",
 | 
						|
    361002: "临川区",
 | 
						|
    361003: "东乡区",
 | 
						|
    361021: "南城县",
 | 
						|
    361022: "黎川县",
 | 
						|
    361023: "南丰县",
 | 
						|
    361024: "崇仁县",
 | 
						|
    361025: "乐安县",
 | 
						|
    361026: "宜黄县",
 | 
						|
    361027: "金溪县",
 | 
						|
    361028: "资溪县",
 | 
						|
    361030: "广昌县",
 | 
						|
    361102: "信州区",
 | 
						|
    361103: "广丰区",
 | 
						|
    361104: "广信区",
 | 
						|
    361123: "玉山县",
 | 
						|
    361124: "铅山县",
 | 
						|
    361125: "横峰县",
 | 
						|
    361126: "弋阳县",
 | 
						|
    361127: "余干县",
 | 
						|
    361128: "鄱阳县",
 | 
						|
    361129: "万年县",
 | 
						|
    361130: "婺源县",
 | 
						|
    361181: "德兴市",
 | 
						|
    370102: "历下区",
 | 
						|
    370103: "市中区",
 | 
						|
    370104: "槐荫区",
 | 
						|
    370105: "天桥区",
 | 
						|
    370112: "历城区",
 | 
						|
    370113: "长清区",
 | 
						|
    370114: "章丘区",
 | 
						|
    370115: "济阳区",
 | 
						|
    370116: "莱芜区",
 | 
						|
    370117: "钢城区",
 | 
						|
    370124: "平阴县",
 | 
						|
    370126: "商河县",
 | 
						|
    370171: "济南高新技术产业开发区",
 | 
						|
    370190: "高新区",
 | 
						|
    370202: "市南区",
 | 
						|
    370203: "市北区",
 | 
						|
    370211: "黄岛区",
 | 
						|
    370212: "崂山区",
 | 
						|
    370213: "李沧区",
 | 
						|
    370214: "城阳区",
 | 
						|
    370215: "即墨区",
 | 
						|
    370271: "青岛高新技术产业开发区",
 | 
						|
    370281: "胶州市",
 | 
						|
    370283: "平度市",
 | 
						|
    370285: "莱西市",
 | 
						|
    370290: "开发区",
 | 
						|
    370302: "淄川区",
 | 
						|
    370303: "张店区",
 | 
						|
    370304: "博山区",
 | 
						|
    370305: "临淄区",
 | 
						|
    370306: "周村区",
 | 
						|
    370321: "桓台县",
 | 
						|
    370322: "高青县",
 | 
						|
    370323: "沂源县",
 | 
						|
    370402: "市中区",
 | 
						|
    370403: "薛城区",
 | 
						|
    370404: "峄城区",
 | 
						|
    370405: "台儿庄区",
 | 
						|
    370406: "山亭区",
 | 
						|
    370481: "滕州市",
 | 
						|
    370502: "东营区",
 | 
						|
    370503: "河口区",
 | 
						|
    370505: "垦利区",
 | 
						|
    370522: "利津县",
 | 
						|
    370523: "广饶县",
 | 
						|
    370571: "东营经济技术开发区",
 | 
						|
    370572: "东营港经济开发区",
 | 
						|
    370602: "芝罘区",
 | 
						|
    370611: "福山区",
 | 
						|
    370612: "牟平区",
 | 
						|
    370613: "莱山区",
 | 
						|
    370614: "蓬莱区",
 | 
						|
    370634: "长岛县",
 | 
						|
    370671: "烟台高新技术产业开发区",
 | 
						|
    370672: "烟台经济技术开发区",
 | 
						|
    370681: "龙口市",
 | 
						|
    370682: "莱阳市",
 | 
						|
    370683: "莱州市",
 | 
						|
    370685: "招远市",
 | 
						|
    370686: "栖霞市",
 | 
						|
    370687: "海阳市",
 | 
						|
    370690: "开发区",
 | 
						|
    370702: "潍城区",
 | 
						|
    370703: "寒亭区",
 | 
						|
    370704: "坊子区",
 | 
						|
    370705: "奎文区",
 | 
						|
    370724: "临朐县",
 | 
						|
    370725: "昌乐县",
 | 
						|
    370772: "潍坊滨海经济技术开发区",
 | 
						|
    370781: "青州市",
 | 
						|
    370782: "诸城市",
 | 
						|
    370783: "寿光市",
 | 
						|
    370784: "安丘市",
 | 
						|
    370785: "高密市",
 | 
						|
    370786: "昌邑市",
 | 
						|
    370790: "开发区",
 | 
						|
    370791: "高新区",
 | 
						|
    370811: "任城区",
 | 
						|
    370812: "兖州区",
 | 
						|
    370826: "微山县",
 | 
						|
    370827: "鱼台县",
 | 
						|
    370828: "金乡县",
 | 
						|
    370829: "嘉祥县",
 | 
						|
    370830: "汶上县",
 | 
						|
    370831: "泗水县",
 | 
						|
    370832: "梁山县",
 | 
						|
    370871: "济宁高新技术产业开发区",
 | 
						|
    370881: "曲阜市",
 | 
						|
    370883: "邹城市",
 | 
						|
    370890: "高新区",
 | 
						|
    370902: "泰山区",
 | 
						|
    370911: "岱岳区",
 | 
						|
    370921: "宁阳县",
 | 
						|
    370923: "东平县",
 | 
						|
    370982: "新泰市",
 | 
						|
    370983: "肥城市",
 | 
						|
    371002: "环翠区",
 | 
						|
    371003: "文登区",
 | 
						|
    371071: "威海火炬高技术产业开发区",
 | 
						|
    371072: "威海经济技术开发区",
 | 
						|
    371082: "荣成市",
 | 
						|
    371083: "乳山市",
 | 
						|
    371091: "经济技术开发区",
 | 
						|
    371102: "东港区",
 | 
						|
    371103: "岚山区",
 | 
						|
    371121: "五莲县",
 | 
						|
    371122: "莒县",
 | 
						|
    371171: "日照经济技术开发区",
 | 
						|
    371302: "兰山区",
 | 
						|
    371311: "罗庄区",
 | 
						|
    371312: "河东区",
 | 
						|
    371321: "沂南县",
 | 
						|
    371322: "郯城县",
 | 
						|
    371323: "沂水县",
 | 
						|
    371324: "兰陵县",
 | 
						|
    371325: "费县",
 | 
						|
    371326: "平邑县",
 | 
						|
    371327: "莒南县",
 | 
						|
    371328: "蒙阴县",
 | 
						|
    371329: "临沭县",
 | 
						|
    371371: "临沂高新技术产业开发区",
 | 
						|
    371402: "德城区",
 | 
						|
    371403: "陵城区",
 | 
						|
    371422: "宁津县",
 | 
						|
    371423: "庆云县",
 | 
						|
    371424: "临邑县",
 | 
						|
    371425: "齐河县",
 | 
						|
    371426: "平原县",
 | 
						|
    371427: "夏津县",
 | 
						|
    371428: "武城县",
 | 
						|
    371472: "德州运河经济开发区",
 | 
						|
    371481: "乐陵市",
 | 
						|
    371482: "禹城市",
 | 
						|
    371502: "东昌府区",
 | 
						|
    371503: "茌平区",
 | 
						|
    371521: "阳谷县",
 | 
						|
    371522: "莘县",
 | 
						|
    371524: "东阿县",
 | 
						|
    371525: "冠县",
 | 
						|
    371526: "高唐县",
 | 
						|
    371581: "临清市",
 | 
						|
    371602: "滨城区",
 | 
						|
    371603: "沾化区",
 | 
						|
    371621: "惠民县",
 | 
						|
    371622: "阳信县",
 | 
						|
    371623: "无棣县",
 | 
						|
    371625: "博兴县",
 | 
						|
    371681: "邹平市",
 | 
						|
    371702: "牡丹区",
 | 
						|
    371703: "定陶区",
 | 
						|
    371721: "曹县",
 | 
						|
    371722: "单县",
 | 
						|
    371723: "成武县",
 | 
						|
    371724: "巨野县",
 | 
						|
    371725: "郓城县",
 | 
						|
    371726: "鄄城县",
 | 
						|
    371728: "东明县",
 | 
						|
    371771: "菏泽经济技术开发区",
 | 
						|
    371772: "菏泽高新技术开发区",
 | 
						|
    410102: "中原区",
 | 
						|
    410103: "二七区",
 | 
						|
    410104: "管城回族区",
 | 
						|
    410105: "金水区",
 | 
						|
    410106: "上街区",
 | 
						|
    410108: "惠济区",
 | 
						|
    410122: "中牟县",
 | 
						|
    410171: "郑州经济技术开发区",
 | 
						|
    410172: "郑州高新技术产业开发区",
 | 
						|
    410173: "郑州航空港经济综合实验区",
 | 
						|
    410181: "巩义市",
 | 
						|
    410182: "荥阳市",
 | 
						|
    410183: "新密市",
 | 
						|
    410184: "新郑市",
 | 
						|
    410185: "登封市",
 | 
						|
    410190: "高新技术开发区",
 | 
						|
    410191: "经济技术开发区",
 | 
						|
    410202: "龙亭区",
 | 
						|
    410203: "顺河回族区",
 | 
						|
    410204: "鼓楼区",
 | 
						|
    410205: "禹王台区",
 | 
						|
    410212: "祥符区",
 | 
						|
    410221: "杞县",
 | 
						|
    410222: "通许县",
 | 
						|
    410223: "尉氏县",
 | 
						|
    410225: "兰考县",
 | 
						|
    410302: "老城区",
 | 
						|
    410303: "西工区",
 | 
						|
    410304: "瀍河回族区",
 | 
						|
    410305: "涧西区",
 | 
						|
    410307: "偃师区",
 | 
						|
    410308: "孟津区",
 | 
						|
    410311: "洛龙区",
 | 
						|
    410323: "新安县",
 | 
						|
    410324: "栾川县",
 | 
						|
    410325: "嵩县",
 | 
						|
    410326: "汝阳县",
 | 
						|
    410327: "宜阳县",
 | 
						|
    410328: "洛宁县",
 | 
						|
    410329: "伊川县",
 | 
						|
    410402: "新华区",
 | 
						|
    410403: "卫东区",
 | 
						|
    410404: "石龙区",
 | 
						|
    410411: "湛河区",
 | 
						|
    410421: "宝丰县",
 | 
						|
    410422: "叶县",
 | 
						|
    410423: "鲁山县",
 | 
						|
    410425: "郏县",
 | 
						|
    410471: "平顶山高新技术产业开发区",
 | 
						|
    410481: "舞钢市",
 | 
						|
    410482: "汝州市",
 | 
						|
    410502: "文峰区",
 | 
						|
    410503: "北关区",
 | 
						|
    410505: "殷都区",
 | 
						|
    410506: "龙安区",
 | 
						|
    410522: "安阳县",
 | 
						|
    410523: "汤阴县",
 | 
						|
    410526: "滑县",
 | 
						|
    410527: "内黄县",
 | 
						|
    410581: "林州市",
 | 
						|
    410590: "开发区",
 | 
						|
    410602: "鹤山区",
 | 
						|
    410603: "山城区",
 | 
						|
    410611: "淇滨区",
 | 
						|
    410621: "浚县",
 | 
						|
    410622: "淇县",
 | 
						|
    410702: "红旗区",
 | 
						|
    410703: "卫滨区",
 | 
						|
    410704: "凤泉区",
 | 
						|
    410711: "牧野区",
 | 
						|
    410721: "新乡县",
 | 
						|
    410724: "获嘉县",
 | 
						|
    410725: "原阳县",
 | 
						|
    410726: "延津县",
 | 
						|
    410727: "封丘县",
 | 
						|
    410771: "新乡高新技术产业开发区",
 | 
						|
    410772: "新乡经济技术开发区",
 | 
						|
    410781: "卫辉市",
 | 
						|
    410782: "辉县市",
 | 
						|
    410783: "长垣市",
 | 
						|
    410802: "解放区",
 | 
						|
    410803: "中站区",
 | 
						|
    410804: "马村区",
 | 
						|
    410811: "山阳区",
 | 
						|
    410821: "修武县",
 | 
						|
    410822: "博爱县",
 | 
						|
    410823: "武陟县",
 | 
						|
    410825: "温县",
 | 
						|
    410871: "焦作城乡一体化示范区",
 | 
						|
    410882: "沁阳市",
 | 
						|
    410883: "孟州市",
 | 
						|
    410902: "华龙区",
 | 
						|
    410922: "清丰县",
 | 
						|
    410923: "南乐县",
 | 
						|
    410926: "范县",
 | 
						|
    410927: "台前县",
 | 
						|
    410928: "濮阳县",
 | 
						|
    410971: "河南濮阳工业园区",
 | 
						|
    411002: "魏都区",
 | 
						|
    411003: "建安区",
 | 
						|
    411024: "鄢陵县",
 | 
						|
    411025: "襄城县",
 | 
						|
    411071: "许昌经济技术开发区",
 | 
						|
    411081: "禹州市",
 | 
						|
    411082: "长葛市",
 | 
						|
    411102: "源汇区",
 | 
						|
    411103: "郾城区",
 | 
						|
    411104: "召陵区",
 | 
						|
    411121: "舞阳县",
 | 
						|
    411122: "临颍县",
 | 
						|
    411171: "漯河经济技术开发区",
 | 
						|
    411202: "湖滨区",
 | 
						|
    411203: "陕州区",
 | 
						|
    411221: "渑池县",
 | 
						|
    411224: "卢氏县",
 | 
						|
    411271: "河南三门峡经济开发区",
 | 
						|
    411281: "义马市",
 | 
						|
    411282: "灵宝市",
 | 
						|
    411302: "宛城区",
 | 
						|
    411303: "卧龙区",
 | 
						|
    411321: "南召县",
 | 
						|
    411322: "方城县",
 | 
						|
    411323: "西峡县",
 | 
						|
    411324: "镇平县",
 | 
						|
    411325: "内乡县",
 | 
						|
    411326: "淅川县",
 | 
						|
    411327: "社旗县",
 | 
						|
    411328: "唐河县",
 | 
						|
    411329: "新野县",
 | 
						|
    411330: "桐柏县",
 | 
						|
    411372: "南阳市城乡一体化示范区",
 | 
						|
    411381: "邓州市",
 | 
						|
    411402: "梁园区",
 | 
						|
    411403: "睢阳区",
 | 
						|
    411421: "民权县",
 | 
						|
    411422: "睢县",
 | 
						|
    411423: "宁陵县",
 | 
						|
    411424: "柘城县",
 | 
						|
    411425: "虞城县",
 | 
						|
    411426: "夏邑县",
 | 
						|
    411481: "永城市",
 | 
						|
    411502: "浉河区",
 | 
						|
    411503: "平桥区",
 | 
						|
    411521: "罗山县",
 | 
						|
    411522: "光山县",
 | 
						|
    411523: "新县",
 | 
						|
    411524: "商城县",
 | 
						|
    411525: "固始县",
 | 
						|
    411526: "潢川县",
 | 
						|
    411527: "淮滨县",
 | 
						|
    411528: "息县",
 | 
						|
    411602: "川汇区",
 | 
						|
    411603: "淮阳区",
 | 
						|
    411621: "扶沟县",
 | 
						|
    411622: "西华县",
 | 
						|
    411623: "商水县",
 | 
						|
    411624: "沈丘县",
 | 
						|
    411625: "郸城县",
 | 
						|
    411627: "太康县",
 | 
						|
    411628: "鹿邑县",
 | 
						|
    411671: "河南周口经济开发区",
 | 
						|
    411681: "项城市",
 | 
						|
    411690: "经济开发区",
 | 
						|
    411702: "驿城区",
 | 
						|
    411721: "西平县",
 | 
						|
    411722: "上蔡县",
 | 
						|
    411723: "平舆县",
 | 
						|
    411724: "正阳县",
 | 
						|
    411725: "确山县",
 | 
						|
    411726: "泌阳县",
 | 
						|
    411727: "汝南县",
 | 
						|
    411728: "遂平县",
 | 
						|
    411729: "新蔡县",
 | 
						|
    419001: "济源市",
 | 
						|
    420102: "江岸区",
 | 
						|
    420103: "江汉区",
 | 
						|
    420104: "硚口区",
 | 
						|
    420105: "汉阳区",
 | 
						|
    420106: "武昌区",
 | 
						|
    420107: "青山区",
 | 
						|
    420111: "洪山区",
 | 
						|
    420112: "东西湖区",
 | 
						|
    420113: "汉南区",
 | 
						|
    420114: "蔡甸区",
 | 
						|
    420115: "江夏区",
 | 
						|
    420116: "黄陂区",
 | 
						|
    420117: "新洲区",
 | 
						|
    420202: "黄石港区",
 | 
						|
    420203: "西塞山区",
 | 
						|
    420204: "下陆区",
 | 
						|
    420205: "铁山区",
 | 
						|
    420222: "阳新县",
 | 
						|
    420281: "大冶市",
 | 
						|
    420302: "茅箭区",
 | 
						|
    420303: "张湾区",
 | 
						|
    420304: "郧阳区",
 | 
						|
    420322: "郧西县",
 | 
						|
    420323: "竹山县",
 | 
						|
    420324: "竹溪县",
 | 
						|
    420325: "房县",
 | 
						|
    420381: "丹江口市",
 | 
						|
    420502: "西陵区",
 | 
						|
    420503: "伍家岗区",
 | 
						|
    420504: "点军区",
 | 
						|
    420505: "猇亭区",
 | 
						|
    420506: "夷陵区",
 | 
						|
    420525: "远安县",
 | 
						|
    420526: "兴山县",
 | 
						|
    420527: "秭归县",
 | 
						|
    420528: "长阳土家族自治县",
 | 
						|
    420529: "五峰土家族自治县",
 | 
						|
    420581: "宜都市",
 | 
						|
    420582: "当阳市",
 | 
						|
    420583: "枝江市",
 | 
						|
    420590: "经济开发区",
 | 
						|
    420602: "襄城区",
 | 
						|
    420606: "樊城区",
 | 
						|
    420607: "襄州区",
 | 
						|
    420624: "南漳县",
 | 
						|
    420625: "谷城县",
 | 
						|
    420626: "保康县",
 | 
						|
    420682: "老河口市",
 | 
						|
    420683: "枣阳市",
 | 
						|
    420684: "宜城市",
 | 
						|
    420702: "梁子湖区",
 | 
						|
    420703: "华容区",
 | 
						|
    420704: "鄂城区",
 | 
						|
    420802: "东宝区",
 | 
						|
    420804: "掇刀区",
 | 
						|
    420822: "沙洋县",
 | 
						|
    420881: "钟祥市",
 | 
						|
    420882: "京山市",
 | 
						|
    420902: "孝南区",
 | 
						|
    420921: "孝昌县",
 | 
						|
    420922: "大悟县",
 | 
						|
    420923: "云梦县",
 | 
						|
    420981: "应城市",
 | 
						|
    420982: "安陆市",
 | 
						|
    420984: "汉川市",
 | 
						|
    421002: "沙市区",
 | 
						|
    421003: "荆州区",
 | 
						|
    421022: "公安县",
 | 
						|
    421024: "江陵县",
 | 
						|
    421081: "石首市",
 | 
						|
    421083: "洪湖市",
 | 
						|
    421087: "松滋市",
 | 
						|
    421088: "监利市",
 | 
						|
    421102: "黄州区",
 | 
						|
    421121: "团风县",
 | 
						|
    421122: "红安县",
 | 
						|
    421123: "罗田县",
 | 
						|
    421124: "英山县",
 | 
						|
    421125: "浠水县",
 | 
						|
    421126: "蕲春县",
 | 
						|
    421127: "黄梅县",
 | 
						|
    421171: "龙感湖管理区",
 | 
						|
    421181: "麻城市",
 | 
						|
    421182: "武穴市",
 | 
						|
    421202: "咸安区",
 | 
						|
    421221: "嘉鱼县",
 | 
						|
    421222: "通城县",
 | 
						|
    421223: "崇阳县",
 | 
						|
    421224: "通山县",
 | 
						|
    421281: "赤壁市",
 | 
						|
    421303: "曾都区",
 | 
						|
    421321: "随县",
 | 
						|
    421381: "广水市",
 | 
						|
    422801: "恩施市",
 | 
						|
    422802: "利川市",
 | 
						|
    422822: "建始县",
 | 
						|
    422823: "巴东县",
 | 
						|
    422825: "宣恩县",
 | 
						|
    422826: "咸丰县",
 | 
						|
    422827: "来凤县",
 | 
						|
    422828: "鹤峰县",
 | 
						|
    429004: "仙桃市",
 | 
						|
    429005: "潜江市",
 | 
						|
    429006: "天门市",
 | 
						|
    429021: "神农架林区",
 | 
						|
    430102: "芙蓉区",
 | 
						|
    430103: "天心区",
 | 
						|
    430104: "岳麓区",
 | 
						|
    430105: "开福区",
 | 
						|
    430111: "雨花区",
 | 
						|
    430112: "望城区",
 | 
						|
    430121: "长沙县",
 | 
						|
    430181: "浏阳市",
 | 
						|
    430182: "宁乡市",
 | 
						|
    430202: "荷塘区",
 | 
						|
    430203: "芦淞区",
 | 
						|
    430204: "石峰区",
 | 
						|
    430211: "天元区",
 | 
						|
    430212: "渌口区",
 | 
						|
    430223: "攸县",
 | 
						|
    430224: "茶陵县",
 | 
						|
    430225: "炎陵县",
 | 
						|
    430271: "云龙示范区",
 | 
						|
    430281: "醴陵市",
 | 
						|
    430302: "雨湖区",
 | 
						|
    430304: "岳塘区",
 | 
						|
    430321: "湘潭县",
 | 
						|
    430373: "湘潭九华示范区",
 | 
						|
    430381: "湘乡市",
 | 
						|
    430382: "韶山市",
 | 
						|
    430405: "珠晖区",
 | 
						|
    430406: "雁峰区",
 | 
						|
    430407: "石鼓区",
 | 
						|
    430408: "蒸湘区",
 | 
						|
    430412: "南岳区",
 | 
						|
    430421: "衡阳县",
 | 
						|
    430422: "衡南县",
 | 
						|
    430423: "衡山县",
 | 
						|
    430424: "衡东县",
 | 
						|
    430426: "祁东县",
 | 
						|
    430481: "耒阳市",
 | 
						|
    430482: "常宁市",
 | 
						|
    430502: "双清区",
 | 
						|
    430503: "大祥区",
 | 
						|
    430511: "北塔区",
 | 
						|
    430522: "新邵县",
 | 
						|
    430523: "邵阳县",
 | 
						|
    430524: "隆回县",
 | 
						|
    430525: "洞口县",
 | 
						|
    430527: "绥宁县",
 | 
						|
    430528: "新宁县",
 | 
						|
    430529: "城步苗族自治县",
 | 
						|
    430581: "武冈市",
 | 
						|
    430582: "邵东市",
 | 
						|
    430602: "岳阳楼区",
 | 
						|
    430603: "云溪区",
 | 
						|
    430611: "君山区",
 | 
						|
    430621: "岳阳县",
 | 
						|
    430623: "华容县",
 | 
						|
    430624: "湘阴县",
 | 
						|
    430626: "平江县",
 | 
						|
    430681: "汨罗市",
 | 
						|
    430682: "临湘市",
 | 
						|
    430702: "武陵区",
 | 
						|
    430703: "鼎城区",
 | 
						|
    430721: "安乡县",
 | 
						|
    430722: "汉寿县",
 | 
						|
    430723: "澧县",
 | 
						|
    430724: "临澧县",
 | 
						|
    430725: "桃源县",
 | 
						|
    430726: "石门县",
 | 
						|
    430781: "津市市",
 | 
						|
    430802: "永定区",
 | 
						|
    430811: "武陵源区",
 | 
						|
    430821: "慈利县",
 | 
						|
    430822: "桑植县",
 | 
						|
    430902: "资阳区",
 | 
						|
    430903: "赫山区",
 | 
						|
    430921: "南县",
 | 
						|
    430922: "桃江县",
 | 
						|
    430923: "安化县",
 | 
						|
    430971: "益阳市大通湖管理区",
 | 
						|
    430981: "沅江市",
 | 
						|
    431002: "北湖区",
 | 
						|
    431003: "苏仙区",
 | 
						|
    431021: "桂阳县",
 | 
						|
    431022: "宜章县",
 | 
						|
    431023: "永兴县",
 | 
						|
    431024: "嘉禾县",
 | 
						|
    431025: "临武县",
 | 
						|
    431026: "汝城县",
 | 
						|
    431027: "桂东县",
 | 
						|
    431028: "安仁县",
 | 
						|
    431081: "资兴市",
 | 
						|
    431102: "零陵区",
 | 
						|
    431103: "冷水滩区",
 | 
						|
    431122: "东安县",
 | 
						|
    431123: "双牌县",
 | 
						|
    431124: "道县",
 | 
						|
    431125: "江永县",
 | 
						|
    431126: "宁远县",
 | 
						|
    431127: "蓝山县",
 | 
						|
    431128: "新田县",
 | 
						|
    431129: "江华瑶族自治县",
 | 
						|
    431181: "祁阳市",
 | 
						|
    431202: "鹤城区",
 | 
						|
    431221: "中方县",
 | 
						|
    431222: "沅陵县",
 | 
						|
    431223: "辰溪县",
 | 
						|
    431224: "溆浦县",
 | 
						|
    431225: "会同县",
 | 
						|
    431226: "麻阳苗族自治县",
 | 
						|
    431227: "新晃侗族自治县",
 | 
						|
    431228: "芷江侗族自治县",
 | 
						|
    431229: "靖州苗族侗族自治县",
 | 
						|
    431230: "通道侗族自治县",
 | 
						|
    431271: "怀化市洪江管理区",
 | 
						|
    431281: "洪江市",
 | 
						|
    431302: "娄星区",
 | 
						|
    431321: "双峰县",
 | 
						|
    431322: "新化县",
 | 
						|
    431381: "冷水江市",
 | 
						|
    431382: "涟源市",
 | 
						|
    433101: "吉首市",
 | 
						|
    433122: "泸溪县",
 | 
						|
    433123: "凤凰县",
 | 
						|
    433124: "花垣县",
 | 
						|
    433125: "保靖县",
 | 
						|
    433126: "古丈县",
 | 
						|
    433127: "永顺县",
 | 
						|
    433130: "龙山县",
 | 
						|
    440103: "荔湾区",
 | 
						|
    440104: "越秀区",
 | 
						|
    440105: "海珠区",
 | 
						|
    440106: "天河区",
 | 
						|
    440111: "白云区",
 | 
						|
    440112: "黄埔区",
 | 
						|
    440113: "番禺区",
 | 
						|
    440114: "花都区",
 | 
						|
    440115: "南沙区",
 | 
						|
    440117: "从化区",
 | 
						|
    440118: "增城区",
 | 
						|
    440203: "武江区",
 | 
						|
    440204: "浈江区",
 | 
						|
    440205: "曲江区",
 | 
						|
    440222: "始兴县",
 | 
						|
    440224: "仁化县",
 | 
						|
    440229: "翁源县",
 | 
						|
    440232: "乳源瑶族自治县",
 | 
						|
    440233: "新丰县",
 | 
						|
    440281: "乐昌市",
 | 
						|
    440282: "南雄市",
 | 
						|
    440303: "罗湖区",
 | 
						|
    440304: "福田区",
 | 
						|
    440305: "南山区",
 | 
						|
    440306: "宝安区",
 | 
						|
    440307: "龙岗区",
 | 
						|
    440308: "盐田区",
 | 
						|
    440309: "龙华区",
 | 
						|
    440310: "坪山区",
 | 
						|
    440311: "光明区",
 | 
						|
    440402: "香洲区",
 | 
						|
    440403: "斗门区",
 | 
						|
    440404: "金湾区",
 | 
						|
    440507: "龙湖区",
 | 
						|
    440511: "金平区",
 | 
						|
    440512: "濠江区",
 | 
						|
    440513: "潮阳区",
 | 
						|
    440514: "潮南区",
 | 
						|
    440515: "澄海区",
 | 
						|
    440523: "南澳县",
 | 
						|
    440604: "禅城区",
 | 
						|
    440605: "南海区",
 | 
						|
    440606: "顺德区",
 | 
						|
    440607: "三水区",
 | 
						|
    440608: "高明区",
 | 
						|
    440703: "蓬江区",
 | 
						|
    440704: "江海区",
 | 
						|
    440705: "新会区",
 | 
						|
    440781: "台山市",
 | 
						|
    440783: "开平市",
 | 
						|
    440784: "鹤山市",
 | 
						|
    440785: "恩平市",
 | 
						|
    440802: "赤坎区",
 | 
						|
    440803: "霞山区",
 | 
						|
    440804: "坡头区",
 | 
						|
    440811: "麻章区",
 | 
						|
    440823: "遂溪县",
 | 
						|
    440825: "徐闻县",
 | 
						|
    440881: "廉江市",
 | 
						|
    440882: "雷州市",
 | 
						|
    440883: "吴川市",
 | 
						|
    440890: "经济技术开发区",
 | 
						|
    440902: "茂南区",
 | 
						|
    440904: "电白区",
 | 
						|
    440981: "高州市",
 | 
						|
    440982: "化州市",
 | 
						|
    440983: "信宜市",
 | 
						|
    441202: "端州区",
 | 
						|
    441203: "鼎湖区",
 | 
						|
    441204: "高要区",
 | 
						|
    441223: "广宁县",
 | 
						|
    441224: "怀集县",
 | 
						|
    441225: "封开县",
 | 
						|
    441226: "德庆县",
 | 
						|
    441284: "四会市",
 | 
						|
    441302: "惠城区",
 | 
						|
    441303: "惠阳区",
 | 
						|
    441322: "博罗县",
 | 
						|
    441323: "惠东县",
 | 
						|
    441324: "龙门县",
 | 
						|
    441402: "梅江区",
 | 
						|
    441403: "梅县区",
 | 
						|
    441422: "大埔县",
 | 
						|
    441423: "丰顺县",
 | 
						|
    441424: "五华县",
 | 
						|
    441426: "平远县",
 | 
						|
    441427: "蕉岭县",
 | 
						|
    441481: "兴宁市",
 | 
						|
    441502: "城区",
 | 
						|
    441521: "海丰县",
 | 
						|
    441523: "陆河县",
 | 
						|
    441581: "陆丰市",
 | 
						|
    441602: "源城区",
 | 
						|
    441621: "紫金县",
 | 
						|
    441622: "龙川县",
 | 
						|
    441623: "连平县",
 | 
						|
    441624: "和平县",
 | 
						|
    441625: "东源县",
 | 
						|
    441702: "江城区",
 | 
						|
    441704: "阳东区",
 | 
						|
    441721: "阳西县",
 | 
						|
    441781: "阳春市",
 | 
						|
    441802: "清城区",
 | 
						|
    441803: "清新区",
 | 
						|
    441821: "佛冈县",
 | 
						|
    441823: "阳山县",
 | 
						|
    441825: "连山壮族瑶族自治县",
 | 
						|
    441826: "连南瑶族自治县",
 | 
						|
    441881: "英德市",
 | 
						|
    441882: "连州市",
 | 
						|
    441901: "中堂镇",
 | 
						|
    441903: "南城街道",
 | 
						|
    441904: "长安镇",
 | 
						|
    441905: "东坑镇",
 | 
						|
    441906: "樟木头镇",
 | 
						|
    441907: "莞城街道",
 | 
						|
    441908: "石龙镇",
 | 
						|
    441909: "桥头镇",
 | 
						|
    441910: "万江街道",
 | 
						|
    441911: "麻涌镇",
 | 
						|
    441912: "虎门镇",
 | 
						|
    441913: "谢岗镇",
 | 
						|
    441914: "石碣镇",
 | 
						|
    441915: "茶山镇",
 | 
						|
    441916: "东城街道",
 | 
						|
    441917: "洪梅镇",
 | 
						|
    441918: "道滘镇",
 | 
						|
    441919: "高埗镇",
 | 
						|
    441920: "企石镇",
 | 
						|
    441921: "凤岗镇",
 | 
						|
    441922: "大岭山镇",
 | 
						|
    441923: "松山湖",
 | 
						|
    441924: "清溪镇",
 | 
						|
    441925: "望牛墩镇",
 | 
						|
    441926: "厚街镇",
 | 
						|
    441927: "常平镇",
 | 
						|
    441928: "寮步镇",
 | 
						|
    441929: "石排镇",
 | 
						|
    441930: "横沥镇",
 | 
						|
    441931: "塘厦镇",
 | 
						|
    441932: "黄江镇",
 | 
						|
    441933: "大朗镇",
 | 
						|
    441934: "东莞港",
 | 
						|
    441935: "东莞生态园",
 | 
						|
    441990: "沙田镇",
 | 
						|
    442001: "南头镇",
 | 
						|
    442002: "神湾镇",
 | 
						|
    442003: "东凤镇",
 | 
						|
    442004: "五桂山街道",
 | 
						|
    442005: "黄圃镇",
 | 
						|
    442006: "小榄镇",
 | 
						|
    442007: "石岐街道",
 | 
						|
    442008: "横栏镇",
 | 
						|
    442009: "三角镇",
 | 
						|
    442010: "三乡镇",
 | 
						|
    442011: "港口镇",
 | 
						|
    442012: "沙溪镇",
 | 
						|
    442013: "板芙镇",
 | 
						|
    442015: "东升镇",
 | 
						|
    442016: "阜沙镇",
 | 
						|
    442017: "民众镇",
 | 
						|
    442018: "东区街道",
 | 
						|
    442019: "火炬开发区街道办事处",
 | 
						|
    442020: "西区街道",
 | 
						|
    442021: "南区街道",
 | 
						|
    442022: "古镇镇",
 | 
						|
    442023: "坦洲镇",
 | 
						|
    442024: "大涌镇",
 | 
						|
    442025: "南朗镇",
 | 
						|
    445102: "湘桥区",
 | 
						|
    445103: "潮安区",
 | 
						|
    445122: "饶平县",
 | 
						|
    445202: "榕城区",
 | 
						|
    445203: "揭东区",
 | 
						|
    445222: "揭西县",
 | 
						|
    445224: "惠来县",
 | 
						|
    445281: "普宁市",
 | 
						|
    445302: "云城区",
 | 
						|
    445303: "云安区",
 | 
						|
    445321: "新兴县",
 | 
						|
    445322: "郁南县",
 | 
						|
    445381: "罗定市",
 | 
						|
    450102: "兴宁区",
 | 
						|
    450103: "青秀区",
 | 
						|
    450105: "江南区",
 | 
						|
    450107: "西乡塘区",
 | 
						|
    450108: "良庆区",
 | 
						|
    450109: "邕宁区",
 | 
						|
    450110: "武鸣区",
 | 
						|
    450123: "隆安县",
 | 
						|
    450124: "马山县",
 | 
						|
    450125: "上林县",
 | 
						|
    450126: "宾阳县",
 | 
						|
    450181: "横州市",
 | 
						|
    450202: "城中区",
 | 
						|
    450203: "鱼峰区",
 | 
						|
    450204: "柳南区",
 | 
						|
    450205: "柳北区",
 | 
						|
    450206: "柳江区",
 | 
						|
    450222: "柳城县",
 | 
						|
    450223: "鹿寨县",
 | 
						|
    450224: "融安县",
 | 
						|
    450225: "融水苗族自治县",
 | 
						|
    450226: "三江侗族自治县",
 | 
						|
    450302: "秀峰区",
 | 
						|
    450303: "叠彩区",
 | 
						|
    450304: "象山区",
 | 
						|
    450305: "七星区",
 | 
						|
    450311: "雁山区",
 | 
						|
    450312: "临桂区",
 | 
						|
    450321: "阳朔县",
 | 
						|
    450323: "灵川县",
 | 
						|
    450324: "全州县",
 | 
						|
    450325: "兴安县",
 | 
						|
    450326: "永福县",
 | 
						|
    450327: "灌阳县",
 | 
						|
    450328: "龙胜各族自治县",
 | 
						|
    450329: "资源县",
 | 
						|
    450330: "平乐县",
 | 
						|
    450332: "恭城瑶族自治县",
 | 
						|
    450381: "荔浦市",
 | 
						|
    450403: "万秀区",
 | 
						|
    450405: "长洲区",
 | 
						|
    450406: "龙圩区",
 | 
						|
    450421: "苍梧县",
 | 
						|
    450422: "藤县",
 | 
						|
    450423: "蒙山县",
 | 
						|
    450481: "岑溪市",
 | 
						|
    450502: "海城区",
 | 
						|
    450503: "银海区",
 | 
						|
    450512: "铁山港区",
 | 
						|
    450521: "合浦县",
 | 
						|
    450602: "港口区",
 | 
						|
    450603: "防城区",
 | 
						|
    450621: "上思县",
 | 
						|
    450681: "东兴市",
 | 
						|
    450702: "钦南区",
 | 
						|
    450703: "钦北区",
 | 
						|
    450721: "灵山县",
 | 
						|
    450722: "浦北县",
 | 
						|
    450802: "港北区",
 | 
						|
    450803: "港南区",
 | 
						|
    450804: "覃塘区",
 | 
						|
    450821: "平南县",
 | 
						|
    450881: "桂平市",
 | 
						|
    450902: "玉州区",
 | 
						|
    450903: "福绵区",
 | 
						|
    450921: "容县",
 | 
						|
    450922: "陆川县",
 | 
						|
    450923: "博白县",
 | 
						|
    450924: "兴业县",
 | 
						|
    450981: "北流市",
 | 
						|
    451002: "右江区",
 | 
						|
    451003: "田阳区",
 | 
						|
    451022: "田东县",
 | 
						|
    451024: "德保县",
 | 
						|
    451026: "那坡县",
 | 
						|
    451027: "凌云县",
 | 
						|
    451028: "乐业县",
 | 
						|
    451029: "田林县",
 | 
						|
    451030: "西林县",
 | 
						|
    451031: "隆林各族自治县",
 | 
						|
    451081: "靖西市",
 | 
						|
    451082: "平果市",
 | 
						|
    451102: "八步区",
 | 
						|
    451103: "平桂区",
 | 
						|
    451121: "昭平县",
 | 
						|
    451122: "钟山县",
 | 
						|
    451123: "富川瑶族自治县",
 | 
						|
    451202: "金城江区",
 | 
						|
    451203: "宜州区",
 | 
						|
    451221: "南丹县",
 | 
						|
    451222: "天峨县",
 | 
						|
    451223: "凤山县",
 | 
						|
    451224: "东兰县",
 | 
						|
    451225: "罗城仫佬族自治县",
 | 
						|
    451226: "环江毛南族自治县",
 | 
						|
    451227: "巴马瑶族自治县",
 | 
						|
    451228: "都安瑶族自治县",
 | 
						|
    451229: "大化瑶族自治县",
 | 
						|
    451302: "兴宾区",
 | 
						|
    451321: "忻城县",
 | 
						|
    451322: "象州县",
 | 
						|
    451323: "武宣县",
 | 
						|
    451324: "金秀瑶族自治县",
 | 
						|
    451381: "合山市",
 | 
						|
    451402: "江州区",
 | 
						|
    451421: "扶绥县",
 | 
						|
    451422: "宁明县",
 | 
						|
    451423: "龙州县",
 | 
						|
    451424: "大新县",
 | 
						|
    451425: "天等县",
 | 
						|
    451481: "凭祥市",
 | 
						|
    460105: "秀英区",
 | 
						|
    460106: "龙华区",
 | 
						|
    460107: "琼山区",
 | 
						|
    460108: "美兰区",
 | 
						|
    460202: "海棠区",
 | 
						|
    460203: "吉阳区",
 | 
						|
    460204: "天涯区",
 | 
						|
    460205: "崖州区",
 | 
						|
    460321: "西沙区",
 | 
						|
    460322: "南沙区",
 | 
						|
    460401: "那大镇",
 | 
						|
    460402: "和庆镇",
 | 
						|
    460403: "南丰镇",
 | 
						|
    460404: "大成镇",
 | 
						|
    460405: "雅星镇",
 | 
						|
    460406: "兰洋镇",
 | 
						|
    460407: "光村镇",
 | 
						|
    460408: "木棠镇",
 | 
						|
    460409: "海头镇",
 | 
						|
    460410: "峨蔓镇",
 | 
						|
    460411: "王五镇",
 | 
						|
    460412: "白马井镇",
 | 
						|
    460413: "中和镇",
 | 
						|
    460414: "排浦镇",
 | 
						|
    460415: "东成镇",
 | 
						|
    460416: "新州镇",
 | 
						|
    460417: "洋浦经济开发区",
 | 
						|
    460418: "华南热作学院",
 | 
						|
    469001: "五指山市",
 | 
						|
    469002: "琼海市",
 | 
						|
    469005: "文昌市",
 | 
						|
    469006: "万宁市",
 | 
						|
    469007: "东方市",
 | 
						|
    469021: "定安县",
 | 
						|
    469022: "屯昌县",
 | 
						|
    469023: "澄迈县",
 | 
						|
    469024: "临高县",
 | 
						|
    469025: "白沙黎族自治县",
 | 
						|
    469026: "昌江黎族自治县",
 | 
						|
    469027: "乐东黎族自治县",
 | 
						|
    469028: "陵水黎族自治县",
 | 
						|
    469029: "保亭黎族苗族自治县",
 | 
						|
    469030: "琼中黎族苗族自治县",
 | 
						|
    500101: "万州区",
 | 
						|
    500102: "涪陵区",
 | 
						|
    500103: "渝中区",
 | 
						|
    500104: "大渡口区",
 | 
						|
    500105: "江北区",
 | 
						|
    500106: "沙坪坝区",
 | 
						|
    500107: "九龙坡区",
 | 
						|
    500108: "南岸区",
 | 
						|
    500109: "北碚区",
 | 
						|
    500110: "綦江区",
 | 
						|
    500111: "大足区",
 | 
						|
    500112: "渝北区",
 | 
						|
    500113: "巴南区",
 | 
						|
    500114: "黔江区",
 | 
						|
    500115: "长寿区",
 | 
						|
    500116: "江津区",
 | 
						|
    500117: "合川区",
 | 
						|
    500118: "永川区",
 | 
						|
    500119: "南川区",
 | 
						|
    500120: "璧山区",
 | 
						|
    500151: "铜梁区",
 | 
						|
    500152: "潼南区",
 | 
						|
    500153: "荣昌区",
 | 
						|
    500154: "开州区",
 | 
						|
    500155: "梁平区",
 | 
						|
    500156: "武隆区",
 | 
						|
    500229: "城口县",
 | 
						|
    500230: "丰都县",
 | 
						|
    500231: "垫江县",
 | 
						|
    500233: "忠县",
 | 
						|
    500235: "云阳县",
 | 
						|
    500236: "奉节县",
 | 
						|
    500237: "巫山县",
 | 
						|
    500238: "巫溪县",
 | 
						|
    500240: "石柱土家族自治县",
 | 
						|
    500241: "秀山土家族苗族自治县",
 | 
						|
    500242: "酉阳土家族苗族自治县",
 | 
						|
    500243: "彭水苗族土家族自治县",
 | 
						|
    510104: "锦江区",
 | 
						|
    510105: "青羊区",
 | 
						|
    510106: "金牛区",
 | 
						|
    510107: "武侯区",
 | 
						|
    510108: "成华区",
 | 
						|
    510112: "龙泉驿区",
 | 
						|
    510113: "青白江区",
 | 
						|
    510114: "新都区",
 | 
						|
    510115: "温江区",
 | 
						|
    510116: "双流区",
 | 
						|
    510117: "郫都区",
 | 
						|
    510118: "新津区",
 | 
						|
    510121: "金堂县",
 | 
						|
    510129: "大邑县",
 | 
						|
    510131: "蒲江县",
 | 
						|
    510181: "都江堰市",
 | 
						|
    510182: "彭州市",
 | 
						|
    510183: "邛崃市",
 | 
						|
    510184: "崇州市",
 | 
						|
    510185: "简阳市",
 | 
						|
    510191: "高新区",
 | 
						|
    510302: "自流井区",
 | 
						|
    510303: "贡井区",
 | 
						|
    510304: "大安区",
 | 
						|
    510311: "沿滩区",
 | 
						|
    510321: "荣县",
 | 
						|
    510322: "富顺县",
 | 
						|
    510402: "东区",
 | 
						|
    510403: "西区",
 | 
						|
    510411: "仁和区",
 | 
						|
    510421: "米易县",
 | 
						|
    510422: "盐边县",
 | 
						|
    510502: "江阳区",
 | 
						|
    510503: "纳溪区",
 | 
						|
    510504: "龙马潭区",
 | 
						|
    510521: "泸县",
 | 
						|
    510522: "合江县",
 | 
						|
    510524: "叙永县",
 | 
						|
    510525: "古蔺县",
 | 
						|
    510603: "旌阳区",
 | 
						|
    510604: "罗江区",
 | 
						|
    510623: "中江县",
 | 
						|
    510681: "广汉市",
 | 
						|
    510682: "什邡市",
 | 
						|
    510683: "绵竹市",
 | 
						|
    510703: "涪城区",
 | 
						|
    510704: "游仙区",
 | 
						|
    510705: "安州区",
 | 
						|
    510722: "三台县",
 | 
						|
    510723: "盐亭县",
 | 
						|
    510725: "梓潼县",
 | 
						|
    510726: "北川羌族自治县",
 | 
						|
    510727: "平武县",
 | 
						|
    510781: "江油市",
 | 
						|
    510791: "高新区",
 | 
						|
    510802: "利州区",
 | 
						|
    510811: "昭化区",
 | 
						|
    510812: "朝天区",
 | 
						|
    510821: "旺苍县",
 | 
						|
    510822: "青川县",
 | 
						|
    510823: "剑阁县",
 | 
						|
    510824: "苍溪县",
 | 
						|
    510903: "船山区",
 | 
						|
    510904: "安居区",
 | 
						|
    510921: "蓬溪县",
 | 
						|
    510923: "大英县",
 | 
						|
    510981: "射洪市",
 | 
						|
    511002: "市中区",
 | 
						|
    511011: "东兴区",
 | 
						|
    511024: "威远县",
 | 
						|
    511025: "资中县",
 | 
						|
    511083: "隆昌市",
 | 
						|
    511102: "市中区",
 | 
						|
    511111: "沙湾区",
 | 
						|
    511112: "五通桥区",
 | 
						|
    511113: "金口河区",
 | 
						|
    511123: "犍为县",
 | 
						|
    511124: "井研县",
 | 
						|
    511126: "夹江县",
 | 
						|
    511129: "沐川县",
 | 
						|
    511132: "峨边彝族自治县",
 | 
						|
    511133: "马边彝族自治县",
 | 
						|
    511181: "峨眉山市",
 | 
						|
    511302: "顺庆区",
 | 
						|
    511303: "高坪区",
 | 
						|
    511304: "嘉陵区",
 | 
						|
    511321: "南部县",
 | 
						|
    511322: "营山县",
 | 
						|
    511323: "蓬安县",
 | 
						|
    511324: "仪陇县",
 | 
						|
    511325: "西充县",
 | 
						|
    511381: "阆中市",
 | 
						|
    511402: "东坡区",
 | 
						|
    511403: "彭山区",
 | 
						|
    511421: "仁寿县",
 | 
						|
    511423: "洪雅县",
 | 
						|
    511424: "丹棱县",
 | 
						|
    511425: "青神县",
 | 
						|
    511502: "翠屏区",
 | 
						|
    511503: "南溪区",
 | 
						|
    511504: "叙州区",
 | 
						|
    511523: "江安县",
 | 
						|
    511524: "长宁县",
 | 
						|
    511525: "高县",
 | 
						|
    511526: "珙县",
 | 
						|
    511527: "筠连县",
 | 
						|
    511528: "兴文县",
 | 
						|
    511529: "屏山县",
 | 
						|
    511602: "广安区",
 | 
						|
    511603: "前锋区",
 | 
						|
    511621: "岳池县",
 | 
						|
    511622: "武胜县",
 | 
						|
    511623: "邻水县",
 | 
						|
    511681: "华蓥市",
 | 
						|
    511702: "通川区",
 | 
						|
    511703: "达川区",
 | 
						|
    511722: "宣汉县",
 | 
						|
    511723: "开江县",
 | 
						|
    511724: "大竹县",
 | 
						|
    511725: "渠县",
 | 
						|
    511781: "万源市",
 | 
						|
    511802: "雨城区",
 | 
						|
    511803: "名山区",
 | 
						|
    511822: "荥经县",
 | 
						|
    511823: "汉源县",
 | 
						|
    511824: "石棉县",
 | 
						|
    511825: "天全县",
 | 
						|
    511826: "芦山县",
 | 
						|
    511827: "宝兴县",
 | 
						|
    511902: "巴州区",
 | 
						|
    511903: "恩阳区",
 | 
						|
    511921: "通江县",
 | 
						|
    511922: "南江县",
 | 
						|
    511923: "平昌县",
 | 
						|
    511971: "巴中经济开发区",
 | 
						|
    512002: "雁江区",
 | 
						|
    512021: "安岳县",
 | 
						|
    512022: "乐至县",
 | 
						|
    513201: "马尔康市",
 | 
						|
    513221: "汶川县",
 | 
						|
    513222: "理县",
 | 
						|
    513223: "茂县",
 | 
						|
    513224: "松潘县",
 | 
						|
    513225: "九寨沟县",
 | 
						|
    513226: "金川县",
 | 
						|
    513227: "小金县",
 | 
						|
    513228: "黑水县",
 | 
						|
    513230: "壤塘县",
 | 
						|
    513231: "阿坝县",
 | 
						|
    513232: "若尔盖县",
 | 
						|
    513233: "红原县",
 | 
						|
    513301: "康定市",
 | 
						|
    513322: "泸定县",
 | 
						|
    513323: "丹巴县",
 | 
						|
    513324: "九龙县",
 | 
						|
    513325: "雅江县",
 | 
						|
    513326: "道孚县",
 | 
						|
    513327: "炉霍县",
 | 
						|
    513328: "甘孜县",
 | 
						|
    513329: "新龙县",
 | 
						|
    513330: "德格县",
 | 
						|
    513331: "白玉县",
 | 
						|
    513332: "石渠县",
 | 
						|
    513333: "色达县",
 | 
						|
    513334: "理塘县",
 | 
						|
    513335: "巴塘县",
 | 
						|
    513336: "乡城县",
 | 
						|
    513337: "稻城县",
 | 
						|
    513338: "得荣县",
 | 
						|
    513401: "西昌市",
 | 
						|
    513402: "会理市",
 | 
						|
    513422: "木里藏族自治县",
 | 
						|
    513423: "盐源县",
 | 
						|
    513424: "德昌县",
 | 
						|
    513426: "会东县",
 | 
						|
    513427: "宁南县",
 | 
						|
    513428: "普格县",
 | 
						|
    513429: "布拖县",
 | 
						|
    513430: "金阳县",
 | 
						|
    513431: "昭觉县",
 | 
						|
    513432: "喜德县",
 | 
						|
    513433: "冕宁县",
 | 
						|
    513434: "越西县",
 | 
						|
    513435: "甘洛县",
 | 
						|
    513436: "美姑县",
 | 
						|
    513437: "雷波县",
 | 
						|
    520102: "南明区",
 | 
						|
    520103: "云岩区",
 | 
						|
    520111: "花溪区",
 | 
						|
    520112: "乌当区",
 | 
						|
    520113: "白云区",
 | 
						|
    520115: "观山湖区",
 | 
						|
    520121: "开阳县",
 | 
						|
    520122: "息烽县",
 | 
						|
    520123: "修文县",
 | 
						|
    520181: "清镇市",
 | 
						|
    520201: "钟山区",
 | 
						|
    520203: "六枝特区",
 | 
						|
    520204: "水城区",
 | 
						|
    520281: "盘州市",
 | 
						|
    520302: "红花岗区",
 | 
						|
    520303: "汇川区",
 | 
						|
    520304: "播州区",
 | 
						|
    520322: "桐梓县",
 | 
						|
    520323: "绥阳县",
 | 
						|
    520324: "正安县",
 | 
						|
    520325: "道真仡佬族苗族自治县",
 | 
						|
    520326: "务川仡佬族苗族自治县",
 | 
						|
    520327: "凤冈县",
 | 
						|
    520328: "湄潭县",
 | 
						|
    520329: "余庆县",
 | 
						|
    520330: "习水县",
 | 
						|
    520381: "赤水市",
 | 
						|
    520382: "仁怀市",
 | 
						|
    520402: "西秀区",
 | 
						|
    520403: "平坝区",
 | 
						|
    520422: "普定县",
 | 
						|
    520423: "镇宁布依族苗族自治县",
 | 
						|
    520424: "关岭布依族苗族自治县",
 | 
						|
    520425: "紫云苗族布依族自治县",
 | 
						|
    520502: "七星关区",
 | 
						|
    520521: "大方县",
 | 
						|
    520523: "金沙县",
 | 
						|
    520524: "织金县",
 | 
						|
    520525: "纳雍县",
 | 
						|
    520526: "威宁彝族回族苗族自治县",
 | 
						|
    520527: "赫章县",
 | 
						|
    520581: "黔西市",
 | 
						|
    520602: "碧江区",
 | 
						|
    520603: "万山区",
 | 
						|
    520621: "江口县",
 | 
						|
    520622: "玉屏侗族自治县",
 | 
						|
    520623: "石阡县",
 | 
						|
    520624: "思南县",
 | 
						|
    520625: "印江土家族苗族自治县",
 | 
						|
    520626: "德江县",
 | 
						|
    520627: "沿河土家族自治县",
 | 
						|
    520628: "松桃苗族自治县",
 | 
						|
    522301: "兴义市",
 | 
						|
    522302: "兴仁市",
 | 
						|
    522323: "普安县",
 | 
						|
    522324: "晴隆县",
 | 
						|
    522325: "贞丰县",
 | 
						|
    522326: "望谟县",
 | 
						|
    522327: "册亨县",
 | 
						|
    522328: "安龙县",
 | 
						|
    522601: "凯里市",
 | 
						|
    522622: "黄平县",
 | 
						|
    522623: "施秉县",
 | 
						|
    522624: "三穗县",
 | 
						|
    522625: "镇远县",
 | 
						|
    522626: "岑巩县",
 | 
						|
    522627: "天柱县",
 | 
						|
    522628: "锦屏县",
 | 
						|
    522629: "剑河县",
 | 
						|
    522630: "台江县",
 | 
						|
    522631: "黎平县",
 | 
						|
    522632: "榕江县",
 | 
						|
    522633: "从江县",
 | 
						|
    522634: "雷山县",
 | 
						|
    522635: "麻江县",
 | 
						|
    522636: "丹寨县",
 | 
						|
    522701: "都匀市",
 | 
						|
    522702: "福泉市",
 | 
						|
    522722: "荔波县",
 | 
						|
    522723: "贵定县",
 | 
						|
    522725: "瓮安县",
 | 
						|
    522726: "独山县",
 | 
						|
    522727: "平塘县",
 | 
						|
    522728: "罗甸县",
 | 
						|
    522729: "长顺县",
 | 
						|
    522730: "龙里县",
 | 
						|
    522731: "惠水县",
 | 
						|
    522732: "三都水族自治县",
 | 
						|
    530102: "五华区",
 | 
						|
    530103: "盘龙区",
 | 
						|
    530111: "官渡区",
 | 
						|
    530112: "西山区",
 | 
						|
    530113: "东川区",
 | 
						|
    530114: "呈贡区",
 | 
						|
    530115: "晋宁区",
 | 
						|
    530124: "富民县",
 | 
						|
    530125: "宜良县",
 | 
						|
    530126: "石林彝族自治县",
 | 
						|
    530127: "嵩明县",
 | 
						|
    530128: "禄劝彝族苗族自治县",
 | 
						|
    530129: "寻甸回族彝族自治县",
 | 
						|
    530181: "安宁市",
 | 
						|
    530302: "麒麟区",
 | 
						|
    530303: "沾益区",
 | 
						|
    530304: "马龙区",
 | 
						|
    530322: "陆良县",
 | 
						|
    530323: "师宗县",
 | 
						|
    530324: "罗平县",
 | 
						|
    530325: "富源县",
 | 
						|
    530326: "会泽县",
 | 
						|
    530381: "宣威市",
 | 
						|
    530402: "红塔区",
 | 
						|
    530403: "江川区",
 | 
						|
    530423: "通海县",
 | 
						|
    530424: "华宁县",
 | 
						|
    530425: "易门县",
 | 
						|
    530426: "峨山彝族自治县",
 | 
						|
    530427: "新平彝族傣族自治县",
 | 
						|
    530428: "元江哈尼族彝族傣族自治县",
 | 
						|
    530481: "澄江市",
 | 
						|
    530502: "隆阳区",
 | 
						|
    530521: "施甸县",
 | 
						|
    530523: "龙陵县",
 | 
						|
    530524: "昌宁县",
 | 
						|
    530581: "腾冲市",
 | 
						|
    530602: "昭阳区",
 | 
						|
    530621: "鲁甸县",
 | 
						|
    530622: "巧家县",
 | 
						|
    530623: "盐津县",
 | 
						|
    530624: "大关县",
 | 
						|
    530625: "永善县",
 | 
						|
    530626: "绥江县",
 | 
						|
    530627: "镇雄县",
 | 
						|
    530628: "彝良县",
 | 
						|
    530629: "威信县",
 | 
						|
    530681: "水富市",
 | 
						|
    530702: "古城区",
 | 
						|
    530721: "玉龙纳西族自治县",
 | 
						|
    530722: "永胜县",
 | 
						|
    530723: "华坪县",
 | 
						|
    530724: "宁蒗彝族自治县",
 | 
						|
    530802: "思茅区",
 | 
						|
    530821: "宁洱哈尼族彝族自治县",
 | 
						|
    530822: "墨江哈尼族自治县",
 | 
						|
    530823: "景东彝族自治县",
 | 
						|
    530824: "景谷傣族彝族自治县",
 | 
						|
    530825: "镇沅彝族哈尼族拉祜族自治县",
 | 
						|
    530826: "江城哈尼族彝族自治县",
 | 
						|
    530827: "孟连傣族拉祜族佤族自治县",
 | 
						|
    530828: "澜沧拉祜族自治县",
 | 
						|
    530829: "西盟佤族自治县",
 | 
						|
    530902: "临翔区",
 | 
						|
    530921: "凤庆县",
 | 
						|
    530922: "云县",
 | 
						|
    530923: "永德县",
 | 
						|
    530924: "镇康县",
 | 
						|
    530925: "双江拉祜族佤族布朗族傣族自治县",
 | 
						|
    530926: "耿马傣族佤族自治县",
 | 
						|
    530927: "沧源佤族自治县",
 | 
						|
    532301: "楚雄市",
 | 
						|
    532302: "禄丰市",
 | 
						|
    532322: "双柏县",
 | 
						|
    532323: "牟定县",
 | 
						|
    532324: "南华县",
 | 
						|
    532325: "姚安县",
 | 
						|
    532326: "大姚县",
 | 
						|
    532327: "永仁县",
 | 
						|
    532328: "元谋县",
 | 
						|
    532329: "武定县",
 | 
						|
    532501: "个旧市",
 | 
						|
    532502: "开远市",
 | 
						|
    532503: "蒙自市",
 | 
						|
    532504: "弥勒市",
 | 
						|
    532523: "屏边苗族自治县",
 | 
						|
    532524: "建水县",
 | 
						|
    532525: "石屏县",
 | 
						|
    532527: "泸西县",
 | 
						|
    532528: "元阳县",
 | 
						|
    532529: "红河县",
 | 
						|
    532530: "金平苗族瑶族傣族自治县",
 | 
						|
    532531: "绿春县",
 | 
						|
    532532: "河口瑶族自治县",
 | 
						|
    532601: "文山市",
 | 
						|
    532622: "砚山县",
 | 
						|
    532623: "西畴县",
 | 
						|
    532624: "麻栗坡县",
 | 
						|
    532625: "马关县",
 | 
						|
    532626: "丘北县",
 | 
						|
    532627: "广南县",
 | 
						|
    532628: "富宁县",
 | 
						|
    532801: "景洪市",
 | 
						|
    532822: "勐海县",
 | 
						|
    532823: "勐腊县",
 | 
						|
    532901: "大理市",
 | 
						|
    532922: "漾濞彝族自治县",
 | 
						|
    532923: "祥云县",
 | 
						|
    532924: "宾川县",
 | 
						|
    532925: "弥渡县",
 | 
						|
    532926: "南涧彝族自治县",
 | 
						|
    532927: "巍山彝族回族自治县",
 | 
						|
    532928: "永平县",
 | 
						|
    532929: "云龙县",
 | 
						|
    532930: "洱源县",
 | 
						|
    532931: "剑川县",
 | 
						|
    532932: "鹤庆县",
 | 
						|
    533102: "瑞丽市",
 | 
						|
    533103: "芒市",
 | 
						|
    533122: "梁河县",
 | 
						|
    533123: "盈江县",
 | 
						|
    533124: "陇川县",
 | 
						|
    533301: "泸水市",
 | 
						|
    533323: "福贡县",
 | 
						|
    533324: "贡山独龙族怒族自治县",
 | 
						|
    533325: "兰坪白族普米族自治县",
 | 
						|
    533401: "香格里拉市",
 | 
						|
    533422: "德钦县",
 | 
						|
    533423: "维西傈僳族自治县",
 | 
						|
    540102: "城关区",
 | 
						|
    540103: "堆龙德庆区",
 | 
						|
    540104: "达孜区",
 | 
						|
    540121: "林周县",
 | 
						|
    540122: "当雄县",
 | 
						|
    540123: "尼木县",
 | 
						|
    540124: "曲水县",
 | 
						|
    540127: "墨竹工卡县",
 | 
						|
    540202: "桑珠孜区",
 | 
						|
    540221: "南木林县",
 | 
						|
    540222: "江孜县",
 | 
						|
    540223: "定日县",
 | 
						|
    540224: "萨迦县",
 | 
						|
    540225: "拉孜县",
 | 
						|
    540226: "昂仁县",
 | 
						|
    540227: "谢通门县",
 | 
						|
    540228: "白朗县",
 | 
						|
    540229: "仁布县",
 | 
						|
    540230: "康马县",
 | 
						|
    540231: "定结县",
 | 
						|
    540232: "仲巴县",
 | 
						|
    540233: "亚东县",
 | 
						|
    540234: "吉隆县",
 | 
						|
    540235: "聂拉木县",
 | 
						|
    540236: "萨嘎县",
 | 
						|
    540237: "岗巴县",
 | 
						|
    540302: "卡若区",
 | 
						|
    540321: "江达县",
 | 
						|
    540322: "贡觉县",
 | 
						|
    540323: "类乌齐县",
 | 
						|
    540324: "丁青县",
 | 
						|
    540325: "察雅县",
 | 
						|
    540326: "八宿县",
 | 
						|
    540327: "左贡县",
 | 
						|
    540328: "芒康县",
 | 
						|
    540329: "洛隆县",
 | 
						|
    540330: "边坝县",
 | 
						|
    540402: "巴宜区",
 | 
						|
    540421: "工布江达县",
 | 
						|
    540423: "墨脱县",
 | 
						|
    540424: "波密县",
 | 
						|
    540425: "察隅县",
 | 
						|
    540426: "朗县",
 | 
						|
    540481: "米林市",
 | 
						|
    540502: "乃东区",
 | 
						|
    540521: "扎囊县",
 | 
						|
    540522: "贡嘎县",
 | 
						|
    540523: "桑日县",
 | 
						|
    540524: "琼结县",
 | 
						|
    540525: "曲松县",
 | 
						|
    540526: "措美县",
 | 
						|
    540527: "洛扎县",
 | 
						|
    540528: "加查县",
 | 
						|
    540529: "隆子县",
 | 
						|
    540531: "浪卡子县",
 | 
						|
    540581: "错那市",
 | 
						|
    540602: "色尼区",
 | 
						|
    540621: "嘉黎县",
 | 
						|
    540622: "比如县",
 | 
						|
    540623: "聂荣县",
 | 
						|
    540624: "安多县",
 | 
						|
    540625: "申扎县",
 | 
						|
    540626: "索县",
 | 
						|
    540627: "班戈县",
 | 
						|
    540628: "巴青县",
 | 
						|
    540629: "尼玛县",
 | 
						|
    540630: "双湖县",
 | 
						|
    542521: "普兰县",
 | 
						|
    542522: "札达县",
 | 
						|
    542523: "噶尔县",
 | 
						|
    542524: "日土县",
 | 
						|
    542525: "革吉县",
 | 
						|
    542526: "改则县",
 | 
						|
    542527: "措勤县",
 | 
						|
    610102: "新城区",
 | 
						|
    610103: "碑林区",
 | 
						|
    610104: "莲湖区",
 | 
						|
    610111: "灞桥区",
 | 
						|
    610112: "未央区",
 | 
						|
    610113: "雁塔区",
 | 
						|
    610114: "阎良区",
 | 
						|
    610115: "临潼区",
 | 
						|
    610116: "长安区",
 | 
						|
    610117: "高陵区",
 | 
						|
    610118: "鄠邑区",
 | 
						|
    610122: "蓝田县",
 | 
						|
    610124: "周至县",
 | 
						|
    610202: "王益区",
 | 
						|
    610203: "印台区",
 | 
						|
    610204: "耀州区",
 | 
						|
    610222: "宜君县",
 | 
						|
    610302: "渭滨区",
 | 
						|
    610303: "金台区",
 | 
						|
    610304: "陈仓区",
 | 
						|
    610305: "凤翔区",
 | 
						|
    610323: "岐山县",
 | 
						|
    610324: "扶风县",
 | 
						|
    610326: "眉县",
 | 
						|
    610327: "陇县",
 | 
						|
    610328: "千阳县",
 | 
						|
    610329: "麟游县",
 | 
						|
    610330: "凤县",
 | 
						|
    610331: "太白县",
 | 
						|
    610402: "秦都区",
 | 
						|
    610403: "杨陵区",
 | 
						|
    610404: "渭城区",
 | 
						|
    610422: "三原县",
 | 
						|
    610423: "泾阳县",
 | 
						|
    610424: "乾县",
 | 
						|
    610425: "礼泉县",
 | 
						|
    610426: "永寿县",
 | 
						|
    610428: "长武县",
 | 
						|
    610429: "旬邑县",
 | 
						|
    610430: "淳化县",
 | 
						|
    610431: "武功县",
 | 
						|
    610481: "兴平市",
 | 
						|
    610482: "彬州市",
 | 
						|
    610502: "临渭区",
 | 
						|
    610503: "华州区",
 | 
						|
    610522: "潼关县",
 | 
						|
    610523: "大荔县",
 | 
						|
    610524: "合阳县",
 | 
						|
    610525: "澄城县",
 | 
						|
    610526: "蒲城县",
 | 
						|
    610527: "白水县",
 | 
						|
    610528: "富平县",
 | 
						|
    610581: "韩城市",
 | 
						|
    610582: "华阴市",
 | 
						|
    610602: "宝塔区",
 | 
						|
    610603: "安塞区",
 | 
						|
    610621: "延长县",
 | 
						|
    610622: "延川县",
 | 
						|
    610625: "志丹县",
 | 
						|
    610626: "吴起县",
 | 
						|
    610627: "甘泉县",
 | 
						|
    610628: "富县",
 | 
						|
    610629: "洛川县",
 | 
						|
    610630: "宜川县",
 | 
						|
    610631: "黄龙县",
 | 
						|
    610632: "黄陵县",
 | 
						|
    610681: "子长市",
 | 
						|
    610702: "汉台区",
 | 
						|
    610703: "南郑区",
 | 
						|
    610722: "城固县",
 | 
						|
    610723: "洋县",
 | 
						|
    610724: "西乡县",
 | 
						|
    610725: "勉县",
 | 
						|
    610726: "宁强县",
 | 
						|
    610727: "略阳县",
 | 
						|
    610728: "镇巴县",
 | 
						|
    610729: "留坝县",
 | 
						|
    610730: "佛坪县",
 | 
						|
    610802: "榆阳区",
 | 
						|
    610803: "横山区",
 | 
						|
    610822: "府谷县",
 | 
						|
    610824: "靖边县",
 | 
						|
    610825: "定边县",
 | 
						|
    610826: "绥德县",
 | 
						|
    610827: "米脂县",
 | 
						|
    610828: "佳县",
 | 
						|
    610829: "吴堡县",
 | 
						|
    610830: "清涧县",
 | 
						|
    610831: "子洲县",
 | 
						|
    610881: "神木市",
 | 
						|
    610902: "汉滨区",
 | 
						|
    610921: "汉阴县",
 | 
						|
    610922: "石泉县",
 | 
						|
    610923: "宁陕县",
 | 
						|
    610924: "紫阳县",
 | 
						|
    610925: "岚皋县",
 | 
						|
    610926: "平利县",
 | 
						|
    610927: "镇坪县",
 | 
						|
    610929: "白河县",
 | 
						|
    610981: "旬阳市",
 | 
						|
    611002: "商州区",
 | 
						|
    611021: "洛南县",
 | 
						|
    611022: "丹凤县",
 | 
						|
    611023: "商南县",
 | 
						|
    611024: "山阳县",
 | 
						|
    611025: "镇安县",
 | 
						|
    611026: "柞水县",
 | 
						|
    620102: "城关区",
 | 
						|
    620103: "七里河区",
 | 
						|
    620104: "西固区",
 | 
						|
    620105: "安宁区",
 | 
						|
    620111: "红古区",
 | 
						|
    620121: "永登县",
 | 
						|
    620122: "皋兰县",
 | 
						|
    620123: "榆中县",
 | 
						|
    620171: "兰州新区",
 | 
						|
    620201: "市辖区",
 | 
						|
    620290: "雄关区",
 | 
						|
    620291: "长城区",
 | 
						|
    620292: "镜铁区",
 | 
						|
    620293: "新城镇",
 | 
						|
    620294: "峪泉镇",
 | 
						|
    620295: "文殊镇",
 | 
						|
    620302: "金川区",
 | 
						|
    620321: "永昌县",
 | 
						|
    620402: "白银区",
 | 
						|
    620403: "平川区",
 | 
						|
    620421: "靖远县",
 | 
						|
    620422: "会宁县",
 | 
						|
    620423: "景泰县",
 | 
						|
    620502: "秦州区",
 | 
						|
    620503: "麦积区",
 | 
						|
    620521: "清水县",
 | 
						|
    620522: "秦安县",
 | 
						|
    620523: "甘谷县",
 | 
						|
    620524: "武山县",
 | 
						|
    620525: "张家川回族自治县",
 | 
						|
    620602: "凉州区",
 | 
						|
    620621: "民勤县",
 | 
						|
    620622: "古浪县",
 | 
						|
    620623: "天祝藏族自治县",
 | 
						|
    620702: "甘州区",
 | 
						|
    620721: "肃南裕固族自治县",
 | 
						|
    620722: "民乐县",
 | 
						|
    620723: "临泽县",
 | 
						|
    620724: "高台县",
 | 
						|
    620725: "山丹县",
 | 
						|
    620802: "崆峒区",
 | 
						|
    620821: "泾川县",
 | 
						|
    620822: "灵台县",
 | 
						|
    620823: "崇信县",
 | 
						|
    620825: "庄浪县",
 | 
						|
    620826: "静宁县",
 | 
						|
    620881: "华亭市",
 | 
						|
    620902: "肃州区",
 | 
						|
    620921: "金塔县",
 | 
						|
    620922: "瓜州县",
 | 
						|
    620923: "肃北蒙古族自治县",
 | 
						|
    620924: "阿克塞哈萨克族自治县",
 | 
						|
    620981: "玉门市",
 | 
						|
    620982: "敦煌市",
 | 
						|
    621002: "西峰区",
 | 
						|
    621021: "庆城县",
 | 
						|
    621022: "环县",
 | 
						|
    621023: "华池县",
 | 
						|
    621024: "合水县",
 | 
						|
    621025: "正宁县",
 | 
						|
    621026: "宁县",
 | 
						|
    621027: "镇原县",
 | 
						|
    621102: "安定区",
 | 
						|
    621121: "通渭县",
 | 
						|
    621122: "陇西县",
 | 
						|
    621123: "渭源县",
 | 
						|
    621124: "临洮县",
 | 
						|
    621125: "漳县",
 | 
						|
    621126: "岷县",
 | 
						|
    621202: "武都区",
 | 
						|
    621221: "成县",
 | 
						|
    621222: "文县",
 | 
						|
    621223: "宕昌县",
 | 
						|
    621224: "康县",
 | 
						|
    621225: "西和县",
 | 
						|
    621226: "礼县",
 | 
						|
    621227: "徽县",
 | 
						|
    621228: "两当县",
 | 
						|
    622901: "临夏市",
 | 
						|
    622921: "临夏县",
 | 
						|
    622922: "康乐县",
 | 
						|
    622923: "永靖县",
 | 
						|
    622924: "广河县",
 | 
						|
    622925: "和政县",
 | 
						|
    622926: "东乡族自治县",
 | 
						|
    622927: "积石山保安族东乡族撒拉族自治县",
 | 
						|
    623001: "合作市",
 | 
						|
    623021: "临潭县",
 | 
						|
    623022: "卓尼县",
 | 
						|
    623023: "舟曲县",
 | 
						|
    623024: "迭部县",
 | 
						|
    623025: "玛曲县",
 | 
						|
    623026: "碌曲县",
 | 
						|
    623027: "夏河县",
 | 
						|
    630102: "城东区",
 | 
						|
    630103: "城中区",
 | 
						|
    630104: "城西区",
 | 
						|
    630105: "城北区",
 | 
						|
    630106: "湟中区",
 | 
						|
    630121: "大通回族土族自治县",
 | 
						|
    630123: "湟源县",
 | 
						|
    630202: "乐都区",
 | 
						|
    630203: "平安区",
 | 
						|
    630222: "民和回族土族自治县",
 | 
						|
    630223: "互助土族自治县",
 | 
						|
    630224: "化隆回族自治县",
 | 
						|
    630225: "循化撒拉族自治县",
 | 
						|
    632221: "门源回族自治县",
 | 
						|
    632222: "祁连县",
 | 
						|
    632223: "海晏县",
 | 
						|
    632224: "刚察县",
 | 
						|
    632301: "同仁市",
 | 
						|
    632322: "尖扎县",
 | 
						|
    632323: "泽库县",
 | 
						|
    632324: "河南蒙古族自治县",
 | 
						|
    632521: "共和县",
 | 
						|
    632522: "同德县",
 | 
						|
    632523: "贵德县",
 | 
						|
    632524: "兴海县",
 | 
						|
    632525: "贵南县",
 | 
						|
    632621: "玛沁县",
 | 
						|
    632622: "班玛县",
 | 
						|
    632623: "甘德县",
 | 
						|
    632624: "达日县",
 | 
						|
    632625: "久治县",
 | 
						|
    632626: "玛多县",
 | 
						|
    632701: "玉树市",
 | 
						|
    632722: "杂多县",
 | 
						|
    632723: "称多县",
 | 
						|
    632724: "治多县",
 | 
						|
    632725: "囊谦县",
 | 
						|
    632726: "曲麻莱县",
 | 
						|
    632801: "格尔木市",
 | 
						|
    632802: "德令哈市",
 | 
						|
    632803: "茫崖市",
 | 
						|
    632821: "乌兰县",
 | 
						|
    632822: "都兰县",
 | 
						|
    632823: "天峻县",
 | 
						|
    632857: "大柴旦行政委员会",
 | 
						|
    640104: "兴庆区",
 | 
						|
    640105: "西夏区",
 | 
						|
    640106: "金凤区",
 | 
						|
    640121: "永宁县",
 | 
						|
    640122: "贺兰县",
 | 
						|
    640181: "灵武市",
 | 
						|
    640202: "大武口区",
 | 
						|
    640205: "惠农区",
 | 
						|
    640221: "平罗县",
 | 
						|
    640302: "利通区",
 | 
						|
    640303: "红寺堡区",
 | 
						|
    640323: "盐池县",
 | 
						|
    640324: "同心县",
 | 
						|
    640381: "青铜峡市",
 | 
						|
    640402: "原州区",
 | 
						|
    640422: "西吉县",
 | 
						|
    640423: "隆德县",
 | 
						|
    640424: "泾源县",
 | 
						|
    640425: "彭阳县",
 | 
						|
    640502: "沙坡头区",
 | 
						|
    640521: "中宁县",
 | 
						|
    640522: "海原县",
 | 
						|
    650102: "天山区",
 | 
						|
    650103: "沙依巴克区",
 | 
						|
    650104: "新市区",
 | 
						|
    650105: "水磨沟区",
 | 
						|
    650106: "头屯河区",
 | 
						|
    650107: "达坂城区",
 | 
						|
    650109: "米东区",
 | 
						|
    650121: "乌鲁木齐县",
 | 
						|
    650202: "独山子区",
 | 
						|
    650203: "克拉玛依区",
 | 
						|
    650204: "白碱滩区",
 | 
						|
    650205: "乌尔禾区",
 | 
						|
    650402: "高昌区",
 | 
						|
    650421: "鄯善县",
 | 
						|
    650422: "托克逊县",
 | 
						|
    650502: "伊州区",
 | 
						|
    650521: "巴里坤哈萨克自治县",
 | 
						|
    650522: "伊吾县",
 | 
						|
    652301: "昌吉市",
 | 
						|
    652302: "阜康市",
 | 
						|
    652323: "呼图壁县",
 | 
						|
    652324: "玛纳斯县",
 | 
						|
    652325: "奇台县",
 | 
						|
    652327: "吉木萨尔县",
 | 
						|
    652328: "木垒哈萨克自治县",
 | 
						|
    652701: "博乐市",
 | 
						|
    652702: "阿拉山口市",
 | 
						|
    652722: "精河县",
 | 
						|
    652723: "温泉县",
 | 
						|
    652801: "库尔勒市",
 | 
						|
    652822: "轮台县",
 | 
						|
    652823: "尉犁县",
 | 
						|
    652824: "若羌县",
 | 
						|
    652825: "且末县",
 | 
						|
    652826: "焉耆回族自治县",
 | 
						|
    652827: "和静县",
 | 
						|
    652828: "和硕县",
 | 
						|
    652829: "博湖县",
 | 
						|
    652901: "阿克苏市",
 | 
						|
    652902: "库车市",
 | 
						|
    652922: "温宿县",
 | 
						|
    652924: "沙雅县",
 | 
						|
    652925: "新和县",
 | 
						|
    652926: "拜城县",
 | 
						|
    652927: "乌什县",
 | 
						|
    652928: "阿瓦提县",
 | 
						|
    652929: "柯坪县",
 | 
						|
    653001: "阿图什市",
 | 
						|
    653022: "阿克陶县",
 | 
						|
    653023: "阿合奇县",
 | 
						|
    653024: "乌恰县",
 | 
						|
    653101: "喀什市",
 | 
						|
    653121: "疏附县",
 | 
						|
    653122: "疏勒县",
 | 
						|
    653123: "英吉沙县",
 | 
						|
    653124: "泽普县",
 | 
						|
    653125: "莎车县",
 | 
						|
    653126: "叶城县",
 | 
						|
    653127: "麦盖提县",
 | 
						|
    653128: "岳普湖县",
 | 
						|
    653129: "伽师县",
 | 
						|
    653130: "巴楚县",
 | 
						|
    653131: "塔什库尔干塔吉克自治县",
 | 
						|
    653201: "和田市",
 | 
						|
    653221: "和田县",
 | 
						|
    653222: "墨玉县",
 | 
						|
    653223: "皮山县",
 | 
						|
    653224: "洛浦县",
 | 
						|
    653225: "策勒县",
 | 
						|
    653226: "于田县",
 | 
						|
    653227: "民丰县",
 | 
						|
    654002: "伊宁市",
 | 
						|
    654003: "奎屯市",
 | 
						|
    654004: "霍尔果斯市",
 | 
						|
    654021: "伊宁县",
 | 
						|
    654022: "察布查尔锡伯自治县",
 | 
						|
    654023: "霍城县",
 | 
						|
    654024: "巩留县",
 | 
						|
    654025: "新源县",
 | 
						|
    654026: "昭苏县",
 | 
						|
    654027: "特克斯县",
 | 
						|
    654028: "尼勒克县",
 | 
						|
    654201: "塔城市",
 | 
						|
    654202: "乌苏市",
 | 
						|
    654203: "沙湾市",
 | 
						|
    654221: "额敏县",
 | 
						|
    654224: "托里县",
 | 
						|
    654225: "裕民县",
 | 
						|
    654226: "和布克赛尔蒙古自治县",
 | 
						|
    654301: "阿勒泰市",
 | 
						|
    654321: "布尔津县",
 | 
						|
    654322: "富蕴县",
 | 
						|
    654323: "福海县",
 | 
						|
    654324: "哈巴河县",
 | 
						|
    654325: "青河县",
 | 
						|
    654326: "吉木乃县",
 | 
						|
    659001: "石河子市",
 | 
						|
    659002: "阿拉尔市",
 | 
						|
    659003: "图木舒克市",
 | 
						|
    659004: "五家渠市",
 | 
						|
    659005: "北屯市",
 | 
						|
    659006: "铁门关市",
 | 
						|
    659007: "双河市",
 | 
						|
    659008: "可克达拉市",
 | 
						|
    659009: "昆玉市",
 | 
						|
    659010: "胡杨河市",
 | 
						|
    659011: "新星市",
 | 
						|
    659012: "白杨市",
 | 
						|
    710101: "中正区",
 | 
						|
    710102: "大同区",
 | 
						|
    710103: "中山区",
 | 
						|
    710104: "松山区",
 | 
						|
    710105: "大安区",
 | 
						|
    710106: "万华区",
 | 
						|
    710107: "信义区",
 | 
						|
    710108: "士林区",
 | 
						|
    710109: "北投区",
 | 
						|
    710110: "内湖区",
 | 
						|
    710111: "南港区",
 | 
						|
    710112: "文山区",
 | 
						|
    710199: "其它区",
 | 
						|
    710201: "新兴区",
 | 
						|
    710202: "前金区",
 | 
						|
    710203: "芩雅区",
 | 
						|
    710204: "盐埕区",
 | 
						|
    710205: "鼓山区",
 | 
						|
    710206: "旗津区",
 | 
						|
    710207: "前镇区",
 | 
						|
    710208: "三民区",
 | 
						|
    710209: "左营区",
 | 
						|
    710210: "楠梓区",
 | 
						|
    710211: "小港区",
 | 
						|
    710241: "苓雅区",
 | 
						|
    710242: "仁武区",
 | 
						|
    710243: "大社区",
 | 
						|
    710244: "冈山区",
 | 
						|
    710245: "路竹区",
 | 
						|
    710246: "阿莲区",
 | 
						|
    710247: "田寮区",
 | 
						|
    710248: "燕巢区",
 | 
						|
    710249: "桥头区",
 | 
						|
    710250: "梓官区",
 | 
						|
    710251: "弥陀区",
 | 
						|
    710252: "永安区",
 | 
						|
    710253: "湖内区",
 | 
						|
    710254: "凤山区",
 | 
						|
    710255: "大寮区",
 | 
						|
    710256: "林园区",
 | 
						|
    710257: "鸟松区",
 | 
						|
    710258: "大树区",
 | 
						|
    710259: "旗山区",
 | 
						|
    710260: "美浓区",
 | 
						|
    710261: "六龟区",
 | 
						|
    710262: "内门区",
 | 
						|
    710263: "杉林区",
 | 
						|
    710264: "甲仙区",
 | 
						|
    710265: "桃源区",
 | 
						|
    710266: "那玛夏区",
 | 
						|
    710267: "茂林区",
 | 
						|
    710268: "茄萣区",
 | 
						|
    710299: "其它区",
 | 
						|
    710301: "中西区",
 | 
						|
    710302: "东区",
 | 
						|
    710303: "南区",
 | 
						|
    710304: "北区",
 | 
						|
    710305: "安平区",
 | 
						|
    710306: "安南区",
 | 
						|
    710339: "永康区",
 | 
						|
    710340: "归仁区",
 | 
						|
    710341: "新化区",
 | 
						|
    710342: "左镇区",
 | 
						|
    710343: "玉井区",
 | 
						|
    710344: "楠西区",
 | 
						|
    710345: "南化区",
 | 
						|
    710346: "仁德区",
 | 
						|
    710347: "关庙区",
 | 
						|
    710348: "龙崎区",
 | 
						|
    710349: "官田区",
 | 
						|
    710350: "麻豆区",
 | 
						|
    710351: "佳里区",
 | 
						|
    710352: "西港区",
 | 
						|
    710353: "七股区",
 | 
						|
    710354: "将军区",
 | 
						|
    710355: "学甲区",
 | 
						|
    710356: "北门区",
 | 
						|
    710357: "新营区",
 | 
						|
    710358: "后壁区",
 | 
						|
    710359: "白河区",
 | 
						|
    710360: "东山区",
 | 
						|
    710361: "六甲区",
 | 
						|
    710362: "下营区",
 | 
						|
    710363: "柳营区",
 | 
						|
    710364: "盐水区",
 | 
						|
    710365: "善化区",
 | 
						|
    710366: "大内区",
 | 
						|
    710367: "山上区",
 | 
						|
    710368: "新市区",
 | 
						|
    710369: "安定区",
 | 
						|
    710399: "其它区",
 | 
						|
    710401: "中区",
 | 
						|
    710402: "东区",
 | 
						|
    710403: "南区",
 | 
						|
    710404: "西区",
 | 
						|
    710405: "北区",
 | 
						|
    710406: "北屯区",
 | 
						|
    710407: "西屯区",
 | 
						|
    710408: "南屯区",
 | 
						|
    710431: "太平区",
 | 
						|
    710432: "大里区",
 | 
						|
    710433: "雾峰区",
 | 
						|
    710434: "乌日区",
 | 
						|
    710435: "丰原区",
 | 
						|
    710436: "后里区",
 | 
						|
    710437: "石冈区",
 | 
						|
    710438: "东势区",
 | 
						|
    710439: "和平区",
 | 
						|
    710440: "新社区",
 | 
						|
    710441: "潭子区",
 | 
						|
    710442: "大雅区",
 | 
						|
    710443: "神冈区",
 | 
						|
    710444: "大肚区",
 | 
						|
    710445: "沙鹿区",
 | 
						|
    710446: "龙井区",
 | 
						|
    710447: "梧栖区",
 | 
						|
    710448: "清水区",
 | 
						|
    710449: "大甲区",
 | 
						|
    710450: "外埔区",
 | 
						|
    710451: "大安区",
 | 
						|
    710499: "其它区",
 | 
						|
    710507: "金沙镇",
 | 
						|
    710508: "金湖镇",
 | 
						|
    710509: "金宁乡",
 | 
						|
    710510: "金城镇",
 | 
						|
    710511: "烈屿乡",
 | 
						|
    710512: "乌坵乡",
 | 
						|
    710614: "南投市",
 | 
						|
    710615: "中寮乡",
 | 
						|
    710616: "草屯镇",
 | 
						|
    710617: "国姓乡",
 | 
						|
    710618: "埔里镇",
 | 
						|
    710619: "仁爱乡",
 | 
						|
    710620: "名间乡",
 | 
						|
    710621: "集集镇",
 | 
						|
    710622: "水里乡",
 | 
						|
    710623: "鱼池乡",
 | 
						|
    710624: "信义乡",
 | 
						|
    710625: "竹山镇",
 | 
						|
    710626: "鹿谷乡",
 | 
						|
    710701: "仁爱区",
 | 
						|
    710702: "信义区",
 | 
						|
    710703: "中正区",
 | 
						|
    710704: "中山区",
 | 
						|
    710705: "安乐区",
 | 
						|
    710706: "暖暖区",
 | 
						|
    710707: "七堵区",
 | 
						|
    710799: "其它区",
 | 
						|
    710801: "东区",
 | 
						|
    710802: "北区",
 | 
						|
    710803: "香山区",
 | 
						|
    710899: "其它区",
 | 
						|
    710901: "东区",
 | 
						|
    710902: "西区",
 | 
						|
    710999: "其它区",
 | 
						|
    711130: "万里区",
 | 
						|
    711132: "板桥区",
 | 
						|
    711133: "汐止区",
 | 
						|
    711134: "深坑区",
 | 
						|
    711135: "石碇区",
 | 
						|
    711136: "瑞芳区",
 | 
						|
    711137: "平溪区",
 | 
						|
    711138: "双溪区",
 | 
						|
    711139: "贡寮区",
 | 
						|
    711140: "新店区",
 | 
						|
    711141: "坪林区",
 | 
						|
    711142: "乌来区",
 | 
						|
    711143: "永和区",
 | 
						|
    711144: "中和区",
 | 
						|
    711145: "土城区",
 | 
						|
    711146: "三峡区",
 | 
						|
    711147: "树林区",
 | 
						|
    711148: "莺歌区",
 | 
						|
    711149: "三重区",
 | 
						|
    711150: "新庄区",
 | 
						|
    711151: "泰山区",
 | 
						|
    711152: "林口区",
 | 
						|
    711153: "芦洲区",
 | 
						|
    711154: "五股区",
 | 
						|
    711155: "八里区",
 | 
						|
    711156: "淡水区",
 | 
						|
    711157: "三芝区",
 | 
						|
    711158: "石门区",
 | 
						|
    711287: "宜兰市",
 | 
						|
    711288: "头城镇",
 | 
						|
    711289: "礁溪乡",
 | 
						|
    711290: "壮围乡",
 | 
						|
    711291: "员山乡",
 | 
						|
    711292: "罗东镇",
 | 
						|
    711293: "三星乡",
 | 
						|
    711294: "大同乡",
 | 
						|
    711295: "五结乡",
 | 
						|
    711296: "冬山乡",
 | 
						|
    711297: "苏澳镇",
 | 
						|
    711298: "南澳乡",
 | 
						|
    711299: "钓鱼台",
 | 
						|
    711387: "竹北市",
 | 
						|
    711388: "湖口乡",
 | 
						|
    711389: "新丰乡",
 | 
						|
    711390: "新埔镇",
 | 
						|
    711391: "关西镇",
 | 
						|
    711392: "芎林乡",
 | 
						|
    711393: "宝山乡",
 | 
						|
    711394: "竹东镇",
 | 
						|
    711395: "五峰乡",
 | 
						|
    711396: "横山乡",
 | 
						|
    711397: "尖石乡",
 | 
						|
    711398: "北埔乡",
 | 
						|
    711399: "峨眉乡",
 | 
						|
    711414: "中坜区",
 | 
						|
    711415: "平镇区",
 | 
						|
    711417: "杨梅区",
 | 
						|
    711418: "新屋区",
 | 
						|
    711419: "观音区",
 | 
						|
    711420: "桃园区",
 | 
						|
    711421: "龟山区",
 | 
						|
    711422: "八德区",
 | 
						|
    711423: "大溪区",
 | 
						|
    711425: "大园区",
 | 
						|
    711426: "芦竹区",
 | 
						|
    711487: "中坜市",
 | 
						|
    711488: "平镇市",
 | 
						|
    711489: "龙潭乡",
 | 
						|
    711490: "杨梅市",
 | 
						|
    711491: "新屋乡",
 | 
						|
    711492: "观音乡",
 | 
						|
    711493: "桃园市",
 | 
						|
    711494: "龟山乡",
 | 
						|
    711495: "八德市",
 | 
						|
    711496: "大溪镇",
 | 
						|
    711497: "复兴乡",
 | 
						|
    711498: "大园乡",
 | 
						|
    711499: "芦竹乡",
 | 
						|
    711520: "头份市",
 | 
						|
    711582: "竹南镇",
 | 
						|
    711583: "头份镇",
 | 
						|
    711584: "三湾乡",
 | 
						|
    711585: "南庄乡",
 | 
						|
    711586: "狮潭乡",
 | 
						|
    711587: "后龙镇",
 | 
						|
    711588: "通霄镇",
 | 
						|
    711589: "苑里镇",
 | 
						|
    711590: "苗栗市",
 | 
						|
    711591: "造桥乡",
 | 
						|
    711592: "头屋乡",
 | 
						|
    711593: "公馆乡",
 | 
						|
    711594: "大湖乡",
 | 
						|
    711595: "泰安乡",
 | 
						|
    711596: "铜锣乡",
 | 
						|
    711597: "三义乡",
 | 
						|
    711598: "西湖乡",
 | 
						|
    711599: "卓兰镇",
 | 
						|
    711736: "员林市",
 | 
						|
    711774: "彰化市",
 | 
						|
    711775: "芬园乡",
 | 
						|
    711776: "花坛乡",
 | 
						|
    711777: "秀水乡",
 | 
						|
    711778: "鹿港镇",
 | 
						|
    711779: "福兴乡",
 | 
						|
    711780: "线西乡",
 | 
						|
    711781: "和美镇",
 | 
						|
    711782: "伸港乡",
 | 
						|
    711783: "员林镇",
 | 
						|
    711784: "社头乡",
 | 
						|
    711785: "永靖乡",
 | 
						|
    711786: "埔心乡",
 | 
						|
    711787: "溪湖镇",
 | 
						|
    711788: "大村乡",
 | 
						|
    711789: "埔盐乡",
 | 
						|
    711790: "田中镇",
 | 
						|
    711791: "北斗镇",
 | 
						|
    711792: "田尾乡",
 | 
						|
    711793: "埤头乡",
 | 
						|
    711794: "溪州乡",
 | 
						|
    711795: "竹塘乡",
 | 
						|
    711796: "二林镇",
 | 
						|
    711797: "大城乡",
 | 
						|
    711798: "芳苑乡",
 | 
						|
    711799: "二水乡",
 | 
						|
    711982: "番路乡",
 | 
						|
    711983: "梅山乡",
 | 
						|
    711984: "竹崎乡",
 | 
						|
    711985: "阿里山乡",
 | 
						|
    711986: "中埔乡",
 | 
						|
    711987: "大埔乡",
 | 
						|
    711988: "水上乡",
 | 
						|
    711989: "鹿草乡",
 | 
						|
    711990: "太保市",
 | 
						|
    711991: "朴子市",
 | 
						|
    711992: "东石乡",
 | 
						|
    711993: "六脚乡",
 | 
						|
    711994: "新港乡",
 | 
						|
    711995: "民雄乡",
 | 
						|
    711996: "大林镇",
 | 
						|
    711997: "溪口乡",
 | 
						|
    711998: "义竹乡",
 | 
						|
    711999: "布袋镇",
 | 
						|
    712180: "斗南镇",
 | 
						|
    712181: "大埤乡",
 | 
						|
    712182: "虎尾镇",
 | 
						|
    712183: "土库镇",
 | 
						|
    712184: "褒忠乡",
 | 
						|
    712185: "东势乡",
 | 
						|
    712186: "台西乡",
 | 
						|
    712187: "仑背乡",
 | 
						|
    712188: "麦寮乡",
 | 
						|
    712189: "斗六市",
 | 
						|
    712190: "林内乡",
 | 
						|
    712191: "古坑乡",
 | 
						|
    712192: "莿桐乡",
 | 
						|
    712193: "西螺镇",
 | 
						|
    712194: "二仑乡",
 | 
						|
    712195: "北港镇",
 | 
						|
    712196: "水林乡",
 | 
						|
    712197: "口湖乡",
 | 
						|
    712198: "四湖乡",
 | 
						|
    712199: "元长乡",
 | 
						|
    712451: "崁顶乡",
 | 
						|
    712467: "屏东市",
 | 
						|
    712468: "三地门乡",
 | 
						|
    712469: "雾台乡",
 | 
						|
    712470: "玛家乡",
 | 
						|
    712471: "九如乡",
 | 
						|
    712472: "里港乡",
 | 
						|
    712473: "高树乡",
 | 
						|
    712474: "盐埔乡",
 | 
						|
    712475: "长治乡",
 | 
						|
    712476: "麟洛乡",
 | 
						|
    712477: "竹田乡",
 | 
						|
    712478: "内埔乡",
 | 
						|
    712479: "万丹乡",
 | 
						|
    712480: "潮州镇",
 | 
						|
    712481: "泰武乡",
 | 
						|
    712482: "来义乡",
 | 
						|
    712483: "万峦乡",
 | 
						|
    712484: "莰顶乡",
 | 
						|
    712485: "新埤乡",
 | 
						|
    712486: "南州乡",
 | 
						|
    712487: "林边乡",
 | 
						|
    712488: "东港镇",
 | 
						|
    712489: "琉球乡",
 | 
						|
    712490: "佳冬乡",
 | 
						|
    712491: "新园乡",
 | 
						|
    712492: "枋寮乡",
 | 
						|
    712493: "枋山乡",
 | 
						|
    712494: "春日乡",
 | 
						|
    712495: "狮子乡",
 | 
						|
    712496: "车城乡",
 | 
						|
    712497: "牡丹乡",
 | 
						|
    712498: "恒春镇",
 | 
						|
    712499: "满州乡",
 | 
						|
    712584: "台东市",
 | 
						|
    712585: "绿岛乡",
 | 
						|
    712586: "兰屿乡",
 | 
						|
    712587: "延平乡",
 | 
						|
    712588: "卑南乡",
 | 
						|
    712589: "鹿野乡",
 | 
						|
    712590: "关山镇",
 | 
						|
    712591: "海端乡",
 | 
						|
    712592: "池上乡",
 | 
						|
    712593: "东河乡",
 | 
						|
    712594: "成功镇",
 | 
						|
    712595: "长滨乡",
 | 
						|
    712596: "金峰乡",
 | 
						|
    712597: "大武乡",
 | 
						|
    712598: "达仁乡",
 | 
						|
    712599: "太麻里乡",
 | 
						|
    712686: "花莲市",
 | 
						|
    712687: "新城乡",
 | 
						|
    712688: "太鲁阁",
 | 
						|
    712689: "秀林乡",
 | 
						|
    712690: "吉安乡",
 | 
						|
    712691: "寿丰乡",
 | 
						|
    712692: "凤林镇",
 | 
						|
    712693: "光复乡",
 | 
						|
    712694: "丰滨乡",
 | 
						|
    712695: "瑞穗乡",
 | 
						|
    712696: "万荣乡",
 | 
						|
    712697: "玉里镇",
 | 
						|
    712698: "卓溪乡",
 | 
						|
    712699: "富里乡",
 | 
						|
    712794: "马公市",
 | 
						|
    712795: "西屿乡",
 | 
						|
    712796: "望安乡",
 | 
						|
    712797: "七美乡",
 | 
						|
    712798: "白沙乡",
 | 
						|
    712799: "湖西乡",
 | 
						|
    712896: "南竿乡",
 | 
						|
    712897: "北竿乡",
 | 
						|
    712898: "东引乡",
 | 
						|
    712899: "莒光乡",
 | 
						|
    810101: "中西区",
 | 
						|
    810102: "湾仔区",
 | 
						|
    810103: "东区",
 | 
						|
    810104: "南区",
 | 
						|
    810201: "九龙城区",
 | 
						|
    810202: "油尖旺区",
 | 
						|
    810203: "深水埗区",
 | 
						|
    810204: "黄大仙区",
 | 
						|
    810205: "观塘区",
 | 
						|
    810301: "北区",
 | 
						|
    810302: "大埔区",
 | 
						|
    810303: "沙田区",
 | 
						|
    810304: "西贡区",
 | 
						|
    810305: "元朗区",
 | 
						|
    810306: "屯门区",
 | 
						|
    810307: "荃湾区",
 | 
						|
    810308: "葵青区",
 | 
						|
    810309: "离岛区",
 | 
						|
    820102: "花地玛堂区",
 | 
						|
    820103: "花王堂区",
 | 
						|
    820104: "望德堂区",
 | 
						|
    820105: "大堂区",
 | 
						|
    820106: "风顺堂区",
 | 
						|
    820202: "嘉模堂区",
 | 
						|
    820203: "路氹填海区",
 | 
						|
    820204: "圣方济各堂区"
 | 
						|
  }
 | 
						|
};
 | 
						|
export {
 | 
						|
  $l as A,
 | 
						|
  Vl as C,
 | 
						|
  Bl as D,
 | 
						|
  _l as F,
 | 
						|
  Sn as P,
 | 
						|
  El as R,
 | 
						|
  Ol as S,
 | 
						|
  jl as T,
 | 
						|
  De as a,
 | 
						|
  wl as b,
 | 
						|
  m0 as c,
 | 
						|
  Nl as d,
 | 
						|
  Cl as e,
 | 
						|
  zl as f,
 | 
						|
  Sl as g,
 | 
						|
  yl as h,
 | 
						|
  Tl as i,
 | 
						|
  Dl as j,
 | 
						|
  kl as k,
 | 
						|
  Il as l,
 | 
						|
  Pl as m,
 | 
						|
  Ml as n,
 | 
						|
  Al as o,
 | 
						|
  Rl as p,
 | 
						|
  fi as q,
 | 
						|
  xl as r,
 | 
						|
  pl as s,
 | 
						|
  bl as t,
 | 
						|
  h0 as u
 | 
						|
};
 |